aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/IRCServer.py1
-rw-r--r--src/core_modules/line_handler/core.py6
2 files changed, 7 insertions, 0 deletions
diff --git a/src/IRCServer.py b/src/IRCServer.py
index 92c82350..c3460a4b 100644
--- a/src/IRCServer.py
+++ b/src/IRCServer.py
@@ -57,6 +57,7 @@ class Server(IRCObject.Object):
self.channel_modes = [
"n", "i", "m", "t", "p", "s"
] # type: typing.List[str]
+ self.quiet: typing.Optional[typing.List[str]] = None
self.channel_types = ["#"]
self.case_mapping = "rfc1459"
diff --git a/src/core_modules/line_handler/core.py b/src/core_modules/line_handler/core.py
index 60bde125..c72bcb77 100644
--- a/src/core_modules/line_handler/core.py
+++ b/src/core_modules/line_handler/core.py
@@ -55,6 +55,12 @@ def handle_005(events, event):
event["server"].case_mapping = isupport["CASEMAPPING"]
if "STATUSMSG" in isupport:
event["server"].statusmsg = list(isupport["STATUSMSG"])
+ if "QUIET" in isupport:
+ quiet = dict(enumerate(isupport["QUIET"].split(",")))
+ prefix = quiet.get(1, "")
+ list_numeric = qiuet.get(2, "367") # RPL_BANLIST
+ end_numeric = quiet.get(3, "368") # RPL_ENDOFBANLIST
+ event["server"].quiet = [quiet[0], prefix, list_numeric, end_numeric]
events.on("received.005").call(isupport=isupport,
server=event["server"])