ChannelLogger: check for logChannelMessages before logging.

This commit is contained in:
Valentin Lorentz 2013-04-26 17:52:18 +02:00
parent 243cc0b998
commit fe540b3620

View File

@ -34,6 +34,7 @@ from cStringIO import StringIO
import supybot.conf as conf import supybot.conf as conf
import supybot.world as world import supybot.world as world
import supybot.ircdb as ircdb
import supybot.irclib as irclib import supybot.irclib as irclib
import supybot.ircmsgs as ircmsgs import supybot.ircmsgs as ircmsgs
import supybot.ircutils as ircutils import supybot.ircutils as ircutils
@ -183,7 +184,14 @@ class ChannelLogger(callbacks.Plugin):
for channel in recipients.split(','): for channel in recipients.split(','):
if irc.isChannel(channel): if irc.isChannel(channel):
noLogPrefix = self.registryValue('noLogPrefix', channel) noLogPrefix = self.registryValue('noLogPrefix', channel)
if noLogPrefix and text.startswith(noLogPrefix): cap = ircdb.makeChannelCapability(channel, 'logChannelMessages')
try:
logChannelMessages = ircdb.checkCapability(msg.prefix, cap,
ignoreOwner=True)
except KeyError:
logChannelMessages = True
if (noLogPrefix and text.startswith(noLogPrefix)) or \
not logChannelMessages:
text = '-= THIS MESSAGE NOT LOGGED =-' text = '-= THIS MESSAGE NOT LOGGED =-'
nick = msg.nick or irc.nick nick = msg.nick or irc.nick
if ircmsgs.isAction(msg): if ircmsgs.isAction(msg):