如何从电报机器人发送文件?

问题描述 投票:1回答:1

我正在编写Telegram机器人,我需要将文件发送给用户。我想得到file_id我想发送的文件。我关注this answer

要获得file_id,我应该将文件发送到我的Telegram机器人。问题是如何通过我的机器人发送文件到自己? (也许使用API​​?)

python bots telegram telegram-bot python-telegram-bot
1个回答
1
投票

没有You can send filesfile_id

发送文件有三种方式(照片,贴纸,音频,媒体等):

  • 如果文件已存储在Telegram服务器的某个位置,则无需重新上载:每个文件对象都有一个file_id字段,只需将此file_id作为参数传递而不是上传。以这种方式发送的文件没有限制。
  • 为Telegram提供要发送的文件的HTTP URL。电报将下载并发送文件。照片最大尺寸为5 MB,其他类型内容最大尺寸为20 MB。
  • 使用multipart / form-data以通常的方式发布文件,通过浏览器上传文件。照片最大尺寸为10 MB,其他文件最大尺寸为50 MB

只有在您之前已经将它发送给某人(使用URL或multipart / form-data)时,才能使用file_id


因此,如果您要发送的文件列表是预定义的,“静态”,您可以上传所有文件一次,获取他们的file_id(例如使用getUpdates方法),存储文件和它们各自的file_id之间的关联,最后您的机器人可以使用只有file_id与用户沟通。

另一方面,如果可能的文件列表不同,您只能通过URL或multipart / form-data发送文件。

© www.soinside.com 2019 - 2024. All rights reserved.