From d4ba98307f98a083fba7c67738b445c21141ebd2 Mon Sep 17 00:00:00 2001 From: jesopo <github@lolnerd.net> Date: Sat, 8 Jun 2019 10:59:14 +0100 Subject: [PATCH] We should look at ISUPPORT's STATUSMSG token instead of PREFIX --- modules/line_handler/core.py | 2 ++ modules/line_handler/message.py | 2 +- src/IRCServer.py | 1 + 3 files changed, 4 insertions(+), 1 deletion(-) diff --git a/modules/line_handler/core.py b/modules/line_handler/core.py index 06f95f0e..b85a9677 100644 --- a/modules/line_handler/core.py +++ b/modules/line_handler/core.py @@ -53,6 +53,8 @@ def handle_005(events, event): event["server"].channel_types = list(isupport["CHANTYPES"]) if "CASEMAPPING" in isupport: event["server"].case_mapping = isupport["CASEMAPPING"] + if "STATUSMSG" in isupport: + event["server"].statusmsg = list(isupport["STATUSMSG"]) events.on("received.005").call(isupport=isupport, server=event["server"]) diff --git a/modules/line_handler/message.py b/modules/line_handler/message.py index 9157af66..467d7682 100644 --- a/modules/line_handler/message.py +++ b/modules/line_handler/message.py @@ -46,7 +46,7 @@ def message(events, event): # strip prefix_symbols from the start of target, for when people use # e.g. 'PRIVMSG +#channel :hi' which would send a message to only # voiced-or-above users - target = target_str.lstrip("".join(event["server"].prefix_symbols.keys())) + target = target_str.lstrip("".join(event["server"].statusmsg)) is_channel = False diff --git a/src/IRCServer.py b/src/IRCServer.py index cd30d1c9..2eea78f4 100644 --- a/src/IRCServer.py +++ b/src/IRCServer.py @@ -58,6 +58,7 @@ class Server(IRCObject.Object): self.channel_types = ["#"] self.case_mapping = "rfc1459" + self.statusmsg = [] self.motd_lines = [] # type: typing.List[str] self.motd_done = False