如何为 discord.py 上的特定角色发出命令

how to make command for specific role on discord.py

我想检查邮件作者是否有管理员角色来使用这个命令 在我的情况下,它总是给我错误,我知道代码不正确

 @client.command(pass_content=True)
    async def new(ctx, member:discord.Member, nick):
        role = author.get_role(name="Admin")
        if role in author.roles:
            await member.edit(nick=nick)
            await ctx.send(f"Nickname changed")

您可以在 @client.command

中使用 @commands.has_role("rolename")

像这样

@client.command(pass_content=True)
@commands.has_role("mod")
async def name(parameters):
   #your code

您可以使用@commands.has_role(role ID or name)

对于角色 ID:

@bot.command()
@commands.has_role(123123)
async def test(ctx):
   await ctx.send('It works!')

对于角色名称:

@bot.command()
@commands.has_role("role_name")
async def test(ctx):
   await ctx.send('It works!')

我强烈建议使用角色 ID,因为角色名称不是唯一的。