diff --git a/dr_botzo/dr_botzo/settings.py b/dr_botzo/dr_botzo/settings.py index 9f9ee60..a7b28bd 100644 --- a/dr_botzo/dr_botzo/settings.py +++ b/dr_botzo/dr_botzo/settings.py @@ -159,7 +159,8 @@ IRCBOT_XMLRPC_PORT = 13132 # karma -KARMA_IGNORED_CHATTER_TARGETS = [] +KARMA_IGNORE_CHATTER_TARGETS = [] +KARMA_IGNORE_COMMAND_TARGETS = [] # storycraft diff --git a/dr_botzo/karma/ircplugin.py b/dr_botzo/karma/ircplugin.py index 8947ca5..ba5de6b 100644 --- a/dr_botzo/karma/ircplugin.py +++ b/dr_botzo/karma/ircplugin.py @@ -58,7 +58,7 @@ class Karma(Plugin): karma_pattern = r'(?:\((.+?)\)|(\S+))(\+\+|--|\+-|-\+)(\s+|$)' where = event.target - if where in settings.KARMA_IGNORED_CHATTER_TARGETS: + if where in settings.KARMA_IGNORE_CHATTER_TARGETS: log.debug("ignoring chatter in {0:s}".format(where)) return @@ -85,6 +85,11 @@ class Karma(Plugin): def handle_rank(self, connection, event, match): """Report on the rank of a karma item.""" + where = event.target + if where in settings.KARMA_IGNORE_COMMAND_TARGETS: + log.debug("ignoring command in {0:s}".format(where)) + return + key = match.group(1).lower().rstrip() try: karma_key = KarmaKey.objects.get(key=key) @@ -97,6 +102,11 @@ class Karma(Plugin): def handle_report(self, connection, event, match): """Provide some karma reports.""" + where = event.target + if where in settings.KARMA_IGNORE_COMMAND_TARGETS: + log.debug("ignoring command in {0:s}".format(where)) + return + report = match.group(1).lower() if report == 'highest': sorted_keys = KarmaKey.objects.ranked_scored_order() @@ -128,6 +138,11 @@ class Karma(Plugin): def handle_stats(self, connection, event, match): """Provide stats on a karma user.""" + where = event.target + if where in settings.KARMA_IGNORE_COMMAND_TARGETS: + log.debug("ignoring command in {0:s}".format(where)) + return + karmaer = match.group(1) log_entries = KarmaLogEntry.objects.filter(nickmask=karmaer) if len(log_entries) == 0: