]> gitweb.pimeys.fr Git - bots/hung.git/commitdiff
Possibilité de fournir des mots custom sur la commande PLAY
authorHung IRC Bot <hung@crans.org>
Sat, 8 Jun 2013 16:50:47 +0000 (18:50 +0200)
committerHung IRC Bot <hung@crans.org>
Sat, 8 Jun 2013 16:50:47 +0000 (18:50 +0200)
config.py
hung.py

index b02816fd565ce472574f0fc2958f57138bfb7f5d..58c4a927b5a4b3381e7b4d1c8ed4dfd724cb78d4 100644 (file)
--- a/config.py
+++ b/config.py
@@ -49,4 +49,4 @@ leave_messages=["On finira la partie plus tard :p"]
 #: Nombre de chances avant d'être pendu
 lives = 7
 #: Caractères qui sont déjà affichés au début si il sont dans le mot
-non_guess_chars = "'-()."
+non_guess_chars = "'-(). "
diff --git a/hung.py b/hung.py
index 76168026bb3d7447c32db8c8ca5dc93bce37dedd..0000a911ec927254b52597bf1785c9e870604f48 100755 (executable)
--- a/hung.py
+++ b/hung.py
@@ -194,8 +194,11 @@ class Hung(ircbot.SingleServerIRCBot):
             if auteur in self.ops:
                 if len(message)>1:
                     if message[1] in self.play_channels:
-                        serv.privmsg(auteur,"Je play déjà sur %s."%(message[1]))
-                        log(self.serveur,"priv",auteur," ".join(message)+"[failed]")
+                        if len(message) > 2:
+                            self.start_partie(serv, message[1], " ".join(message[2:]))
+                        else:
+                            serv.privmsg(auteur,"Je play déjà sur %s."%(message[1]))
+                            log(self.serveur,"priv",auteur," ".join(message)+"[failed]")
                     else:
                         self.play_channels.append(message[1])
                         self.play_status[message[1]]=[None,None,None]
@@ -319,11 +322,14 @@ class Hung(ircbot.SingleServerIRCBot):
             obfuskated=" ".join([lettre[0] if lettre[1] else "_" for lettre in mot])
             serv.privmsg(canal,"%s : %s"%(begin,obfuskated))
 
-    def start_partie(self, serv, canal):
-        mots=[mot.strip() for mot in open(config.dico_mots).readlines()]
-        defs=[defi.strip() for defi in open(config.dico_defs).readlines()]
-        indice = random.randrange(0,len(mots))
-        mot,definition=mots[indice],defs[indice]
+    def start_partie(self, serv, canal, mot=None):
+        if mot is None:
+            mots=[mot.strip() for mot in open(config.dico_mots).readlines()]
+            defs=[defi.strip() for defi in open(config.dico_defs).readlines()]
+            indice = random.randrange(0,len(mots))
+            mot,definition=mots[indice],defs[indice]
+        else:
+            definition = "(custom word)"
         # ' et - sont considérés comme déjà devinés
         mot = [(lettre,lettre in config.non_guess_chars) for lettre in list(mot)]
         self.play_status[canal]=[mot,definition,{}]