X-Git-Url: http://gitweb.pimeys.fr/?a=blobdiff_plain;f=basile.py;h=8d2015bf99d4af75223d277f47295fcb48f4933a;hb=413421b2b4e11ac8ae7e3af4589ffec6f048d125;hp=6329d513089952022dc79c4e7da41391b38f56f5;hpb=46cb50f7f073876410d641c252a08717a357c674;p=bots%2Fbasile.git diff --git a/basile.py b/basile.py index 6329d51..8d2015b 100755 --- a/basile.py +++ b/basile.py @@ -32,8 +32,8 @@ config_logfile_template="basile.%s.log" def get_config_logfile(serveur): serveurs={"acoeur.crans.org":"acoeur","irc.crans.org":"crans"} return config_logfile_template%(serveurs[serveur]) -config_overops=["[20-100]","[20-100]_"] -config_ops=["PEB","Nit"] +config_overops=["[20-100]","[20-100]_", "PEB"] +config_ops=["Nit"] config_report_bugs_to=["[20-100]"] config_insultes=[u"conna(rd|sse)",u"pute",u"con(|ne)",u"enf(oiré|lure)", @@ -117,13 +117,16 @@ u"Mais euh…", u"Mais j'ai rien demandé moi !"] config_bad_action_actions=[u"prend de la distance, par précaution…",u"part en courant",u"esquive"] -config_good_action_triggers=[u"fait (des bisous|un calin) à",u"embrasse",u"caline",u"caresse"] -config_good_ction_answers=[u"owi \o/",u"{}: c'est gentil ! ♡"] -config_good_action_acions=[u"ronronne",u"est content"] +config_good_action_triggers=[u"fait (:?des bisous|un c(?:â|a)lin|des c(?:â|a)lins) à",u"embrasse",u"c(?:â|a)line",u"caresse"] +config_good_action_answers=[u"owi \o/",u"c'est gentil ! ♡"] +config_good_action_actions=[u"ronronne",u"est content"] config_bonjour_triggers=[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_bonne_nuit_triggers=[u"bonne nuit",u"'?nite",u"'?nuit",u"'?night",u"good night",u"'?nunuit"] +config_bonne_nuit_answers=[u"{}: sweet dreams ;)",u"Bonne nuit {} !",u"À demain {}. :)","{}: dors bien ^^"] + config_kick_answers=[u"Ben qu'est-ce que j'ai fait ? :(",u"Mais euh, j'ai rien fait de mal…","{} a le /kick facile :)"] config_kick_actions=[u"se tiendra à carreaux",u"essaiera de ne plus provoquer les foudres de {}"] @@ -240,6 +243,10 @@ def is_bad_action_trigger(chain,pseudo): def is_good_action_trigger(chain,pseudo): return is_something(chain,config_good_action_triggers,avant=u"^", apres="(?: [a-z]*ment)? %s($|\.| |,|;).*"%(pseudo)) +def is_bonjour(chain): + return is_something(chain,config_bonjour_triggers,avant=u"^") +def is_bonne_nuit(chain): + return is_something(chain,config_bonne_nuit_triggers,avant=u"^") def is_pan(chain): return re.match(u"^(pan|bim|bang) .*$",unicode(chain,"utf8").lower().strip()) @@ -666,7 +673,7 @@ class Basile(ircbot.SingleServerIRCBot): if not canal in self.quiet_channels: serv.privmsg(canal, "%s: Euh, tu fais de la merde avec ton encodage là, j'ai failli crasher…"%(auteur)) - return + return pour_moi,message=self.pourmoi(serv,message) if pour_moi and message.split()!=[]: cmd=message.split()[0].lower() @@ -816,10 +823,12 @@ class Basile(ircbot.SingleServerIRCBot): for j in mess]) out=int(translate(out)) serv.privmsg(canal,"%s: %s !"%(auteur,translate(str(out+1)).encode("utf8"))) - if (not canal in self.quiet_channels - and re.match((u"^("+"|".join(config_bonjour_triggers)+").*").lower(),message.lower()) ): + if is_bonjour(message) and not canal in self.quiet_channels: answer=random.choice(config_bonjour_answers) serv.privmsg(canal,answer.format(auteur).encode("utf8")) + if is_bonne_nuit(message) and not canal in self.quiet_channels: + answer=random.choice(config_bonne_nuit_answers) + serv.privmsg(canal,answer.format(auteur).encode("utf8")) if is_pan(message) and not canal in self.quiet_channels: serv.privmsg(canal,"%s: c'est pas sur moi qu'il faut tirer !"%(auteur)) else: @@ -890,13 +899,13 @@ class Basile(ircbot.SingleServerIRCBot): log(self.serveur,"%s kické par %s (raison : %s)" %(victime,auteur,raison)) time.sleep(2) serv.join(channel) - l1,l2=config_kick_actions,config_kick_answers + l1,l2=config_kick_answers,config_kick_actions n1,n2=len(l1),len(l2) i=random.randrange(n1+n2) if i>=n1: - serv.action(channel,l2[i-n1].encode("utf8")) + serv.action(channel,l2[i-n1].format(auteur).encode("utf8")) else: - serv.privmsg(channel,"%s: %s"%(auteur,l1[i].encode("utf8"))) + serv.privmsg(channel,"%s: %s"%(auteur,l1[i].format(auteur).encode("utf8"))) def _getnick(self): return self.serv.get_nickname()