feat: Add user badges display in UserInfoCog for enhanced user profile information

This commit is contained in:
pancakes-proxy 2025-06-03 04:13:09 +09:00
parent 6ab23ccdb8
commit a2c086998a

View File

@ -70,12 +70,42 @@ class UserInfoCog(commands.Cog):
roles_str = ", ".join(roles) if roles else "None"
else:
roles_str = "None"
# Badges
badge_map = {
"staff": "Discord Staff 🛡️",
"partner": "Partner ⭐",
"hypesquad": "HypeSquad Event 🏆",
"bug_hunter": "Bug Hunter 🐛",
"hypesquad_bravery": "Bravery 🦁",
"hypesquad_brilliance": "Brilliance 🧠",
"hypesquad_balance": "Balance ⚖️",
"early_supporter": "Early Supporter 🕰️",
"team_user": "Team User 👥",
"system": "System 🤖",
"bug_hunter_level_2": "Bug Hunter Level 2 🐞",
"verified_bot": "Verified Bot 🤖",
"verified_developer": "Early Verified Bot Dev 🛠️",
"discord_certified_moderator": "Certified Mod 🛡️",
"active_developer": "Active Developer 🧑‍💻"
}
user_flags = getattr(user_obj, 'public_flags', None)
badges = []
if user_flags:
for flag in badge_map:
if getattr(user_flags, flag, False):
badges.append(badge_map[flag])
badge_str = ", ".join(badges) if badges else ""
if member.id == 1141746562922459136:
badge_str = (badge_str + ", " if badge_str else "") + "Bot Developer 🛠️"
# Embed
embed = discord.Embed(
title=f"User Info: {member.display_name}",
color=member.color if hasattr(member, 'color') else discord.Color.blurple(),
description=f"Profile of {member.mention}"
)
if badge_str:
embed.add_field(name="Badge", value=badge_str, inline=False)
if banner_url:
embed.set_image(url=banner_url)
embed.set_thumbnail(url=member.display_avatar.url)