aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar jesopo2018-11-20 14:27:24 +0000
committerGravatar jesopo2018-11-20 14:27:24 +0000
commit45c7ce6da5c637fff1bf20de4c78bc8a01e2d10e (patch)
treee51b93996bdbf466355c9ec7f14d13d63fc59c3b
parentDon't count Unknown towards additional scripts count (mixed_unicode.py) (diff)
signature
Add !disconnect to admin.py
-rw-r--r--modules/admin.py21
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)