+
+ def update_activity(self,canal="",pseudo="",message="",force=False):
+ if force or (not pseudo in config.idle_bots and all([not re.match(ignore, message) for ignore in config.idle_messages])):
+ self.last_activity[canal]=time.time()
+ def is_active(self,canal):
+ # Si on n'a pas d'info sur le chan, il est inactif
+ return time.time()-self.last_activity.get(canal, config.idle_time)<config.idle_time
+
+ def reload(self, auteur=None):
+ reload(config)
+ if auteur in [None, "SIGHUP"]:
+ towrite = "Config reloaded" + " (SIGHUP received)"*(auteur == "SIGHUP")
+ for to in config.report_bugs_to:
+ self.serv.privmsg(to, towrite)
+ log(self.serveur, towrite)
+ else:
+ self.serv.privmsg(auteur,"Config reloaded")
+
+ def start_as_daemon(self, outfile):
+ sys.stderr = Logger(outfile)
+ self.start()
+
+
+class Logger(object):
+ """Pour écrire ailleurs que sur stdout"""
+ def __init__(self, filename="deconnaisseur.full.log"):
+ self.filename = filename
+
+ def write(self, message):
+ f = open(self.filename, "a")
+ f.write(message)
+ f.close()
+