如何通过Telegram Bot API在消息中发送嵌入式图像和文本

时间:2016-07-31 15:40:21

标签: telegram telegram-bot

使用Telegram Bot API,

我知道可以通过https://core.telegram.org/bots/api#sendphoto

发送图片

但是,如何将远程图像嵌入格式化的信息中?

我希望发送的消息可以与新闻文章进行比较,该文章的标题为粗体,图片和带链接的较长文本。我想出了如何使用markdown创建粗体文本和链接,但我没有插入图像。我们怎么能这样做?

5 个答案:

答案 0 :(得分:23)

您必须在HTML中设置ParseMode并将Image Url设置为A标签:

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

&#8205; - &gt;永远不会在消息中显示

答案 1 :(得分:5)

您可以使用零宽度空间技巧。适用于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.",
];

结果:

enter image description here

注意:零宽度空间位于括号“[]”之间。

答案 2 :(得分:1)

使用http://.......jpg&gt; ..的方法将显示文本下方图像的预览。 像这样:

a href sample

如果您发送带有标题的图片,效果会更好。

caption sample

答案 3 :(得分:1)

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)

答案 4 :(得分:1)

你应该只添加标题

bot.send_video(user_id, video, caption='some interesting text')

在我们的例子中,标题是文本。 look this image