From c889cf651358352dcd6a505e1a6b7ca38ad03a04 Mon Sep 17 00:00:00 2001 From: James Lu Date: Tue, 21 Jul 2015 23:58:28 -0700 Subject: [PATCH] relay: only check for duplicate modes if prefix is '+' --- plugins/relay.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/plugins/relay.py b/plugins/relay.py index dd616d6..e47deb3 100644 --- a/plugins/relay.py +++ b/plugins/relay.py @@ -494,7 +494,7 @@ def relayModes(irc, remoteirc, sender, channel, modes=None): log.debug("(%s) Relay mode: argument found as (%r, %r) " "for network %r.", irc.name, modechar, arg, remoteirc.name) - if arg in remoteirc.channels[remotechan].prefixmodes[name+'s']: + if prefix == '+' and arg in remoteirc.channels[remotechan].prefixmodes[name+'s']: # Don't set prefix modes that are already set. log.debug("(%s) Relay mode: skipping setting %s on %s/%s because it appears to be already set.", irc.name, name, arg, remoteirc.name) @@ -508,7 +508,7 @@ def relayModes(irc, remoteirc, sender, channel, modes=None): break # Don't set modes that are already set, to prevent floods on TS6 # where the same mode can be set infinite times. - if modepair in remoteirc.channels[remotechan].modes: + if prefix == '+' and modepair in remoteirc.channels[remotechan].modes: log.debug("(%s) Relay mode: skipping setting mode (%r, %r) on %s%s because it appears to be already set.", irc.name, supported_char, arg, remoteirc.name, remotechan) break