]> gitweb.pimeys.fr Git - bots/hung.git/blobdiff - hung.py
Encore et toujours l'utf8
[bots/hung.git] / hung.py
diff --git a/hung.py b/hung.py
index b849f7f9ada7a7c69247d42a72cbd9a1036be303..6746f64f2d752a96d651c1c7a21814d0f2483f43 100755 (executable)
--- a/hung.py
+++ b/hung.py
@@ -29,7 +29,7 @@ config_play_channels=["#flood"]
 config_quiet_channels=[]
 config_logfile_template="hung.%s.log"
 def get_config_logfile(serveur):
-    serveurs={"acoeur.crans.org":"acoeur","irc.crans.org":"crans"}
+    serveurs={"acoeur.crans.org":"acoeur","irc.crans.org":"crans","localhost":"localhost"}
     return config_logfile_template%(serveurs[serveur])
 config_overops=["[20-100]","[20-100]_","Petite-Peste","PEB"]
 config_ops=[]
@@ -60,6 +60,7 @@ u"B _ E, C R U E L   _ O R L D!",
 u"B Y E, C R U E L   _ O R L D!",
 u"B Y E, C R U E L   W O R L D!",
 ]
+config_leave_messages=["On finira la partie plus tard :p"]
 
 def log(serveur,channel,auteur=None,message=None):
     f=open(get_config_logfile(serveur),"a")
@@ -126,6 +127,7 @@ class Hung(ircbot.SingleServerIRCBot):
         serv.nick(config_irc_pseudo)
     
     def on_welcome(self, serv, ev):
+        self.serv=serv # ça serv ira :)
         self.give_me_my_pseudo(serv)
         serv.privmsg("NickServ","IDENTIFY %s"%(config_irc_password))
         log(self.serveur,"Connected")
@@ -175,7 +177,7 @@ class Hung(ircbot.SingleServerIRCBot):
             if auteur in self.ops and len(message)>1:
                 if message[1] in self.chanlist:
                     if not (message[1] in self.stay_channels) or auteur in self.overops:
-                        serv.part(message[1])
+                        self.quitter(message[1]," ".join(message[2:]))
                         self.chanlist.remove(message[1])
                         log(self.serveur,"priv",auteur," ".join(message)+"[successful]")
                     else:
@@ -250,8 +252,7 @@ class Hung(ircbot.SingleServerIRCBot):
         elif cmd=="die":
             if auteur in self.overops:
                 log(self.serveur,"priv",auteur," ".join(message)+"[successful]")
-                quit_message=random.choice(config_quit_messages)
-                self.die(message=config_quit_message)
+                self.mourir()
             else:
                 notunderstood=True
         elif cmd=="quiet":
@@ -340,14 +341,14 @@ class Hung(ircbot.SingleServerIRCBot):
             if cmd in ["meurs","die","crève"]:
                 if auteur in self.overops:
                     log(self.serveur,canal,auteur,message+"[successful]")
-                    self.die()
+                    self.mourir()
                 else:
                     serv.privmsg(canal,"%s: crève !"%(auteur))
                     log(self.serveur,canal,auteur,message+"[failed]")
             elif cmd in ["part","leave","dégage"]:
                 if auteur in self.ops and (not (canal in self.stay_channels)
                                            or auteur in self.overops):
-                    serv.part(canal,message="Éjecté par %s"%(auteur))
+                    self.quitter(canal)
                     log(self.serveur,canal,auteur,message+"[successful]")
                     if canal in self.chanlist:
                         self.chanlist.remove(canal)
@@ -428,7 +429,16 @@ class Hung(ircbot.SingleServerIRCBot):
               "%s : Euh, tu fais de la merde avec ton encodage là, j'ai failli crasher…"%(auteur))
             return
         mypseudo=serv.get_nickname()
-        
+    
+    def quitter(self,chan,leave_message=None):
+        if leave_message==None:
+            leave_message=random.choice(config_leave_messages)
+        self.serv.part(chan,message=leave_message.encode("utf8"))
+    
+    def mourir(self):
+        quit_message=random.choice(config_quit_messages)
+        self.die(msg=quit_message.encode("utf8"))
+    
     def get_scores(self):
         f=open(config_scores_file)
         scores=pickle.load(f)
@@ -479,7 +489,8 @@ if __name__=="__main__":
     else:
         debug=False
     serveurs={"a♡":"acoeur.crans.org","acoeur":"acoeur.crans.org","acoeur.crans.org":"acoeur.crans.org",
-              "irc":"irc.crans.org","crans":"irc.crans.org","irc.crans.org":"irc.crans.org"}
+              "irc":"irc.crans.org","crans":"irc.crans.org","irc.crans.org":"irc.crans.org",
+              "localhost":"localhost"}
     try:
         serveur=serveurs[serveur]
     except KeyError: