Блог Фрилансера
19 бер. 2019 р.
Надсилання будь-яких файлів Telegram bot API
Телеграм за замовчуванням за посиланням може приймати лише 3 типи файлів JPG PDF MP4 зокрема метод sendDocument.
Щоб надіслати будь-який файл, потрібно передавати параметри файлу.
Нижче представлено функцію, яка надсилає файли будь-якого типу.
// $file_url-можна передавати url будь-якого файлу до 50 МБ
//$token - token бота
//$chatID - ID чату куди відправляємо файл
function SendTelFile($file_url,$token,$chatID) {
$ ch = curl_init ($ file_url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_HEADER, false);
$html = curl_exec($ch);
curl_close($ch);
file_put_contents(basename($file_url), $html);
$ curl = curl_init ();
curl_setopt_array($curl, [
CURLOPT_URL => 'https://api.telegram.org/bot'.$token.'/sendDocument?caption=Вкладення&chat_id='.$chatID,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => [
'Content-Type: multipart/form-data'
],
CURLOPT_POST => true,
CURLOPT_POSTFIELDS => [
'document' => curl_file_create(basename($file_url), mime_content_type(basename($file_url)), basename($file_url))
]
]);
$ data = curl_exec ($ curl);
curl_close ($ curl);
}