fix: reliably display user banner

This commit is contained in:
Codex 2025-06-05 07:24:05 +00:00 committed by Slipstream
parent ce231e1455
commit 61c671c19f
Signed by: slipstream
GPG Key ID: 13E498CE010AC6FD

View File

@ -167,6 +167,16 @@ class UserInfoCog(commands.Cog):
devices.append(f"Web {device_map.get(member.web_status, '')}")
device_status_str = ", ".join(devices) or "Offline"
# Banner asset (requires an additional API call)
banner_asset = member.banner
if banner_asset is None:
try:
fetched_user = await self.bot.fetch_user(member.id)
except discord.HTTPException:
fetched_user = None
if fetched_user:
banner_asset = fetched_user.banner
# --- UI Components v2 View ---
class UserInfoView(ui.LayoutView):
def __init__(self, target_member: discord.Member):
@ -178,10 +188,10 @@ class UserInfoCog(commands.Cog):
self.add_item(main_container)
# Banner
if target_member.banner:
if banner_asset:
banner_gallery = ui.MediaGallery()
banner_gallery.add_item(
media=target_member.banner.url,
media=banner_asset.url,
description="User Banner",
)
main_container.add_item(banner_gallery)