Skip to content
Snippets Groups Projects
karma.py 897 B
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()

        try:
            self.karma = self['karma']
        except KeyError:
Bruce Cowan's avatar
Bruce Cowan committed
            self.karma = defaultdict(int)

    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"""
        self.karma[args] += 1
        return "Karma for {} is now {}".format(args, self.karma[args])

    @botcmd
    def karma_remove(self, message, args):
        """Removes karma"""
        self.karma[args] -= 1
        return "Karma for {} is now {}".format(args, self.karma[args])     

    @botcmd
    def karma(self, message, args):
        """Gets karma"""
        return "Karma for {} is {}".format(args, self.karma[args])