]> gitweb.pimeys.fr Git - bots/deconnaisseur.git/blobdiff - deconnaisseur.py
En fait on a envie de loguer ce genre d'opération…
[bots/deconnaisseur.git] / deconnaisseur.py
index 0615a231f87679d1251508a6da21a26624d179c7..9c3c21f6a1eaf886cfbdf176b504c63c8e7cc45d 100755 (executable)
@@ -121,16 +121,17 @@ class Deconnaisseur(ircbot.SingleServerIRCBot):
         for c in self.chanlist:
             log(self.serveur,"JOIN %s"%(c))
             serv.join(c)
-            self.update_activity(c,force=True)
         for c in self.play_channels:
             token=time.time()-3600
             self.play_status[c]=[0,token]
-            serv.execute_delayed(random.randrange(config.ttrig),self.start_enigme,(serv,c,token))
+            if config.auto_trigger:
+                serv.execute_delayed(random.randrange(config.ttrig),self.start_enigme,(serv,c,token))
 
     def start_enigme(self,serv,channel,token=None):
         # On reste silencieux si lechan n'est pas actif
         if not self.is_active(channel):
-            serv.execute_delayed(config.ttrig*5,self.start_enigme,(serv,channel,token))
+            if config.auto_trigger:
+                serv.execute_delayed(config.ttrig*5,self.start_enigme,(serv,channel,token))
             return
         if self.play_status[channel][0]==0 and channel in self.play_channels:
             ok="skip"
@@ -167,7 +168,8 @@ class Deconnaisseur(ircbot.SingleServerIRCBot):
             serv.privmsg(channel,"C'était : %s"%(answer).encode("utf8"))
             token=time.time()
             self.play_status[channel]=[0,token]
-            serv.execute_delayed(random.randrange(config.Ttrig*5,config.Ttrig*10),self.start_enigme,(serv,channel,token))
+            if config.auto_trigger:
+                serv.execute_delayed(random.randrange(config.Ttrig*5,config.Ttrig*10),self.start_enigme,(serv,channel,token))
 
     def get_enigme(self):
         # on récupère les déconnaissances
@@ -402,6 +404,7 @@ class Deconnaisseur(ircbot.SingleServerIRCBot):
                         self.add_score(de,-asked)
                         self.add_score(to,asked)
                         serv.privmsg(auteur,"Transfert de %s points de %s à %s"%(asked,de,to))
+                        log(self.serveur,"Transfert de %s points de %s à %s"%(asked,de,to))
                 else:
                     serv.privmsg(auteur,"Syntaxe : SCORE TRANSFERT <pseudo> [<n>]")
             else:
@@ -555,7 +558,8 @@ class Deconnaisseur(ircbot.SingleServerIRCBot):
                     self.add_score(auteur,1)
                     token=time.time()
                     self.play_status[canal]=[0,token]
-                    serv.execute_delayed(random.randrange(config.Ttrig*5,config.Ttrig*10),self.start_enigme,(serv,canal,token))
+                    if config.auto_trigger:
+                        serv.execute_delayed(random.randrange(config.Ttrig*5,config.Ttrig*10),self.start_enigme,(serv,canal,token))
     
     def on_kick(self,serv,ev):
         auteur = irclib.nm_to_n(ev.source())
@@ -613,7 +617,8 @@ class Deconnaisseur(ircbot.SingleServerIRCBot):
         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):
-        return time.time()-self.last_activity[canal]<config.idle_time
+        # 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)