From 29609fffd77e495e86e6ba1a1f7f9e25d1607e1e Mon Sep 17 00:00:00 2001 From: jesopo Date: Sat, 1 Sep 2018 11:29:26 +0100 Subject: Added functionality to load, unload and reload modules from a command! --- modules/modules.py | 39 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 modules/modules.py (limited to 'modules/modules.py') 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="") + events.on("received.command.unloadmodule").hook(self.unload, + min_args=1, permission="unload-module", help="Unload a module", + usage="") + events.on("received.command.reloadmodule").hook(self.reload, + min_args=1, permission="reload-module", help="Reload a module", + usage="") + + 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) -- cgit v1.3.1-10-gc9f91