From c97a9febd82bdd0e129e73e057617f80162935b2 Mon Sep 17 00:00:00 2001 From: Valentin Lorentz Date: Fri, 3 Aug 2012 04:01:10 +0000 Subject: [PATCH] Trigger: Add the highlight trigger. --- Trigger/config.py | 2 +- Trigger/plugin.py | 2 ++ Trigger/test.py | 10 ++++++++++ 3 files changed, 13 insertions(+), 1 deletion(-) diff --git a/Trigger/config.py b/Trigger/config.py index 9386b7e..0c72bc5 100644 --- a/Trigger/config.py +++ b/Trigger/config.py @@ -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"""))) diff --git a/Trigger/plugin.py b/Trigger/plugin.py index 8d8bdb5..12ea0fd 100644 --- a/Trigger/plugin.py +++ b/Trigger/plugin.py @@ -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): diff --git a/Trigger/test.py b/Trigger/test.py index eb5edce..df02674 100644 --- a/Trigger/test.py +++ b/Trigger/test.py @@ -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 '