|
|
|
@ -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() |
|
|
|
|
|
|
|
|
|