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

discord.py v2如何获取成员头像?旧版avatar_url属性报错如何解决?

问题原因

discord.py v2对用户、成员对象的头像相关属性做了破坏性变更,旧版本的avatar_url属性已被完全移除,需要通过新的API获取头像链接。

修正后可运行代码
@client.command(aliases=["av"])
async def avatar(ctx, *, avamember : discord.Member=None):
    # 未指定成员时默认使用指令调用者
    target_user = avamember if avamember else ctx.author
    # 优先取自定义头像,无自定义头像则取系统默认头像
    avatar_asset = target_user.avatar if target_user.avatar else target_user.default_avatar
    # 获取头像CDN链接
    user_avatar_url = avatar_asset.url
    embed2 = discord.Embed(title=f"{target_user}")
    embed2.set_image(url=user_avatar_url)
    await ctx.send(embed=embed2)
补充说明
  • 新的头像对象为discord.Asset类型,除了直接取url外,还可以调用with_size()方法指定返回头像的分辨率,比如avatar_asset.with_size(4096)可以获取4096*4096分辨率的高清头像。
  • 如果需要获取用户在服务器专属的头像,可以调用target_user.guild_avatar属性,该属性仅在用户设置了服务器专属头像时存在,否则为None。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 06:27:03