Отправка файлов и изображений в Telegram
11.01.2025За отправку картинок и файлов отвечают два метода Telegram API: sendPhoto() и sendDocument().
Чтобы добавить текст к картинке, нужно использовать параметр caption, у которого есть ограничение до 1024 символов. Обратите внимание, текст может быть в формате HTML, т.е можно добавить ссылки в надпись. Дополнительный параметр protect_content запрещает сохранение и пересылку изображения, по умолчанию он отключен.
Отправка изображения по URL
$bot_token = '99999999999:AFDSDSDSDS_nbdfdgDSFDSFGFbcvbfghdfhU'; // токен бота $url_post = 'https://seolik.ru'; // URL вашей страницы $title = 'Анкор ссылки'; // Текст анкора ссылки $des = 'Любой текст до 1024 символов'; $text_tg = mb_strimwidth($des, 0, 1000, "..."); // обрезаем текст // параметры, которые отправятся в api телеграмм $params = array( 'chat_id' => '-1001442431172', // id получателя сообщения 'photo' => $img, 'caption' => $text_tg, // текст надписи 'protect_content' => false, // значение true или false 'parse_mode' => 'HTML', // режим отображения сообщения ); // параметры, которые отправятся в api телеграмм $curl = curl_init(); curl_setopt($curl, CURLOPT_URL, 'https://api.telegram.org/bot' . $bot_token . '/sendPhoto'); // адрес api телеграмм curl_setopt($curl, CURLOPT_POST, true); // отправка данных методом POST curl_setopt($curl, CURLOPT_TIMEOUT, 20); // максимальное время выполнения запроса curl_setopt($curl, CURLOPT_CONNECTTIMEOUT,20); curl_setopt($curl, CURLOPT_POSTFIELDS, $params); // параметры запроса curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); curl_setopt($curl, CURLOPT_HEADER, false); curl_setopt($curl, CURLOPT_IPRESOLVE, CURL_IPRESOLVE_V4); curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false); curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false); $result = curl_exec($curl); // запрос к api curl_close($curl);
Отправка локальных изображений
$bot_token = '99999999999:AFDSDSDSDS_nbdfdgDSFDSFGFbcvbfghdfhU'; // токен бота $url_post = 'https://seolik.ru'; // URL вашей страницы $title = 'Анкор ссылки'; // Текст анкора ссылки $des = 'Любой текст до 1024 символов'; $img = __DIR__ .'/img/cats.jpg'; // картинка $text_tg = mb_strimwidth($des, 0, 1000, "..."); // обрезаем текст // параметры, которые отправятся в api телеграмм $params = array( 'chat_id' => '-1001442431172', // id получателя сообщения 'photo' => new CURLFile($img), // путь к картинке 'caption' => 'Локальная картинка на сайте', // текст надписи 'protect_content' => false, // значение true или false 'parse_mode' => 'HTML', // режим отображения сообщения ); // параметры, которые отправятся в api телеграмм $curl = curl_init(); curl_setopt($curl, CURLOPT_URL, 'https://api.telegram.org/bot' . $bot_token . '/sendPhoto'); // адрес api телеграмм curl_setopt($curl, CURLOPT_POST, true); // отправка данных методом POST curl_setopt($curl, CURLOPT_TIMEOUT, 20); // максимальное время выполнения запроса curl_setopt($curl, CURLOPT_CONNECTTIMEOUT,20); curl_setopt($curl, CURLOPT_POSTFIELDS, $params); // параметры запроса curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); curl_setopt($curl, CURLOPT_HEADER, false); curl_setopt($curl, CURLOPT_IPRESOLVE, CURL_IPRESOLVE_V4); curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false); curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false); $result = curl_exec($curl); // запрос к api curl_close($curl);
Отправка файлов
$bot_token = '99999999999:AFDSDSDSDS_nbdfdgDSFDSFGFbcvbfghdfhU'; // токен бота $url_post = 'https://seolik.ru'; // URL вашей страницы $title = 'Анкор ссылки'; // Текст анкора ссылки $des = 'Любой текст до 1024 символов, который можно проверить на уникальность'; $file = __DIR__ .'/img/cats.jpg'; // URL файла $text_tg = mb_strimwidth($des, 0, 1000, "..."); // обрезаем текст // параметры, которые отправятся в api телеграмм $params = array( 'chat_id' => '-1001442431172', // id получателя сообщения 'document' => new CURLFile($file), // путь к файлу 'caption' => 'Файл картинка', // текст надписи 'parse_mode' => 'HTML', // режим отображения сообщения ); // параметры, которые отправятся в api телеграмм $curl = curl_init(); curl_setopt($curl, CURLOPT_URL, 'https://api.telegram.org/bot' . $bot_token . '/sendDocument'); // адрес api телеграмм curl_setopt($curl, CURLOPT_POST, true); // отправка данных методом POST curl_setopt($curl, CURLOPT_TIMEOUT, 20); // максимальное время выполнения запроса curl_setopt($curl, CURLOPT_CONNECTTIMEOUT,20); curl_setopt($curl, CURLOPT_POSTFIELDS, $params); // параметры запроса curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); curl_setopt($curl, CURLOPT_HEADER, false); curl_setopt($curl, CURLOPT_IPRESOLVE, CURL_IPRESOLVE_V4); curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false); curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false); $result = curl_exec($curl); // запрос к api curl_close($curl);




