karma: ignore commands or chatter separately

This commit is contained in:
Brian S. Stephan 2015-07-11 08:12:25 -05:00
parent bf0445149b
commit 4abcef58c1
2 changed files with 18 additions and 2 deletions

View File

@ -159,7 +159,8 @@ IRCBOT_XMLRPC_PORT = 13132
# karma
KARMA_IGNORED_CHATTER_TARGETS = []
KARMA_IGNORE_CHATTER_TARGETS = []
KARMA_IGNORE_COMMAND_TARGETS = []
# storycraft

View File

@ -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: