From d55c97a1980d7e31df5469c577abd0dc5192ac69 Mon Sep 17 00:00:00 2001 From: deathbybandaid Date: Tue, 28 May 2019 09:02:29 -0400 Subject: [PATCH] error handling --- sopel_modules/SpiceBot/Commands.py | 14 +++-- sopel_modules/SpiceBot/Prerun.py | 97 ------------------------------ 2 files changed, 10 insertions(+), 101 deletions(-) diff --git a/sopel_modules/SpiceBot/Commands.py b/sopel_modules/SpiceBot/Commands.py index 96ac01b..ba8a456 100644 --- a/sopel_modules/SpiceBot/Commands.py +++ b/sopel_modules/SpiceBot/Commands.py @@ -50,10 +50,16 @@ class BotCommands(): def get_realcom(self, command, trigger_command_type): realcom = command - commands_list = list(self.dict['commands'][trigger_command_type].keys()) - if command in commands_list: - if "aliasfor" in self.dict['commands'][trigger_command_type][command].keys(): - realcom = self.dict['commands'][trigger_command_type][command] + + if trigger_command_type not in self.dict['commands'].keys(): + return realcom + + if command not in self.dict['commands'][trigger_command_type].keys(): + return realcom + + if "aliasfor" in self.dict['commands'][trigger_command_type][command].keys(): + realcom = self.dict['commands'][trigger_command_type][command] + return realcom def set_command_disabled(self, bot, command, channel, timestamp, reason, bywhom): diff --git a/sopel_modules/SpiceBot/Prerun.py b/sopel_modules/SpiceBot/Prerun.py index 0fbf133..8cea340 100644 --- a/sopel_modules/SpiceBot/Prerun.py +++ b/sopel_modules/SpiceBot/Prerun.py @@ -194,100 +194,3 @@ class BotPrerun(): prerun = BotPrerun() - - -class defunct(): - """Hyphenargs""" - - def hyphenargs(self): - def actual_decorator(function): - @functools.wraps(function) - def internal_prerun(bot, trigger, *args, **kwargs): - trigger.sb["args"], trigger.sb["hyphen_arg"] = self.trigger_hyphen_args(trigger.sb["args"]) - if not trigger.sb["hyphen_arg"]: - return function(bot, trigger, *args, **kwargs) - else: - return self.trigger_hyphen_arg_handler(bot, trigger) - return internal_prerun - return actual_decorator - - def trigger_hyphen_args(self, trigger_args_part): - valid_hyphen_args = [ - 'check', - 'enable', 'disable' - ] - hyphen_args = [] - trigger_args_unhyphend = [] - for worditem in trigger_args_part: - if str(worditem).startswith("--") and worditem[2:] in valid_hyphen_args: - hyphen_args.append(worditem[2:]) - else: - trigger_args_unhyphend.append(worditem) - if len(hyphen_args): - hyphenarg = hyphen_args[0] - else: - hyphenarg = None - return trigger_args_unhyphend, hyphenarg - - def trigger_hyphen_arg_handler(self, bot, trigger): - - # Commands that cannot run via privmsg - if trigger.sb["hyphen_arg"] in ['check']: - if trigger.sb["com"].lower() != trigger.sb["realcom"]: - bot.say(trigger.sb["com"] + " is a valid alias command for " + trigger.sb["realcom"]) - else: - bot.say(trigger.sb["com"] + " is a valid command") - return - - elif trigger.sb["hyphen_arg"] in ['enable']: - - if not command_permissions_check(bot, trigger, ['admins', 'owner', 'OP', 'ADMIN', 'OWNER']): - bot.say("I was unable to disable this command due to privilege issues.") - return - - if trigger.is_privmsg: - bot.notice("This command must be run in a channel you which to enable it in.", trigger.nick) - return - - if not commands.check_disabled_commands(bot, trigger.sb["realcom"], trigger.sender): - bot.notice(trigger.sb["com"] + " is already enabled in " + str(trigger.sender), trigger.nick) - return - - commands.unset_command_disabled(bot, trigger.sb["realcom"], trigger.sender) - bot.say(trigger.sb["com"] + " is now enabled in " + str(trigger.sender)) - return - - elif trigger.sb["hyphen_arg"] in ['disable']: - - if not command_permissions_check(bot, trigger, ['admins', 'owner', 'OP', 'ADMIN', 'OWNER']): - bot.say("I was unable to disable this command due to privilege issues.") - return - - if trigger.is_privmsg: - bot.notice("This command must be run in a channel you which to disable it in.", trigger.nick) - return - - if commands.check_disabled_commands(bot, trigger.sb["realcom"], trigger.sender): - bot.notice(trigger.sb["com"] + " is already disabled in " + str(trigger.sender), trigger.nick) - return - - trailingmessage = spicemanip.main(trigger.sb["args"], 0) or "No reason given." - timestamp = str(datetime.datetime.utcnow()) - - commands.set_command_disabled(bot, trigger.sb["realcom"], trigger.sender, timestamp, trailingmessage, trigger.nick) - bot.say(trigger.sb["com"] + " is now disabled in " + str(trigger.sender)) - return - - return - - -def require_owner(): - def actual_decorator(function): - @functools.wraps(function) - def guarded(bot, trigger, *args, **kwargs): - if not trigger.owner: - bot.say(trigger.nick + " is not the owner") - else: - return function(bot, trigger, *args, **kwargs) - return guarded - return actual_decorator