如何使用 caption/text 发送电报 mediaGroup
How to send telegram mediaGroup with caption/text
我目前正在使用 python-telegram-bot,基本上我想用它实现的是发送这样的电报消息:
所以消息由 2+ photos/videos 和下面的文本消息组成。
我已经尝试过的:
用send_message方式发送消息,包括图片网址,但只显示1张图片在正文下方
正在使用 send_media_group, but this method has no caption
parameter as send_photo.
发送媒体组
你应该使用 sendMediaGroup, where you can specify media
field with an array of photo/video objects 但诀窍是设置 caption
属性 仅 数组的第一个元素 .在这种情况下,telegram 将在媒体内容下方显示标题。
如果您为多个元素指定标题,只有当您分别单击每张照片的照片预览时,电报才会显示它们。
send_media_group
有效,但在创建 media_group
时必须添加标题,并且只能添加到第一张图片。假设我们有三个图像 img0.png
、img1.png
和 img2.png
,我们使用 InputMediaPhoto
将它们添加到 media_group
,参数 caption
等于我们只想为第一张图片发送的文本,否则我们将 caption
设置为 ''
.
import telegram
from telegram import InputMediaPhoto
TOKEN = '' # token to access the HTTP API of your bot created with @BotFather
CHANNEL_ID = '' # id of your channel, for example @durov
bot = telegram.Bot(token = TOKEN)
media_group = []
text = 'some caption for album'
for num in range(3):
media_group.append(InputMediaPhoto(open('img%d.png' % num, 'rb'),
caption = text if num == 0 else ''))
bot.send_media_group(chat_id = CHANNEL_ID, media = media_group)
我目前正在使用 python-telegram-bot,基本上我想用它实现的是发送这样的电报消息:
所以消息由 2+ photos/videos 和下面的文本消息组成。
我已经尝试过的:
用send_message方式发送消息,包括图片网址,但只显示1张图片在正文下方
正在使用 send_media_group, but this method has no
caption
parameter as send_photo. 发送媒体组
你应该使用 sendMediaGroup, where you can specify media
field with an array of photo/video objects 但诀窍是设置 caption
属性 仅 数组的第一个元素 .在这种情况下,telegram 将在媒体内容下方显示标题。
如果您为多个元素指定标题,只有当您分别单击每张照片的照片预览时,电报才会显示它们。
send_media_group
有效,但在创建 media_group
时必须添加标题,并且只能添加到第一张图片。假设我们有三个图像 img0.png
、img1.png
和 img2.png
,我们使用 InputMediaPhoto
将它们添加到 media_group
,参数 caption
等于我们只想为第一张图片发送的文本,否则我们将 caption
设置为 ''
.
import telegram
from telegram import InputMediaPhoto
TOKEN = '' # token to access the HTTP API of your bot created with @BotFather
CHANNEL_ID = '' # id of your channel, for example @durov
bot = telegram.Bot(token = TOKEN)
media_group = []
text = 'some caption for album'
for num in range(3):
media_group.append(InputMediaPhoto(open('img%d.png' % num, 'rb'),
caption = text if num == 0 else ''))
bot.send_media_group(chat_id = CHANNEL_ID, media = media_group)