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