4

我按照他们关于下载图像的简短教程进行操作,但遇到了异常:

telegram.photosize.PhotoSize object at ... is not JSON serializable

捕获图像的函数如下所示:

def photo(bot, update):
    file_id = update.message.photo[-1]
    newFile = bot.getFile(file_id)
    newFile.download('test.jpg')
    bot.sendMessage(chat_id=update.message.chat_id, text="download succesfull")

photo_handler = MessageHandler(Filters.photo, photo)
dispatcher.add_handler(photo_handler)

在这一点上,我不知道我做错了什么,在网上找不到任何解决方案。

4

1 回答 1

6

原来我误解了数据形状。我最初认为该update.message.photo集合仅包含文件 ID。这导致我在尝试按 ID 获取文件时传递了错误类型的对象。为了提取文件 ID,我需要取出file_id最后一张照片:

file_id = update.message.photo[-1].file_id
于 2017-05-11T10:30:45.267 回答