]> gitweb.pimeys.fr Git - bots/basile.git/commitdiff
Maintenant on rejoin sur un kick
authorVincent Le Gallic <legallic@crans.org>
Thu, 17 May 2012 22:22:55 +0000 (00:22 +0200)
committerVincent Le Gallic <legallic@crans.org>
Thu, 17 May 2012 22:22:55 +0000 (00:22 +0200)
basile.py

index ec74b340372df5c70939cad6f28c4fe50a4e0c7f..b9a2c4dafa479d1c753dd23cbb8241f965e14011 100755 (executable)
--- a/basile.py
+++ b/basile.py
@@ -120,6 +120,8 @@ config_action_actions=[u"prend de la distance, par précaution…",u"part en cou
 config_bonjour=[u"(s|)(a|'|)lu(t|)",u"hello",u"pl(o|i)p",u"pr(ou|ü)t",u"bonjour",u"bonsoir",u"coucou"]
 config_bonjour_answers=[u"Salut {}",u"Hello {} :)",u"Bonjour {}",u"Hello {}",u"{}: hello",u"{}: bonjour"]
 
+config_kick_answer=[u"Ben qu'est-ce que j'ai fait ? :(",u"Mais euh, j'ai rien fait de mal…","{} a le /kick facile :)"]
+config_kick_action=[u"se tiendra à carreaux",u"essaiera de ne plus provoquer les foudres de {}"
 
 config_thisfile= os.path.realpath( __file__ )
 def get_filesize():
@@ -866,13 +868,21 @@ class Basile(ircbot.SingleServerIRCBot):
 
     def on_kick(self,serv,ev):
         auteur = irclib.nm_to_n(ev.source())
-        canal = ev.target()
+        channel = ev.target()
         victime = ev.arguments()[0]
         raison = ev.arguments()[1]
         if victime==self.nick:
-            time.sleep(1)
-            serv.join(canal)
-            print("%s kické par %s pour %s" %(victime,auteur,raison))
+            log(self.serveur,"%s kické par %s (raison : %s)" %(victime,auteur,raison))
+            time.sleep(2)
+            serv.join(channel)
+            l1,l2=config_kick_action,config_kick_answer
+            n1,n2=len(l1),len(l2)
+            i=random.randrange(n1+n2)
+            if i>=n1:
+                serv.action(channel,l2[i-n1].encode("utf8"))
+            else:
+                serv.privmsg(channel,"%s: %s"%(auteur,l1[i].encode("utf8")))
+
     def _getnick(self):
         return self.serv.get_nickname()
     nick=property(_getnick)