记录已删除邮件时,如何可靠地记录已删除的图像附件?

2024-06-17 15:29:13 发布

您现在位置:Python中文网/ 问答频道 /正文

因此,我的当前事件侦听器可以很好地记录已删除的消息,我现在遇到的问题是,如果已删除的消息具有图像附件,则大多数情况下,它将无法正确显示,因为无法再访问图像url。您将永远看到不和谐的加载图像

我想问一下,是否有一种方法可以始终如一地显示已删除的图像。我已经看到另一个discord机器人毫无疑问地显示了这些图像,所以这一定是可能的,但我不知道怎么做。也许可以下载并重新上传图片

这就是我现在拥有的:

 @commands.Cog.listener()
 async def on_message_delete(self, message):

     #some code....

     if message.attachments:
        if len(message.attachments) == 1:
            if message.attachments[0].url.endswith(('.jpg', '.png', '.jpeg', '.gif')):
                embed.set_image(url=message.attachments[0].url)
            else:
                embed.add_field(name="Attachment", value=message.attachments[0].url)
        
     #some more code

提前谢谢,非常感谢您的帮助


Tags: 方法图像消息urlmessage附件if记录
1条回答
网友
1楼 · 发布于 2024-06-17 15:29:13

我刚刚做了一个快速的实验,研究了另一个机器人是如何做到这一点的,我相信我已经为您找到了一个解决方案。发送图像时,其URL位于discordapp.com的CDN子域上。删除后,它将从此位置删除,但您仍然可以通过media.discordapp.net访问它

例如: https://cdn.discordapp.com/attachments/836128641808990239/855081455420047360/d46d2f3581fe4b335539669da5853ec3.jpghttps://media.discordapp.net/attachments/836128641808990239/855081348220583956/d46d2f3581fe4b335539669da5853ec3.jpg

它们都是相同的图像,但bot会记录第二个URL。希望这能有所帮助

相关问题 更多 >