]> gitweb.pimeys.fr Git - bots/hung.git/blobdiff - hung.py
J'en avais marre de trigger Basile
[bots/hung.git] / hung.py
diff --git a/hung.py b/hung.py
index 7f25389af3c85e6605bbcd487435b6c857599bae..f1214cbedbf79a01497a6acfa56c8e18c47ecb26 100755 (executable)
--- a/hung.py
+++ b/hung.py
@@ -145,12 +145,12 @@ class Hung(ircbot.SingleServerIRCBot):
                 if len(message)>1:
                     if message[1] in self.play_channels:
                         serv.privmsg(auteur,"Je play déjà sur %s."%(message[1]))
-                        log("priv",auteur," ".join(message)+"[failed]")
+                        log(self.serveur,"priv",auteur," ".join(message)+"[failed]")
                     else:
                         self.play_channels.append(message[1])
                         self.play_status[message[1]]=[None]
                         serv.privmsg(auteur,"Play channels : "+" ".join(self.play_channels))
-                        log("priv",auteur," ".join(message)+"[successful]")
+                        log(self.serveur,"priv",auteur," ".join(message)+"[successful]")
                 else:
                     serv.privmsg(auteur,"Play channels : "+" ".join(self.play_channels))
             else:
@@ -161,10 +161,10 @@ class Hung(ircbot.SingleServerIRCBot):
                     if message[1] in self.play_channels:
                         self.play_channels.remove(message[1])
                         serv.privmsg(auteur,"Play channels : "+" ".join(self.play_channels))
-                        log("priv",auteur," ".join(message)+"[successful]")
+                        log(self.serveur,"priv",auteur," ".join(message)+"[successful]")
                     else:
                         serv.privmsg(auteur,"Je ne play pas sur %s."%(message[1]))
-                        log("priv",auteur," ".join(message)+"[failed]")
+                        log(self.serveur,"priv",auteur," ".join(message)+"[failed]")
             else:
                 notunderstood=True
         elif cmd=="stay":
@@ -197,7 +197,7 @@ class Hung(ircbot.SingleServerIRCBot):
         elif cmd in ["states","status"]:
             if auteur in self.overops:
                 for k in self.play_status.keys():
-                    serv.privmsg(auteur,"%s : %s"%(k,"; ".join([str(i) for i in self.play_status[k]])))
+                    serv.privmsg(auteur,"%s : %s"%(k,"".join([str(i[0]) for i in self.play_status[k]])))
         elif cmd=="die":
             if auteur in self.overops:
                 log(self.serveur,"priv",auteur," ".join(message)+"[successful]")
@@ -312,6 +312,19 @@ class Hung(ircbot.SingleServerIRCBot):
                         self.start_partie(serv, canal)
                 elif not canal in self.play_channels:
                     serv.privmsg(canal,"%s: pas ici…"%(auteur))
+            elif (cmd in list("azertyuiopqsdfghjklmwxcvbn") and canal in self.play_channels 
+                  and self.play_status.has_key(canal) and self.play_status[canal]!=[None]):
+                giv_let=cmd.upper()
+                liste=self.play_status[canal]
+                listeapres=[(lettre[0],lettre[1] or lettre[0]==giv_let) for lettre in liste]
+                if liste!=listeapres:
+                    self.play_status[canal]=listeapres
+                    self.affiche_mot(serv, canal, begin="%s placé"%(giv_let))
+                if all([lettre[1] for lettre in listeapres]):
+                    serv.privmsg(canal,"Bravo ! C'était %s"%("".join([lettre[0] for lettre in listeapres])))
+                    self.play_status[canal]=[None]
+                    
+                
             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))
         else: