diff options
| author | 2019-09-01 08:38:22 +0100 | |
|---|---|---|
| committer | 2019-09-01 08:38:22 +0100 | |
| commit | 19d8f0b49725491a1264b7a4bc82c7ec80a98444 (patch) | |
| tree | adcd6e6efe2aadea93e5fa4c0e82f9d4cd2d5857 /src/IRCBot.py | |
| parent | 'usage' does not exist (diff) | |
| signature | ||
store and expose reconnection timers on IRCBot.reconnections
Diffstat (limited to 'src/IRCBot.py')
| -rw-r--r-- | src/IRCBot.py | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/src/IRCBot.py b/src/IRCBot.py index 52da3b9d..526484b8 100644 --- a/src/IRCBot.py +++ b/src/IRCBot.py @@ -40,6 +40,7 @@ class Bot(object): self.start_time = time.time() self.running = False self.servers = {} + self.reconnections = {} self._event_queue = queue.Queue() # type: typing.Queue[TriggerEvent] @@ -217,6 +218,8 @@ class Bot(object): if not self.reconnect(event["server_id"], event.get("connection_params", None)): event["timer"].redo() + else: + del self.reconnections[event["server_id"]] def reconnect(self, server_id: int, connection_params: typing.Optional[ utils.irc.IRCConnectionParameters]=None) -> bool: args = {} # type: typing.Dict[str, str] @@ -387,8 +390,11 @@ class Bot(object): if not self.get_server_by_id(server.id): reconnect_delay = self.config.get("reconnect-delay", 10) - self._timers.add("reconnect", reconnect_delay, + + timer = self._timers.add("reconnect", reconnect_delay, server_id=server.id) + self.reconnections[server.id] = timer + self.log.warn( "Disconnected from %s, reconnecting in %d seconds", [str(server), reconnect_delay]) |
