Как отправить встроенное изображение вместе с текстом в сообщении через Telegram Bot API

Использование Telegram Bot API,

Я знаю, что можно отправить изображение через https://core.telegram.org/bots/api#sendphoto

Однако, как я могу вставить удаленное изображение в форматированное сообщение?

Сообщение, которое я хочу отправить, можно сравнить с новостной статьей с выделенным жирным шрифтом, изображением и более длинным текстом со ссылками. Я понял, как создать жирный текст и ссылки с уценкой, но я не могу вставить изображения. Как мы можем это сделать?

Ответ 1

вы должны установить ParseMode в HTML и установить свой URL-адрес изображения в теге A следующим образом:

<a href="' + image + '">&#8205;</a>

&#8205; → никогда не показывать в сообщении

Ответ 2

Вы можете использовать трюк с нулевой шириной. Работает как в режиме разметки, так и в режиме анализа HTML.

Markdown:

$data = [
    'chat_id'    => $chat_id,
    'parse_mode' => 'markdown',
    'text' => "[​​​​​​​​​​​](https://upload.wikimedia.org/wikipedia/commons/thumb/0/02/Stack_Overflow_logo.svg/200px-Stack_Overflow_logo.svg.png) Some text here.",
];

Результат:

enter image description here

Примечание. Пробел нулевой ширины находится в скобках "[]".

Ответ 3

Метод с использованием http://.......jpg > .. покажет предварительный просмотр изображения под текстом. Вот так:

образец href

Это будет выглядеть лучше, если вы отправите изображение с заголовком.

образец заголовка

Ответ 4

import requests

text="testing"

img="https://media.discordapp.net/attachments/558392682309746690/627791436796002305/Positions_Kite_31.png"    

r = requests.get('https://api.telegram.org/botyour_token_here/[email protected]_channel_here&parse_mode=markdown&text='+"[​​​​​​​​​​​]("+img+")"+text)