diff --git a/putsch.py b/putsch.py
index 5f98e5d1ada64185338b4cf4fe156811c4097e01..3ef0c1ecf3685cec8202eb0a1ebefea29d76b2e6 100644
--- a/putsch.py
+++ b/putsch.py
@@ -58,6 +58,10 @@ def Paquet(nbrJoueurs):
         return res
 
 
+def is_cmd(string):
+    return string[0] == "!"
+
+
 class Boooob(ircbot.SingleServerIRCBot):
     def __init__(self):
         ircbot.SingleServerIRCBot.__init__(
@@ -180,39 +184,58 @@ class Boooob(ircbot.SingleServerIRCBot):
                 for f in self.joueurs:
                     if f in message and "!who" in message:
                         for g in dir(self):
-                            if f in str(getattr(self, g)) and g != "joueurs" and g != "lovers" and g != "avote" and g != "votes" and self.cansee == 1:
+                            if (f in str(getattr(self, g))
+                                and g != "joueurs"
+                                and g != "lovers"
+                                and g != "avote"
+                                and g != "votes"
+                                    and self.cansee == 1):
                                 serv.privmsg(personne, "La classe de "+f+" est :"+g)
                                 self.voyanteok = 1
                                 self.cansee = 0
                                 break
             # sorciere
             if self.sorciere == personne and self.sorciereok != 1:
-                if "!nope" in message:
+                splt = message.split(' ')
+
+                if len(splt) > 0 and splt[0] == "!nope":
                     self.sorciereok = 1
                     serv.privmsg(self.sorciere, "Espece de glandeur !")
                     serv.privmsg("#lg_putsch", "La sorciere a fait ce qu'elle avait a faire..")
-                else:
-
-                    if "!ress" in message and self.cansave == 1:
+                elif (len(splt) > 2 and splt[0] == "!ress" and self.cansave == 1
+                      and splt[1] == "!kill" and self.cankill == 1):
+                    if splt[2] in self.joueurs:
                         self.cansave = 0
                         self.victime = []
+                        self.victime.append(splt[2])
+                        self.cankill = 0
+                        self.sorcierevictime = splt[2]
                         self.sorciereok = 1
-                        serv.privmsg("#lg_putsch", "La sorciere a fait ce qu'elle avait a faire..")
-                        serv.privmsg(self.sorciere, "Comme c'est gentil ! ")
-                    else:
-                        if "!tuer" in message and self.cankill == 1:
-                            if message.split(" ")[1] in self.joueurs:
-                                self.victime.append(message.split(" ")[1])
-                                self.cankill = 0
-                                self.sorcierevictime = message.split(" ")[1]
-                                self.sorciereok = 1
-                                serv.privmsg(self.sorciere, "ASSASSIN ! ")
-                                serv.privmsg(
-                                    "#lg_putsch", "La sorciere a fait ce qu'elle avait a faire..")
+                        serv.privmsg(
+                            self.sorciere, "ASSASSIN ! Quoique... :thinking: ")
+                        serv.privmsg(
+                            "#lg_putsch", "La sorciere a fait ce qu'elle avait a faire..")
+
+                elif len(splt) > 0 and "!ress" == splt[0] and self.cansave == 1:
+                    self.cansave = 0
+                    self.victime = []
+                    self.sorciereok = 1
+                    serv.privmsg("#lg_putsch", "La sorciere a fait ce qu'elle avait a faire..")
+                    serv.privmsg(self.sorciere, "Comme c'est gentil ! ")
+                elif len(splt) > 1 and "!kill" == splt[0] and self.cankill == 1:
+                    if splt[1] in self.joueurs:
+                        self.victime.append(message.split(" ")[1])
+                        self.cankill = 0
+                        self.sorcierevictime = message.split(" ")[1]
+                        self.sorciereok = 1
+                        serv.privmsg(self.sorciere, "ASSASSIN ! ")
+                        serv.privmsg(
+                            "#lg_putsch", "La sorciere a fait ce qu'elle avait a faire..")
             # chasseur
             if self.chasseur == personne and self.chasseur in self.victime:
                 for f in self.joueurs:
-                    if f in message and "!tuer" in message and self.chasseur not in message:
+                    if (f in message and "!kill" in message
+                            and self.chasseur not in message):
                         self.victime.append(f)
                         serv.privmsg(self.chasseur, "Tu as tué "+f+" par vengeance ! HAHA !")
                         self.chasseurok = 1
@@ -225,7 +248,8 @@ class Boooob(ircbot.SingleServerIRCBot):
 
             if self.chasseur == personne and self.chasseur in self.victime:
                 for f in self.joueurs:
-                    if f in message and "!tuer" in message and self.chasseur not in message:
+                    if (f in message and "!kill" in message
+                            and self.chasseur not in message):
                         self.victime.append(f)
                         serv.privmsg(self.chasseur, "Tu as tué "+f+" par vengeance ! HAHA !")
                         self.chasseurok = 1
@@ -255,7 +279,7 @@ class Boooob(ircbot.SingleServerIRCBot):
 
         if self.ingame == 0:  # Ensemble des commandes avant le debut de la partie
             if self.topic == 0:
-                #serv.topic(canal,"Tapez !newgame pour demarrer une partie ! ")
+                # serv.topic(canal,"Tapez !newgame pour demarrer une partie ! ")
                 self.topic = 1
             if "!gratuit" in message:
                 serv.privmsg(canal, "Et hop, on hl tout le monde ! ou pas ?")
@@ -270,8 +294,14 @@ class Boooob(ircbot.SingleServerIRCBot):
 
             # Condition de victoire
 
-            if ((self.phase == 3 or self.phase == 4) and (self.loups == [] or sorted(self.joueurs) == sorted(self.loups) or sorted(self.lovers) == sorted(self.joueurs))) or "!reset" in message:
-                if self.loups == []:
+            if (((self.phase == 3 or self.phase == 4)
+                 and (self.loups == []
+                      or sorted(self.joueurs) == sorted(self.loups)
+                      or sorted(self.lovers) == sorted(self.joueurs)))
+                    or "!reset" in message):
+                if '!reset' in message:
+                    serv.privmsg("on reset ..")
+                elif self.loups == []:
                     serv.privmsg("#lg_putsch", "Tous les loups sont morts..... Le village a gagné !")
                 else:
                     if sorted(self.joueurs) == sorted(self.loups):
@@ -347,7 +377,7 @@ class Boooob(ircbot.SingleServerIRCBot):
 
                 self.victime = []
 
-                serv.privmsg("#lg_putsch", " Ouf, reinitialisation reussie !")
+                serv.privmsg("#lg_putsch", "reinitialisation reussie !")
 
             if self.phase == 1:  # phase où les joueurs rejoignent la partie
                 if "!join" in message:
@@ -360,13 +390,12 @@ class Boooob(ircbot.SingleServerIRCBot):
                                          ", c'est complet pour l'instant...")
 
                     else:
-                        serv.privmsg(canal, personne+" a quitté la partie ! BOUH ! ")
+                        serv.privmsg(canal, personne+" a quitté la partie. ")
                         if personne in self.joueurs:
-
                             self.joueurs.remove(personne)
 
                 if "!list" in message:
-                    serv.privmsg(canal, "La liste des joueurs est : "+", ".join(self.joueurs))
+                    serv.privmsg(canal, "La liste des joueurs est : "+list_to_str(self.joueurs))
                 if len(self.joueurs) < 4:
                     self.attente = 0
                 if len(self.joueurs) >= 4 and self.attente == 0:
@@ -380,7 +409,7 @@ class Boooob(ircbot.SingleServerIRCBot):
                     # Selection des factions pour les joueurs, invitations dans les chann ...
 
                     serv.topic(canal, "Une partie est en cours. Les joueurs sont :" +
-                               " ,".join(self.joueurs))
+                               list_to_str(self.joueurs))
 
                     serv.mode(canal, "+m")  # on mute le chan pour empecher les randoms de parler
                     serv.privmsg(canal, "Je mute le canal !")
@@ -395,12 +424,12 @@ class Boooob(ircbot.SingleServerIRCBot):
                             if role == "loups":
                                 serv.privmsg(f, "Pense a rejoindre le chann #lg_putsch_loups !")
                                 self.loups.append(f)
+                                serv.invite(f, "#lg_putsch_loups")
+
                             if role == "villageois":
                                 self.villageois.append(f)
                         else:
                             setattr(self, role, f)
-                    for f in self.loups:
-                        serv.invite(f, "#lg_putsch_loups")
                     serv.privmsg("#lg_putsch_loups", "coucou les ptits loups !")
                     serv.privmsg(canal, "Bon, bah c'est parti...")
                     serv.privmsg(canal, "La partie commence....")
@@ -421,7 +450,8 @@ class Boooob(ircbot.SingleServerIRCBot):
 
                 if self.cupidon != "" and self.phase2 == 1 and self.cupidontrig == 1:
                     serv.privmsg(
-                        self.cupidon, "Tu es le cupidon, designe deux joueurs de cette maniere : 'pseudo1' + 'pseudo2'. La liste:  "+", ".join(self.joueurs))
+                        self.cupidon, "Tu es le cupidon, designe deux joueurs de cette maniere : 'pseudo1' + 'pseudo2'. La liste:  " +
+                        list_to_str(self.joueurs))
                     self.cupidontrig = 0
                 else:
                     if self.phase2 == 1 and self.cupidontrig == 1:
@@ -431,7 +461,8 @@ class Boooob(ircbot.SingleServerIRCBot):
                     serv.privmsg("#lg_putsch", "Debut de la nuit")
                     serv.mode("#lg_putsch_loups", "-m")
                     serv.privmsg(
-                        "#lg_putsch_loups", "Vous pouvez voter avec '!vote pseudo' . la liste des pseudos : "+" ,".join(self.joueurs))
+                        "#lg_putsch_loups", "Vous pouvez voter avec '!vote pseudo' . la liste des pseudos : " +
+                        list_to_str(self.joueurs))
             if self.phase == 3:
                 if len(self.votes) == len(self.loups):
                     if self.sorciere == "":
@@ -451,7 +482,14 @@ class Boooob(ircbot.SingleServerIRCBot):
 
                     if self.sorciere != "":
                         serv.privmsg(self.sorciere, list_to_str(
-                            self.victime)+" est mort cette nuit. Tapez : '!tuer pseudo' pour tuer quelqu'un ou '!ress' pour ressusciter la victime. Vous pouvez taper !nope pour ne rien faire. (un seul choix possible) La liste des cibles : "+list_to_str(self.joueurs))
+                            self.victime)+" est mort cette nuit. Tapez :"
+                            + " '!kill pseudo' pour tuer quelqu'un ou"
+                            + " '!ress' pour ressusciter la victime"
+                            + "Vous pouvez taper !nope pour ne rien"
+                            + "faire. Vous pouvez egalement utiliser les"
+                            + " deux potions en tapant !ress !kill"
+                            + " <pseudo>. La liste des cibles : "
+                            + list_to_str(self.joueurs))
                     self.votes = []
 
                 if self.repet == 0:
@@ -462,6 +500,7 @@ class Boooob(ircbot.SingleServerIRCBot):
 
                 if self.voyante == "":
                     self.voyanteok = 1
+                    time.sleep(rand.randint(5, 20))
 
                 if self.voyanteok == 0:
                     serv.privmsg(
@@ -475,7 +514,7 @@ class Boooob(ircbot.SingleServerIRCBot):
                     self.loupsok = 1
                 if canal == "#lg_putsch_loups":
                     if "!vote" in message and personne not in self.avote and personne in self.loups:
-                        #print ("message de vote :"+message)
+                        # print ("message de vote :"+message)
                         if message.split(" ")[1] in self.joueurs:
                             (self.votes).append(message.split(" ")[1])
                             (self.avote).append(personne)
@@ -497,7 +536,7 @@ class Boooob(ircbot.SingleServerIRCBot):
                         if self.chasseurtrig == 1:
 
                             serv.privmsg(
-                                self.chasseur, "Tu as été tué cette nuit ! Tape !tuer pseudo pour te venger ! la liste des cibles est : "+" ,".join(self.joueurs))
+                                self.chasseur, "Tu as été tué cette nuit ! Tape !kill pseudo pour te venger ! la liste des cibles est : "+" ,".join(self.joueurs))
                             serv.privmsg(self.chasseur, "Les victimes de cette nuit :" +
                                          list_to_str(self.victime))
                             serv.privmsg("#lg_putsch", "J'en connais un qui va etre deçu...")
@@ -675,7 +714,7 @@ class Boooob(ircbot.SingleServerIRCBot):
                                             self.chasseur = ""
                                         if g == "chasseur":
                                             serv.privmsg(
-                                                self.chasseur, "Tu peux te venger sur quelqu'un : utilise '!tuer pseudo'. La liste des joueurs :"+list_to_str(self.joueurs))
+                                                self.chasseur, "Tu peux te venger sur quelqu'un : utilise '!kill pseudo'. La liste des joueurs :"+list_to_str(self.joueurs))
                                             serv.privmsg(
                                                 "#lg_putsch", "Le chasseur selectionne une cible...")