diff options
| author | 2018-09-26 18:27:17 +0100 | |
|---|---|---|
| committer | 2018-09-26 18:27:17 +0100 | |
| commit | 51a52e2b0e54031cce5876f54d1d48c268b5441c (patch) | |
| tree | a4c0e8e86c55aa701b06297d5b5a2ceebeaab60d /modules/admin.py | |
| parent | Also use docstrings to check if a command has help available, allow one-string (diff) | |
| signature | ||
Switch to using @Utils.hook and docstrings for event hooks
Diffstat (limited to 'modules/admin.py')
| -rw-r--r-- | modules/admin.py | 44 |
1 files changed, 27 insertions, 17 deletions
diff --git a/modules/admin.py b/modules/admin.py index 392a44ff..1742758e 100644 --- a/modules/admin.py +++ b/modules/admin.py @@ -1,29 +1,39 @@ +from src import ModuleManager, Utils - -class Module(object): - def __init__(self, bot, events, exports): - self.bot = bot - events.on("received.command.changenickname").hook( - self.change_nickname, permission="changenickname", - min_args=1, help="Change my nickname", usage="<nickname>") - events.on("received.command.raw").hook(self.raw, - permission="raw", min_args=1, usage="<raw line>", - help="Send a raw IRC line through the bot") - events.on("received.command.part").hook(self.part, - permission="part", min_args=1, help="Part from a channel", - usage="<#channel>") - events.on("received.command.reconnect").hook(self.reconnect, - permission="reconnect", help="Reconnect from this network") - +class Module(ModuleManager.BaseModule): + @Utils.hook("received.command.changenickname", + permission="changenickname", min_args=1, usage="<nickname>") def change_nickname(self, event): + """ + Change my nickname + """ nickname = event["args_split"][0] event["server"].send_nick(nickname) + @Utils.hook("received.command.raw", permission="raw", min_args=1, + usage="<raw line>") def raw(self, event): + """ + Send a line of raw IRC data + """ event["server"].send(event["args"]) + @Utils.hook("received.command.part", permission="part", usage="[#channel]") def part(self, event): - event["server"].send_part(event["args_split"][0]) + """ + Part from the current or given channel + """ + if event["args"]: + target = event["args_split"][0] + elif event["is_channel"]: + target = event["target"].name + else: + event["stderr"].write("No channel provided") + event["server"].send_part(target) + @Utils.hook("received.command.reconnect", permission="reconnect") def reconnect(self, event): + """ + Reconnect to the current network + """ event["server"].send_quit("Reconnecting") |
