Merge branch 'master' of git+ssh://supybot.git.sourceforge.net/gitroot/supybot

This commit is contained in:
James Vega 2009-03-12 15:01:46 -04:00
commit 7c8d85ac8e
3 changed files with 17 additions and 14 deletions

View File

@ -64,6 +64,20 @@ class BadWords(callbacks.Privmsg):
def inFilter(self, irc, msg): def inFilter(self, irc, msg):
self.filtering = True self.filtering = True
# We need to check for bad words here rather than in doPrivmsg because
# messages don't get to doPrivmsg is the user is ignored.
if msg.command == 'PRIVMSG':
self.updateRegexp()
s = ircutils.stripFormatting(msg.args[1])
channel = msg.args[0]
if ircutils.isChannel(channel) and self.registryValue('kick', channel):
if self.regexp.search(s):
if irc.nick in irc.state.channels[channel].ops:
message = self.registryValue('kick.message', channel)
irc.queueMsg(ircmsgs.kick(channel, msg.nick, message))
else:
self.log.warning('Should kick %s from %s, but not opped.',
msg.nick, channel)
return msg return msg
def updateRegexp(self): def updateRegexp(self):
@ -81,19 +95,6 @@ class BadWords(callbacks.Privmsg):
msg = ircmsgs.privmsg(msg.args[0], s, msg=msg) msg = ircmsgs.privmsg(msg.args[0], s, msg=msg)
return msg return msg
def doPrivmsg(self, irc, msg):
self.updateRegexp()
s = ircutils.stripFormatting(msg.args[1])
channel = msg.args[0]
if ircutils.isChannel(channel) and self.registryValue('kick', channel):
if self.regexp.search(s):
if irc.nick in irc.state.channels[channel].ops:
message = self.registryValue('kick.message', channel)
irc.queueMsg(ircmsgs.kick(channel, msg.nick, message))
else:
self.log.warning('Should kick %s from %s, but not opped.',
msg.nick, channel)
def makeRegexp(self, iterable): def makeRegexp(self, iterable):
s = '(%s)' % '|'.join(map(re.escape, iterable)) s = '(%s)' % '|'.join(map(re.escape, iterable))
if self.registryValue('requireWordBoundaries'): if self.registryValue('requireWordBoundaries'):

0
plugins/RSS/local/feedparser.py Executable file → Normal file
View File

View File

@ -1230,7 +1230,9 @@ class PluginMixin(BasePlugin, irclib.IrcCallback):
def __call__(self, irc, msg): def __call__(self, irc, msg):
irc = SimpleProxy(irc, msg) irc = SimpleProxy(irc, msg)
if msg.command == 'PRIVMSG': if msg.command == 'PRIVMSG':
if self.noIgnore or not ircdb.checkIgnored(msg.prefix,msg.args[0]): if self.noIgnore or \
not ircutils.isUserHostmask(msg.prefix) or \ # Some services impl.
not ircdb.checkIgnored(msg.prefix,msg.args[0]):
self.__parent.__call__(irc, msg) self.__parent.__call__(irc, msg)
else: else:
self.__parent.__call__(irc, msg) self.__parent.__call__(irc, msg)