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) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_013VbAVsrZuYesea99mPMmPT
This commit is contained in:
Rene Arumetsa
2026-09-04 03:02:27 +03:00
parent 570d8b7cbd
commit ba044bf16f
4 changed files with 28 additions and 3 deletions

View File

@@ -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)