Telegram бот на PHP: текст вверху, а картинка внизу сообщения
SeoLik

30 августа 2024, 16:53
348

Чтобы отправить большое сообщение (до 4096 символов) в телеграм бота, с картинкой внизу, используйте следующий код:

$bot_token = '99999999999:AFDSDSDSDS_nbdfdgDSFDSFGFbcvbfghdfhU'; // токен бота

$img = '<a href="https://seolik.ru/img_fon/2.jpg">&#8205;</a>'; // урл картинки в ссылке

$tg_url = '<a href="'.$url_post.'" target="_blank">'.$title.'</a>
'; // отступ нужен


$text = '<strong>Много текста, очень много...</strong> 
Много текста, очень много... 
Много текста, очень много... Много текста, очень много... \n Много текста, очень много... Много текста, очень много... Много текста, очень много... \n Много текста, очень много... Много текста, очень много... Много текста, очень много...';

$message = <<<TEXT
$img
$tg_url
$text
TEXT;

$params = array(
'chat_id' => '-1001442431172', // id получателя сообщения
'text' => $message, // сообщение
'parse_mode' => 'HTML',
'disable_web_page_preview' => false,
);

$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, 'https://api.telegram.org/bot' . $bot_token . '/sendMessage'); // адрес 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);