How to download full size photo using Telegram Bot API uploaded from user
Asked Answered
D

1

5

I'm working on a telegram bot and I need to download photo, audio, video sent by user to the bot. Using the only path returned by the get file method I only get a thumbnail. In fact the only result of the get file method contains a really tiny value for the file size. I can't figure out where the problem is. The photos are normally sent by message as photo (not as file).

Drawshave answered 20/8, 2016 at 9:2 Comment(1)
Possible duplicate of How to get photo in real size (not thumb) from telegram?Claudiaclaudian
S
9

first you should download the photo with this api to your bot

https://api.telegram.org/bot<token>/getfile?file_id={the file_id of the photo you want to download}

then it returns you a response of a File which has an attribute named file_path

then using the file_path you can download the photo full size using this

https://api.telegram.org/file/bot<token>/<file_path>

all of this is based on official documentation found here . Telegram API Doc

Shadrach answered 21/8, 2016 at 20:29 Comment(4)
This method still returns me a "thumbnail" version of an imageLandri
I faced with same issue, Telegram resizing sent gifs max width/heigh to 320. FileSize from thumb and "original" the same, but width/height are different... Did you solve it, @EliDavis?Biometry
oh yeah! there's actually an array you select from, all with varying resolutions. When you receive a message update that's a photo, you actually receive an array of photo sizes. Pick the biggest one from that array and use it's specific file IDLandri
The hash has a SLIGHT change in it. I've been thinking they were the same for HOURS and always picked [0]. Thanks!Entertaining

© 2022 - 2025 — McMap. All rights reserved.