Upload file on Telegram with bot

Mahdi Asiyabi picture Mahdi Asiyabi · Apr 9, 2018 · Viewed 16.7k times · Source

I want to send file from URL to user with Telegram Bots, My files extension in .attheme but I can't upload this files from Url.

Currently I can upload .zip , .pdf, but i want upload a .attheme file from PHP code.

This bot can upload any type of files into Telegram: @uploadbot

How can I do this ?

Answer

Maak picture Maak · Apr 9, 2018

Sending a file by URL only works for certaining file types. If you want to upload other types of files you will have to post the file, after saving it on your own server, using multipart/form-data.

Sending by URL
In sendDocument, sending by URL will currently only work for gif, pdf and zip files. [doc]


Sending file in PHP

$filepath = realpath('folder/.attheme');
$post = array('chat_id' => $GLOBALS["chat_id"],'document'=>new CurlFile($filepath));    
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,"https://api.telegram.org/bot" . $GLOBALS["token"] . "/sendDocument");
curl_setopt($ch, CURLOPT_POST, 1);   
curl_setopt($ch, CURLOPT_POSTFIELDS, $post);
curl_exec ($ch);
curl_close ($ch);