aboutsummaryrefslogtreecommitdiff
path: root/src/IRCServer.py
diff options
context:
space:
mode:
authorGravatar jesopo2019-06-16 15:33:20 +0100
committerGravatar jesopo2019-06-16 15:33:20 +0100
commit5fa3d66a39dc22bff9a1d0345ebb70448b060e82 (patch)
tree73748ded1f2aa662130f6fcf3c6a00f0d9877e27 /src/IRCServer.py
parentParse inbound bitbot.dev/multi-line batches (diff)
signature
Return all caps through received.cap.ls|new and check if valid in line_handler,
remove server.cap_started
Diffstat (limited to 'src/IRCServer.py')
-rw-r--r--src/IRCServer.py10
1 files changed, 6 insertions, 4 deletions
diff --git a/src/IRCServer.py b/src/IRCServer.py
index 78d3ac09..17d0795c 100644
--- a/src/IRCServer.py
+++ b/src/IRCServer.py
@@ -35,7 +35,6 @@ class Server(IRCObject.Object):
self.agreed_capabilities = set([]) # type: typing.Set[str]
self.server_capabilities = {} # type: typing.Dict[str, str]
self.batches = {} # type: typing.Dict[str, utils.irc.IRCBatch]
- self.cap_started = False
self.users = {} # type: typing.Dict[str, IRCUser.User]
self.new_users = set([]) #type: typing.Set[IRCUser.User]
@@ -323,9 +322,12 @@ class Server(IRCObject.Object):
def wait_for_capability(self, capability: str):
self._capabilities_waiting.add(capability)
def capability_done(self, capability: str):
- self._capabilities_waiting.discard(capability)
- if self.cap_started and not self._capabilities_waiting:
- self.send_capability_end()
+ if capability in self._capabilities_waiting:
+ self._capabilities_waiting.discard(capability)
+ if not self._capabilities_waiting:
+ self.send_capability_end()
+ def clear_waiting_capabilities(self):
+ self._capabilities_waiting.clear()
def send_pass(self, password: str) -> typing.Optional[IRCLine.SentLine]:
return self.send(utils.irc.protocol.password(password))