diff options
| author | 2019-05-11 18:22:40 +0100 | |
|---|---|---|
| committer | 2019-05-11 18:22:40 +0100 | |
| commit | d291cd506373046d703450bc9d97082b89cbe8be (patch) | |
| tree | 41a80e2c54f041d0bc550e9201c5119a6aab14f6 /src/utils | |
| parent | Change ducks-min-message default to 100 (diff) | |
| signature | ||
Revamp how CAPs are tracked through REQ and ACK/NAK etc
Diffstat (limited to 'src/utils')
| -rw-r--r-- | src/utils/irc/__init__.py | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/src/utils/irc/__init__.py b/src/utils/irc/__init__.py index 15850cea..2e1ef6e4 100644 --- a/src/utils/irc/__init__.py +++ b/src/utils/irc/__init__.py @@ -281,8 +281,17 @@ class Capability(object): self._caps = set([name, draft_name]) self._name = name self._draft_name = draft_name + self._on_ack_callbacks = [] def available(self, capabilities: typing.List[str]) -> str: match = list(set(capabilities)&self._caps) return match[0] if match else None def enabled(self, capability: str) -> bool: return capability in self._caps + + def on_ack(self, callback: typing.Callable[[], None]): + self._on_ack_callbacks.append(callback) + def ack(self): + for callback in self._on_ack_callbacks: + callback() + def nak(self): + pass |
