From f7943a6697c662e497ff619ba8d7dde093ceef17 Mon Sep 17 00:00:00 2001 From: Valentin Lorentz Date: Mon, 28 Dec 2015 20:09:48 +0100 Subject: [PATCH] Plugin: make @plugins take non-first words into account. Closes GH-68. --- plugins/Plugin/plugin.py | 5 +++-- plugins/Plugin/test.py | 2 ++ 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/plugins/Plugin/plugin.py b/plugins/Plugin/plugin.py index 6931bd076..31bb851a1 100644 --- a/plugins/Plugin/plugin.py +++ b/plugins/Plugin/plugin.py @@ -92,8 +92,9 @@ class Plugin(callbacks.Plugin): for cb in irc.callbacks: if not hasattr(cb, 'getCommand'): continue - commandlist = cb.getCommand(command) - if commandlist: + longest_matching_command = cb.getCommand(command) + if len(longest_matching_command) >= len(command): + # Actually, this is equivalent to use == plugin_list.append(cb.name()) return plugin_list diff --git a/plugins/Plugin/test.py b/plugins/Plugin/test.py index eb03c9cb3..a18f980eb 100644 --- a/plugins/Plugin/test.py +++ b/plugins/Plugin/test.py @@ -38,6 +38,8 @@ class PluginTestCase(PluginTestCase): def testPlugins(self): self.assertRegexp('plugins join', '(Format.*Admin|Admin.*Format)') self.assertRegexp('plugins plugin', 'Plugin') + self.assertNotRegexp('plugins ignore add', 'Utilities') + self.assertNotRegexp('plugins ignore', 'Admin') def testHelp(self): self.assertRegexp('plugin help plugin', 'manage their plugins')