X-Git-Url: http://gitweb.pimeys.fr/?a=blobdiff_plain;f=saturnin.py;h=4903ec32892e35832c00df7351d9205f36b349e2;hb=015c05016255df0dc06e6ebb2e21c7b8dbe34de4;hp=f2b432c5f5a9326a9158148e19e7223ce22e83d2;hpb=b71142838d23a2e278774665a825e80a11a9bb6f;p=bots%2Fsaturnin.git diff --git a/saturnin.py b/saturnin.py index f2b432c..4903ec3 100755 --- a/saturnin.py +++ b/saturnin.py @@ -56,6 +56,11 @@ def is_something(chain,matches,avant=u".*(?:^| )",apres=u"(?:$|\.| |,|;).*",case 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 @@ -494,6 +499,8 @@ class Saturnin(ircbot.SingleServerIRCBot): self.sendscores(auteur) else: if is_pan(message): + if ignore_pan(serv, ev): + return self.shot(channel, auteur) def on_action(self, serv, ev):