Секретные записки WEB-программиста




100mbru, android, bitrix, CentOS, cms, drupal, java, joomla, LAMP, linux, mysql, nicru, Open-Source, php, Red Hat, seo, telegramm, Typo3, ubuntu, win, windows, авто, администрирование, алгоритмы, алкоголь, бизнес, видео, военмех, выборы, германия, джино, домены, интересности, исследования, картинки, кино, компьютеры, ливия, магазин, маразм, мастерхост, обработка-изображений, пейнтбол, политика, политэкономия, прикольное-видео, программирование, путешествия, работа, религия, рунет, сайтостроение, сео, сми, стат, технологии, украина, форум, хиханьки, холивары, хостинг

Отправка файлов и изображений в Telegram

11.01.2025
Screenshot (1).png

За отправку картинок и файлов отвечают два метода 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);