在Telegram Bot API中从DigitalOcean Spaces发送照片时,Telegram错误BadReq



我的电报机器人在通过DigitalOcean Spaces CDN发送图片时遇到问题。这里最令人沮丧的部分是,大多数图片都是在没有任何错误的情况下发送的,然而,一些特定的图片导致了Telegram Bot API的BadRequest 400错误。

这些图像在格式和元数据方面完全相同,但由于某种原因,Telegram拒绝加载其中一些图像(即使我向"损坏"的图像发送URL,Telegram也不会显示预览(。

这里最令人恶心的部分是;破碎的";当我将.cdn子域添加到URL时,图片被接受了,反之亦然——一些";破碎的";带有.cdn子域的图片如果我删除它,就会被接受。

  • OK图像(从我的显示个人帐户预览(

  • 损坏的图像(错误,从我的没有显示预览的个人帐户(。

  • 神奇地修复了损坏的图像(没有错误,显示预览,与之前相同,但URL中没有.cdn(

如果能提供任何解决问题的提示,我将不胜感激

因此,Telegram缓存照片URL中的响应(成功和不成功(。因此,如果由于某种原因,其中一个URL返回了非200响应,则该响应将被缓存,并且随后所有通过同一URL发送该图像的重试都将失败。

此答案包含有关如何更新缓存的信息。

最新更新