diff options
| author | 2016-04-19 13:25:50 +0100 | |
|---|---|---|
| committer | 2016-04-19 13:25:50 +0100 | |
| commit | bc12c7789199d2e93513ea018badaf87815ae7e6 (patch) | |
| tree | e7a3204ffda43fcf25584f2e310fea052cd1e441 /IRCServer.py | |
| parent | entirely reworked the timer system to work with the event system, will eventu... (diff) | |
did what I said I would sooner than I thought I would. centralised persisting timers through bot restarts.
Diffstat (limited to 'IRCServer.py')
| -rw-r--r-- | IRCServer.py | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/IRCServer.py b/IRCServer.py index 388843aa..9c4bc6de 100644 --- a/IRCServer.py +++ b/IRCServer.py @@ -41,6 +41,7 @@ class Server(object): context = ssl.SSLContext(ssl.PROTOCOL_SSLv23) self.socket = context.wrap_socket(self.socket) self.cached_fileno = self.socket.fileno() + self.bot.events.on("timer").on("rejoin").hook(self.try_rejoin) def __repr__(self): return "%s:%s%s" % (self.target_hostname, "+" if self.tls else "", self.port) @@ -177,11 +178,12 @@ class Server(object): self.send("PING :%s" % nonce) def send_pong(self, nonce="hello"): self.send("PONG :%s" % nonce) - def try_rejoin(self, timer, channel_name, key): - if channel_name in self.attempted_join: - self.send_join(channel_name, key) + def try_rejoin(self, event): + if event["server_id"] == self.id and event["channel_name" + ] in self.attempted_join: + self.send_join(event["channel_name"], event["key"]) def send_join(self, channel_name, key=None): - self.attempted_join[channel_name.lower()] = None + self.attempted_join[channel_name.lower()] = key self.send("JOIN %s%s" % (channel_name, "" if key == None else " %s" % key)) def send_part(self, channel_name, reason=None): |
