mirror of
https://github.com/Mikaela/Limnoria.git
synced 2024-11-14 22:49:23 +01:00
Update plugins to ignore all non-ACTION CTCP messages.
Also update commands.urlSnarfer to do the same, which allows us to revert "Don't bother snarfing URLs from non-Action CTCP messages." This reverts commit3282e3407e
. Signed-off-by: James Vega <jamessan@users.sourceforge.net> (cherry picked from commit288d7c6e02
)
This commit is contained in:
parent
e2cafb2e3d
commit
455b5631bc
@ -1,6 +1,6 @@
|
||||
###
|
||||
# Copyright (c) 2002-2004, Jeremiah Fincher
|
||||
# Copyright (c) 2009, James Vega
|
||||
# Copyright (c) 2009-2010, James Vega
|
||||
# All rights reserved.
|
||||
#
|
||||
# Redistribution and use in source and binary forms, with or without
|
||||
@ -81,8 +81,11 @@ class ChannelStat(irclib.IrcCommandDispatcher):
|
||||
self.smileys += len(sRe.findall(payload))
|
||||
|
||||
def doPrivmsg(self, msg):
|
||||
isAction = ircmsgs.isAction(msg)
|
||||
if ircmsgs.isCtcp(msg) and not isAction:
|
||||
return
|
||||
self.doPayload(*msg.args)
|
||||
if ircmsgs.isAction(msg):
|
||||
if isAction:
|
||||
self.actions += 1
|
||||
|
||||
def doTopic(self, msg):
|
||||
|
@ -1,5 +1,6 @@
|
||||
###
|
||||
# Copyright (c) 2005, Jeremiah Fincher
|
||||
# Copyright (c) 2010, James Vega
|
||||
# All rights reserved.
|
||||
#
|
||||
# Redistribution and use in source and binary forms, with or without
|
||||
@ -265,6 +266,7 @@ class Karma(callbacks.Plugin):
|
||||
if not (msg.addressed or msg.repliedTo):
|
||||
channel = msg.args[0]
|
||||
if irc.isChannel(channel) and \
|
||||
not ircmsgs.isCtcp(msg) and \
|
||||
self.registryValue('allowUnaddressedKarma', channel):
|
||||
irc = callbacks.SimpleProxy(irc, msg)
|
||||
thing = msg.args[1].rstrip()
|
||||
|
@ -1,5 +1,6 @@
|
||||
###
|
||||
# Copyright (c) 2004, Jeremiah Fincher
|
||||
# Copyright (c) 2010, James Vega
|
||||
# All rights reserved.
|
||||
#
|
||||
# Redistribution and use in source and binary forms, with or without
|
||||
@ -34,6 +35,7 @@ import supybot.log as log
|
||||
import supybot.conf as conf
|
||||
import supybot.utils as utils
|
||||
from supybot.commands import *
|
||||
import supybot.ircmsgs as ircmsgs
|
||||
import supybot.ircutils as ircutils
|
||||
import supybot.callbacks as callbacks
|
||||
|
||||
@ -152,6 +154,8 @@ class Later(callbacks.Plugin):
|
||||
remove = wrap(remove, [('checkCapability', 'admin'), 'something'])
|
||||
|
||||
def doPrivmsg(self, irc, msg):
|
||||
if ircmsgs.isCtcp(msg) and not ircmsgs.isAction(msg):
|
||||
return
|
||||
notes = self._notes.pop(msg.nick, [])
|
||||
# Let's try wildcards.
|
||||
removals = []
|
||||
|
@ -1,5 +1,6 @@
|
||||
###
|
||||
# Copyright (c) 2004, Brett Kelly
|
||||
# Copyright (c) 2010, James Vega
|
||||
# All rights reserved.
|
||||
#
|
||||
# Redistribution and use in source and binary forms, with or without
|
||||
@ -121,7 +122,7 @@ class DbiNoteDB(dbi.DB):
|
||||
for (to, ids) in cache.items():
|
||||
while id in ids:
|
||||
ids.remove(id)
|
||||
|
||||
|
||||
NoteDB = plugins.DB('Note', {'flat': DbiNoteDB})
|
||||
|
||||
class Note(callbacks.Plugin):
|
||||
@ -135,6 +136,8 @@ class Note(callbacks.Plugin):
|
||||
self.db.close()
|
||||
|
||||
def doPrivmsg(self, irc, msg):
|
||||
if ircmsgs.isCtcp(msg) and not ircmsgs.isAction(msg):
|
||||
return
|
||||
self._notify(irc, msg)
|
||||
|
||||
def doJoin(self, irc, msg):
|
||||
|
@ -1,6 +1,6 @@
|
||||
###
|
||||
# Copyright (c) 2004, Daniel DiPaolo
|
||||
# Copyright (c) 2008-2009, James Vega
|
||||
# Copyright (c) 2008-2010, James Vega
|
||||
# All rights reserved.
|
||||
#
|
||||
# Redistribution and use in source and binary forms, with or without
|
||||
@ -212,6 +212,8 @@ class QuoteGrabs(callbacks.Plugin):
|
||||
self.db = QuoteGrabsDB()
|
||||
|
||||
def doPrivmsg(self, irc, msg):
|
||||
if ircmsgs.isCtcp(msg) and not ircmsgs.isAction(msg):
|
||||
return
|
||||
irc = callbacks.SimpleProxy(irc, msg)
|
||||
if irc.isChannel(msg.args[0]):
|
||||
(chan, payload) = msg.args
|
||||
|
@ -1,5 +1,6 @@
|
||||
###
|
||||
# Copyright (c) 2002-2004, Jeremiah Fincher
|
||||
# Copyright (c) 2010, James Vega
|
||||
# All rights reserved.
|
||||
#
|
||||
# Redistribution and use in source and binary forms, with or without
|
||||
@ -339,6 +340,8 @@ class Relay(callbacks.Plugin):
|
||||
notPunishing(irc, 'not opped')
|
||||
|
||||
def doPrivmsg(self, irc, msg):
|
||||
if ircmsgs.isCtcp(msg) and not ircmsgs.isAction(msg):
|
||||
return
|
||||
(channel, text) = msg.args
|
||||
if irc.isChannel(channel):
|
||||
irc = self._getRealIrc(irc)
|
||||
@ -350,9 +353,6 @@ class Relay(callbacks.Plugin):
|
||||
self.log.debug('Refusing to relay %s, ignored by %s.',
|
||||
msg.prefix, ignore)
|
||||
return
|
||||
if ircmsgs.isCtcp(msg) and \
|
||||
'AWAY' not in text and 'ACTION' not in text:
|
||||
return
|
||||
# Let's try to detect other relay bots.
|
||||
if self._checkRelayMsg(msg):
|
||||
if self.registryValue('punishOtherRelayBots', channel):
|
||||
|
@ -1,5 +1,6 @@
|
||||
###
|
||||
# Copyright (c) 2002-2004, Jeremiah Fincher
|
||||
# Copyright (c) 2010, James Vega
|
||||
# All rights reserved.
|
||||
#
|
||||
# Redistribution and use in source and binary forms, with or without
|
||||
@ -136,6 +137,8 @@ class Seen(callbacks.Plugin):
|
||||
irc.queueMsg(ircmsgs.names(channel))
|
||||
|
||||
def doPrivmsg(self, irc, msg):
|
||||
if ircmsgs.isCtcp(msg) and not ircmsgs.isAction(msg):
|
||||
return
|
||||
if irc.isChannel(msg.args[0]):
|
||||
channel = msg.args[0]
|
||||
said = ircmsgs.prettyPrint(msg)
|
||||
|
@ -1,5 +1,6 @@
|
||||
###
|
||||
# Copyright (c) 2002-2004, Jeremiah Fincher
|
||||
# Copyright (c) 2010, James Vega
|
||||
# All rights reserved.
|
||||
#
|
||||
# Redistribution and use in source and binary forms, with or without
|
||||
@ -65,6 +66,8 @@ class URL(callbacks.Plugin):
|
||||
self.db = URLDB()
|
||||
|
||||
def doPrivmsg(self, irc, msg):
|
||||
if ircmsgs.isCtcp(msg) and not ircmsgs.isAction(msg):
|
||||
return
|
||||
channel = msg.args[0]
|
||||
if irc.isChannel(channel):
|
||||
if ircmsgs.isAction(msg):
|
||||
|
@ -36,7 +36,6 @@ import supybot.conf as conf
|
||||
import supybot.utils as utils
|
||||
from supybot.commands import *
|
||||
import supybot.plugins as plugins
|
||||
import supybot.ircmsgs as ircmsgs
|
||||
import supybot.ircutils as ircutils
|
||||
import supybot.callbacks as callbacks
|
||||
|
||||
@ -80,8 +79,6 @@ class Web(callbacks.PluginRegexp):
|
||||
channel = msg.args[0]
|
||||
if not irc.isChannel(channel):
|
||||
return
|
||||
if ircmsgs.isCtcp(msg) and not ircmsgs.isAction(msg):
|
||||
return
|
||||
if callbacks.addressed(irc.nick, msg):
|
||||
return
|
||||
if self.registryValue('titleSnarfer', channel):
|
||||
|
@ -1,6 +1,6 @@
|
||||
###
|
||||
# Copyright (c) 2002-2005, Jeremiah Fincher
|
||||
# Copyright (c) 2009, James Vega
|
||||
# Copyright (c) 2009-2010, James Vega
|
||||
# All rights reserved.
|
||||
#
|
||||
# Redistribution and use in source and binary forms, with or without
|
||||
@ -109,10 +109,11 @@ def urlSnarfer(f):
|
||||
def newf(self, irc, msg, match, *L, **kwargs):
|
||||
url = match.group(0)
|
||||
channel = msg.args[0]
|
||||
if not irc.isChannel(channel):
|
||||
if not irc.isChannel(channel) or (ircmsgs.isCtcp(msg) and not
|
||||
ircmsgs.isAction(msg)):
|
||||
return
|
||||
if ircdb.channels.getChannel(channel).lobotomized:
|
||||
self.log.info('Not snarfing in %s: lobotomized.', channel)
|
||||
self.log.debug('Not snarfing in %s: lobotomized.', channel)
|
||||
return
|
||||
if _snarfed.has(channel, url):
|
||||
self.log.info('Throttling snarf of %s in %s.', url, channel)
|
||||
|
Loading…
Reference in New Issue
Block a user