触发后删除命令

时间:2021-07-29 12:58:55

标签: python-3.x discord.py

最近我发现了一种选择是否应该删除触发器的新方法,就是这样:(需要将其放在 main.py 中)

@client.before_invoke  # Delete commands after trigger
async def delete_command(ctx):
    d_command = True  # True=Yes/False=No
    if d_command:
        await ctx.message.delete()
    else:
        return

但是我想为此创建一个例外(即使将 d_command 设置为 True,也不会删除特定命令) 示例:8ball 显然在这种情况下不应删除该命令

1 个答案:

答案 0 :(得分:0)

您可以检查 ctx.command.name 是否等于 '8ball' 然后就返回

@client.before_invoke  # Delete commands after trigger
async def delete_command(ctx):
    d_command = True  
    if ctx.command.name == "8ball":
        return
    elif d_command:
        await ctx.message.delete()

文档链接: