我正在尝试取消静音命令,但是出现错误,并且我不知道错误是什么。请帮我 discord.ext.commands.errors.CommandInvokeError:命令引发了异常:AttributeError:'str'对象没有属性'remove_roles'
@client.command()
async def unmute(ctx, member):
muted_role = discord.utils.get(ctx.guild.roles, name="Muted")
await member.remove_roles(muted_role)
await ctx.send("test")
答案 0 :(得分:0)
您可以在命令中设置参数类型:
async def unmute(ctx, member: discord.Member):
这将根据您在参数中给出的内容自动查找成员。如果未找到成员,它将抛出BadArgument
错误,您可以使用error
装饰器或on_command_error
事件来捕获该错误。
参考:
discord.Member
-为此,您需要在代码顶部import discord
。commands.BadArgument
Command.error
Bot.on_command_error()