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",
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"]
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:
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:
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
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)
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<time.time() or forced:
serv.privmsg(canal, "%s: %s"%(auteur,config_utf8_fail))
return
pour_moi,message=self.pourmoi(serv,message)
+ smy=is_smiley(message)
+ if smy:
+ if canal in self.kick_channels:
+ serv.kick(canal,auteur,(u'"%s" ? Ici on déprime !'%(smy.groups()[0])).encode("utf8"))
+ return
if pour_moi and message.split()!=[]:
cmd=message.split()[0].lower()
try:
log(self.serveur,"%s kické de %s par %s (raison : %s)" %(victime,channel,auteur,raison))
time.sleep(2)
serv.join(channel)
- 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].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)