From ba044bf16f661fb7fb13e4470e0742eaefcddda5 Mon Sep 17 00:00:00 2001 From: Rene Arumetsa Date: Fri, 4 Sep 2026 03:02:27 +0300 Subject: [PATCH] polish(economy): surface bank/lootbox/achievement stats in /stats and /adminview - /stats and /profile stats now show lootboxes opened and achievements unlocked alongside the best streak. - /adminview shows bank balance, achievements count, lootboxes opened, and any pending (escrowed) wager. Co-Authored-By: Claude Opus 4.8 (1M context) Claude-Session: https://claude.ai/code/session_013VbAVsrZuYesea99mPMmPT --- commands/economy_admin_commands.py | 12 ++++++++++++ commands/economy_profile_commands.py | 14 ++++++++++++-- strings/admin.py | 3 +++ strings/economy.py | 2 +- 4 files changed, 28 insertions(+), 3 deletions(-) diff --git a/commands/economy_admin_commands.py b/commands/economy_admin_commands.py index ad5f1de..61d26ea 100644 --- a/commands/economy_admin_commands.py +++ b/commands/economy_admin_commands.py @@ -211,17 +211,29 @@ def register_economy_admin_commands( prestige_pp = data.get("prestige_points", 0) total_fish = data.get("total_fish_caught", 0) inv_fish = len(data.get("fish_inventory") or []) + pw = data.get("pending_wager") or {} + wager_str = f"{pw.get('amount', 0):,} ({pw.get('kind')})" if pw.get("amount") else "-" embed = discord.Embed( title=S.ADMINVIEW_UI["title"].format(name=kasutaja.display_name), color=0x5865F2, ) embed.add_field(name=S.ADMINVIEW_UI["f_balance"], value=f"{data.get('balance', 0):,} {economy.COIN}", inline=True) + embed.add_field(name=S.ADMINVIEW_UI["f_bank"], value=f"{data.get('bank_balance', 0):,} {economy.COIN}", inline=True) embed.add_field(name=S.ADMINVIEW_UI["f_exp"], value=S.ADMINVIEW_UI["exp_val"].format(exp=f"{exp:,}", level=level), inline=True) embed.add_field(name=S.ADMINVIEW_UI["f_streak"], value=str(data.get("daily_streak", 0)), inline=True) embed.add_field(name=S.ADMINVIEW_UI["f_banned"], value=banned, inline=True) embed.add_field(name=S.ADMINVIEW_UI["f_jailed"], value=jailed, inline=True) embed.add_field(name=S.ADMINVIEW_UI["f_prestige"], value=S.ADMINVIEW_UI["prestige_val"].format(level=prestige_lvl, pp=prestige_pp), inline=True) embed.add_field(name=S.ADMINVIEW_UI["f_fish"], value=S.ADMINVIEW_UI["fish_val"].format(caught=total_fish, inv=inv_fish), inline=True) + embed.add_field( + name=S.ADMINVIEW_UI["f_extras"], + value=S.ADMINVIEW_UI["extras_val"].format( + ach=len(data.get("achievements_earned") or []), + lootboxes=data.get("lootboxes_opened", 0), + wager=wager_str, + ), + inline=True, + ) embed.add_field(name=S.ADMINVIEW_UI["f_items"], value=items_str, inline=False) embed.add_field(name=S.ADMINVIEW_UI["f_uses"], value=uses_str, inline=False) embed.add_field(name=S.ADMINVIEW_UI["f_last_daily"], value=data.get("last_daily") or "-", inline=True) diff --git a/commands/economy_profile_commands.py b/commands/economy_profile_commands.py index 9fbd4d2..34a6e76 100644 --- a/commands/economy_profile_commands.py +++ b/commands/economy_profile_commands.py @@ -155,7 +155,12 @@ def register_economy_profile_commands( ) embed.add_field( name=S.STATS_UI["records_field"], - value=S.STATS_UI["records_val"].format(streak=_s("best_daily_streak")), + value=S.STATS_UI["records_val"].format( + streak=_s("best_daily_streak"), + lootboxes=_s("lootboxes_opened"), + achievements=len(data.get("achievements_earned") or []), + ach_total=len(economy.ACHIEVEMENTS), + ), inline=True, ) return embed @@ -596,7 +601,12 @@ def register_economy_profile_commands( ) embed.add_field( name=S.STATS_UI["records_field"], - value=S.STATS_UI["records_val"].format(streak=_s("best_daily_streak")), + value=S.STATS_UI["records_val"].format( + streak=_s("best_daily_streak"), + lootboxes=_s("lootboxes_opened"), + achievements=len(data.get("achievements_earned") or []), + ach_total=len(economy.ACHIEVEMENTS), + ), inline=True, ) await interaction.response.send_message(embed=embed, ephemeral=True) diff --git a/strings/admin.py b/strings/admin.py index 7dd90f5..a4f1aaf 100644 --- a/strings/admin.py +++ b/strings/admin.py @@ -19,6 +19,9 @@ ADMINVIEW_UI: dict[str, str] = { "banned_yes": "🚫 JAH", "banned_no": "✅ Ei", "f_balance": "💰 Saldo", + "f_bank": "🏦 Pangas", + "f_extras": "🏅 Muu", + "extras_val": "Saavutusi: {ach}\nÕnnekaste: {lootboxes}\nOotel panus: {wager}", "f_exp": "📊 EXP / Tase", "f_streak": "🔥 Streak", "f_banned": "🚫 Keelatud", diff --git a/strings/economy.py b/strings/economy.py index e4c448c..2f21233 100644 --- a/strings/economy.py +++ b/strings/economy.py @@ -341,7 +341,7 @@ STATS_UI: dict[str, str] = { "social_field": "🤝 Sotsiaalne", "social_val": "Kingitud: {given}\nSaadud: {received}", "records_field": "🔥 Rekordid", - "records_val": "Pikim päevane streak: **{streak}** päeva", + "records_val": "Pikim päevane streak: **{streak}** päeva\n🎁 Õnnekaste avatud: **{lootboxes}**\n🏅 Saavutusi: **{achievements}/{ach_total}**", } # ---------------------------------------------------------------------------