Search code examples
telegramtelegram-botphp-telegram-bottelegram-webhook

Upload file on Telegram with bot


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 ?


Solution

  • 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);