diff options
| author | 2018-09-01 11:29:26 +0100 | |
|---|---|---|
| committer | 2018-09-01 11:29:26 +0100 | |
| commit | 29609fffd77e495e86e6ba1a1f7f9e25d1607e1e (patch) | |
| tree | c6805f1d164d099d4085b2a1ac73c03377c13bd0 /modules | |
| parent | Add Utils.bold and Utils.underline (diff) | |
| signature | ||
Added functionality to load, unload and reload modules from a command!
Diffstat (limited to 'modules')
| -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) |
