]> gitweb.pimeys.fr Git - bots/basile.git/blobdiff - basile.py
Commande KICK, correction
[bots/basile.git] / basile.py
index 484d77bfb22a6f31164e8663ce29949b97e87f49..4d330f35804e7121d5fd5a35343ddee3345ca4b7 100755 (executable)
--- a/basile.py
+++ b/basile.py
@@ -230,7 +230,8 @@ def is_merci(chain):
 def is_tamere(chain):
     return is_something(chain,config_tamere)
 def is_action_trigger(chain,pseudo):
-    return is_something(chain,config_action_trigger,avant=u"^",apres=" %s($|\.| |,|;).*"%(pseudo))
+    return is_something(chain,config_action_trigger,avant=u"^",
+                            apres="( [a-z]*ment)? %s($|\.| |,|;).*"%(pseudo))
 def is_pan(chain):
     return re.match(u"^(pan|bim|bang)$",unicode(chain,"utf8").lower().strip())
 
@@ -444,6 +445,7 @@ class Basile(ircbot.SingleServerIRCBot):
  SOLDE <pseudo>  Donner le solde de quelqu'un"""
             helpmsg_overops="""
  SAY        Fait envoyer un message sur un chan ou à une personne
+ DO         Fait faire une action sur un chan
  STAY       Ignorera les prochains LEAVE pour un chan
  NOSTAY     Opposé de STAY
  DIE        Mourir"""
@@ -589,6 +591,22 @@ class Basile(ircbot.SingleServerIRCBot):
                 serv.privmsg(auteur,"Syntaxe : SAY <channel> <message>")
             else:
                 notunderstood=True
+        elif cmd=="do":
+            if auteur in self.overops and len(message)>2:
+                serv.action(message[1]," ".join(message[2:]))
+                log(self.serveur,"priv",auteur," ".join(message))
+            elif len(message)<=2:
+                serv.privmsg(auteur,"Syntaxe : DO <channel> <action>")
+            else:
+                notunderstood=True
+        elif cmd=="kick":
+            if auteur in self.overops and len(message)>2:
+                serv.kick(message[1],message[2]," ".join(message[3:]))
+                log(self.serveur,"priv",auteur," ".join(message))
+            elif len(message)<=2:
+                serv.privmsg(auteur,"Syntaxe : KICK <channel> <pseudo>")
+            else:
+                notunderstood=True
         elif cmd=="lost":
             if auteur in self.ops and len(message)>1:
                 serv.privmsg(message[1],"J'ai perdu !")
@@ -827,7 +845,7 @@ class Basile(ircbot.SingleServerIRCBot):
         auteur = irclib.nm_to_n(ev.source())
         channel = ev.target()
         try:
-            test=bot_unicode(message)
+            test=bot_unicode(action)
         except UnicodeBotError:
             serv.privmsg(channel,
               "%s : Euh, tu fais de la merde avec ton encodage là, j'ai failli crasher…"%(auteur))