From c6503b91af441f46fe68e5a041c415966b6d3520 Mon Sep 17 00:00:00 2001 From: Adam Goldsmith Date: Mon, 14 Mar 2022 00:46:20 -0400 Subject: [PATCH] Add unspent XP to deck status text --- ahtcg_bot.py | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/ahtcg_bot.py b/ahtcg_bot.py index 2a75566..c07ba6a 100755 --- a/ahtcg_bot.py +++ b/ahtcg_bot.py @@ -7,7 +7,7 @@ import re import discord from discord.ext import commands, tasks -from arkhamdb import ArkhamDBClient +from arkhamdb import ArkhamDBClient, ArkhamDBDeck from secret import TOKEN @@ -77,6 +77,14 @@ class ArkhamDBUpdater(commands.Bot): and len(message.embeds) == 1: await message.delete() + def status_for_deck(self, prefix: str, deck: ArkhamDBDeck) -> str: + unspent_xp = deck['xp'] - deck['xp_spent'] + status = f"{prefix}[{deck['name']}]({self.arkhamdb_client.origin}/deck/view/{deck['id']}) [{deck['id']}]" + if unspent_xp > 0: + status += f" {{{unspent_xp} unspent XP}}" + + return status + async def update_channel_latest_decks(self, channel: discord.TextChannel) -> None: print(f'Running update in channel {channel.guild} - {channel.name}') async with channel.typing(): @@ -90,9 +98,8 @@ class ArkhamDBUpdater(commands.Bot): except discord.NotFound: last_message = None - message_text = '\n'.join( - f"{prefix}[{deck['name']}]({self.arkhamdb_client.origin}/deck/view/{deck['id']}) [{deck['id']}]" - for prefix, deck in latest_decks.values()) + message_text = '\n'.join(self.status_for_deck(prefix, deck) + for prefix, deck in latest_decks.values()) message_embed = discord.Embed( title=f'Updated as of {datetime.now()}', description=message_text)