diff --git a/karma/bot.py b/karma/bot.py index 025a283..5bd98c8 100644 --- a/karma/bot.py +++ b/karma/bot.py @@ -219,7 +219,7 @@ class KarmaBot(Plugin): return mxid = UserID(f"@{localpart}:{server_name}") karma = self.karma.get_karma(mxid) - if karma is None: + if karma is None or karma.total is None: await evt.reply(f"[{localpart}](https://matrix.to/#/{mxid}) has no karma :(") return index = self.karma.find_index_from_top(mxid) @@ -243,7 +243,7 @@ class KarmaBot(Plugin): async def view_own_karma(self, evt: MessageEvent) -> None: karma = self.karma.get_karma(evt.sender) - if karma is None: + if karma is None or karma.total is None: await evt.reply("You don't have any karma :(") return index = self.karma.find_index_from_top(evt.sender) diff --git a/karma/db.py b/karma/db.py index 018533c..dc84a70 100644 --- a/karma/db.py +++ b/karma/db.py @@ -80,8 +80,8 @@ class Karma: select([c.given_to, func.sum(c.value).label("total"), func.sum(case([(c.value > 0, c.value)], else_=0)).label("positive"), - func.abs(func.sum(case([(c.value < 0, c.value)], else_=0))).label("negative")]) - .where(c.given_to == user_id)) + func.abs(func.sum(case([(c.value < 0, c.value)], else_=0))).label("negative")] + ).where(c.given_to == user_id)) try: return UserKarmaStats(*next(rows)) except StopIteration: