如何在"message.attachments"删除过程中处理"HTTPException raise"



我的自动审核包含一个@Cog.listener((,用于检查邮件附件中是否包含图像。如果是这样,它将自动被删除(以避免NSFW的东西(。

问题是,上面的事件触发了另一个监听器,如下所示:

@Cog.listener()
async def on_message_delete(self, message):
if not message.author.bot:
embed = Embed(title="Message deletion",
description=f"Action by {message.author.display_name}.",
colour=message.author.colour,
timestamp=datetime.utcnow())
fields = [("Content", message.content, False)]
for name, value, inline in fields:
embed.add_field(name=name, value=value, inline=inline)
await self.log_channel.send(embed=embed)

由于初始msg(附带img(不包含它引发的值";HTTPException:400错误请求";这也触发了我的错误处理程序。你可以在下面的链接中看到整个错误日志和我的错误处理程序:bin

几个小时以来,我一直在努力寻找一种方法来防止我的on_message_delete启动,但我一无所获。我真的不在乎删除的附件是否不会在我的日志中报告。我只是想防止错误被填充。

任何建议/想法都将不胜感激。提前感谢

message_content = message.content if message.content else "No Content"
fields = [("Content", f"{message_content}", False)]

以上适用于内容被删除的情况(因此是一个空字符串(

您正在尝试获取已删除消息的内容。这就是为什么你得到http错误。

最新更新