如何使用从用户上传的Telegram Bot API下载完整尺寸的照片

ela*_*ela 3 telegram telegram-bot php-telegram-bot

我正在研究电报机器人,我需要下载用户发送到机器人的照片,音频,视频.使用get file方法返回的唯一路径,我只获得一个缩略图.实际上,get file方法的唯一结果是包含一个非常小的文件大小值.我无法弄清楚问题出在哪里.照片通常作为照片(而不是文件)通过消息发送.

Mas*_*bin 6

首先,您应该将带有此API的照片下载到您的机器人

https://api.telegram.org/bot<token>/getfile?file_id={the file_id of the photo you want to download}
Run Code Online (Sandbox Code Playgroud)

然后它返回一个File的响应,该File有一个名为file_path的属性

然后使用file_path你可以使用这个下载完整尺寸的照片

https://api.telegram.org/file/bot<token>/<file_path>
Run Code Online (Sandbox Code Playgroud)

所有这些都基于此处的官方文档. 电报API文件

  • 哦耶!实际上有一个可供您选择的阵列,所有阵列都具有不同的分辨率。当您收到照片更新消息时,您实际上会收到一系列照片尺寸。从该数组中选择最大的一个并使用它的特定文件 ID (3认同)
  • 此方法仍然返回图像的“缩略图”版本 (2认同)