我正在编码Telegram机器人,我需要将文件发送给用户。我要获取file_id
个要发送的文件。我正在关注this answer。
要获取file_id
,我应该将文件发送到我的Telegram机器人。问题是如何通过我的机器人将文件发送到自身? (也许正在使用API?)
答案 0 :(得分:0)
You can send files,不带file_id
:
有三种发送文件的方式(照片,贴纸,音频,媒体, 等)
- 如果文件已经存储在Telegram服务器上的某个位置,则无需重新上传该文件:每个文件对象都有一个file_id字段, 只需将此file_id作为参数传递,而不是上传。那里 这样发送的文件没有限制。
- 为电报提供要发送文件的HTTP URL。电报将下载并发送文件。照片最大大小为5 MB,最大大小为20 MB 其他类型的内容最多。
- 按照通常通过浏览器上传文件的方式,使用multipart / form-data发布文件。照片最大大小为10 MB,照片最大大小为50 MB 其他文件
仅当您之前已将file_id
发送给某人(使用URL或multipart / form-data)时,才能使用。{p>
因此,如果要发送的文件列表是预定义的“静态”,则可以一次上传所有文件,获取它们的file_id
(例如,使用getUpdates
方法),存储文件与其各自的file_id
之间的关联,最后您的漫游器只能使用file_id
与用户通信。
另一方面,如果可能的文件列表有所不同,则只能通过URL或multipart / form-data发送文件。