首页 > 解决方案 > 无法通过 Telgram bot API 的 send_photo 方法发送高分辨率照片

问题描述

在 python 中使用电报 bot api,我正在使用文件发送照片。

  1. 首先,我从一个网址获取照片。
  2. 将照片保存到磁盘。(全分辨率)
  3. 读取文件并将其传递给bot.send_photo
  4. 获取file_id返回Message对象中包含的内容并保存。
  5. 下次我通过file_id新的/命令发送。

第一个请求:

file = open(get_filename(), 'rb')  
msg = context.bot.send_photo(chat_id, file, caption=None)  
fileid = msg.photo[len(msg.photo)-1].file_id

第二次及以后...

context.bot.send_photo(chat_id, photo=get_fileid(), caption=None)
context.bot.send_message(chat_id, text=EXPLANATION)

这里文件 ID 表示PhotoSize数组中可用的最高分辨率文件 ID。

在此处输入图像描述

这是文件ID:AgACAgQAAxkDAAIBMmAK636SiNEGCA8UILZ55gVppXfqAAIytjEbqp1RUJwNFOjmz7N6ZoHuJ10AAwEAAwIAA3cAAwRjBAABHgQ

问题:我在机器人聊天中收到 1k 分辨率的照片。请告知我在这里缺少什么。

标签: telegram-botpy-telegram-bot-apitelegram-api

解决方案


推荐阅读