diff --git a/WebStats/config.py b/WebStats/config.py index da1899e..08242e8 100644 --- a/WebStats/config.py +++ b/WebStats/config.py @@ -59,5 +59,8 @@ conf.registerChannelValue(WebStats.channel, 'enable', conf.registerChannelValue(WebStats.channel, 'language', registry.String(_('en'), _("""Determines what language is used on the website"""))) +conf.registerChannelValue(WebStats.channel, 'excludenicks', + registry.String('', _("""Space-separated list of nicks excluded from + stats."""))) # vim:set shiftwidth=4 tabstop=4 expandtab textwidth=79: diff --git a/WebStats/plugin.py b/WebStats/plugin.py index e3411aa..55198aa 100644 --- a/WebStats/plugin.py +++ b/WebStats/plugin.py @@ -505,6 +505,9 @@ class WebStats(callbacks.Plugin): return content = msg.args[1] nick = msg.prefix.split('!')[0] + if nick in self.registryValue('channel.excludenicks', channel) \ + .split(' '): + return self.db.recordMessage(channel, nick, content) doNotice = doPrivmsg @@ -513,6 +516,9 @@ class WebStats(callbacks.Plugin): if not self.registryValue('channel.enable', channel): return nick = msg.prefix.split('!')[0] + if nick in self.registryValue('channel.excludenicks', channel) \ + .split(' '): + return self.db.recordMove(channel, nick, 'join') def doPart(self, irc, msg): @@ -524,6 +530,9 @@ class WebStats(callbacks.Plugin): else: message = '' nick = msg.prefix.split('!')[0] + if nick in self.registryValue('channel.excludenicks', channel) \ + .split(' '): + return self.db.recordMove(channel, nick, 'part', message) def doQuit(self, irc, msg): @@ -533,6 +542,9 @@ class WebStats(callbacks.Plugin): else: message = '' for channel in self.ircstates[irc].channels: + if nick in self.registryValue('channel.excludenicks', channel) \ + .split(' '): + continue if self.registryValue('channel.enable', channel) and \ msg.nick in self.ircstates[irc].channels[channel].users: self.db.recordMove(channel, nick, 'quit', message) @@ -543,6 +555,9 @@ class WebStats(callbacks.Plugin): else: message = '' for channel in self.ircstates[irc].channels: + if nick in self.registryValue('channel.excludenicks', channel) \ + .split(' '): + continue if self.registryValue('channel.enable', channel) and \ msg.nick in self.ircstates[irc].channels[channel].users: self.db.recordMove(channel, nick, 'nick', message) @@ -553,6 +568,9 @@ class WebStats(callbacks.Plugin): else: message = '' for channel in self.ircstates[irc].channels: + if nick in self.registryValue('channel.excludenicks', channel) \ + .split(' '): + continue if self.registryValue('channel.enable', channel) and \ msg.nick in self.ircstates[irc].channels[channel].users: self.db.recordMove(channel, nick, 'kicker', message)