diff --git a/putsch.py b/putsch.py
index 31859dfa182d469655aa0dea9c65a20af05d846e..5f98e5d1ada64185338b4cf4fe156811c4097e01 100644
--- a/putsch.py
+++ b/putsch.py
@@ -9,799 +9,780 @@ import time
 from multiprocessing import Process
 
 
+def couper(pseudo):
+    return pseudo.split("!")[0]
+
+
+def list_to_str(li):
+    return ", ".join(li)
+
+# renvoie un paquet avec le bon nombre de cartes & les bonnes classes
+
+
+def Paquet(nbrJoueurs):
+    if nbrJoueurs == 4:
+        return ["loups", "voyante", "sorciere", "chasseur"]
+    if nbrJoueurs == 5:
+        res = Paquet(4)
+        res.append("loups")
+        res.append("voleur")
+        res.append("ancien")
+        return res
+    if nbrJoueurs == 6:
+        res = Paquet(5)
+        res.append("cupidon")
+        return res
+    if nbrJoueurs == 7:
+        res = Paquet(6)
+        res.append("idiot")
+        return res
+    if nbrJoueurs == 8:
+        res = Paquet(7)
+        res.append("loups")
+        return res
+    if nbrJoueurs == 9:
+        res = Paquet(8)
+        res.append("villageois")
+        return res
+    if nbrJoueurs == 10:
+        res = Paquet(9)
+        res.append("villageois")
+        return res
+    if nbrJoueurs == 11:
+        res = Paquet(10)
+        res.append("loups")
+        return res
+    if nbrJoueurs == 12:
+        res = Paquet(11)
+        res.append("villageois")
+        return res
 
-def couper(pseudo) :
-        return pseudo.split("!")[0]         
-
-def list_to_str(li) :
-	return ", ".join(li)
-
-#renvoie un paquet avec le bon nombre de cartes & les bonnes classes
-def Paquet(nbrJoueurs) :
-	if nbrJoueurs == 4 :
-		return ["loups","voyante","sorciere","chasseur"]
-	if nbrJoueurs == 5 :
-		res =  Paquet(4)
-		res.append("loups")				
-		res.append("voleur")
-		res.append("ancien")
-		return res
-	if nbrJoueurs == 6 :
-		res = Paquet(5)
-		res.append("cupidon")
-		return res
-	if nbrJoueurs == 7 :
-		res = Paquet(6)
-		res.append("idiot")
-		return res
-	if nbrJoueurs == 8 :
-		res = Paquet(7)
-		res.append("loups")
-		return res
-	if nbrJoueurs == 9 :
-		res = Paquet(8)
-		res.append("villageois")
-		return res
-	if nbrJoueurs == 10 :
-		res = Paquet(9)
-		res.append("villageois")
-		return res
-	if nbrJoueurs == 11 :
-		res = Paquet(10)
-		res.append("loups")
-		return res
-	if nbrJoueurs == 12 :
-		res = Paquet(11)
-		res.append("villageois")
-		return res
 
+class Boooob(ircbot.SingleServerIRCBot):
+    def __init__(self):
+        ircbot.SingleServerIRCBot.__init__(
+            self, [("irc.iiens.net", 6667)], "putsch", "Je suis un bot", 5)
+        self.joueurs = []
+        self.ingame = 0
+        self.phase = 0
+        self.repet = 0
 
+        self.phase2trig = 1
+        self.phase2 = 0
 
-class Boooob(ircbot.SingleServerIRCBot):
-        def __init__(self):
-                ircbot.SingleServerIRCBot.__init__(self, [("irc.iiens.net", 6667)],"putsch", "Je suis un bot",5)
-		self.joueurs = []
-		self.ingame = 0
-		self.phase = 0
-		self.repet = 0
-		
-		self.phase2trig = 1
-		self.phase2 = 0
-
-		self.phase4trig = 1
-		self.phase4 = 0
-		self.egalite = 1
-
-		self.voyanteok = 0
-		self.loupsok = 0
-		self.sorciereok = 0
-		self.votes = []
-		self.avote = []
-		self.temps = 0
-		self.topic = 0
-		self.attente = 0
-		self.cartes = []   #Les cartes qui seront en jeu -> sert uniquement pour initialiser la partie
-		self.loups = []
-		self.villageois =[]
-		
-		self.lovers = []
-		
-		self.sorciere = ""
-		self.sorcierevictime = ""
-		self.cankill = 1 #sorciere uniquement
-		self.cansave = 1 #sorciere uniquement
-		
-		self.chasseur = ""
-		self.chasseurok = 1
-		self.chasseurtrig = 1
-		self.chasseurvictime = ""
-		self.pf = ""
-
-		self.voyante = ""
-		self.cansee = 1 #voyante
-
-		self.cupidon = ""
-		self.cupidontrig = 1
-
-		self.maire = ""
-
-		self.voleur = ""
-		self.voleurtrig = 1
-
-		self.ancien = ""
-		self.canlive = 1
-
-		self.idiot = ""
-		self.canvote = 1
-
-		self.victime = []
-	
-	
-        def on_welcome(self, serv, ev):
-                serv.join("#lg_putsch")
-                serv.join("#tputsch")
-    		serv.join("#lg_putsch_loups")
-    		serv.join("#lg_putsch_pf")
-    		serv.join("#lg_putsch_morts")
-    		serv.join("#lg_cheat")
-                serv.privmsg("NickServ","identify MotDePasse") 
-        def on_join(self, serv, ev):#Quand qq entre dans le chann, le bot inclus
-		canal = ev.target()
-		if canal == "#lg_putsch_loups" and self.phase == 3:
-			serv.privmsg(canal, "Vous pouvez maintenant voter en tapant '!vote pseudo'. Tout vote est definitif, vous avez le choix entre :"+", ".join(self.joueurs))
-
-
-
-                       
-                        
-        def on_privmsg(self, serv, ev):#msg privé
-		personne = ev.source()
-		personne = couper(personne)
-		message = ev.arguments()[0]
-
-		if "Titch" in personne and "!owner" in message :
-			serv.privmsg("chanserv", "set founder #lg_putsch_loups Titch")
-
-		if "Titch" in personne and "!mode" in message :
-			serv.mode("#lg_putsch_loups", "+i")
-
-
-		if self.phase == 2 :
-                        #Voleur
-                        if self.voleur == personne :
-                                for f in self.cartes :
-                                        if f in message :
-                                                serv.privmsg(personne, "Tu as choisi : "+f)
-						if f == "loups" :
-							self.loups.append(personne)
-							serv.privmsg(personne, "Pense a rejoindre le chann #lg_putsch_loups !")
-							serv.invite(personne, "#lg_putsch_loups")
-						else :
-							setattr(self,f,personne)
-                                                self.phase2 = self.phase2 + 1
-                                                break
-                       
-                                                        
-
-                        #cupidon
-                        if self.cupidon == personne :
-                                amants = []
-                                for f in self.joueurs :
-                                        if f in message and f not in amants :
-                                                amants.append(f)
-				if len(amants) == 2 :
-	                                serv.privmsg(personne, "Tu as choisi ces deux couillons :"+", ".join(amants))
-        	                        self.lovers = amants
-                	                serv.privmsg(self.lovers[0], "Felicitations, tu es en couple avec "+self.lovers[1]+".")
-                        	        serv.privmsg(self.lovers[1], "Felicitations, tu es en couple avec "+self.lovers[0]+".")
-                               		self.phase2 = self.phase2 + 1
-      		
-		
-		if self.phase == 3 :
-			#voyante 
-			if self.voyante == personne and self.cansee == 1 :
-				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  :
-								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 :
-					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 :
-						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 ! ") 
-					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..")
-			#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 :
-						self.victime.append(f)
-						serv.privmsg(self.chasseur, "Tu as tué "+f+" par vengeance ! HAHA !")
-						self.chasseurok = 1
-						self.chasseurvictime = f
-						break
-
-		if self.phase == 4 :
-
-			#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 :
-						self.victime.append(f)
-						serv.privmsg(self.chasseur, "Tu as tué "+f+" par vengeance ! HAHA !")
-						self.chasseurok = 1
-						self.chasseurvictime = f
-						serv.privmsg("#lg_putsch", "J'en connais un qui va etre deçu...")
-						break
-
-
-
-
-
-
-
-
-
-                                              
-                                                
-                                
-                                
-                                   
-
-                                     
-        def on_invite(self, serv, ev) :
-                canal = ev.arguments()[0]
-                serv.join(canal)                                  
-                       
-        def on_pubmsg(self, serv, ev): #quand qq ecrit dans le chat
-		canal = ev.target()
-		canal2 = self.channels[canal]  #Sert a recup la liste des users
-
-                personne = ev.source()
-                personne = couper(personne)
-                message = ev.arguments()[0]
-		if "!debug" in message and "Titch" in personne :
-			if len(message.split(" ")) == 1 :
-
-				for f in dir(self): 
-					print(f+" = "+str(getattr(self, f)))
-			else :
-				for f in message.split(" ")[1:] :
-					print(f+" = "+str(getattr(self, f)))
-				
-		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 ! ")
-				self.topic = 1
-			if "!gratuit" in message :
-				serv.privmsg(canal, "Et hop, on hl tout le monde ! ou pas ?")
-			if "!newgame" in message :
-				serv.privmsg(canal, "Ok, "+personne+" a lancé une partie, tapez !join pour rejoindre (si vous retapez !join, vous quittez !)")
-				serv.privmsg(canal, personne+" a rejoint la partie !")
-				self.joueurs.append(personne)
-				self.ingame = 1
-				self.phase = 1
-		if self.ingame == 1 :
-
-
-
-
-			# 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 == [] :
-					serv.privmsg("#lg_putsch", "Tous les loups sont morts..... Le village a gagné !")
-				else :
-					if sorted(self.joueurs) == sorted(self.loups) :
-						serv.privmsg("#lg_putsch", "Tous les villageois sont morts... Les loups ont gagné !")
-					else :
-						serv.privmsg("#lg_putsch", "Les amants ont gagné....")
-				for f in self.joueurs :
-					serv.mode("#lg_putsch", "-v "+f)
-				for f in self.loups :
-					serv.kick("#lg_putsch_loups", f)
-				time.sleep(5)
-				serv.privmsg("#lg_putsch", "Les survivants sont : "+list_to_str(self.joueurs))
-
-				time.sleep(10)
-				serv.topic("#lg_putsch", "Channel de Loup Garou! Tapez !newgame pour commencer une nouvelle partie! Un bug à observer ? Rejoignez #lg_bugs" )
-
-				serv.mode("#lg_putsch", "-m")
-				serv.privmsg("#lg_putsch", "On reinitialise TOUT !")
-				self.joueurs = []
-				self.ingame = 0
-				self.phase = 0
-				self.repet = 0
-		
-				self.phase2trig = 1
-				self.phase2 = 0
-
-				self.phase4trig = 1
-				self.phase4 = 0
-				self.egalite = 1
-
-				self.voyanteok = 0
-				self.loupsok = 0
-				self.sorciereok = 0
-				self.votes = []
-				self.avote = []
-				self.temps = 0
-				self.topic = 0
-				self.attente = 0
-				self.cartes = []   #Les cartes qui seront en jeu -> sert uniquement pour initialiser la partie
-				self.loups = []
-				self.villageois =[]
-				
-				self.lovers = []
-				
-				self.sorciere = ""
-				self.cankill = 1 #sorciere uniquement
-				self.cansave = 1 #sorciere uniquement
-				
-				self.chasseur = ""
-				self.chasseurok = 1
-				self.chasseurtrig = 1
-				self.chasseurvictime = ""
-				self.pf = ""
-
-				self.voyante = ""
-				self.cansee = 1 #voyante
-
-				self.cupidon = ""
-				self.cupidontrig = 1
-
-				self.maire = ""
-
-				self.voleur = ""
-				self.voleurtrig = 1
-
-				self.ancien = ""
-				self.canlive = 1
-
-				self.idiot = ""
-				self.canvote = 1
-
-				self.victime = []
-
-				serv.privmsg("#lg_putsch", " Ouf, reinitialisation reussie !")
-
-
-
-		
-
-				
-
-			if self.phase == 1 : #phase où les joueurs rejoignent la partie
-				if "!join" in message :
-					if personne not in self.joueurs :
-						if len(self.joueurs) < 13 :
-							serv.privmsg(canal, personne+" a rejoint la partie !")
-							self.joueurs.append(personne)
-						else :
-							serv.privmsg(canal, "Desolé "+personne+", c'est complet pour l'instant...")
-
-					else :
-						serv.privmsg(canal, personne+" a quitté la partie ! BOUH ! ")
-						if personne in self.joueurs : 
-
-							self.joueurs.remove(personne)
-
-				if "!list" in message :
-					serv.privmsg(canal, "La liste des joueurs est : "+", ".join(self.joueurs))
-				if len(self.joueurs) < 4 :
-					self.attente = 0
-				if len(self.joueurs) >= 4  and self.attente == 0:
-
-					serv.privmsg(canal, "vous etes au moins 4, vous pouvez taper !run pour lancer la partie !")
-					self.attente = 1
-				if "!run" in message and self.attente == 1 :
-					serv.privmsg(canal,"La partie va se lancer.....Regardez vos query et vos invitations ! ")
-					# Selection des factions pour les joueurs, invitations dans les chann ...
-					
-					serv.topic(canal, "Une partie est en cours. Les joueurs sont :"+" ,".join(self.joueurs))
-					
-					serv.mode(canal, "+m") #on mute le chan pour empecher les randoms de parler
-					serv.privmsg(canal, "Je mute le canal !")
-					self.cartes = Paquet(len(self.joueurs))
-										
-					#On attribue a chaque joueur un role
-					for f in self.joueurs :
-						serv.mode(canal,"+v "+f) #on passe les joueurs en voice
-						role = self.cartes.pop(rand.randint(0, len(self.cartes)- 1))
-						serv.privmsg(f, "Ton role pour la partie sera : "+role)
-						if role == "loups" or role == "villageois" :
-							if role == "loups" :
-								serv.privmsg(f, "Pense a rejoindre le chann #lg_putsch_loups !")
-								self.loups.append(f)
-							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....")
-					self.phase = 2
-			if self.phase == 2 : 
-				if self.phase2trig == 1 :
-                               		serv.privmsg("#lg_putsch", "J'appelle le voleur...S'il existe !")
-					serv.privmsg("#lg_putsch", "J'appelle le cupidon... S'il existe !")
-					self.phase2trig = 0
-
-                               	if self.voleur != "" and self.phase2 == 0 and self.voleurtrig == 1 :
-                                    	serv.privmsg(self.voleur, "Tu es le voleur, tes choix sont : "+", ".join(self.cartes))
-					self.voleurtrig = 0 
-				else :
-					if self.phase2 == 0 and self.voleurtrig == 1:
-						self.phase2 = self.phase2 +1
-                
-                                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.cupidontrig = 0
-                                else :
-					if self.phase2 == 1 and self.cupidontrig == 1 :
-						self.phase2 = self.phase2 + 1
-				if self.phase2 == 2 :
-					self.phase = 3
-					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))
-			if self.phase == 3 :
-				if len(self.votes) == len(self.loups) :
-					if self.sorciere == "" :
-						self.sorciereok = 1
-					serv.mode("#lg_putsch_loups", "+m")
-					serv.privmsg("#lg_putsch","la sorciere se leve...")
-					bid = []
-					for f in self.joueurs :
-						bid.append(str(self.votes.count(f)))
-					a = max(bid) 
-					c = 0
-					for f in bid :
-						if f == a :
-							c=c+1
-					if c == 1 :
-						self.victime.append(self.joueurs[bid.index(a)])
-					
-
-							
-					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.votes = []
-
-
-
-
-				if self.repet == 0 :
-					serv.privmsg("#lg_putsch", "Il fait nuit noire...")
-					self.repet = 1
-					if "voyante" in self.cartes : 
-						serv.privmsg("#lg_putsch", "J'appelle la voyante")
-
-				if self.voyante == "" :
-					self.voyanteok = 1
-				
-				if self.voyanteok == 0 :
-					serv.privmsg(self.voyante, "Tape !who pseudo pour connaitre le role de pseudo. La liste :  "+", ".join(self.joueurs))
-					serv.privmsg("#lg_putsch", "J'appelle la voyante")
-					self.voyanteok = 2
-
-
-				if self.loupsok == 0 :
-					time.sleep(2) 
-					serv.privmsg("#lg_putsch", "Les loups se reveillent...")
-					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)
-						if message.split(" ")[1] in self.joueurs :
-							(self.votes).append(message.split(" ")[1])
-							(self.avote).append(personne)
-							serv.privmsg(canal, personne+" a voté pour "+message.split(" ")[1]+"!")
-
-
-				if self.sorciereok == 1 and self.voyanteok == 1 :
-					if self.ancien in self.victime and self.canlive == 1 and self.ancien != self.sorcierevictime and self.ancien != self.chasseurvictime :
-						self.victime.remove(self.ancien)
-						self.canlive = 0
-						#serv.privmsg("#lg_putsch", "Ouf, le pouvoir de l'ancien a proc !")
-					if self.lovers != [] :
-
-						if self.lovers[0] in self.victime or self.lovers[1] in self.victime :
-							for f in self.lovers :
-								if f not in self.victime :
-									self.victime.append(f)
-
-
-					if self.chasseur in self.victime :
-						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))
-							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...")	
-							self.chasseurok = 0
-							self.chasseurtrig = 0
-					else :	
-						self.chasseurok = 1
-
-					if self.chasseur == "" :
-						self.chasseurok = 1
-					if self.chasseurok == 1 :
-						serv.privmsg("#lg_putsch", "Et soudainement, le jour se leve.....")
-						time.sleep(5)
-
-						for f in self.victime :
-							for g in dir(self) :
-								if f in str(getattr(self,g)) and g == "lovers" :
-									serv.privmsg("#lg_putsch", "Les amoureux sont morts ! (coucou "+f+" ! )" )
-								if f in str(getattr(self, g)) and g != "joueurs" and g != "victime" and g != "votes" and g != "avote" and g != "lovers" and g != "sorcierevictime" and g != "voleur" :
-									if f != self.chasseurvictime :
-										serv.privmsg("#lg_putsch" , f+" est decedé cette nuit.. son role : "+g+".")
-										serv.mode("#lg_putsch", "-v "+f)
-										if f in self.joueurs : 
-
-											self.joueurs.remove(f)
-										if g == "loups" or g == "villageois" or g == "chasseur":
-											if g == "loups" :
-												if f in self.loups :
-													self.loups.remove(f)
-												serv.kick("#lg_putsch_loups", f)
-											if g == "villageois" :
-												if f in self.villageois :
-													self.villageois.remove(f)
-										else :
-											setattr(self,g, "")
-										
-
-						if self.chasseurvictime != "" :
-							if self.lovers != [] :
-
-								if self.lovers[0] in self.victime or self.lovers[1] in self.victime :
-									for f in self.lovers :
-										if f not in self.victime :
-											self.victime.append(f)
-							for g in dir(self) :
-								if f in str(getattr(self,g)) and g == "lovers" :
-									serv.privmsg("#lg_putsch", "Les amoureux sont morts ! (coucou "+f+" ! )" )
-
-								if self.chasseurvictime in str(getattr(self, g)) and g!="joueurs" and g!="victime" and g != "avote" and g != "lovers" and g != "sorcierevictime" and g != "chasseurvictime" and g != "voleur" and g != "votes" :
-									serv.privmsg("#lg_putsch", self.chasseur+" Decide donc de se venger sur "+self.chasseurvictime+", dont le role etait : "+g+" ! HEADSHOT !")
-									serv.mode("#lg_putsch" , "-v "+self.chasseurvictime)
-									try :
-										self.joueurs.remove(self.chasseurvictime)
-									except :
-										print "erreur"
-									self.chasseur = ""
-									if g == "loups" or g == "villageois" :
-										if g == "loups" :
-											serv.kick("#lg_putsch_loups", self.chasseurvictime)
-											if self.chasseurvictime in self.loups :
-												self.loups.remove(self.chasseurvictime)
-										else :
-											if self.chasseurvictime in self.loups : 
-												self.villageois.remove(self.chasseurvictime)
-									else :
-										setattr(self,g,"")
-
-						self.chasseurvictime = ""
-						self.sorcierevictime = ""
-						self.chasseurok = 0
-						self.voyanteok = 0
-						self.loupsok = 0
-						self.sorciereok = 0
-						if self.victime == [] :
-							serv.privmsg("#lg_putsch", "Personne n'est mort cette nuit...")
-						self.victime = [] 
-						self.avote = []
-						self.votes = []
-						self.cansee= 1
-						self.phase = 4
-						self.phase4 = 0
-						self.phase4trig = 1
-						self.temps = time.time()
-
-			
-			if self.phase == 4 :
-				if "!list" in message :
-					serv.privmsg("#lg_putsch", "La liste des joueurs est :"+list_to_str(self.joueurs))
-
-
-				if self.phase4trig == 1 :
-
-					serv.privmsg("#lg_putsch", "Ce crime ( ou pas...) ne peut rester impuni !")
-					time.sleep(2)
-					serv.privmsg("#lg_putsch", "Le village se reunit et decide de lyncher quelqu'un...")
-					self.phase4trig = 0
-					serv.privmsg("#lg_putsch", "Vous avez 1 minute pour debattre avant le debut du vote")
-				
-				if time.time() - self.temps > 60 and self.phase4trig == 0 :
-					self.phase4 = 1
-					self.phase4trig = 2
-					serv.privmsg("#lg_putsch", " Le vote est ouvert, utilisez !vote pseudo . La liste des joueurs : "+list_to_str(self.joueurs))
-					serv.privmsg("#lg_putsch", "Rien ne vous empeche de continuer a debattre !")
-
-				if self.phase4 == 1 :
-					if len(self.votes) == len(self.joueurs) or self.canvote == 0 and len(self.votes) == len(self.joueurs) - 1:
-						serv.privmsg("#lg_putsch", "fin du vote...")
-						bid = []
-						for f in self.joueurs :
-							if self.votes.count(f) > 0 :
-								serv.privmsg("#lg_putsch", "Le nombre de voix pour "+f+" est :"+str(self.votes.count(f)))
-							bid.append(str(self.votes.count(f)))
-						a = max(bid) 
-						c = 0
-						for f in bid :
-							if f == a :
-								c=c+1
-						if c == 1 :
-
-							self.victime.append(self.joueurs[bid.index(a)])
-						  	
-							if self.idiot in self.victime :
-								serv.privmsg("#lg_putsch", "Le village a decidé de lyncher l'idiot : "+self.idiot)
-								serv.privmsg("#lg_putsch", self.idiot+" n'est donc pas lynché, mais ne peut plus voter desormais...")
-								self.canvote = 0
-								self.victime.remove(self.idiot)
-								self.chasseurok = 1
-
-							if self.lovers != [] :
-
-								if self.lovers[0] in self.victime or self.lovers[1] in self.victime :
-									for f in self.lovers :
-										if f not in self.victime :
-											self.victime.append(f)
-							for f in self.victime :
-								if f in self.loups :
-									serv.kick("#lg_putsch_loups", f)
-
-
-								for g in dir(self) :
-									if f in str(getattr(self, g)) and g == "lovers" :
-										serv.privmsg("#lg_putsch", "Les amoureux sont morts ! (coucou "+f+" ! )" )
-									if f in str(getattr(self, g)) and g != "joueurs" and g != "victime" and g != "avote" and g != "lovers" and g != "votes" and g != "voleur" and g != "sorcierevictime":
-										serv.privmsg("#lg_putsch" , f+" est donc pendu(e) ( ou brulé(e), au choix ) par le village... Son role : "+g+".")
-										serv.mode("#lg_putsch", "-v "+f)
-										self.joueurs.remove(f)
-
-						
-
-
-										if g == "loups" or g == "villageois" or g == "chasseur" :
-											if g == "loups" :
-												self.loups.remove(f)
-												serv.kick("#lg_putsch_loups", f)
-											if g == "villageois" :
-												self.villageois.remove(f)
-										else :
-											setattr(self,g, "")
-										if g == "ancien" :
-											serv.privmsg("#lg_putsch", "Oh non, le village a decidé de lyncher l'ancien !")
-											serv.privmsg("#lg_putsch", "Tous les villageois PERDENT leur pouvoir !")
-											for a in [self.sorciere, self.voyante, self.chasseur] :
-												if a not in self.villageois and a != "" :
-													self.villageois.append(a)
-											self.sorciere = ""
-											self.voyante = ""
-											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))
-											serv.privmsg("#lg_putsch", "Le chasseur selectionne une cible...")
-
-										else :
-											self.chasseurok = 1
-
-										serv.mode("#lg_putsch", "-v "+f)
-
-
-
-
-						else :
-							if self.egalite == 1 :
-								serv.privmsg("#lg_putsch", "Ah, egalité... Le village demande un nouveau vote !")
-								self.egalite = 0
-								self.phase4trig = 0
-								self.avote = []
-								self.votes = []	
-							else :
-								serv.privmsg("#lg_putsch", "Egalité encore... Le village va se coucher...")
-								self.phase4trig = 1
-								self.votes = []
-								self.avote = []
-								self.phase = 2
-								self.phase2 = 2
-								self.egalite = 1
-								self.victime = []
-								self.phase4 = 0
-
-
-					if self.chasseurok == 1 :
-						if self.chasseurvictime != "" :
-
-							for g in dir(self) :
-								if self.chasseurvictime in str(getattr(self, g)) and g!="joueurs" and g!= "votes" and g!="victime" and g != "avote" and g != "lovers" and g != "sorcierevictime" and g != "chasseurvictime" :
-									serv.privmsg("#lg_putsch", self.chasseur+" Decide donc de se venger sur "+self.chasseurvictime+", dont le role etait : "+g+" ! HEADSHOT !")
-									serv.mode("#lg_putsch" , "-v "+self.chasseurvictime)
-									if self.chasseurvictime in self.joueurs : 
-										self.joueurs.remove(self.chasseurvictime)
-
-									self.chasseur = ""
-									if g == "loups" or g == "villageois" :
-										if g == "loups" :
-											serv.kick("#lg_putsch_loups", self.chasseurvictime)
-											if self.chasseurvictime in self.loups :
-												self.loups.remove(self.chasseurvictime)
-										else :
-											if self.chasseurvictime in self.villageois :
-												self.villageois.remove(self.chasseurvictime)
-									else :
-										setattr(self,g,"")
-						serv.privmsg("#lg_putsch", "Le village va donc se coucher...")
-						self.phase4trig = 1
-						self.votes = []
-						self.avote = []
-						self.victime = []
-						self.phase = 2
-						self.phase2 = 2
-						self.egalite = 1
-						self.phase4 = 0
-
-					
-					if "!recap" in message :
-						serv.privmsg("#lg_putsch", "Ont voté : "+list_to_str(self.avote))
-						for f in self.joueurs :
-							if self.votes.count(f) > 0 :
-								serv.privmsg("#lg_putsch", "Le nombre de voix pour "+f+" est :"+str(self.votes.count(f)))
-
-					if "!vote" in message and personne not in self.avote and len(message.split(" "))> 1 and (message.split(" ")[1] in self.joueurs or message.split(" ")[1] == "random") and personne in self.joueurs :
-						w = 1
-						if self.canvote == 0 :
-							
-							if personne == self.idiot :
-								w = 0
-								serv.privmsg("#lg_putsch", "l'idiot essaie de voter... le village l'ignore")
-							if message.split(" ")[1] == self.idiot :
-								w = 0
-								serv.privmsg("#lg_putsch", personne+" essaie de voter pour l'idiot... le village l'ignore...")
-						if w == 1 :
-							if message.split(" ")[1] == "random" :
-								bi = self.joueurs[rand.randint(0, len(self.joueurs) - 1)]
-								self.votes.append(bi)
-								serv.privmsg("#lg_putsch", "LE POUVOIR DU RANDOM ! ")
-								serv.privmsg("#lg_putsch", personne+" a voté pour "+bi+" !")
-							else :
-								self.votes.append(message.split(" ")[1])
-								serv.privmsg("#lg_putsch", personne+" a voté pour "+message.split(" ")[1]+" !")
-							self.avote.append(personne)
-
-					
-				
-
-
-
-
-
-
-
-class Bite(ircbot.SingleServerIRCBot) :
+        self.phase4trig = 1
+        self.phase4 = 0
+        self.egalite = 1
+
+        self.voyanteok = 0
+        self.loupsok = 0
+        self.sorciereok = 0
+        self.votes = []
+        self.avote = []
+        self.temps = 0
+        self.topic = 0
+        self.attente = 0
+        self.cartes = []  # Les cartes qui seront en jeu -> sert uniquement pour initialiser la partie
+        self.loups = []
+        self.villageois = []
+
+        self.lovers = []
+
+        self.sorciere = ""
+        self.sorcierevictime = ""
+        self.cankill = 1  # sorciere uniquement
+        self.cansave = 1  # sorciere uniquement
+
+        self.chasseur = ""
+        self.chasseurok = 1
+        self.chasseurtrig = 1
+        self.chasseurvictime = ""
+        self.pf = ""
+
+        self.voyante = ""
+        self.cansee = 1  # voyante
+
+        self.cupidon = ""
+        self.cupidontrig = 1
+
+        self.maire = ""
+
+        self.voleur = ""
+        self.voleurtrig = 1
+
+        self.ancien = ""
+        self.canlive = 1
+
+        self.idiot = ""
+        self.canvote = 1
+
+        self.victime = []
+
+    def on_welcome(self, serv, ev):
+        serv.join("#lg_putsch")
+        serv.join("#tputsch")
+        serv.join("#lg_putsch_loups")
+        serv.join("#lg_putsch_pf")
+        serv.join("#lg_putsch_morts")
+        serv.join("#lg_cheat")
+        serv.privmsg("NickServ", "identify MotDePasse")
+
+    def on_join(self, serv, ev):  # Quand qq entre dans le chann, le bot inclus
+        canal = ev.target()
+        if canal == "#lg_putsch_loups" and self.phase == 3:
+            serv.privmsg(
+                canal, "Vous pouvez maintenant voter en tapant '!vote pseudo'. Tout vote est definitif, vous avez le choix entre :"+", ".join(self.joueurs))
+
+    def on_privmsg(self, serv, ev):  # msg privé
+        personne = ev.source()
+        personne = couper(personne)
+        message = ev.arguments()[0]
+
+        if "Titch" in personne and "!owner" in message:
+            serv.privmsg("chanserv", "set founder #lg_putsch_loups Titch")
+
+        if "Titch" in personne and "!mode" in message:
+            serv.mode("#lg_putsch_loups", "+i")
+
+        if self.phase == 2:
+            # Voleur
+            if self.voleur == personne:
+                for f in self.cartes:
+                    if f in message:
+                        serv.privmsg(personne, "Tu as choisi : "+f)
+                        if f == "loups":
+                            self.loups.append(personne)
+                            serv.privmsg(personne, "Pense a rejoindre le chann #lg_putsch_loups !")
+                            serv.invite(personne, "#lg_putsch_loups")
+                        else:
+                            setattr(self, f, personne)
+                        self.phase2 = self.phase2 + 1
+                        break
+
+            # cupidon
+            if self.cupidon == personne:
+                amants = []
+                for f in self.joueurs:
+                    if f in message and f not in amants:
+                        amants.append(f)
+                if len(amants) == 2:
+                    serv.privmsg(personne, "Tu as choisi ces deux couillons :"+", ".join(amants))
+                    self.lovers = amants
+                    serv.privmsg(
+                        self.lovers[0], "Felicitations, tu es en couple avec "+self.lovers[1]+".")
+                    serv.privmsg(
+                        self.lovers[1], "Felicitations, tu es en couple avec "+self.lovers[0]+".")
+                    self.phase2 = self.phase2 + 1
+
+        if self.phase == 3:
+            # voyante
+            if self.voyante == personne and self.cansee == 1:
+                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:
+                                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:
+                    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:
+                        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 ! ")
+                    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..")
+            # 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:
+                        self.victime.append(f)
+                        serv.privmsg(self.chasseur, "Tu as tué "+f+" par vengeance ! HAHA !")
+                        self.chasseurok = 1
+                        self.chasseurvictime = f
+                        break
+
+        if self.phase == 4:
+
+            # 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:
+                        self.victime.append(f)
+                        serv.privmsg(self.chasseur, "Tu as tué "+f+" par vengeance ! HAHA !")
+                        self.chasseurok = 1
+                        self.chasseurvictime = f
+                        serv.privmsg("#lg_putsch", "J'en connais un qui va etre deçu...")
+                        break
+
+    def on_invite(self, serv, ev):
+        canal = ev.arguments()[0]
+        serv.join(canal)
+
+    def on_pubmsg(self, serv, ev):  # quand qq ecrit dans le chat
+        canal = ev.target()
+        canal2 = self.channels[canal]  # Sert a recup la liste des users
+
+        personne = ev.source()
+        personne = couper(personne)
+        message = ev.arguments()[0]
+        if "!debug" in message and "Titch" in personne:
+            if len(message.split(" ")) == 1:
+
+                for f in dir(self):
+                    print(f+" = "+str(getattr(self, f)))
+            else:
+                for f in message.split(" ")[1:]:
+                    print(f+" = "+str(getattr(self, f)))
+
+        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 ! ")
+                self.topic = 1
+            if "!gratuit" in message:
+                serv.privmsg(canal, "Et hop, on hl tout le monde ! ou pas ?")
+            if "!newgame" in message:
+                serv.privmsg(
+                    canal, "Ok, "+personne+" a lancé une partie, tapez !join pour rejoindre (si vous retapez !join, vous quittez !)")
+                serv.privmsg(canal, personne+" a rejoint la partie !")
+                self.joueurs.append(personne)
+                self.ingame = 1
+                self.phase = 1
+        if self.ingame == 1:
+
+            # 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 == []:
+                    serv.privmsg("#lg_putsch", "Tous les loups sont morts..... Le village a gagné !")
+                else:
+                    if sorted(self.joueurs) == sorted(self.loups):
+                        serv.privmsg(
+                            "#lg_putsch", "Tous les villageois sont morts... Les loups ont gagné !")
+                    else:
+                        serv.privmsg("#lg_putsch", "Les amants ont gagné....")
+                for f in self.joueurs:
+                    serv.mode("#lg_putsch", "-v "+f)
+                for f in self.loups:
+                    serv.kick("#lg_putsch_loups", f)
+                time.sleep(5)
+                serv.privmsg("#lg_putsch", "Les survivants sont : "+list_to_str(self.joueurs))
+
+                time.sleep(10)
+                serv.topic(
+                    "#lg_putsch", "Channel de Loup Garou! Tapez !newgame pour commencer une nouvelle partie! Un bug à observer ? Rejoignez #lg_bugs")
+
+                serv.mode("#lg_putsch", "-m")
+                serv.privmsg("#lg_putsch", "On reinitialise TOUT !")
+                self.joueurs = []
+                self.ingame = 0
+                self.phase = 0
+                self.repet = 0
+
+                self.phase2trig = 1
+                self.phase2 = 0
+
+                self.phase4trig = 1
+                self.phase4 = 0
+                self.egalite = 1
+
+                self.voyanteok = 0
+                self.loupsok = 0
+                self.sorciereok = 0
+                self.votes = []
+                self.avote = []
+                self.temps = 0
+                self.topic = 0
+                self.attente = 0
+                self.cartes = []  # Les cartes qui seront en jeu -> sert uniquement pour initialiser la partie
+                self.loups = []
+                self.villageois = []
+
+                self.lovers = []
+
+                self.sorciere = ""
+                self.cankill = 1  # sorciere uniquement
+                self.cansave = 1  # sorciere uniquement
+
+                self.chasseur = ""
+                self.chasseurok = 1
+                self.chasseurtrig = 1
+                self.chasseurvictime = ""
+                self.pf = ""
+
+                self.voyante = ""
+                self.cansee = 1  # voyante
+
+                self.cupidon = ""
+                self.cupidontrig = 1
+
+                self.maire = ""
+
+                self.voleur = ""
+                self.voleurtrig = 1
+
+                self.ancien = ""
+                self.canlive = 1
+
+                self.idiot = ""
+                self.canvote = 1
+
+                self.victime = []
+
+                serv.privmsg("#lg_putsch", " Ouf, reinitialisation reussie !")
+
+            if self.phase == 1:  # phase où les joueurs rejoignent la partie
+                if "!join" in message:
+                    if personne not in self.joueurs:
+                        if len(self.joueurs) < 13:
+                            serv.privmsg(canal, personne+" a rejoint la partie !")
+                            self.joueurs.append(personne)
+                        else:
+                            serv.privmsg(canal, "Desolé "+personne +
+                                         ", c'est complet pour l'instant...")
+
+                    else:
+                        serv.privmsg(canal, personne+" a quitté la partie ! BOUH ! ")
+                        if personne in self.joueurs:
+
+                            self.joueurs.remove(personne)
+
+                if "!list" in message:
+                    serv.privmsg(canal, "La liste des joueurs est : "+", ".join(self.joueurs))
+                if len(self.joueurs) < 4:
+                    self.attente = 0
+                if len(self.joueurs) >= 4 and self.attente == 0:
+
+                    serv.privmsg(
+                        canal, "vous etes au moins 4, vous pouvez taper !run pour lancer la partie !")
+                    self.attente = 1
+                if "!run" in message and self.attente == 1:
+                    serv.privmsg(
+                        canal, "La partie va se lancer.....Regardez vos query et vos invitations ! ")
+                    # Selection des factions pour les joueurs, invitations dans les chann ...
+
+                    serv.topic(canal, "Une partie est en cours. Les joueurs sont :" +
+                               " ,".join(self.joueurs))
+
+                    serv.mode(canal, "+m")  # on mute le chan pour empecher les randoms de parler
+                    serv.privmsg(canal, "Je mute le canal !")
+                    self.cartes = Paquet(len(self.joueurs))
+
+                    # On attribue a chaque joueur un role
+                    for f in self.joueurs:
+                        serv.mode(canal, "+v "+f)  # on passe les joueurs en voice
+                        role = self.cartes.pop(rand.randint(0, len(self.cartes) - 1))
+                        serv.privmsg(f, "Ton role pour la partie sera : "+role)
+                        if role == "loups" or role == "villageois":
+                            if role == "loups":
+                                serv.privmsg(f, "Pense a rejoindre le chann #lg_putsch_loups !")
+                                self.loups.append(f)
+                            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....")
+                    self.phase = 2
+            if self.phase == 2:
+                if self.phase2trig == 1:
+                    serv.privmsg("#lg_putsch", "J'appelle le voleur...S'il existe !")
+                    serv.privmsg("#lg_putsch", "J'appelle le cupidon... S'il existe !")
+                    self.phase2trig = 0
+
+                if self.voleur != "" and self.phase2 == 0 and self.voleurtrig == 1:
+                    serv.privmsg(self.voleur, "Tu es le voleur, tes choix sont : " +
+                                 ", ".join(self.cartes))
+                    self.voleurtrig = 0
+                else:
+                    if self.phase2 == 0 and self.voleurtrig == 1:
+                        self.phase2 = self.phase2 + 1
+
+                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.cupidontrig = 0
+                else:
+                    if self.phase2 == 1 and self.cupidontrig == 1:
+                        self.phase2 = self.phase2 + 1
+                if self.phase2 == 2:
+                    self.phase = 3
+                    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))
+            if self.phase == 3:
+                if len(self.votes) == len(self.loups):
+                    if self.sorciere == "":
+                        self.sorciereok = 1
+                    serv.mode("#lg_putsch_loups", "+m")
+                    serv.privmsg("#lg_putsch", "la sorciere se leve...")
+                    bid = []
+                    for f in self.joueurs:
+                        bid.append(str(self.votes.count(f)))
+                    a = max(bid)
+                    c = 0
+                    for f in bid:
+                        if f == a:
+                            c = c+1
+                    if c == 1:
+                        self.victime.append(self.joueurs[bid.index(a)])
+
+                    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.votes = []
+
+                if self.repet == 0:
+                    serv.privmsg("#lg_putsch", "Il fait nuit noire...")
+                    self.repet = 1
+                    if "voyante" in self.cartes:
+                        serv.privmsg("#lg_putsch", "J'appelle la voyante")
+
+                if self.voyante == "":
+                    self.voyanteok = 1
+
+                if self.voyanteok == 0:
+                    serv.privmsg(
+                        self.voyante, "Tape !who pseudo pour connaitre le role de pseudo. La liste :  "+", ".join(self.joueurs))
+                    serv.privmsg("#lg_putsch", "J'appelle la voyante")
+                    self.voyanteok = 2
+
+                if self.loupsok == 0:
+                    time.sleep(2)
+                    serv.privmsg("#lg_putsch", "Les loups se reveillent...")
+                    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)
+                        if message.split(" ")[1] in self.joueurs:
+                            (self.votes).append(message.split(" ")[1])
+                            (self.avote).append(personne)
+                            serv.privmsg(canal, personne+" a voté pour "+message.split(" ")[1]+"!")
+
+                if self.sorciereok == 1 and self.voyanteok == 1:
+                    if self.ancien in self.victime and self.canlive == 1 and self.ancien != self.sorcierevictime and self.ancien != self.chasseurvictime:
+                        self.victime.remove(self.ancien)
+                        self.canlive = 0
+                        # serv.privmsg("#lg_putsch", "Ouf, le pouvoir de l'ancien a proc !")
+                    if self.lovers != []:
+
+                        if self.lovers[0] in self.victime or self.lovers[1] in self.victime:
+                            for f in self.lovers:
+                                if f not in self.victime:
+                                    self.victime.append(f)
+
+                    if self.chasseur in self.victime:
+                        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))
+                            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...")
+                            self.chasseurok = 0
+                            self.chasseurtrig = 0
+                    else:
+                        self.chasseurok = 1
+
+                    if self.chasseur == "":
+                        self.chasseurok = 1
+                    if self.chasseurok == 1:
+                        serv.privmsg("#lg_putsch", "Et soudainement, le jour se leve.....")
+                        time.sleep(5)
+
+                        for f in self.victime:
+                            for g in dir(self):
+                                if f in str(getattr(self, g)) and g == "lovers":
+                                    serv.privmsg(
+                                        "#lg_putsch", "Les amoureux sont morts ! (coucou "+f+" ! )")
+                                if f in str(getattr(self, g)) and g != "joueurs" and g != "victime" and g != "votes" and g != "avote" and g != "lovers" and g != "sorcierevictime" and g != "voleur":
+                                    if f != self.chasseurvictime:
+                                        serv.privmsg("#lg_putsch", f +
+                                                     " est decedé cette nuit.. son role : "+g+".")
+                                        serv.mode("#lg_putsch", "-v "+f)
+                                        if f in self.joueurs:
+
+                                            self.joueurs.remove(f)
+                                        if g == "loups" or g == "villageois" or g == "chasseur":
+                                            if g == "loups":
+                                                if f in self.loups:
+                                                    self.loups.remove(f)
+                                                serv.kick("#lg_putsch_loups", f)
+                                            if g == "villageois":
+                                                if f in self.villageois:
+                                                    self.villageois.remove(f)
+                                        else:
+                                            setattr(self, g, "")
+
+                        if self.chasseurvictime != "":
+                            if self.lovers != []:
+
+                                if self.lovers[0] in self.victime or self.lovers[1] in self.victime:
+                                    for f in self.lovers:
+                                        if f not in self.victime:
+                                            self.victime.append(f)
+                            for g in dir(self):
+                                if f in str(getattr(self, g)) and g == "lovers":
+                                    serv.privmsg(
+                                        "#lg_putsch", "Les amoureux sont morts ! (coucou "+f+" ! )")
+
+                                if self.chasseurvictime in str(getattr(self, g)) and g != "joueurs" and g != "victime" and g != "avote" and g != "lovers" and g != "sorcierevictime" and g != "chasseurvictime" and g != "voleur" and g != "votes":
+                                    serv.privmsg("#lg_putsch", self.chasseur+" Decide donc de se venger sur " +
+                                                 self.chasseurvictime+", dont le role etait : "+g+" ! HEADSHOT !")
+                                    serv.mode("#lg_putsch", "-v "+self.chasseurvictime)
+                                    try:
+                                        self.joueurs.remove(self.chasseurvictime)
+                                    except:
+                                        print "erreur"
+                                    self.chasseur = ""
+                                    if g == "loups" or g == "villageois":
+                                        if g == "loups":
+                                            serv.kick("#lg_putsch_loups", self.chasseurvictime)
+                                            if self.chasseurvictime in self.loups:
+                                                self.loups.remove(self.chasseurvictime)
+                                        else:
+                                            if self.chasseurvictime in self.loups:
+                                                self.villageois.remove(self.chasseurvictime)
+                                    else:
+                                        setattr(self, g, "")
+
+                        self.chasseurvictime = ""
+                        self.sorcierevictime = ""
+                        self.chasseurok = 0
+                        self.voyanteok = 0
+                        self.loupsok = 0
+                        self.sorciereok = 0
+                        if self.victime == []:
+                            serv.privmsg("#lg_putsch", "Personne n'est mort cette nuit...")
+                        self.victime = []
+                        self.avote = []
+                        self.votes = []
+                        self.cansee = 1
+                        self.phase = 4
+                        self.phase4 = 0
+                        self.phase4trig = 1
+                        self.temps = time.time()
+
+            if self.phase == 4:
+                if "!list" in message:
+                    serv.privmsg("#lg_putsch", "La liste des joueurs est :" +
+                                 list_to_str(self.joueurs))
+
+                if self.phase4trig == 1:
+
+                    serv.privmsg("#lg_putsch", "Ce crime ( ou pas...) ne peut rester impuni !")
+                    time.sleep(2)
+                    serv.privmsg(
+                        "#lg_putsch", "Le village se reunit et decide de lyncher quelqu'un...")
+                    self.phase4trig = 0
+                    serv.privmsg(
+                        "#lg_putsch", "Vous avez 1 minute pour debattre avant le debut du vote")
+
+                if time.time() - self.temps > 60 and self.phase4trig == 0:
+                    self.phase4 = 1
+                    self.phase4trig = 2
+                    serv.privmsg(
+                        "#lg_putsch", " Le vote est ouvert, utilisez !vote pseudo . La liste des joueurs : "+list_to_str(self.joueurs))
+                    serv.privmsg("#lg_putsch", "Rien ne vous empeche de continuer a debattre !")
+
+                if self.phase4 == 1:
+                    if len(self.votes) == len(self.joueurs) or self.canvote == 0 and len(self.votes) == len(self.joueurs) - 1:
+                        serv.privmsg("#lg_putsch", "fin du vote...")
+                        bid = []
+                        for f in self.joueurs:
+                            if self.votes.count(f) > 0:
+                                serv.privmsg("#lg_putsch", "Le nombre de voix pour " +
+                                             f+" est :"+str(self.votes.count(f)))
+                            bid.append(str(self.votes.count(f)))
+                        a = max(bid)
+                        c = 0
+                        for f in bid:
+                            if f == a:
+                                c = c+1
+                        if c == 1:
+
+                            self.victime.append(self.joueurs[bid.index(a)])
+
+                            if self.idiot in self.victime:
+                                serv.privmsg(
+                                    "#lg_putsch", "Le village a decidé de lyncher l'idiot : "+self.idiot)
+                                serv.privmsg(
+                                    "#lg_putsch", self.idiot+" n'est donc pas lynché, mais ne peut plus voter desormais...")
+                                self.canvote = 0
+                                self.victime.remove(self.idiot)
+                                self.chasseurok = 1
+
+                            if self.lovers != []:
+
+                                if self.lovers[0] in self.victime or self.lovers[1] in self.victime:
+                                    for f in self.lovers:
+                                        if f not in self.victime:
+                                            self.victime.append(f)
+                            for f in self.victime:
+                                if f in self.loups:
+                                    serv.kick("#lg_putsch_loups", f)
+
+                                for g in dir(self):
+                                    if f in str(getattr(self, g)) and g == "lovers":
+                                        serv.privmsg(
+                                            "#lg_putsch", "Les amoureux sont morts ! (coucou "+f+" ! )")
+                                    if f in str(getattr(self, g)) and g != "joueurs" and g != "victime" and g != "avote" and g != "lovers" and g != "votes" and g != "voleur" and g != "sorcierevictime":
+                                        serv.privmsg(
+                                            "#lg_putsch", f+" est donc pendu(e) ( ou brulé(e), au choix ) par le village... Son role : "+g+".")
+                                        serv.mode("#lg_putsch", "-v "+f)
+                                        self.joueurs.remove(f)
+
+                                        if g == "loups" or g == "villageois" or g == "chasseur":
+                                            if g == "loups":
+                                                self.loups.remove(f)
+                                                serv.kick("#lg_putsch_loups", f)
+                                            if g == "villageois":
+                                                self.villageois.remove(f)
+                                        else:
+                                            setattr(self, g, "")
+                                        if g == "ancien":
+                                            serv.privmsg(
+                                                "#lg_putsch", "Oh non, le village a decidé de lyncher l'ancien !")
+                                            serv.privmsg(
+                                                "#lg_putsch", "Tous les villageois PERDENT leur pouvoir !")
+                                            for a in [self.sorciere, self.voyante, self.chasseur]:
+                                                if a not in self.villageois and a != "":
+                                                    self.villageois.append(a)
+                                            self.sorciere = ""
+                                            self.voyante = ""
+                                            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))
+                                            serv.privmsg(
+                                                "#lg_putsch", "Le chasseur selectionne une cible...")
+
+                                        else:
+                                            self.chasseurok = 1
+
+                                        serv.mode("#lg_putsch", "-v "+f)
+
+                        else:
+                            if self.egalite == 1:
+                                serv.privmsg(
+                                    "#lg_putsch", "Ah, egalité... Le village demande un nouveau vote !")
+                                self.egalite = 0
+                                self.phase4trig = 0
+                                self.avote = []
+                                self.votes = []
+                            else:
+                                serv.privmsg(
+                                    "#lg_putsch", "Egalité encore... Le village va se coucher...")
+                                self.phase4trig = 1
+                                self.votes = []
+                                self.avote = []
+                                self.phase = 2
+                                self.phase2 = 2
+                                self.egalite = 1
+                                self.victime = []
+                                self.phase4 = 0
+
+                    if self.chasseurok == 1:
+                        if self.chasseurvictime != "":
+
+                            for g in dir(self):
+                                if self.chasseurvictime in str(getattr(self, g)) and g != "joueurs" and g != "votes" and g != "victime" and g != "avote" and g != "lovers" and g != "sorcierevictime" and g != "chasseurvictime":
+                                    serv.privmsg("#lg_putsch", self.chasseur+" Decide donc de se venger sur " +
+                                                 self.chasseurvictime+", dont le role etait : "+g+" ! HEADSHOT !")
+                                    serv.mode("#lg_putsch", "-v "+self.chasseurvictime)
+                                    if self.chasseurvictime in self.joueurs:
+                                        self.joueurs.remove(self.chasseurvictime)
+
+                                    self.chasseur = ""
+                                    if g == "loups" or g == "villageois":
+                                        if g == "loups":
+                                            serv.kick("#lg_putsch_loups", self.chasseurvictime)
+                                            if self.chasseurvictime in self.loups:
+                                                self.loups.remove(self.chasseurvictime)
+                                        else:
+                                            if self.chasseurvictime in self.villageois:
+                                                self.villageois.remove(self.chasseurvictime)
+                                    else:
+                                        setattr(self, g, "")
+                        serv.privmsg("#lg_putsch", "Le village va donc se coucher...")
+                        self.phase4trig = 1
+                        self.votes = []
+                        self.avote = []
+                        self.victime = []
+                        self.phase = 2
+                        self.phase2 = 2
+                        self.egalite = 1
+                        self.phase4 = 0
+
+                    if "!recap" in message:
+                        serv.privmsg("#lg_putsch", "Ont voté : "+list_to_str(self.avote))
+                        for f in self.joueurs:
+                            if self.votes.count(f) > 0:
+                                serv.privmsg("#lg_putsch", "Le nombre de voix pour " +
+                                             f+" est :"+str(self.votes.count(f)))
+
+                    if "!vote" in message and personne not in self.avote and len(message.split(" ")) > 1 and (message.split(" ")[1] in self.joueurs or message.split(" ")[1] == "random") and personne in self.joueurs:
+                        w = 1
+                        if self.canvote == 0:
+
+                            if personne == self.idiot:
+                                w = 0
+                                serv.privmsg(
+                                    "#lg_putsch", "l'idiot essaie de voter... le village l'ignore")
+                            if message.split(" ")[1] == self.idiot:
+                                w = 0
+                                serv.privmsg("#lg_putsch", personne +
+                                             " essaie de voter pour l'idiot... le village l'ignore...")
+                        if w == 1:
+                            if message.split(" ")[1] == "random":
+                                bi = self.joueurs[rand.randint(0, len(self.joueurs) - 1)]
+                                self.votes.append(bi)
+                                serv.privmsg("#lg_putsch", "LE POUVOIR DU RANDOM ! ")
+                                serv.privmsg("#lg_putsch", personne+" a voté pour "+bi+" !")
+                            else:
+                                self.votes.append(message.split(" ")[1])
+                                serv.privmsg("#lg_putsch", personne+" a voté pour " +
+                                             message.split(" ")[1]+" !")
+                            self.avote.append(personne)
+
+
+class Bite(ircbot.SingleServerIRCBot):
     def __init__(self):
-        ircbot.SingleServerIRCBot.__init__(self, [("irc.iiens.net", 6667)], "triggerbot", "ignorez moi :)", 5)
+        ircbot.SingleServerIRCBot.__init__(
+            self, [("irc.iiens.net", 6667)], "triggerbot", "ignorez moi :)", 5)
         self.ctrig = "#tputsch"
 
-
     def on_welcome(self, serv, ev):
         serv.join(self.ctrig)
-        while True :
+        while True:
             serv.privmsg(self.ctrig, "bite")
             time.sleep(1)
 
 
-
 if __name__ == '__main__':
-    p = Process(target= Boooob().start)
+    p = Process(target=Boooob().start)
     p.start()
-    p2 = Process(target= Bite().start)
+    p2 = Process(target=Bite().start)
     p2.start()
-
-