移除头像输出时ctx.author.avatar_url失效,如何获取执行命令用户头像?
问题根源:你使用的
ctx.author.avatar_url是Discord.py旧版本(v1.x)的属性,在v2.x及以上版本中已被移除,调用时会报错;另外如果用户未设置自定义头像,直接获取头像属性会返回空值,也会导致图标无法显示。修复后的代码:
# 优先使用用户自定义头像,无自定义头像则使用Discord默认头像 avatar_link = ctx.author.avatar.url if ctx.author.avatar else ctx.author.default_avatar.url emb.set_footer(text='Был забанен администратором {}'.format(ctx.author.name), icon_url=avatar_link)
- 关键说明:
ctx.author.avatar:获取用户的自定义头像对象,通过.url可得到可用的头像链接ctx.author.default_avatar:获取用户的Discord默认头像对象,同样通过.url获取链接
修改后,无论用户是否设置了自定义头像,Embed页脚的头像都能正常显示。
内容的提问来源于stack exchange,提问作者akmal mine
相关产品推荐
相关产品推荐

