Only automatically reconnect to a server when we don't already have a server
with the same ID (to make reconnection work)
This commit is contained in:
parent
3cb9baeec3
commit
ce3b319bee
1 changed files with 8 additions and 11 deletions
|
@ -134,10 +134,6 @@ class Bot(object):
|
||||||
event["timer"].redo()
|
event["timer"].redo()
|
||||||
def reconnect(self, server_id: int, connection_params: typing.Optional[
|
def reconnect(self, server_id: int, connection_params: typing.Optional[
|
||||||
utils.irc.IRCConnectionParameters]=None) -> bool:
|
utils.irc.IRCConnectionParameters]=None) -> bool:
|
||||||
old_server = self.get_server(server_id)
|
|
||||||
if old_server:
|
|
||||||
self.disconnect(old_server)
|
|
||||||
|
|
||||||
server = self.add_server(server_id, False, connection_params)
|
server = self.add_server(server_id, False, connection_params)
|
||||||
if self.connect(server):
|
if self.connect(server):
|
||||||
self.servers[server.fileno()] = server
|
self.servers[server.fileno()] = server
|
||||||
|
@ -208,13 +204,14 @@ class Bot(object):
|
||||||
self._events.on("server.disconnect").call(server=server)
|
self._events.on("server.disconnect").call(server=server)
|
||||||
self.disconnect(server)
|
self.disconnect(server)
|
||||||
|
|
||||||
|
if not self.get_server(server.id):
|
||||||
reconnect_delay = self.config.get("reconnect-delay", 10)
|
reconnect_delay = self.config.get("reconnect-delay", 10)
|
||||||
self._timers.add("reconnect", reconnect_delay,
|
self._timers.add("reconnect", reconnect_delay,
|
||||||
server_id=server.id,
|
server_id=server.id,
|
||||||
connection_params=server.connection_params)
|
connection_params=server.connection_params)
|
||||||
|
self.log.info(
|
||||||
print("disconnected from %s, reconnecting in %d seconds" % (
|
"Disconnected from %s, reconnecting in %d seconds",
|
||||||
str(server), reconnect_delay))
|
[str(server), reconnect_delay])
|
||||||
elif server.waiting_send() and server.throttle_done():
|
elif server.waiting_send() and server.throttle_done():
|
||||||
self.register_both(server)
|
self.register_both(server)
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue