From 3f24ce761d99ef16c419ff2b5fa917eea0646263 Mon Sep 17 00:00:00 2001 From: Vincent Le Gallic Date: Wed, 23 May 2012 07:10:25 +0200 Subject: [PATCH] =?utf8?q?On=20agrandit=20le=20vocabulaire=20+=20r=C3=A9ac?= =?utf8?q?tion=20aux=20compliments=20=20+=20un=20.encode("utf8")=20oubli?= =?utf8?q?=C3=A9=20=20+=20de=20la=20com=C3=A9tique=20dans=20la=20config?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- basile.py | 72 ++++++++++++++++++++++++++++++++++++++----------------- 1 file changed, 50 insertions(+), 22 deletions(-) diff --git a/basile.py b/basile.py index da30fe8..b4d2c42 100755 --- a/basile.py +++ b/basile.py @@ -37,7 +37,7 @@ config_ops=["Nit"] config_report_bugs_to=["[20-100]"] # config "ce bot a été codé par 20-100, tu te rappelles ?" -config_manzana = ["[20-100]", "Petite-Pste"] +config_manzana = ["[20-100]", "Petite-Peste"] # config "tu m'traites ?" config_insultes=[u"conna(rd|sse)",u"pute",u"con(|ne)",u"enf(oiré|lure)", @@ -61,13 +61,17 @@ u"Vous savez, pour vous c'est peut-être une insulte, mais pour moi ce n'est qu' u"Permettez-moi de vous retourner le compliment.", u"Votre indélicatesse vous sied à ravir.", u"Parfois, je me demande pourquoi je fais encore ce métier…", +u"Le saviez-vous : l'invective ne déshonore que son auteur.", +u"Le saviez-vous : vous perdez plus de temps à m'insulter qu'à vous taire.", 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 spéciale-iota -config_buffer_fail_answers=["Pas de chance !","Révisez vos classiques !","Encore un effort, je sais que vous pouvez le faire. ;)"] +config_buffer_fail_answers=[u"Pas de chance !",u"Révisez vos classiques !", +u"Encore un effort, je sais que vous pouvez le faire. ;)" +u"Where did you learn to type?"] # config "jeu", d'ailleurs, j'ai perdu. config_premier_groupe_terminaisons=u"(e|es|ons|ez|ent|er(|ai|as|a|ons|ez|ont)|(|er)(ais|ait|ions|iez|aient)|(a(i|s|)|â(mes|tes|t)|èrent)|ass(e(|s|nt)|i(ons|ez))|é(|s|e|es))" @@ -96,21 +100,34 @@ config_tag_actions=[u"se tait",u"se tient coi"] config_tag_answers=[ u"Ç'aurait été avec plaisir, mais je ne crois pas que vous puissiez vous passer de mes services.", u"Dès que cela sera utile.", -u"Une autre fois, peut-être"] +u"Une autre fois, peut-être.", +u"Si je me tais, qui vous rappellera combien vous me devez ?", +u"J'aurais aimé accéder à votre requête, mais après mûre réflexion, j'en ai perdu l'envie.", +u"Je ne ressens pas de besoin irrésistible de me taire, navré."] # config ping config_tesla_triggers=[u"t('|u )es là \?",u"\?",u"plop \?",u"plouf \?"] -config_tesla_answers=[u"Oui, je suis là.",u"J'écoute.",u"En quoi puis-je me rendre utile ?"] -config_tesla_actions=[u"est là",u"attend des instructions"] +config_tesla_answers=[ +u"Oui, je suis là.", +u"J'écoute.", +u"En quoi puis-je me rendre utile ?", +u"On a besoin de moi ?" +] +config_tesla_actions=[u"est là",u"attend des instructions",u"est toujours disponible"] # config en cas de non-insulte -config_compliment_triggers=[u"gentil",u"cool",u"sympa"] -config_compliment_answers=[u"Merci, c'est gentil de votre part. :)", -u"Permettez-moi de vous retourner le compliment, sans ironie cette fois.",u"Je vous remercie."] +config_compliment_triggers=[u"gentil",u"cool",u"sympa",u"efficace"] +config_compliment_answers=[ +u"Merci, c'est gentil de votre part. :)", +u"Permettez-moi de vous retourner le compliment, sans ironie cette fois.", +u"Je vous remercie.", +u"C'est trop d'honneur.", +u"Vous êtes bien aimable." +] # config merci config_merci_triggers=[u"merci",u"remercie",u"thx",u"thank(|s)"] -config_merci_answers=[u"Mais de rien.",u"À votre service ;)",u"Quand vous voulez ^^", +config_merci_answers=[u"Mais de rien.",u"À votre service. ;)",u"Quand vous voulez. :)", u"Tout le plaisir est pour moi."] # config "ta mère" @@ -123,32 +140,37 @@ u"""N'avait-on pas dit "pas les mamans" ?"""] # config pour les actions désagréables à Basile config_bad_action_triggers=[u"(frappe|cogne|tape)(| sur)",u"(démolit|dégomme|fouette|agresse|tabasse)", u"(vomit|pisse|chie|crache) sur",u"slap(|s)"] -config_bad_action_answers=[u"Je ne peux pas dire que j'apprécie, mais je l'ai sans doute bien mérité.", +config_bad_action_answers=[ +u"Je ne peux pas dire que j'apprécie, mais je l'ai sans doute bien mérité.", u"{}: Pourquoi tant de violence en ce monde si doux ?", u"""Si je n'étais pas aussi prude, je dirais "Mais euh…", cependant, je me contenterai de hausser un sourcil.""", -u"{}: J'aurais préféré que vous ne fassiez pas cela en public."] -config_bad_action_actions=[u"prend de la distance, par précaution…",u"esquive",u"est bon pour prendre une semaine de repos… virtuel !"] +u"{}: J'aurais préféré que vous ne fassiez pas cela en public.", +u"{}: Entre nous, cela vous gratifie-t-il ?", +u"{}: Une telle relation entre nous deux n'est pas saine, revenons à quelque chose de plus conventionnel. :D", +u"J'ai la désagréable impression que {} cherche comment tuer le temps en ce moment…" +] +config_bad_action_actions=[u"prend de la distance, par précaution…",u"esquive",u"est bon pour prendre une semaine de repos… virtuel !",u"n'aime pas servir de souffre douleur, mais n'a malheureusement pas le choix", u"s'en souviendra sans doute longtemps… de quoi parlait-on déjà ?"] # config pour les actions agréables à Basile 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":D",u"{}: Moi aussi je vous aime. ♡"] -config_good_action_actions=[u"ronronne",u"aimerait exprimer avec des mots simples le bonheur que {} lui procure !"] +config_good_action_answers=[u":D",u"{}: Moi aussi je vous aime. ♡",u"Tant de délicatesse ne saurait être ignorée !",u"Pour une fois que quelqu'un me considère à ma juste valeur…"] +config_good_action_actions=[u"ronronne",u"aimerait exprimer avec des mots simples le bonheur que {} lui procure !",u"éprouve une joie indescriptible",u"apprécie que des personnes comme {} soient sur IRC, sans quoi il n'y aurait sans doute jamais personne pour tenir compte de lui"] # config bonjour/bonsoir/que fais-tu encore debout à cette heure, gros sale ! 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"Bien le bonjour, {}.",u"Bonjour {}.",u"{}: bonjour."] -config_bonsoir_answers=[u"Bonsoir {} !",u"{}: bonsoir."] -config_night_answers=[u"{}: vous m'avez fait peur, je m'étais assoupi !", u"Debout à une heure pareille, {} ? Que vous arrive-t-il ?"] +config_bonjour_answers=[u"Bien le bonjour, {}.",u"Bonjour {}.",u"{}: bonjour.",u"{}: Quel beau temps aujourd'hui (arrêtez-moi si je me trompe) !",u"Meteo: Cachan"] +config_bonsoir_answers=[u"Bonsoir {} !",u"{}: bonsoir.",u"Quel beau te… euh… bonsoir !",u"{}: Je cherche désespérément une formule pour vous dire bonsoir, mais j'avoue que mon lexique est un peu… limité."] +config_night_answers=[u"{}: vous m'avez fait peur, je m'étais assoupi !", u"Debout à une heure pareille, {} ? Que vous arrive-t-il ?",u"Vous venez prendre la relève, {} ?"] config_daytime = [7,18] config_nighttime = [3, 6] # config dodo -config_bonne_nuit_triggers=[u"bonne nuit",u"'?nite",u"'?nuit",u"'?night",u"good night",u"'?nunuit"] -config_bonne_nuit_answers=[u"{}: thanks, make sweet dreams tonight ! ;)",u"Bonne nuit {}.",u"À demain {}. :)"] +config_bonne_nuit_triggers=[u"bonne nuit",u"'?nite",u"'?nuit",u"'?night",u"good night",u"'?nenuit"] +config_bonne_nuit_answers=[u"{}: thanks, make sweet dreams tonight ! ;)",u"Bonne nuit {}.",u"À demain {}. :)",u"{}: si seulement j'avais le droit de dormir… enfin, bonne nuit !",u"{}: à vous aussi !"] # config PEB est encore en train d'abuser de ses droits. -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."] -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 {}"] +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(): @@ -245,6 +267,8 @@ def is_not_insult(chain): return True else: return False +def is_compliment(chain,debug=True): + return is_something(chain,config_compliment_triggers,avant=".*(?:^| |')") def is_perdu(chain): return is_something(chain,config_perdu) def is_tag(chain): @@ -733,6 +757,10 @@ class Basile(ircbot.SingleServerIRCBot): answer=random.choice(config_insultes_answers) for ligne in answer.split("\n"): serv.privmsg(canal,"%s: %s"%(auteur,ligne.encode("utf8"))) + elif is_compliment(message) and not canal in self.quiet_channels: + answer=random.choice(config_compliment_answers) + for ligne in answer.split("\n"): + serv.privmsg(canal,"%s: %s"%(auteur,ligne.encode("utf8"))) gros_match=is_gros(message) if gros_match and not canal in self.quiet_channels: taille=get_filesize() @@ -818,7 +846,7 @@ class Basile(ircbot.SingleServerIRCBot): if re.match('^(.|§|:|)(w|b) [0-9]+$',message) and not canal in self.quiet_channels: failanswers=config_buffer_fail_answers answer=random.choice(failanswers) - serv.privmsg(canal,"%s: %s"%(auteur,answer)) + serv.privmsg(canal,("%s: %s"%(auteur,answer)).encode("utf8")) if not canal in self.quiet_channels: mypseudo=self.nick if re.match((u"^("+u"|".join(config_bonjour_triggers) -- 2.39.2