gpt4 book ai didi

python - Discord.py 重写自定义错误

转载 作者:太空宇宙 更新时间:2023-11-03 21:36:36 25 4
gpt4 key购买 nike

我对编码非常陌生,我想知道如何在这里实现“缺少开发角色”之类的自定义错误:

    @bot.command()
@commands.has_any_role("Temp.", "Owner")
async def sh(ctx):
await ctx.message.add_reaction(':true:508022488093949973')
await ctx.send("<a:siren:507952050181636098> `Shutting down` <a:siren:507952050181636098>")
await bot.logout()

我有一个像这样的简单处理程序

@bot.event
async def on_command_error(ctx, error):
await ctx.message.add_reaction(':false:508021839981707304')
await ctx.send("<a:siren:507952050181636098> `Invalid command` <a:siren:507952050181636098>")

但它总是只输出无效命令

最佳答案

您可以检查error的类来确定您正在处理的错误类型。如果将此与特定于命令的 error handler 配对,您可以编写一个响应来告诉用户他们缺少什么:

@sh.error
async def sh_error(ctx, error):
if isinstance(error, commands.CheckFailure):
await ctx.send("You do not have the correct roles Temp. or Owner")

@bot.event
async def on_command_error(ctx, error):
if not isinstance(error, commands.CheckFailure):
await ctx.message.add_reaction(':false:508021839981707304')
await ctx.send("<a:siren:507952050181636098> `Invalid command` <a:siren:507952050181636098>")

关于python - Discord.py 重写自定义错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53211414/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com