From ab3d0cdb6abcf7dce9e46539b7ebadb48f9723ca Mon Sep 17 00:00:00 2001 From: Themis le bot IRC Date: Thu, 21 Jun 2012 21:08:05 +0200 Subject: [PATCH] 1er jet de la config de Themis --- themis.py | 45 +++++++++++++++++++++++++++++++-------------- 1 file changed, 31 insertions(+), 14 deletions(-) diff --git a/themis.py b/themis.py index 4a5f760..a4e4242 100755 --- a/themis.py +++ b/themis.py @@ -34,8 +34,8 @@ config_ops=[] config_report_bugs_to=["[20-100]"] # config UTF8-fail -config_utf8_fail = [u"Si je n'avais pas été créé avec la plus grande attention, votre encodage aurait eu raison de moi…"] -config_utf8_trigger = False +config_utf8_fail = [u"Ton encodage me déprime…"] +config_utf8_trigger = True # config "tu m'traites ?" config_insultes=[u"conna(rd|sse)",u"pute",u"con(|ne)",u"enf(oiré|lure)", u"sal(op(|e(|rie)|ard)|aud)",u"p(e|')tite bite",u"imbécile",u"idiot",u"stupid(|e)",u"débile",u"crétin", @@ -98,11 +98,8 @@ u"Je ne ressens pas de besoin irrésistible de me taire, navré."] 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 ?", -u"On a besoin de moi ?" ] -config_tesla_actions=[u"est là",u"attend des instructions",u"est toujours disponible"] +config_tesla_actions=[u"déprime",u"est prêt à kicker les gens heureux"] # config en cas de non-insulte config_compliment_triggers=[u"gentil",u"cool",u"sympa",u"efficace"] @@ -167,6 +164,11 @@ config_leave_messages=config_quit_messages config_quit_fail_messages=[u"Tu rêves là."] config_leave_fail_messages=config_quit_fail_messages + +# config de kick +config_kick_channels=config_chanlist +config_smileys=[ur':(-|o)?\)',u'\^_?\^',u':-?(p|P)',u'=(\)D|p|P|)',ur'\o/'] + def log(serveur,channel,auteur=None,message=None): f=open(get_config_logfile(serveur),"a") if auteur==message==None: @@ -179,6 +181,11 @@ def log(serveur,channel,auteur=None,message=None): print chain f.close() +reg_is_smiley=re.compile(u".*("+u"|".join(config_smileys)+u")") +def is_smiley(chain): + chain=unicode(chain,"utf8") + o=re.match(reg_is_smiley,chain) + return o def is_something(chain,matches,avant=u".*(?:^| )",apres=u"(?:$|\.| |,|;).*",case_sensitive=False,debug=False): if case_sensitive: @@ -254,6 +261,7 @@ class Themis(ircbot.SingleServerIRCBot): self.ops=self.overops+config_ops self.report_bugs_to=config_report_bugs_to self.chanlist=config_chanlist + self.kick_channels=config_kick_channels self.stay_channels=config_stay_channels self.quiet_channels=config_quiet_channels self.last_perdu=0 @@ -264,7 +272,10 @@ class Themis(ircbot.SingleServerIRCBot): serv.privmsg("NickServ","RELEASE %s %s"%(config_irc_pseudo,config_irc_password)) time.sleep(0.3) serv.nick(config_irc_pseudo) - + + def give_me_my_op_status(self,serv,chan): + serv.privmsg("ChanServ","OP %s"%(chan)) + def on_welcome(self, serv, ev): self.serv=serv # ça serv ira self.give_me_my_pseudo(serv) @@ -272,9 +283,12 @@ class Themis(ircbot.SingleServerIRCBot): log(self.serveur,"Connected") if self.debug: self.chanlist=["#bot"] + self.kick_channels=["#bot"] for c in self.chanlist: log(self.serveur,"JOIN %s"%(c)) serv.join(c) + self.give_me_my_op_status(serv,c) + def lost(self,serv,channel,forced=False): if self.last_perdu+config_time_between_perdu=n1: - serv.action(channel,l2[i-n1].format(auteur).encode("utf8")) - else: - serv.privmsg(channel,l1[i].format(auteur).encode("utf8")) + def kicker(self, chan, pseudo, raison=None): + if raison==None: + raison = config_kick_default_reason + self.serv.kick(chan,pseudo,raison) + def quitter(self,chan,leave_message=None): if leave_message==None: leave_message=random.choice(config_leave_messages) -- 2.39.2