]> gitweb.pimeys.fr Git - bots/basile.git/blobdiff - basile.py
Un peu plus de buffer fails
[bots/basile.git] / basile.py
index abc9d2075e8919bdd18d9ab653c3303940b2e98a..71a647500ca5b06f46542ddbcc266374685eb9ef 100755 (executable)
--- a/basile.py
+++ b/basile.py
@@ -38,6 +38,8 @@ config_report_bugs_to=["[20-100]"]
 
 # config "ce bot a été codé par 20-100, tu te rappelles ?"
 config_manzana = ["[20-100]", "Petite-Peste"] 
+# config "mais PEB aussi est passé par là"
+config_manzana_bis = ["PEB"]
 
 # config "tu m'traites ?"
 config_insultes=[u"conna(rd|sse)",u"pute",u"con(|ne)",u"enf(oiré|lure)",
@@ -525,7 +527,7 @@ class Basile(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:
@@ -687,7 +689,7 @@ class Basile(ircbot.SingleServerIRCBot):
             elif cmd in ["part","leave","dégage","va-t-en","tut'tiresailleurs,c'estmesgalets"]:
                 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)
@@ -749,6 +751,8 @@ class Basile(ircbot.SingleServerIRCBot):
             elif re.match("!?manzana",message.lower()) and not canal in self.quiet_channels:
                 if auteur in config_manzana:
                     serv.action(canal,"sert une bouteille de manzana à %s"%(auteur))
+                elif auteur in config_manzana_bis:
+                    serv.action(canal,"sert un grand verre de jus de pomme à %s : tout le monde sait qu'il ne boit pas."%(auteur))
                 else:
                     serv.action(canal,"sert un verre de manzana à %s"%(auteur))
             if is_insult(message) and not canal in self.quiet_channels:
@@ -844,9 +848,11 @@ class Basile(ircbot.SingleServerIRCBot):
             if message in ["!manzana"] and not canal in self.quiet_channels:
                 if auteur in config_manzana:
                     serv.action(canal,"sert une bouteille de manzana à %s"%(auteur))
+                elif auteur in config_manzana_bis:
+                    serv.action(canal,"sert un grand verre de jus de pomme à %s : tout le monde sait qu'il ne boit pas."%(auteur))
                 else:
                     serv.action(canal,"sert un verre de manzana à %s"%(auteur))
-            if re.match('^(.|§|:|)(w|b) [0-9]+$',message) and not canal in self.quiet_channels:
+            if re.match(u'^ *(.|§|!|/|/|:|)(w|b) [0-9]+$',message.decode("utf8")) and not canal in self.quiet_channels:
                 failanswers=config_buffer_fail_answers
                 answer=random.choice(failanswers)
                 serv.privmsg(canal,("%s: %s"%(auteur,answer)).encode("utf8"))
@@ -916,11 +922,11 @@ class Basile(ircbot.SingleServerIRCBot):
     def quitter(self,chan,leave_message=None):
         if leave_message==None:
             leave_message=random.choice(config_leave_messages)
-        self.serv.part(chan,leave_message.encode("utf8"))
+        self.serv.part(chan,message=leave_message.encode("utf8"))
     
     def mourir(self):
         quit_message=random.choice(config_quit_messages)
-        self.die(message=config_quit_message)
+        self.die(msg=quit_message.encode("utf8"))
     
     def _getnick(self):
         return self.serv.get_nickname()