2017-05-11 13 views
1

私は、画像をダウンロードするには、その簡単なチュートリアルを追ったが、私は例外に遭遇しています:画像をキャッチするためダウンロードイメージのPython電報のAPI

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) 

でこの時点で私は何が間違っているのか分かりませんし、ネット上で解決策を見つけることができません。

答えて

2

私はデータの形状を誤解しています。もともと私は、update.message.photoコレクションはファイルIDだけを保持していると考えました。これはIDでファイルを取得しようとすると間違った種類のオブジェクトを渡すようになりました。ファイルIDを引き出すために、私は最後の写真オフfile_id取得するために必要:

file_id = update.message.photo[-1].file_id 
+0

が見てください[私は自分の質問に答えることはできますか?](http://stackoverflow.com/help/self-answer)、2日後に戻ってきて答えにチェックを入れてください。しかし、他のユーザーのためにいくつかの情報を追加してください。 –

関連する問題