我有同样的问题。我想创建一个机器人,它发送由滑雪场的网络摄像头拍摄的图像(webcam.example.com/image.jpg)。不幸的是,文件名和 URL 永远不会更新,电报总是发送缓存的图像。所以我决定改变传递给 api 的 url。为了实现这一点,我编写了一个简单的 php 站点(example.com/photo.php),它重定向到照片的原始 url。之后,我在我的网站空间上创建了一个文件夹 (example.com/getphoto/),其中包含一个 .htaccess 文件。.htaccess 将此文件夹中的所有请求重定向到 photo.php 站点,该站点重定向到图像 (webcam.example.com/image.jpg)。因此,您可以将所有内容添加到文件夹的 url 并仍然获取图片(例如 example.com/getphoto/42 或 example.com/getphoto/hrte8437g)。电报 api 似乎通过 url 缓存照片,因此,如果您总是在传递给 api 的 url 中添加另一个结尾,则电报不会使用缓存版本而是发送当前图像。始终更改 url 的最简单方法是将当前日期添加到其中。
example.com/photo.php
<?php
header("Location: http://webcam.example.com/image.jpg");
die();
?>
example.com/getphoto/.htaccess
RewriteEngine on
RewriteRule ^(.*)$ http://example.com/photo.php
在蟒蛇中:
bot.sendPhoto(chat_id, 'example.com/getphoto/' + strftime("%Y-%m-%d_%H-%M-%S", gmtime()))
此解决方法也应该适用于其他语言,如 java 或 php。您只需要更改获取当前日期的方式。