diff options
| -rw-r--r-- | modules/admin.py | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/modules/admin.py b/modules/admin.py index 118ff4c9..4406b78a 100644 --- a/modules/admin.py +++ b/modules/admin.py @@ -50,6 +50,7 @@ class Module(ModuleManager.BaseModule): """ :help: Connect to a network :usage: <server id> + :permission: connect """ id = event["args_split"][0] if not id.isdigit(): @@ -66,3 +67,23 @@ class Module(ModuleManager.BaseModule): server = self.bot.add_server(id) event["stdout"].write("Connecting to %s" % str(server)) + + @utils.hook("received.command.disconnect") + def disconnect(self, event): + """ + :help: Disconnect from a server + :usage: [server id] + :permission: disconnect + """ + id = event["server"].id + if event["args"]: + id = event["args_split"][0] + if not id.isdigit(): + raise utils.EventError("Please provide a numeric server ID") + + id = int(id) + if not self.bot.database.servers.get(id): + raise utils.EventError("Unknown server ID") + server = self.bot.get_server(id) + server.disconnect() + self.bot.disconnect(server) |
