You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Discord.py:如何为成员获角色的Embed消息添加用户头像?

解决Discord.py Embed添加用户头像的问题

要给Embed添加获得角色用户的头像,直接通过Member对象的display_avatar.url属性就能获取到用户当前使用的头像URL(自定义头像或默认头像均可)。

修改后的完整代码如下:

@client.event
async def on_member_update(before: discord.Member, after: discord.Member):
    role = before.guild.get_role(xxxxxxx)
    channel = before.guild.get_channel(xxxxxx)
    gif_url = "xxxxx"
    if role not in before.roles and role in after.roles:
        embed = discord.Embed(color=discord.Color.from_rgb(28, 60, 128))
        # 设置Embed作者栏,包含用户昵称和头像
        embed.set_author(name=after.display_name, icon_url=after.display_avatar.url)
        embed.set_image(url=gif_url)
        await channel.send(f'<@{after.id}> **get role, cool!**', embed=embed)

关键说明

  • after.display_avatar.url:自动返回用户当前显示的头像永久URL,优先使用自定义头像,没有则返回系统默认头像。
  • after.display_name:获取用户在服务器中的显示名称(有昵称用昵称,无昵称用用户名),如果想直接用用户名,替换为after.name即可。

内容的提问来源于stack exchange,提问作者Flichendery

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.07 16:57:08