我正在尝试做出一个简单的清除命令,如果该成员没有管理消息的权限,它会返回一条错误消息。
@bot.command()
@commands.has_permissions(manage_messages=True)
async def clear(ctx, amount=10):
await ctx.channel.purge(limit=amount)
答案 0 :(得分:0)
这可以解决问题。
@bot.command()
async def clear(ctx, amount = 10):
authorperms = ctx.author.permissions_in(ctx.channel)
if authorperms.manage_messages:
await ctx.channel.purge(limit=amount)
else:
await ctx.send("You don't have the permissions to do that!")
通过使用没有权限的人尝试使用命令时引发的异常,或者通过覆盖on_error方法但我不知道怎么做,可能是更好的方法。在您找到更好的解决方案之前,这应该可以为您解决问题。