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

欢迎Embed中成员头像不显示,报AttributeError错误求助

解决Nextcord机器人欢迎消息头像显示报错问题

报错原因

出现AttributeError: 'Member' object has no attribute 'display_avatar_url'是因为Nextcord的Member对象没有display_avatar_url这个属性,正确获取用户头像URL的方式是调用display_avatar属性的url方法。

修改后的完整代码

if member.guild.id == 928443083660607549:
    # 获取"new"角色,增加容错判断
    new = nextcord.utils.get(member.guild.roles, name="new")
    if not new:
        print("未找到名为'new'的角色")
        return
    
    # 获取欢迎频道,增加容错判断
    channel = bot.get_channel(996767690091925584)
    if not channel:
        print("未找到指定ID的欢迎频道")
        return
    
    # 创建欢迎Embed
    embed = nextcord.Embed(title="welcome to ikari!", 
                          description="・make sure to read the rules in <#928443083698360397>\n・for more questions refer to <#928507764714651698>", 
                          color=0x303136)
    # 修复头像URL获取方式
    embed.set_author(name=f"{member.name}#{member.discriminator}", icon_url=member.display_avatar.url)
    
    # 处理服务器图标为空的情况
    if member.guild.icon:
        embed.set_thumbnail(url=member.guild.icon.url)
    
    await channel.send(f"{member.mention}!", embed=embed)
    await member.add_roles(new)

关键修改点

  • 替换member.display_avatar_url为member.display_avatar.url:这是Nextcord官方规定的获取用户当前显示头像URL的正确方式
  • 增加角色和频道的存在性判断:避免因角色/频道不存在导致机器人抛出异常崩溃
  • 增加服务器图标为空的判断:防止服务器未设置图标时出现报错

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.10 23:55:29