diff options
| author | 2018-11-04 14:48:55 +0000 | |
|---|---|---|
| committer | 2018-11-04 14:48:55 +0000 | |
| commit | 6d742f6a7441d90ff4ea9728bb46fa541407702d (patch) | |
| tree | e23626e7c78cd997838608a4e8fa4504d6b97073 /modules | |
| parent | utils.irc.color should take `int` for foreground/background, not str (diff) | |
| signature | ||
Implement IRCv3's `draft/rename`
Diffstat (limited to 'modules')
| -rw-r--r-- | modules/line_handler.py | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/modules/line_handler.py b/modules/line_handler.py index 86de32b1..c4f32513 100644 --- a/modules/line_handler.py +++ b/modules/line_handler.py @@ -11,7 +11,7 @@ RE_MODES = re.compile(r"[-+]\w+") CAPABILITIES = {"multi-prefix", "chghost", "invite-notify", "account-tag", "account-notify", "extended-join", "away-notify", "userhost-in-names", "draft/message-tags-0.2", "server-time", "cap-notify", - "batch", "draft/labeled-response"} + "batch", "draft/labeled-response", "draft/rename"} class Module(ModuleManager.BaseModule): def _handle(self, server, line): @@ -566,3 +566,15 @@ class Module(ModuleManager.BaseModule): else: self.events.on("self.kick").call(channel=channel, reason=reason, user=user, server=event["server"]) + + # a channel has been renamed + @utils.hook("raw.rename") + def rename(self, event): + old_name = event["args"][0] + new_name = event["args"][1] + channel = event["server"].get_channel(old_name) + + event["server"].rename_channel(old_name, new_name) + self.events.on("received.rename").call(channel=channel, + old_name=old_name, new_name=new_name, + reason=event["arbitrary"] or events["args"][2])) |
