aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar jesopo2018-09-03 22:17:01 +0100
committerGravatar jesopo2018-09-03 22:17:01 +0100
commit759cd64f33bf99da98c48e586afe21bdefcc7c28 (patch)
tree7d0cc79b9d237849e1ee6597de35ec5057173813
parentSupport IRCv3's away-notify (diff)
signature
Keep a list of CAP capabilities in IRCServer
-rw-r--r--IRCLineHandler.py5
-rw-r--r--IRCServer.py2
2 files changed, 6 insertions, 1 deletions
diff --git a/IRCLineHandler.py b/IRCLineHandler.py
index e5aa2e1e..082aa884 100644
--- a/IRCLineHandler.py
+++ b/IRCLineHandler.py
@@ -283,9 +283,12 @@ class LineHandler(object):
event["server"].send_capability_queue()
else:
event["server"].send_capability_end()
- elif subcommand == "ack" or subcommand == "nack":
+ elif subcommand == "ack":
if not event["server"].waiting_for_capabilities():
event["server"].send_capability_end()
+ event["server"].capabilities = set(capabilities)
+ elif subcommand == "ack" or subcommand == "nack":
+ event["server"].send_capability_end()
# the server is asking for authentication
def authenticate(self, event):
diff --git a/IRCServer.py b/IRCServer.py
index 7c833d20..dbfbdf8e 100644
--- a/IRCServer.py
+++ b/IRCServer.py
@@ -26,8 +26,10 @@ class Server(object):
self.original_username = username or nickname
self.original_realname = realname or nickname
self.name = None
+
self._capability_queue = set([])
self._capabilities_waiting = set([])
+ self.capabilities = set([])
self.write_buffer = b""
self.buffered_lines = []