From 6c36941f7c43f743718c67ec6b9e9820ec9d8dfb Mon Sep 17 00:00:00 2001 From: Jeremy Fincher Date: Thu, 30 Sep 2004 08:31:27 +0000 Subject: [PATCH] Should fix bug #1029954. --- plugins/Enforcer.py | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/plugins/Enforcer.py b/plugins/Enforcer.py index 05ecd8a95..468f2c439 100644 --- a/plugins/Enforcer.py +++ b/plugins/Enforcer.py @@ -222,6 +222,9 @@ class Enforcer(callbacks.Privmsg): chanserv = self.registryValue('ChanServ') if ircutils.strEqual(nick, chanserv): return True # It's ChanServ. + return False + + def _isOp(self, irc, channel, hostmask): capability = _chanCap(channel, 'op') if ircdb.checkCapability(hostmask, capability): return True # It's a chanop. @@ -230,7 +233,9 @@ class Enforcer(callbacks.Privmsg): def _revenge(self, irc, channel, hostmask): nick = ircutils.nickFromHostmask(hostmask) if self.registryValue('takeRevenge', channel): - if self._isPowerful(irc, channel, hostmask) and \ + if self._isPowerful(irc, channel, hostmask): + return + if self._isOp(irc, channel, hostmask) and \ not self.registryValue('takeRevenge.onOps', channel): return if not ircutils.strEqual(irc.nick, nick): @@ -263,8 +268,7 @@ class Enforcer(callbacks.Privmsg): if not ircutils.isChannel(channel): return if self._isPowerful(irc, channel, msg.prefix): - if not self.registryValue('takeRevenge.onOps', channel): - return + return for (mode, value) in ircutils.separateModes(msg.args[1:]): if not isinstance(value, basestring): continue