Telegram Bot APIを使用して、
https://core.telegram.org/bots/api#sendphoto で画像を送信できることを知っています。
しかし、リモートイメージをフォーマットされたメッセージにどのように埋め込むことができますか?
私が送信しようとしているメッセージは、太字のタイトル、画像、リンク付きの長いテキストのニュース記事と比較できます。マークダウンで太字のテキストとリンクを作成する方法を理解しましたが、画像の挿入に失敗しました。どうすればそれができますか?
hTMLでParseModeを設定し、次のようにAタグで画像URLを設定する必要があります。
<a href="' + image + '">‍</a>
‍
->メッセージに表示しない
ゼロ幅のスペーストリックを使用できます。 MarkdownモードとHTML解析モードの両方で機能します。
マークダウン:
$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.",
];
結果:
注:ゼロ幅のスペースは、角かっこ「[[]」の間にあります。
import requests
text="testing"
img="http://imageurl.png"
r = requests.get('https://api.telegram.org/botyour_token_here/sendMessage?chat_id=@your_channel_here&parse_mode=markdown&text='+"[]("+img+")"+text)
Http://.......jpg> ..を使用する方法では、テキストの下に画像のプレビューが表示されます。このような:
captionを使用して画像を送信すると、見栄えがよくなります。