diff --git a/sopel_SpiceBot_Core_1/SBCore/commands/__init__.py b/sopel_SpiceBot_Core_1/SBCore/commands/__init__.py index 3dc53ff..296116f 100644 --- a/sopel_SpiceBot_Core_1/SBCore/commands/__init__.py +++ b/sopel_SpiceBot_Core_1/SBCore/commands/__init__.py @@ -20,24 +20,31 @@ class Commands(): def sopel_action_commands(self): return self.bot.rules.get_all_action_commands() - def dispatch_command(self, bot, trigger, message): + def dispatch(self, bot, trigger, trigger_dict): + if trigger_dict["trigger_type"] == "command": + return self.dispatch_command(bot, trigger, trigger_dict) + elif trigger_dict["trigger_type"] == "nickname_command": + return self.dispatch_nickname_command(bot, trigger, trigger_dict) + elif trigger_dict["trigger_type"] == "actioncommand": + return self.dispatch_action_command(bot, trigger, trigger_dict) + + def dispatch_command(self, bot, trigger, trigger_dict): pretrigger = PreTrigger( bot.nick, - ":%s %s %s :%s" % (trigger.hostmask, "PRIVMSG", trigger.sender, message) + ":%s %s %s :%s%s" % (trigger.hostmask, "PRIVMSG", trigger.sender, trigger_dict["trigger_prefix"], trigger_dict["trigger_str"]) ) bot.dispatch(pretrigger) - def dispatch_action_command(self, bot, trigger, message): + def dispatch_nickname_command(self, bot, trigger, trigger_dict): pretrigger = PreTrigger( bot.nick, - ":%s %s %s : %s %s" % (trigger.hostmask, "PRIVMSG", trigger.sender, "ACTION", message) + ":%s %s %s :%s %s" % (trigger.hostmask, "PRIVMSG", trigger.sender, trigger_dict["trigger_prefix"], trigger_dict["trigger_str"]) ) - # TODO possible extra space in front of ACTION bot.dispatch(pretrigger) - def dispatch_nickname_command(self, bot, trigger, message): + def dispatch_action_command(self, bot, trigger, trigger_dict): pretrigger = PreTrigger( bot.nick, - ":%s %s %s :%s %s" % (trigger.hostmask, "PRIVMSG", trigger.sender, bot.nick, message) + ":%s %s %s :%s %s" % (trigger.hostmask, "PRIVMSG", trigger.sender, "ACTION", trigger_dict["trigger_str"]) ) bot.dispatch(pretrigger) diff --git a/sopel_SpiceBot_Core_Prerun/__init__.py b/sopel_SpiceBot_Core_Prerun/__init__.py index fea8c37..2080c18 100644 --- a/sopel_SpiceBot_Core_Prerun/__init__.py +++ b/sopel_SpiceBot_Core_Prerun/__init__.py @@ -70,10 +70,12 @@ def prerun(): def internal_prerun(bot, trigger, *args, **kwargs): commands = get_commands(bot, trigger) - if len(commands) == 1: - stringtest = function(bot, trigger, *args, **kwargs) - bot.say(stringtest) + function(bot, trigger, *args, **kwargs) + + for trigger_dict in commands[1:]: + + sb.commands.dispatch(bot, trigger, trigger_dict) return internal_prerun return actual_decorator