【发布时间】:2021-09-05 19:15:02
【问题描述】:
我正在为我的 Discord.py 机器人创建信息命令。它还显示了用户拥有的角色。但它没有正确显示角色。
This is how it looks on Discord
我是如何做到的,所以它提到了角色,就像其他机器人一样。
这是我的代码:
async def info(ctx, member: discord.Member):
info_embed = discord.Embed(color=discord.Color.green())
info_embed.set_thumbnail(url=f"{member.avatar_url_as(format=None, static_format='webp', size=1024)}")
info_embed.add_field(name="Member:", value=f"{member.mention}", inline=False)
info_embed.add_field(name="Member name", value=f"{member}", inline=False)
info_embed.add_field(name="Member id:", value=f"{member.id}", inline=False)
info_embed.add_field(name="Nickname:", value=f"{member.nick}", inline=False)
info_embed.add_field(name="Joined at:", value=f"{member.joined_at}", inline=False)
info_embed.add_field(name="Roles:", value=f"{member.roles}", inline=False)
info_embed.set_footer(text="GG-GamerPub | auto-mod")
await ctx.send(embed=info_embed)
我尝试将其更改为:
member.roles.mention 但这不起作用。它给了我以下错误
raise CommandInvokeError(exc) from exc
discord.ext.commands.errors.CommandInvokeError: Command raised an exception: AttributeError: 'list' object has no attribute 'mention'
我怎样才能让它发挥作用?提前致谢
【问题讨论】:
-
当然是列表。实际上,用户可能有一个或多个角色,因此在列表中。您需要遍历列表并找到要 ping 的特殊角色。
标签: python discord discord.py