我正尝试处理此错误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。
答案 0 :(得分:0)
老实说,最好的选择是做些类似的事情:
@commandnamehere.error
async def info_error(ctx, error):
if isinstance(error, commands.CommandInvokeError):
return
当特定命令出现错误时该怎么办,您可以使其执行任何操作,是否打印,向通道发送消息等
此外,请注意,上面示例中的命令为CommandInvokeError。您需要将其设置为收到的错误。
答案 1 :(得分:0)
尝试查看client.on_error。到目前为止,我已经看到,当on_message之类的事件发生错误时会触发该事件。