打印错误代码不起作用(PyCharm,Python 3.8)



我在打印任何错误消息的Stackoverflow中发现了这段代码。但是它不会打印错误。只是说如果它是相关的,PyCharm说Bot没有属性AppInfo。

代码:

@bot.event
async def on_error(event, *args, **kwargs):
    embed = discord.Embed(title=':x: Event Error', colour=0xe74c3c)
    embed.add_field(name='Event', value=event)
    embed.description = '```pyn%sn```' % traceback.format_exc()
    embed.timestamp = datetime.datetime.utcnow()
    await bot.AppInfo.owner.send(embed=embed)

默认情况下,bot类没有AppInfo属性。要创建它,在on_ready()事件中包含属性:

@bot.event
async def on_ready():
    if not hasattr(bot, 'AppInfo'):
        bot.AppInfo = await bot.application_info()

这样做,它将在您的on_error事件中使用时可用。

我发现了另一个Stackoverflow问题(Discord.py-Rewrite发送错误消息时,有一个未知的命令或其他错误)的答案。看起来,没有必要像我的代码那样使命令复杂化。

最新更新