Trigger: Add the highlight trigger.

master
Valentin Lorentz 2012-08-03 04:01:10 +00:00
parent ad09738671
commit c97a9febd8
3 changed files with 13 additions and 1 deletions

View File

@ -55,7 +55,7 @@ Trigger = conf.registerPlugin('Trigger')
# registry.Boolean(False, _("""Help for someConfigVariableName.""")))
conf.registerGroup(Trigger, 'triggers')
for trigger in 'join part privmsg notice'.split(' '):
for trigger in 'join part privmsg notice highlight'.split(' '):
conf.registerChannelValue(Trigger.triggers, trigger,
registry.String('', _("""Command triggered by %s""")))

View File

@ -64,6 +64,8 @@ class Trigger(callbacks.Plugin):
self._run(irc, msg, 'part')
def doPrivmsg(self, irc, msg):
self._run(irc, msg, 'privmsg')
if irc.nick in msg.args[1]:
self._run(irc, msg, 'highlight')
def doNotice(self, irc, msg):
self._run(irc, msg, 'notice')
def do376(self, irc, msg):

View File

@ -35,6 +35,7 @@ class TriggerTestCase(ChannelPluginTestCase):
plugins = ('Trigger', 'Utilities')
config = {'supybot.plugins.Trigger.triggers.join': 'echo Hi $nick',
'supybot.plugins.Trigger.triggers.part': 'echo foo',
'supybot.plugins.Trigger.triggers.highlight': 'echo foobar',
'supybot.plugins.Trigger.triggers.privmsg': 'echo bar',
'supybot.plugins.Trigger.triggers.notice': 'echo baz'}
@ -58,6 +59,15 @@ class TriggerTestCase(ChannelPluginTestCase):
self.failIf(not self._getIfAnswerIsEqual(msg), 'Does not reply to '
'triggered echo on privmsg')
self.irc.feedMsg(ircmsgs.privmsg(self.channel,'lol %s test' % self.nick,
prefix=self.prefix))
msg = ircmsgs.privmsg(self.channel, 'bar')
self.failIf(not self._getIfAnswerIsEqual(msg), 'Does not reply to '
'triggered echo on privmsg')
msg = ircmsgs.privmsg(self.channel, 'foobar')
self.failIf(not self._getIfAnswerIsEqual(msg), 'Does not reply to '
'triggered echo on highlight')
self.irc.feedMsg(ircmsgs.notice(self.channel,'lol',prefix=self.prefix))
msg = ircmsgs.privmsg(self.channel, 'baz')
self.failIf(not self._getIfAnswerIsEqual(msg), 'Does not reply to '