aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--IRCLineHandler.py11
1 files changed, 10 insertions, 1 deletions
diff --git a/IRCLineHandler.py b/IRCLineHandler.py
index faa97471..e3a53303 100644
--- a/IRCLineHandler.py
+++ b/IRCLineHandler.py
@@ -9,7 +9,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"}
+ "draft/message-tags-0.2", "server-time", "cap-notify"}
class LineHandler(object):
def __init__(self, bot, events):
@@ -314,6 +314,15 @@ class LineHandler(object):
event["server"].send_capability_queue()
else:
event["server"].send_capability_end()
+ elif subcommand == "new":
+ event["server"].capabilities.update(set(capabilities.keys()))
+ self.events.on("received.cap.new").call(server=event["server"],
+ capabilities=capabilities)
+ elif subcommand == "del":
+ event["server"].capabilities.difference_update(set(
+ capabilities.keys()))
+ self.events.on("received.cap.del").call(server=event["server"],
+ capabilities=capabilities)
elif subcommand == "ack":
event["server"].capabilities.update(capabilities)
if not is_multiline: