Python 如果有成员角色,则禁用命令

Python 如果有成员角色,则禁用命令,python,discord,discord.py,Python,Discord,Discord.py,我的静音命令不工作,即使我在频道和权限中有所有设置。如何覆盖成员角色 @client.command(aliases=['m']) @commands.has_permissions(kick_members = True) async def mute(ctx, member : discord.Member): muted_role = ctx.guild.get_role(muted role id) await member.add_roles(muted_role)

我的静音命令不工作,即使我在频道和权限中有所有设置。如何覆盖成员角色

@client.command(aliases=['m'])
@commands.has_permissions(kick_members = True)
async def mute(ctx, member : discord.Member):
    muted_role = ctx.guild.get_role(muted role id)

    await member.add_roles(muted_role)
    await ctx.send(member.mention +" has been muted")

您将无法覆盖该角色,但可以删除该角色。将成员角色替换为静音角色。但成员角色具有查看频道的权限

@commands.has_permissions(kick_members = True)
async def mute(ctx, member : discord.Member):
    muted_role = ctx.guild.get_role(muted role id)
    member_role = ctx.guild.get_role(member role id)

    await member.add_roles(muted_role)
    await member.remove_roles(member_role)
    await ctx.send(member.mention +" has been muted")
如果要执行取消静音命令,只需执行相反的操作

@client.command(aliases=['um'])
@commands.has_permissions(kick_members = True)
async def unmute(ctx, member : discord.Member):
    muted_role = ctx.guild.get_role(muted role id)
    member_role = ctx.guild.get_role(member role id)

    await member.remove_roles(muted_role)
    await member.add_roles(member_role)
    await ctx.send(member.mention +" has been unmuted")

是的,因为我自己一直在寻找这个答案,直到我找到了答案,我想把它贴在这里,这样如果其他人不知道,就可以知道答案@Ukaszkwiecinski。此外,它是和选项在StackOverflow回答您自己的问题lol