From 91c2ab03ba66577bb3b2f5aff97561c122b9b4b8 Mon Sep 17 00:00:00 2001 From: jesopo Date: Tue, 5 Mar 2019 11:29:28 +0000 Subject: [PATCH] add IRCServer.send_enabled, to prevent sending after QUIT in signals.py --- modules/signals.py | 1 + src/IRCServer.py | 5 +++++ 2 files changed, 6 insertions(+) diff --git a/modules/signals.py b/modules/signals.py index 15eeab9f..e8af5d83 100644 --- a/modules/signals.py +++ b/modules/signals.py @@ -20,6 +20,7 @@ class Module(ModuleManager.BaseModule): for server in self.bot.servers.values(): line = server.send_quit("Shutting down") + server.send_enabled = False line.on_send(self._make_hook(server)) def _make_hook(self, server): diff --git a/src/IRCServer.py b/src/IRCServer.py index d878fdf5..d33fa228 100644 --- a/src/IRCServer.py +++ b/src/IRCServer.py @@ -58,7 +58,9 @@ class Server(IRCObject.Object): self.motd_done = False self.attempted_join = {} # type: typing.Dict[str, typing.Optional[str]] + self.ping_sent = False + self.send_enabled = True self.events.on("timer.rejoin").hook(self.try_rejoin) @@ -238,6 +240,9 @@ class Server(IRCObject.Object): return lines def send(self, line_parsed: IRCLine.ParsedLine): + if not self.send_enabled: + return None + self.events.on("preprocess.send").on(line_parsed.command ).call_unsafe(server=self, line=line_parsed)