u"Tu veux qu'on parle de ta soœur ?",
u"Et la tienne ?",
u"Ce que fait ma mère c'est comme ce que tu fais avec ta bite, ça nous regarde pas…",
-u"♩ J'ai vu ta mère sur chat rouleeeeeeette ♫"
+u"♩ J'ai vu ta mère sur chat rouleeeeeeette ♫",
u"On avait dit \"pas les mamans\""]
config_action_trigger=[u"(frappe|cogne|tape)(| sur)",u"(démolit|dégomme|fouette|agresse)",
u"Mais j'ai rien demandé moi !"]
config_action_actions=[u"prend de la distance, par précaution…",u"part en courant",u"esquive"]
-config_bonjour=[u"(s|)(a|'|)lu(t|)",u"hello",u"plop",u"plip",u"pr(ou|ü)t",u"bonjour",u"bonsoir"]
+config_bonjour=[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"]
return is_something(chain,config_tamere)
def is_action_trigger(chain,pseudo):
return is_something(chain,config_action_trigger,avant=u"^",
- apres="([a-z]*ment)? %s($|\.| |,|;).*"%(pseudo))
+ apres="( [a-z]*ment)? %s($|\.| |,|;).*"%(pseudo))
def is_pan(chain):
- return re.match(u"^(pan|bim|bang)$",unicode(chain,"utf8").lower().strip())
+ return re.match(u"^(pan|bim|bang) .*$",unicode(chain,"utf8").lower().strip())
SOLDE <pseudo> Donner le solde de quelqu'un"""
helpmsg_overops="""
SAY Fait envoyer un message sur un chan ou à une personne
+ DO Fait faire une action sur un chan
STAY Ignorera les prochains LEAVE pour un chan
NOSTAY Opposé de STAY
DIE Mourir"""
serv.privmsg(auteur,"Syntaxe : SAY <channel> <message>")
else:
notunderstood=True
+ elif cmd=="do":
+ if auteur in self.overops and len(message)>2:
+ serv.action(message[1]," ".join(message[2:]))
+ log(self.serveur,"priv",auteur," ".join(message))
+ elif len(message)<=2:
+ serv.privmsg(auteur,"Syntaxe : DO <channel> <action>")
+ else:
+ notunderstood=True
+ elif cmd=="kick":
+ if auteur in self.overops and len(message)>2:
+ serv.kick(message[1],message[2]," ".join(message[3:]))
+ log(self.serveur,"priv",auteur," ".join(message))
+ elif len(message)<=2:
+ serv.privmsg(auteur,"Syntaxe : KICK <channel> <pseudo>")
+ else:
+ notunderstood=True
elif cmd=="lost":
if auteur in self.ops and len(message)>1:
serv.privmsg(message[1],"J'ai perdu !")
or auteur in self.overops):
serv.part(canal,message="Éjecté par %s"%(auteur))
log(self.serveur,canal,auteur,message+"[successful]")
+ if canal in self.chanlist:
+ self.chanlist.remove(canal)
else:
serv.privmsg(canal,"%s: Non, je reste !"%(auteur))
log(self.serveur,canal,auteur,message+"[failed]")
serv.nick(become)
log(self.serveur,canal,auteur,message+"[successful]")
- elif cmd in ["coucou"] and not canal in self.quiet_channels:
- serv.privmsg(canal,"%s: coucou"%(auteur))
+ if cmd in ["meur", "meurt","meurre","meurres"] and not canal in self.quiet_channels:
+ serv.privmsg(canal,'%s: Mourir, impératif, 2ème personne du singulier : "meurs" (de rien)'%(auteur))
elif cmd in ["ping"] and not canal in self.quiet_channels:
serv.privmsg(canal,"%s: pong"%(auteur))
n1,n2=len(l1),len(l2)
i=random.randrange(n1+n2)
if i>=n1:
- serv.action(canal,l2[i-n1])
+ serv.action(canal,l2[i-n1].encode("utf8"))
else:
serv.privmsg(canal,"%s: %s"%(auteur,l1[i].encode("utf8")))
if is_tamere(message) and not canal in self.quiet_channels:
answer=random.choice(config_merci_answers)
for ligne in answer.split("\n"):
serv.privmsg(canal,"%s: %s"%(auteur,ligne.encode("utf8")))
- out=re.match(u"^([A-Z[]|\\|[0-9]+|(¹|²|³|⁴|⁵|⁶|⁷|⁸|⁹|⁰)+)(?:| \?| !)$",
+ out=re.match(ur"^([A-Z[]|\\|[0-9]+|(¹|²|³|⁴|⁵|⁶|⁷|⁸|⁹|⁰)+)(?:| \?| !)$",
unicode(message.upper(),"utf8"))
if out and not canal in self.quiet_channels:
out=out.groups()[0]
serv.privmsg(canal,"%s: pfff, j'ai l'air malin maintenant… [ ?"%(auteur))
elif out in "[\\":
serv.privmsg(canal,"%s: nan mais il faut qu'on arrête, ça va finir par poser des problèmes…"%(auteur))
- elif re.match(r"(¹|²|³|⁴|⁵|⁶|⁷|⁸|⁹|⁰)+",out):
+ elif re.match(ur"(¹|²|³|⁴|⁵|⁶|⁷|⁸|⁹|⁰)+",out):
def translate(mess):
return "".join([{u"⁰¹²³⁴⁵⁶⁷⁸⁹0123456789"[i]:u"0123456789⁰¹²³⁴⁵⁶⁷⁸⁹"[i]
for i in range(20)}[j]
and re.match((u"^("+"|".join(config_bonjour)+").*").lower(),message.lower()) ):
answer=random.choice(config_bonjour_answers)
serv.privmsg(canal,answer.format(auteur).encode("utf8"))
- if is_pan(message):
+ 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:
if message in ["!pain au chocolat","!chocolatine"] and not canal in self.quiet_channels: