【问题标题】:discord.py Handle discord.errors.Forbidden: 403 Forbidden (error code: 50013): Missing Permissionsdiscord.py 处理 discord.errors.Forbidden: 403 Forbidden (error code: 50013): Missing Permissions
【发布时间】:2020-11-15 15:52:18
【问题描述】:

我正在尝试处理此错误discord.errors.Forbidden: 403 Forbidden (error code: 50013): Missing Permissions

我知道当机器人被不和谐服务器中的角色静音并且机器人尝试发送消息(on_message)或命令时会出现错误。我只想在 python 终端中打印类似“权限错误”的内容。而不是写的大错误。 我试过这个:

from discord.ext.commands import MissingPermissions
async def on_command_error(ctx, error):
    if isinstance(error, CommandNotFound):
        return
    elif isinstance(error, (ConversionError, BadArgument)):
        await ctx.send("Respeta el formato del comando :eyes:")
        print("No se respetó el formato del comando ")

        return
    elif isinstance(error, MissingRequiredArgument):
        await ctx.send("Debes ingresar la cantidad, Ej : *bot blabla 250* :eyes:")
        return
    if isinstance(error, MissingPermissions):
        print("error de permisos ")
        return 
    if isinstance(error, commands.BotMissingPermissions) and "Missing Permissions" in str(error):
        print("error de permiso")
        return
    if isinstance(exception, commands.MissingPermissions):
        print("Blabla")
        return
    raise error

我写的其他错误得到了完美的处理,但我不能使用 missingPermissions。

【问题讨论】:

    标签: python discord.py


    【解决方案1】:

    尝试查看client.on_error。到目前为止,我已经看到,它是在 on_message 等事件期间出现错误时触发的。

    【讨论】:

      【解决方案2】:

      老实说,最好的办法是:

      @commandnamehere.error
      async def info_error(ctx, error):
          if isinstance(error, commands.CommandInvokeError):
              return
      

      当特定命令出错时它会做什么,你可以让它做任何事情,无论是打印它,向频道发送消息等等

      另外,请注意我在上例中的命令是 CommandInvokeError。您需要将其设置为您收到的错误。

      【讨论】:

      • 谢谢你,错误不在命令中,错误来自@client.event async def on_message(message)部分:你能举个例子吗?
      • 嘿,抱歉,我才看到这个。恐怕我对如何处理事件一无所知。如果我找到方法,我会认真考虑并回来
      猜你喜欢
      • 2022-10-09
      • 1970-01-01
      • 1970-01-01
      • 2019-11-11
      • 2020-07-22
      • 2018-12-31
      • 2015-08-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多