Как отправить картинку с текстом в телеграмм чат?
Код публикует пост в чат телеграм. Нужно в этот код добавить картинку по url в формате .svg одним постом
<?php
$comment = $_POST['comment']; //комментарий
$photo = $_POST['photo']; //url картинки
function parser($url){
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
$result = curl_exec($curl);
if($result == false){
echo "Ошибка отправки запроса: " . curl_error($curl);
return false;
}
else{
return true;
}
}
$message .= "текст html $comment ...";
$token = "7328529191:AAERCWqdc3vLRCWqdc3RCWqdc33M";
$chat_id = "-1002356546755";
$ch = curl_init('https://api.telegram.org/bot' . $token . '/sendMessage');
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $arrQuery);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HEADER, false);
$res = curl_exec($ch);
curl_close($ch);
parser("https://api.telegram.org/bot{$token}/sendMessage?chat_id={$chat_id}&parse_mode=html&disable_web_page_preview=True&text={$message}");
Ниже код скопировал из интернета, как его совместить с моим?
$arrayQuery = [
'chat_id' => 1424646511,
'caption' => 'Проверка работы',
'photo' => curl_file_create(__DIR__ . '/cat.jpg', 'image/jpg' , 'cat.jpg')
];
$ch = curl_init('https://api.telegram.org/bot'. $token .'/sendPhoto');
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $arrayQuery);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_HEADER, false);
$res = curl_exec($ch);
curl_close($ch);
Ответы (1 шт):
Автор решения: Solt
→ Ссылка
Ну, как-то так:
<?php
$comment = $_POST['comment']; //комментарий
$photo = $_POST['photo']; //url картинки
$message .= "текст html $comment ...";
$token = "7328529191:AAERCWqdc3vLRCWqdc3RCWqdc33M";
$chat_id = "-1002356546755";
$arrayQuery = [
'chat_id' => $chat_id,
'caption' =>$message,
'photo' => $photo,
//Если картинка в файле, то
//'photo' => curl_file_create('<путь к файлу>', 'image/jpg' , '<название файла>')
'parse_mode' => 'HTML',
];
$ch = curl_init('https://api.telegram.org/bot' . $token . '/sendPhoto');
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $arrayQuery );
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HEADER, false);
$res = curl_exec($ch);
curl_close($ch);
echo $res;
Рекомендую пойти вот сюда https://www.php.net/ и почитать (пару лет хватит).
А потом пойти вот сюда https://core.telegram.org/bots/api#sendphoto и поучить АПИ бота.
Без этого всё равно ничего не выйдет, а писать за вас вряд ли кто-то станет.
Даже chatGPT не справляется, как показывают постоянные посты.