|
|
|
@ -18,7 +18,8 @@ class PingResponder(ModuleBase):
|
|
|
|
|
self.timer = PingRespondTimer(self)
|
|
|
|
|
self.hooks = [
|
|
|
|
|
ModuleHook("PING", self.pingrespond),
|
|
|
|
|
ModuleHook("_RECV", self.resettimer)
|
|
|
|
|
ModuleHook("_RECV", self.resettimer),
|
|
|
|
|
ModuleHook("_SEND", self.resettimer)
|
|
|
|
|
]
|
|
|
|
|
|
|
|
|
|
def pingrespond(self, args, prefix, trailing):
|
|
|
|
@ -56,8 +57,8 @@ class PingRespondTimer(Thread):
|
|
|
|
|
def run(self):
|
|
|
|
|
while self.alive:
|
|
|
|
|
sleep(5)
|
|
|
|
|
if time() - self.lastping > 300: # TODO: configurable timeout
|
|
|
|
|
self.master.log.info("No pings in %s seconds. Reconnecting" % str(time() - self.lastping))
|
|
|
|
|
if time() - self.lastping > self.config.get("activity_timeout", 300):
|
|
|
|
|
self.master.log.info("No activity in %s seconds. Reconnecting" % str(time() - self.lastping))
|
|
|
|
|
self.master.bot.disconnect("Reconnecting...")
|
|
|
|
|
self.reset()
|
|
|
|
|
|
|
|
|
|