mirror of
https://github.com/jlu5/SupyPlugins.git
synced 2025-04-29 06:51:10 -05:00
RelayNext: add ignore feature
This uses Supybot's built in ignore system, but allows configuring which events to drop from ignored users. It defaults to ['PRIVMSG', 'MODE'].
This commit is contained in:
parent
3c5cc19ba7
commit
78a79fdf3d
@ -81,5 +81,8 @@ _events = ('quit', 'join', 'part', 'nick', 'mode', 'kick')
|
|||||||
for ev in _events:
|
for ev in _events:
|
||||||
conf.registerChannelValue(RelayNext.events, 'relay%ss' % ev,
|
conf.registerChannelValue(RelayNext.events, 'relay%ss' % ev,
|
||||||
registry.Boolean(True, """Determines whether the bot should relay %ss.""" % ev))
|
registry.Boolean(True, """Determines whether the bot should relay %ss.""" % ev))
|
||||||
|
conf.registerChannelValue(RelayNext.events, 'userIgnored',
|
||||||
|
registry.SpaceSeparatedListOfStrings(['PRIVMSG', 'MODE'], ("""Determines what events
|
||||||
|
the relay should ignore from ignored users. Ignores are added using
|
||||||
|
Supybot's global ignore system.""")))
|
||||||
# vim:set shiftwidth=4 tabstop=4 expandtab textwidth=79:
|
# vim:set shiftwidth=4 tabstop=4 expandtab textwidth=79:
|
||||||
|
@ -36,6 +36,7 @@ import traceback
|
|||||||
import supybot.world as world
|
import supybot.world as world
|
||||||
import supybot.irclib as irclib
|
import supybot.irclib as irclib
|
||||||
import supybot.ircmsgs as ircmsgs
|
import supybot.ircmsgs as ircmsgs
|
||||||
|
import supybot.ircdb as ircdb
|
||||||
import supybot.conf as conf
|
import supybot.conf as conf
|
||||||
import supybot.utils as utils
|
import supybot.utils as utils
|
||||||
from supybot.commands import *
|
from supybot.commands import *
|
||||||
@ -216,6 +217,11 @@ class RelayNext(callbacks.Plugin):
|
|||||||
|
|
||||||
def relay(self, irc, msg, channel=None):
|
def relay(self, irc, msg, channel=None):
|
||||||
channel = channel or msg.args[0]
|
channel = channel or msg.args[0]
|
||||||
|
ignoredevents = map(str.upper, self.registryValue('events.userIgnored'))
|
||||||
|
if msg.command in ignoredevents and ircdb.checkIgnored(msg.prefix):
|
||||||
|
self.log.debug("RelayNext (%s): ignoring message from %s",
|
||||||
|
irc.network, msg.prefix)
|
||||||
|
return
|
||||||
# Get the source channel
|
# Get the source channel
|
||||||
source = "%s@%s" % (channel, irc.network)
|
source = "%s@%s" % (channel, irc.network)
|
||||||
source = source.lower()
|
source = source.lower()
|
||||||
|
Loading…
x
Reference in New Issue
Block a user