aboutsummaryrefslogtreecommitdiff
path: root/modules/words.py
diff options
context:
space:
mode:
Diffstat (limited to 'modules/words.py')
-rw-r--r--modules/words.py19
1 files changed, 15 insertions, 4 deletions
diff --git a/modules/words.py b/modules/words.py
index c76fb3dc..716b7437 100644
--- a/modules/words.py
+++ b/modules/words.py
@@ -129,6 +129,12 @@ class Module(ModuleManager.BaseModule):
else:
event["stderr"].write("That word is not being tracked")
+ def _get_nickname(self, server, target, nickname):
+ nickname = server.get_user(nickname).nickname
+ if target.get_setting("wordiest-prevent-highlight", True):
+ nickname = utils.prevent_highlight(nickname)
+ return nickname
+
@utils.hook("received.command.wordiest")
def wordiest(self, event):
"""
@@ -137,8 +143,13 @@ class Module(ModuleManager.BaseModule):
"""
channel_query = None
word_prefix = ""
- if event["args_split"]:
- channel_query = event["args_split"][0].lower()
+ if event["args"]:
+ if not event["args_split"][0] == "*":
+ channel_query = event["args_split"][0].lower()
+ elif event["is_channel"]:
+ channel_query = event["target"].name
+
+ if channel_query:
word_prefix = " (%s)" % channel_query
words = event["server"].find_all_user_channel_settings("words")
@@ -150,7 +161,7 @@ class Module(ModuleManager.BaseModule):
user_words[nickname] += word_count
top_10 = utils.top_10(user_words,
- convert_key=lambda nickname:
- event["server"].get_user(nickname).nickname)
+ convert_key=lambda nickname: self._get_nickname(
+ event["server"], event["target"], nickname))
event["stdout"].write("wordiest%s: %s" % (
word_prefix, ", ".join(top_10)))