Skip to content
Snippets Groups Projects
karma.py 1.03 KiB
Newer Older
Bruce Cowan's avatar
Bruce Cowan committed
from collections import defaultdict

from errbot import BotPlugin, botcmd


class Karma(BotPlugin):
    """Karma service"""

    def activate(self):
        super().activate()

Bruce Cowan's avatar
Bruce Cowan committed
        self.karma = self.get('karma', defaultdict(int))
Bruce Cowan's avatar
Bruce Cowan committed

    def deactivate(self):
        self['karma'] = self.karma
Bruce Cowan's avatar
Bruce Cowan committed
        super().deactivate()
Bruce Cowan's avatar
Bruce Cowan committed

    @botcmd
    def karma_add(self, message, args):
        """Adds karma"""
        if not args:
            return "**Usage**: !karma add <target>"

Bruce Cowan's avatar
Bruce Cowan committed
        self.karma[args] += 1
        return "Karma for '{}' is now {}".format(args, self.karma[args])
Bruce Cowan's avatar
Bruce Cowan committed

    @botcmd
    def karma_remove(self, message, args):
        """Removes karma"""
        if not args:
            return "**Usage**: !karma remove <target>"

Bruce Cowan's avatar
Bruce Cowan committed
        self.karma[args] -= 1
        return "Karma for '{}' is now {}".format(args, self.karma[args])
Bruce Cowan's avatar
Bruce Cowan committed

    @botcmd
    def karma(self, message, args):
        """Gets karma"""
        if not args:
            return "**Usage**: !karma <target>"

        return "Karma for '{}' is {}".format(args, self.karma[args])