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:
@@ -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)
|
||||
|
||||
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user