постинг в Телеграм на PHP текста html и изображения к нему. все в одном

12
Genius Ideaing
На сайте с 12.02.2024
Offline
40
635

Здравствуйте.

настроил постинг на PHP красивых текстов html разметке в свой канал Телеграм.

но захотелось внедрить в этот постинг картинку. 

и хоть убейте в интернете нет путевого примера как это сделать.

чатGPT подсказал такой скрипт:


<?php


$token = "ваш_токен_бота";

$chat_id = "ID_чата";


$url = "https://api.telegram.org/bot" . $token . "/sendMessage";


$message = "<b>Пример сообщения с форматированием HTML</b>";


$post_fields = array(

    'chat_id' => $chat_id,

    'text' => $message,

    'parse_mode' => 'HTML'

);


$ch = curl_init();

curl_setopt($ch, CURLOPT_URL, $url);

curl_setopt($ch, CURLOPT_POST, 1);

curl_setopt($ch, CURLOPT_POSTFIELDS, $post_fields);

curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);

$response = curl_exec($ch);

curl_close($ch);


// Получаем ID сообщения

$response = json_decode($response, true);

$message_id = $response['result']['message_id'];


// Отправляем изображение

$url = "https://api.telegram.org/bot" . $token . "/sendPhoto";


$post_fields = array(

    'chat_id' => $chat_id,

    'photo' => new CURLFile("путь_к_изображению"),

    'caption' => "Подпись к изображению",

    'reply_to_message_id' => $message_id

);


$ch = curl_init();

curl_setopt($ch, CURLOPT_HTTPHEADER, ["Content-Type:multipart/form-data"]);

curl_setopt($ch, CURLOPT_URL, $url);

curl_setopt($ch, CURLOPT_POST, 1);

curl_setopt($ch, CURLOPT_POSTFIELDS, $post_fields);

curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);

$response = curl_exec($ch);

curl_close($ch);


echo $response;


?>

Качественный хостинг с саппортом: https://clck.ru/3DKmVu / Есть Идеи! Ищу хороших людей для практической реализации этих идей! Мой Телеграм: https://clck.ru/396JFF
Genius Ideaing
На сайте с 12.02.2024
Offline
40
#1

тут как бы отправляется красивое html размеченное большое сообщение.

а потом досылается картинка, 

но когда я использую этот код , картинка приходит после текстового поста. а не внедряется в отправленное ранее сообщение 

как по коду видно....

определяется message id в чате канала..

$response = json_decode($response, true);

$message_id = $response['result']['message_id'];

и потом 

картинка должна интегрироваться в это сообщение чата

    'reply_to_message_id' => $message_id

но этого не происходит

как я уже сказал... картинка приходит в канал телеграм отдельным сообщением.

Genius Ideaing
На сайте с 12.02.2024
Offline
40
#2

подскажите пожалуйста...

кто делал такое в телеграм на PHP

как добавлять картинку в пост html сообщения в чате канала?

lutskboy
На сайте с 22.11.2013
Offline
180
#3
sendPhoto method
lutskboy
На сайте с 22.11.2013
Offline
180
#4
lutskboy #:
sendPhoto method
                $request = [
                        'chat_id' => TG_CHAT_ID,
                        'parse_mode' => 'HTML',
                        'caption' => trim($tg_text)
                ];

$request[' photo '] = curl_file_create(/full/path/to/image);

E
На сайте с 10.02.2024
Online
10
#5

Вам нужен только код начиная с:

// Отправляем изображение

Текст к картинке добавляете сюда:

'caption' => "Подпись к изображению",

И вот эти строки в начале оставьте:

$token = "ваш_токен_бота";

$chat_id = "ID_чата";
Genius Ideaing
На сайте с 12.02.2024
Offline
40
#6
Eddgar #:

Вам нужен только код начиная с:

// Отправляем изображение

Текст к картинке добавляете сюда:

И вот эти строки в начале оставьте:

в поле caption добавляется только простой текст. без html оформления.

и он ограничен 100 символами. не пойдет это.

нужен полноценный пост в телеграм текста с html разметкой, допустимой Телеграм (как то <a>,  <b>, и т.д.) и чтобы этот пост еще имел и картинку в верхней части...

кто умеет?

Genius Ideaing
На сайте с 12.02.2024
Offline
40
#7
lutskboy #:
sendPhoto method

этот способ отправки картинки в телеграм подразумевает отправку только картинки и небольшого без html оформления текста - подписи к картинке.

подпись (caption) ограничена 100 символами.

а если SendMessage делать.. там что то более 1000 знаков можно отправлять. как бы не 4000 знаков

вы разницу понимаете?

D.iK.iJ
На сайте с 26.05.2013
Offline
229
#8
Genius Ideaing #:
вы разницу понимаете?

А в Телеге разве не так? Ну, в самой. Когда отправляешь картинку, то можешь только подпись добавить. Разве там будет какое-то оформление еще?

Адаптивный дизайн в 2 строчки ( https://dikij.com/wm/adaptaciya-saytov.php ). + Принимаю заказы любой сложности ( https://searchengines.guru/ru/forum/926323 ). 💎 Еще я делаю классные кулоны с опалами ( https://mosaicopal.ru/ ).
Genius Ideaing
На сайте с 12.02.2024
Offline
40
#9
D.iK.iJ #:
Разве там будет какое-то оформление еще?

вот так я хочу


Genius Ideaing
На сайте с 12.02.2024
Offline
40
#10

видите?

вверху картинка...

а потом форматированный html текст... с ссылками, и прочими прибабахами.....

12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий