diff options
| author | 2018-09-01 11:40:57 +0100 | |
|---|---|---|
| committer | 2018-09-01 11:40:57 +0100 | |
| commit | ba065ad646748719aa4ca986193e3d40601fc91e (patch) | |
| tree | d63acad554abd035c0f2a2692a3756b236e440f9 /modules/modules.py | |
| parent | Move lists out of scope (diff) | |
omg it's the future (#15)
* Add Database.UserChannelSettings.find_all_by_setting
* Turns out we didn't need find_all_by_setting
* Actually, we do need find_all_by_setting
* Table name typo
* Add Utils.bold and Utils.underline
* Added functionality to load, unload and reload modules from a command!
Diffstat (limited to 'modules/modules.py')
| -rw-r--r-- | modules/modules.py | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/modules/modules.py b/modules/modules.py new file mode 100644 index 00000000..0138be1b --- /dev/null +++ b/modules/modules.py @@ -0,0 +1,39 @@ + + +class Module(object): + def __init__(self, bot, events): + self.bot = bot + events.on("received.command.loadmodule").hook(self.load, + min_args=1, permission="load-module", help="Load a module", + usage="<module-name>") + events.on("received.command.unloadmodule").hook(self.unload, + min_args=1, permission="unload-module", help="Unload a module", + usage="<module-name>") + events.on("received.command.reloadmodule").hook(self.reload, + min_args=1, permission="reload-module", help="Reload a module", + usage="<module-name>") + + def load(self, event): + name = event["args_split"][0].lower() + if name in self.bot.modules.modules: + event["stderr"].write("Module '%s' is already loaded" % name) + return + self.bot.modules.load_module(name) + event["stdout"].write("Loaded '%s'" % name) + + def unload(self, event): + name = event["args_split"][0].lower() + if not name in self.bot.modules.modules: + event["stderr"].write("Module '%s' isn't loaded" % name) + return + self.bot.modules.unload_module(name) + event["stdout"].write("Unloaded '%s'" % name) + + def reload(self, event): + name = event["args_split"][0].lower() + if not name in self.bot.modules.modules: + event["stderr"].write("Module '%s' isn't loaded" % name) + return + self.bot.modules.unload_module(name) + self.bot.modules.load_module(name) + event["stdout"].write("Reloaded '%s'" % name) |
