regexp_pan = re.compile(u".*(" + "|".join(config.killwords) + u").*")
def is_pan(chain):
return regexp_pan.match(unicode(chain,"utf8").lower())
+def ignore_pan(serv, ev):
+ """Retourne ``True`` si il faut ignorer ce pan."""
+ for (blackmask, exceptmask) in config.ignored_pan_masks:
+ usermask = ev.source()
+ return bool(irclib.mask_matches(usermask, blackmask) and not irclib.mask_matches(usermask, exceptmask))
class UnicodeBotError(Exception):
pass
log(self.serveur,"priv",auteur," ".join(message)+"[failed]")
else:
notunderstood=True
+ elif cmd=="status":
+ if auteur in self.ops:
+ serv.privmsg(auteur,"Status : %s" % (self.status, ))
+ else:
+ notunderstood=True
elif cmd=="spawn":
if auteur in self.ops:
if len(message)>1:
def on_pubmsg(self, serv, ev):
auteur = irclib.nm_to_n(ev.source())
+ if re.match(config.ignored_pseudos, auteur):
+ return
channel = ev.target()
message = ev.arguments()[0]
try:
self.sendscores(auteur)
else:
if is_pan(message):
+ if ignore_pan(serv, ev):
+ return
self.shot(channel, auteur)
def on_action(self, serv, ev):
if "--quiet" in sys.argv:
config.debug_stdout=False
serveurs={"a♡":"acoeur.crans.org","acoeur":"acoeur.crans.org","acoeur.crans.org":"acoeur.crans.org",
- "irc":"irc.crans.org","crans":"irc.crans.org","irc.crans.org":"irc.crans.org"}
+ "irc":"irc.crans.org","crans":"irc.crans.org","irc.crans.org":"irc.crans.org",
+ "local":"localhost"}
try:
serveur=serveurs[serveur]
except KeyError: