Is it possible to receive images (and store it on the server) which was sent by any user to the bot?
If a image was sent, I receive this JSON post. This is a link to the Telegram Bot-API description. I don’t know if it’s possible to receive the whole image or not: https://core.telegram.org/bots/api#available-types
{"update_id":XXXXX,
"message":{"message_id":2222,"from":{"id":XXXXX,"first_name":"Christoph","last_name":"XXXXX"},"chat":{"id":XXXXX,"first_name":"Christoph","last_name":"XXXXX"},"date":1435704055,"forward_from":{"id":XXXXX,"first_name":"Christoph","last_name":"XXXXX"},"forward_date":1435703471,"photo":[{"file_id":"AgADAgADmaoxG9KknwF4O978o3EMqb_EWSoABI5s-WWq46dqiR0AAgI","file_size":998,"width":51,"height":90},{"file_id":"AgADAgADmaoxG9KknwF4O978o3EMqb_EWSoABHax4HvxYqktiB0AAgI","file_size":9912,"width":180,"height":320},{"file_id":"AgADAgADmaoxG9KknwF4O978o3EMqb_EWSoABNzzDwp3sT2whx0AAgI","file_size":41020,"width":450,"height":800},{"file_id":"AgADAgADmaoxG9KknwF4O978o3EMqb_EWSoABE0Gg-AefJ7Yhh0AAgI","file_size":66058,"width":720,"height":1280}]}}
3
Answers
Telegram support download file now with
getFile
:You can see it in the api documentation: https://core.telegram.org/bots/api#getfile
It’s possible to download the image from Telegram server.
Do this:
1. Get the file using the
getFile
api2. Get the file path
//Create guzzle client
$guzzle_client = new GuzzleClient();
3. If using PHP use
Intervention/Image
to download the image and save it on your server.The accepted answer is fine. But here’s an answer in more detail. There are three main steps involved before you can get an actual image file. 1) Request from Telegram the
file_id
. 2) Load a Guzzle client. 3) Request from Telegram thefile_path
. Pay close attention to the different URL paths below.