Handle CAP ACK -<cap>
and ACK from a REQ not sent by ircv3.py
This commit is contained in:
parent
5028eb02d5
commit
ab466756cc
1 changed files with 13 additions and 7 deletions
|
@ -84,7 +84,12 @@ def cap(exports, events, event):
|
||||||
events.on("received.cap.del").call(server=event["server"],
|
events.on("received.cap.del").call(server=event["server"],
|
||||||
capabilities=capabilities)
|
capabilities=capabilities)
|
||||||
elif subcommand == "ACK":
|
elif subcommand == "ACK":
|
||||||
event["server"].agreed_capabilities.update(capabilities)
|
for cap_name, cap_args in capabilities.items():
|
||||||
|
if cap_name[0] == "-":
|
||||||
|
event["server"].agreed_capabilities.discard(cap_name[1:])
|
||||||
|
else:
|
||||||
|
event["server"].agreed_capabilities.add(cap_name)
|
||||||
|
|
||||||
events.on("received.cap.ack").call(capabilities=capabilities,
|
events.on("received.cap.ack").call(capabilities=capabilities,
|
||||||
server=event["server"])
|
server=event["server"])
|
||||||
|
|
||||||
|
@ -115,6 +120,7 @@ def cap(exports, events, event):
|
||||||
if subcommand == "ACK" or subcommand == "NAK":
|
if subcommand == "ACK" or subcommand == "NAK":
|
||||||
ack = subcommand == "ACK"
|
ack = subcommand == "ACK"
|
||||||
for capability in capabilities:
|
for capability in capabilities:
|
||||||
|
if capability in event["server"].capabilities_requested:
|
||||||
cap_obj = event["server"].capabilities_requested[capability]
|
cap_obj = event["server"].capabilities_requested[capability]
|
||||||
del event["server"].capabilities_requested[capability]
|
del event["server"].capabilities_requested[capability]
|
||||||
if ack:
|
if ack:
|
||||||
|
|
Loading…
Reference in a new issue