如果成员没有权限,如何显示错误消息?不和谐

时间:2020-02-16 07:15:11

标签: python discord discord.py discord.py-rewrite

我正在尝试做出一个简单的清除命令,如果该成员没有管理消息的权限,它会返回一条错误消息。

@bot.command()  
@commands.has_permissions(manage_messages=True)  
async def clear(ctx, amount=10):  
    await ctx.channel.purge(limit=amount)

1 个答案:

答案 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方法但我不知道怎么做,可能是更好的方法。在您找到更好的解决方案之前,这应该可以为您解决问题。