0

在我的机器人中,我收到了一条转发的媒体组消息,其中包含 3 张不同的照片。现在我想捕捉所有这 3 张照片并再次将它们发送给另一张chat_id。但是, 中的所有值message.photo.file_id都代表不同分辨率的同一张照片,当我将其存储file_id在列表中以在 的media部分中使用它时bot.send_media_group,它会生成一组相同的照片。

我的问题是,我怎样才能找到这三张图片唯一file_id存储在我的列表中并mediabot.send_media_group

我的代码如下:

    for i in message.photo:
                    print(i.file_id)
                    list_file_id.append(i.file_id)
                print(message)
                print(list_file_id)

    bot.send_media_group(channelData.chat_ID, media = [InputMediaPhoto(media = i) for i in list_file_id], caption= "hellow")
4

1 回答 1

0

您正在迭代错误的参数,但这是我定义的错误朋友

Message Telegram 对象中的属性photo表示与消息本身中的图片相关的所有可用尺寸(此处的文档)。

这是一个错误的朋友,因为到目前为止,您尝试的是不同的图片大小,而不是可以在其他消息的对象属性中找到的file_id 。

于 2022-02-09T09:51:56.757 回答