aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar jesopo2019-03-03 22:38:34 +0000
committerGravatar jesopo2019-03-03 22:38:34 +0000
commit7a3db82300c126ef3004899b98abd742b268a417 (patch)
treecd405e2946b39d5baab19ddea165d3f7962758ea
parentAdd COLOR_NEUTRAL, show repo/number/state colours in !ghissue (diff)
Add IRCServer.has_capability and use it throughout line_handler
-rw-r--r--modules/line_handler/channel.py2
-rw-r--r--modules/line_handler/core.py4
-rw-r--r--modules/line_handler/message.py2
-rw-r--r--src/IRCServer.py2
4 files changed, 6 insertions, 4 deletions
diff --git a/modules/line_handler/channel.py b/modules/line_handler/channel.py
index a05cc2ff..487dcbd1 100644
--- a/modules/line_handler/channel.py
+++ b/modules/line_handler/channel.py
@@ -38,7 +38,7 @@ def handle_353(event):
modes.add(event["server"].prefix_symbols[nickname[0]])
nickname = nickname[1:]
- if "userhost-in-names" in event["server"].agreed_capabilities:
+ if event["server"].has_capability("userhost-in-names"):
hostmask = utils.irc.seperate_hostmask(nickname)
nickname = hostmask.nickname
user = event["server"].get_user(hostmask.nickname)
diff --git a/modules/line_handler/core.py b/modules/line_handler/core.py
index 78a0c479..6ffc447f 100644
--- a/modules/line_handler/core.py
+++ b/modules/line_handler/core.py
@@ -29,8 +29,8 @@ def handle_005(events, event):
isupport[key] = None
event["server"].isupport.update(isupport)
- if "NAMESX" in isupport and not "multi-prefix" in event[
- "server"].agreed_capabilities:
+ if "NAMESX" in isupport and not event["server"].has_capability(
+ "multi-prefix"):
event["server"].send("PROTOCTL NAMESX")
if "PREFIX" in isupport:
diff --git a/modules/line_handler/message.py b/modules/line_handler/message.py
index 9292aa17..aa0e9643 100644
--- a/modules/line_handler/message.py
+++ b/modules/line_handler/message.py
@@ -2,7 +2,7 @@ from src import utils
def _from_self(server, direction, prefix):
if direction == utils.Direction.SEND:
- if "echo-message" in server.agreed_capabilities:
+ if server.has_capability("echo-message"):
return None
else:
return True
diff --git a/src/IRCServer.py b/src/IRCServer.py
index cb69b4bb..d878fdf5 100644
--- a/src/IRCServer.py
+++ b/src/IRCServer.py
@@ -282,6 +282,8 @@ class Server(IRCObject.Object):
return self.send(utils.irc.protocol.capability_end())
def send_authenticate(self, text: str) -> IRCLine.SentLine:
return self.send(utils.irc.protocol.authenticate(text))
+ def has_capability(self, capability: str) -> bool:
+ return capability in self.agreed_capabilities
def waiting_for_capabilities(self) -> bool:
return bool(len(self._capabilities_waiting))