]> gitweb.pimeys.fr Git - bots/deconnaisseur.git/blobdiff - deconnaisseur.py
typos
[bots/deconnaisseur.git] / deconnaisseur.py
index f2e405c50e7669604b297f03b5e56895bc843268..94e60096b5f22af08cbc313949de2c8e849b5dab 100755 (executable)
@@ -27,7 +27,7 @@ def get_config_source_file(serveur):
     return config_source_file_template%(serveurs[serveur])
 ttrig=120 #time trigger (normalement 120, mais diminué pour les tests)
 Ttrig=600 #between two enigms
     return config_source_file_template%(serveurs[serveur])
 ttrig=120 #time trigger (normalement 120, mais diminué pour les tests)
 Ttrig=600 #between two enigms
-config_time_incompressible=60 #on peut pas retrigger en dessous de ce temps (60)
+config_time_incompressible=15 #on peut pas retrigger en dessous de ce temps (60)
 config_time_incompressible_clue=60 #on peut pas forcer la demande d'indice en dessous
 
 config_score_file="scores.pickle"
 config_time_incompressible_clue=60 #on peut pas forcer la demande d'indice en dessous
 
 config_score_file="scores.pickle"
@@ -80,6 +80,7 @@ class Deconnaisseur(ircbot.SingleServerIRCBot):
         self.stay_channels=config_stay_channels
         self.play_channels=config_play_channels
         self.play_status={i:[0] for i in self.play_channels}
         self.stay_channels=config_stay_channels
         self.play_channels=config_play_channels
         self.play_status={i:[0] for i in self.play_channels}
+        self.quiet_channels={}
 
     def give_me_my_pseudo(self,serv):
         serv.privmsg("NickServ","RECOVER %s %s"%(config_pseudo,config_password))
 
     def give_me_my_pseudo(self,serv):
         serv.privmsg("NickServ","RECOVER %s %s"%(config_pseudo,config_password))
@@ -125,7 +126,7 @@ class Deconnaisseur(ircbot.SingleServerIRCBot):
         if self.play_status[channel][0]==1:
             if token==None:
                 # c'est donc que l'indice a été demandé
         if self.play_status[channel][0]==1:
             if token==None:
                 # c'est donc que l'indice a été demandé
-                if self.play_status[channe][-1]+config_time_incompressible_clue<time.time():
+                if self.play_status[channel][-1]+config_time_incompressible_clue<time.time():
                     token=self.play_status[channel][-1]
             if self.play_status[channel][-1]==token:
                 indice=self.play_status[channel][2]
                     token=self.play_status[channel][-1]
             if self.play_status[channel][-1]==token:
                 indice=self.play_status[channel][2]
@@ -189,7 +190,9 @@ class Deconnaisseur(ircbot.SingleServerIRCBot):
  JOIN       Faire rejoindre un channel (sans paramètres, donne la liste des chans actuels)
  LEAVE      Faire quitter un channel
  PLAY       Passe un channel en mode "jouer"
  JOIN       Faire rejoindre un channel (sans paramètres, donne la liste des chans actuels)
  LEAVE      Faire quitter un channel
  PLAY       Passe un channel en mode "jouer"
- NOPLAY     Passe un channel en mode "ne pas jouer" """
+ NOPLAY     Passe un channel en mode "ne pas jouer"
+ QUIET      Se taire sur un channel
+ NOQUIET    Opposé de QUIET"""
             helpmsg_overops="""
  SCORES {DEL|ADD|SUB}   Tu veux un dessin ?
  SAY        Fais envoyer un message sur un chan ou à une personne
             helpmsg_overops="""
  SCORES {DEL|ADD|SUB}   Tu veux un dessin ?
  SAY        Fais envoyer un message sur un chan ou à une personne
@@ -285,6 +288,32 @@ class Deconnaisseur(ircbot.SingleServerIRCBot):
                         log("priv",auteur," ".join(message)+"[failed]")
             else:
                 notunderstood=True
                         log("priv",auteur," ".join(message)+"[failed]")
             else:
                 notunderstood=True
+        elif cmd=="quiet":
+            if auteur in self.ops:
+                if len(message)>1:
+                    if message[1] in self.quiet_channels:
+                        serv.privmsg(auteur,"Je me la ferme déjà sur %s"%(message[1]))
+                        log(self.serveur,"priv",auteur," ".join(message)+"[failed]")
+                    else:
+                        self.quiet_channels.append(message[1])
+                        serv.privmsg(auteur,"Quiet channels : "+" ".join(self.quiet_channels))
+                        log(self.serveur,"priv",auteur," ".join(message)+"[successful]")
+                else:
+                    serv.privmsg(auteur,"Quiet channels : "+" ".join(self.quiet_channels))
+            else:
+                notunderstood=True
+        elif cmd=="noquiet":
+            if auteur in self.ops:
+                if len(message)>1:
+                    if message[1] in self.quiet_channels:
+                        self.quiet_channels.remove(message[1])
+                        serv.privmsg(auteur,"Quiet channels : "+" ".join(self.quiet_channels))
+                        log(self.serveur,"priv",auteur," ".join(message)+"[successful]")
+                    else:
+                        serv.privmsg(auteur,"Je ne me la ferme pas sur %s."%(message[1]))
+                        log(self.serveur,"priv",auteur," ".join(message)+"[failed]")
+            else:
+                notunderstood=True
         elif cmd in ["states","status"]:
             if auteur in self.overops:
                 for k in self.play_status.keys():
         elif cmd in ["states","status"]:
             if auteur in self.overops:
                 for k in self.play_status.keys():
@@ -340,7 +369,6 @@ class Deconnaisseur(ircbot.SingleServerIRCBot):
                 serv.privmsg(auteur,"Scores by score : "+" ; ".join(["%s %s"%(i[0],i[1]) for i in scores]))
                 # trie par pseudo
                 scores.sort(lambda x,y:cmp(x[0].lower(),y[0].lower()))
                 serv.privmsg(auteur,"Scores by score : "+" ; ".join(["%s %s"%(i[0],i[1]) for i in scores]))
                 # trie par pseudo
                 scores.sort(lambda x,y:cmp(x[0].lower(),y[0].lower()))
-                scores.reverse()
                 serv.privmsg(auteur,"Scores by pseudo : "+" ; ".join(["%s %s"%(i[0],i[1]) for i in scores]))
             elif auteur in self.overops:
                 souscmd=message[1].lower()
                 serv.privmsg(auteur,"Scores by pseudo : "+" ; ".join(["%s %s"%(i[0],i[1]) for i in scores]))
             elif auteur in self.overops:
                 souscmd=message[1].lower()
@@ -405,8 +433,8 @@ class Deconnaisseur(ircbot.SingleServerIRCBot):
                 else:
                     serv.privmsg(canal,"%s: crève !"%(auteur))
                     log(canal,auteur,message+"[failed]")
                 else:
                     serv.privmsg(canal,"%s: crève !"%(auteur))
                     log(canal,auteur,message+"[failed]")
-            if cmd in ["meur", "meurt","meurre","meurres"]:
-                serv.privmsg(canal,'%s: Mourir, impératif, 2ème personne du pluriel : "meurs" (de rien)'%(auteur))
+            if cmd in ["meur", "meurt","meurre","meurres"] and not canal in self.quiet_channels:
+                serv.privmsg(canal,'%s: Mourir, impératif, 2ème personne du singulier : "meurs" (de rien)'%(auteur))
             if cmd in ["part","leave","dégage"]:
                 if auteur in self.ops and (not (canal in self.stay_channels)
                                            or auteur in self.overops):
             if cmd in ["part","leave","dégage"]:
                 if auteur in self.ops and (not (canal in self.stay_channels)
                                            or auteur in self.overops):
@@ -423,9 +451,9 @@ class Deconnaisseur(ircbot.SingleServerIRCBot):
                     serv.nick(become)
                     log(canal,auteur,message+"[successful]")
     
                     serv.nick(become)
                     log(canal,auteur,message+"[successful]")
     
-            if cmd in ["coucou"]:
+            if cmd in ["coucou"] and not canal in self.quiet_channels:
                 serv.privmsg(canal,"%s: coucou"%(auteur))
                 serv.privmsg(canal,"%s: coucou"%(auteur))
-            if cmd in ["ping"]:
+            if cmd in ["ping"] and not canal in self.quiet_channels:
                 serv.privmsg(canal,"%s: pong"%(auteur))
             if cmd in ["déconnaissance","deconnaissance","énigme","enigme","encore"]:
                 if canal in self.play_channels:
                 serv.privmsg(canal,"%s: pong"%(auteur))
             if cmd in ["déconnaissance","deconnaissance","énigme","enigme","encore"]:
                 if canal in self.play_channels:
@@ -438,6 +466,8 @@ class Deconnaisseur(ircbot.SingleServerIRCBot):
                         serv.privmsg(canal,"%s: Rappel : %s"%(auteur,self.play_status[canal][1]))
                 else:
                     serv.privmsg(canal,"%s: pas ici…"%(auteur))
                         serv.privmsg(canal,"%s: Rappel : %s"%(auteur,self.play_status[canal][1]))
                 else:
                     serv.privmsg(canal,"%s: pas ici…"%(auteur))
+            if cmd=="indice" and canal in self.play_channels:
+                self.give_indice(serv,canal,None)
             else:
                 tryother=True
         else:
             else:
                 tryother=True
         else: