X-Git-Url: http://gitweb.pimeys.fr/?a=blobdiff_plain;f=basile.py;h=71a647500ca5b06f46542ddbcc266374685eb9ef;hb=eaebc732ee35700f7e515314ae37ab3469709a54;hp=7984cc04c5bdfcafc7d60d70f977ef81a34e0b12;hpb=ab7a14f208a23ef26065c58028fee844ba58a130;p=bots%2Fbasile.git diff --git a/basile.py b/basile.py index 7984cc0..71a6475 100755 --- 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)", @@ -67,6 +69,9 @@ u"Mais je ne vous permets pas ! Enfin, pas comme ça…"] # config "à peine quelques kilos octets" config_gros=[u"gros",u"énorme",u"lourd"] +config_thisfile= os.path.realpath( __file__ ) +def get_filesize(): + return ex("ls -s %s"%(config_thisfile))[1].split()[0] # config spéciale-iota config_buffer_fail_answers=[u"Pas de chance !",u"Révisez vos classiques !", @@ -172,9 +177,9 @@ config_bonne_nuit_answers=[u"{}: thanks, make sweet dreams tonight ! ;)",u"Bonne config_kick_answers=[u"Suis-je de trop ici ?",u"{}: je m'excuse pour ce bruit indu qui a stimulé votre colère",u"{} a le /kick facile, sans doute la fatigue.",u"{}: j'ai l'impression que vous n'allez pas bien aujourd'hui, vous vous en prenez à un robot !"] config_kick_actions=[u"sera désormais exemplaire",u"prépare une lettre d'excuses à {}",u"essaiera de ne plus s'attirer les foudres de {}",u"croyait avoir tout bien fait… cruelle déception."] -config_thisfile= os.path.realpath( __file__ ) -def get_filesize(): - return ex("ls -s %s"%(config_thisfile))[1].split()[0] +# config on m'a demandé de mourir/partir +config_quit_messages=[u"Bien que cela me désole, je me vois dans l'obligation de vous abandonner."] +config_leave_messages=config_quit_messages class NKError(Exception): def __init__(self,msg): @@ -522,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: @@ -562,7 +567,7 @@ class Basile(ircbot.SingleServerIRCBot): elif cmd=="die": if auteur in self.overops: log(self.serveur,"priv",auteur," ".join(message)+"[successful]") - self.die() + self.mourir() else: notunderstood=True elif cmd=="quiet": @@ -676,7 +681,7 @@ class Basile(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: mourrez vous-même !"%(auteur)) log(self.serveur,canal,auteur,message+"[failed]") @@ -684,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) @@ -746,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: @@ -841,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")) @@ -909,7 +918,16 @@ class Basile(ircbot.SingleServerIRCBot): serv.action(channel,l2[i-n1].format(auteur).encode("utf8")) else: serv.privmsg(channel,l1[i].format(auteur).encode("utf8")) - + + 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 _getnick(self): return self.serv.get_nickname() nick=property(_getnick)