This commit is contained in:
deathbybandaid 2022-02-22 15:27:46 -05:00
parent 4826c6fe7f
commit dc26f57808

View File

@ -149,63 +149,63 @@ class Commands():
for full_trigger_str in triggers: for full_trigger_str in triggers:
if not full_trigger_str.isspace(): if full_trigger_str.startswith(tuple(self.config.prefix_list)):
trigger_type = "command"
trigger_prefix = full_trigger_str[0]
trigger_noprefix = full_trigger_str[1:]
trigger_command = trigger_noprefix.split(" ")[0]
trigger_str = " ".join(trigger_noprefix.split(" ")[1:])
elif full_trigger_str.startswith(self.bot.nick):
trigger_type = "nickname_command"
trigger_prefix = str(full_trigger_str.split(" ")[0])
trigger_noprefix = " ".join(full_trigger_str.split(" ")[1:])
trigger_command = trigger_noprefix.split(" ")[0]
trigger_str = " ".join(trigger_noprefix.split(" ")[1:])
elif full_trigger_str.startswith(tuple(["ACTION", "/me"])):
trigger_type = "action_command"
trigger_prefix = "ACTION"
trigger_noprefix = full_trigger_str
trigger_command = trigger_noprefix.split(" ")[0]
trigger_str = " ".join(trigger_noprefix.split(" ")[1:])
else:
trigger_command = full_trigger_str.split(" ")[0]
trigger_str = " ".join(full_trigger_str.split(" ")[1:])
if full_trigger_str.startswith(tuple(self.config.prefix_list)): command_types = ["command", "nickname_command", "action_command"]
trigger_type = "command" # Assume same command type until proven otherwise
trigger_prefix = full_trigger_str[0] assumed_trigger_type = first_trigger_type
trigger_noprefix = full_trigger_str[1:] assumed_trigger_prefix = first_trigger_prefix
trigger_command = trigger_noprefix.split(" ")[0]
trigger_str = " ".join(trigger_noprefix.split(" ")[1:]) # Still under the assumption that the command is most likely the same type as first command
elif full_trigger_str.startswith(self.bot.nick): command_types.remove(assumed_trigger_type)
trigger_type = "nickname_command" command_types.insert(0, assumed_trigger_type)
trigger_prefix = str(full_trigger_str.split(" ")[0])
trigger_noprefix = " ".join(full_trigger_str.split(" ")[1:]) found = []
trigger_command = trigger_noprefix.split(" ")[0] for command_type in command_types:
trigger_str = " ".join(trigger_noprefix.split(" ")[1:])
elif full_trigger_str.startswith(tuple(["ACTION", "/me"])): if command_type == "command":
trigger_type = "action_command" commands_list = self.valid_sopel_commands
trigger_prefix = "ACTION" elif command_type == "nickname_command":
trigger_noprefix = full_trigger_str commands_list = self.valid_sopel_nickname_commands
trigger_command = trigger_noprefix.split(" ")[0] elif command_type == "action_command":
trigger_str = " ".join(trigger_noprefix.split(" ")[1:]) commands_list = self.valid_sopel_action_commands
if trigger_command in commands_list:
found.append(command_type)
if len(found):
trigger_type = found[0]
if trigger_type == "command":
trigger_prefix = self.config.prefix_list[0]
elif trigger_type == "nickname_command":
trigger_prefix = "%s," % self.bot.nick
elif trigger_type == "action_command":
trigger_prefix = "ACTION"
else: else:
trigger_command = full_trigger_str.split(" ")[0] trigger_type = assumed_trigger_type
trigger_str = " ".join(full_trigger_str.split(" ")[1:]) trigger_prefix = assumed_trigger_prefix
command_types = ["command", "nickname_command", "action_command"] if not trigger_str.isspace():
# Assume same command type until proven otherwise
assumed_trigger_type = first_trigger_type
assumed_trigger_prefix = first_trigger_prefix
# Still under the assumption that the command is most likely the same type as first command
command_types.remove(assumed_trigger_type)
command_types.insert(0, assumed_trigger_type)
found = []
for command_type in command_types:
if command_type == "command":
commands_list = self.valid_sopel_commands
elif command_type == "nickname_command":
commands_list = self.valid_sopel_nickname_commands
elif command_type == "action_command":
commands_list = self.valid_sopel_action_commands
if trigger_command in commands_list:
found.append(command_type)
if len(found):
trigger_type = found[0]
if trigger_type == "command":
trigger_prefix = self.config.prefix_list[0]
elif trigger_type == "nickname_command":
trigger_prefix = "%s," % self.bot.nick
elif trigger_type == "action_command":
trigger_prefix = "ACTION"
else:
trigger_type = assumed_trigger_type
trigger_prefix = assumed_trigger_prefix
commands.append({ commands.append({
"trigger_type": trigger_type, "trigger_type": trigger_type,