如何制作适当的静音命令,在取消静音时静音并在静音时取消静音

时间:2020-12-19 13:12:58

标签: python discord.py

@client.command()
@commands.has_permissions(manage_messages=True)
async def mute(ctx, member: discord.Member):
    role = discord.utils.get(member.guild.roles, name='Muted')
    if member.has_roles(role):
        await ctx.send(f'{member.nick} has been unmuted!')
        await member.remove_roles(role)
    else:
        await ctx.send(f'{member.nick} has been muted!')
        await member.add_roles(role)

所以我在这里尝试了这段代码。我认为它会起作用,因为我在这里没有看到错误。 但是当我尝试它时,bot 给了我这个错误。discord.ext.commands.errors.CommandInvokeError: Command raised an exception: AttributeError: 'Member' object has no attribute 'has_roles' 我有点在网上查找它,但我找不到任何有用的东西。

1 个答案:

答案 0 :(得分:1)

基于 the documentation,我建议:

if role in member.roles: