aboutsummaryrefslogtreecommitdiff
path: root/modules
diff options
context:
space:
mode:
Diffstat (limited to 'modules')
-rw-r--r--modules/unknown_command.py22
1 files changed, 22 insertions, 0 deletions
diff --git a/modules/unknown_command.py b/modules/unknown_command.py
new file mode 100644
index 00000000..386def9f
--- /dev/null
+++ b/modules/unknown_command.py
@@ -0,0 +1,22 @@
+#--depends-on commands
+
+import difflib
+from src import ModuleManager, utils
+
+class Module(ModuleManager.BaseModule):
+ def _all_command_hooks(self):
+ return self.events.on("received.command").get_children()
+
+ @utils.hook("unknown.command")
+ def unknown_command(self, event):
+ all_commands = self._all_command_hooks()
+ match = difflib.get_close_matches(event["command"], all_commands,
+ cutoff=0.7)
+ if match:
+ nickname = ""
+ if event["is_channel"]:
+ nickname = "%s: " % event["user"].nickname
+
+ event["target"].send_message(
+ "%sUnknown command. Did you mean %s%s?" % (
+ nickname, event["command_prefix"], match[0]))