我正在尝试执行一个信息命令,如您所见,但是在角色部分中,我无法显示用户的角色。起初我做了一个有效的命令,但是它也显示了“ @everyone”角色,所以我做了一个删除它的字符串(mention.remove("everyone")
),但是它不起作用,它给出了这个错误:
Command raised an exception: ValueError: list.remove(x): x not in list
我也尝试用“ @everyone”替换“ everyone”,但仍然无法正常工作。
@client.command()
async def info(ctx, user: discord.Member):
mention = []
for role in user.roles:
mention.append(role.mention)
mention.remove("everyone")
b = ", ".join(mention)
embed = discord.Embed(title="Info:", description=f"Info of: {user.mention}", color=discord.Color.orange())
embed.add_field(name="Top role:", value=user.top_role)
embed.add_field(name="Roles:", value=b)
await ctx.send(embed=embed)
您可以只使用一条if
语句来检查角色的名称是否为@everyone
。
@client.command()
async def info(ctx, user: discord.Member):
mention = []
for role in user.roles:
if role.name != "@everyone":
mention.append(role.mention)
b = ", ".join(mention)
embed = discord.Embed(title="Info:", description=f"Info of: {user.mention}", color=discord.Color.orange())
embed.add_field(name="Top role:", value=user.top_role)
embed.add_field(name="Roles:", value=b)
await ctx.send(embed=embed)
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句