Telebot Python - как отправить группу фотографий

Я пытаюсь отправить фотографии с диска с помощью медиагруппы и pyTelegramBotAPI (последняя версия 4.10.0)

import telebot
from telegram import InputMediaPhoto
from telegram.constants import ParseMode
bot = telebot.TeleBot(API_KEY)
all_photos = []
IMAGE_FILE_PATH = "images/image.jpg"
current_image_file = open(IMAGE_FILE_PATH, 'rb')
all_photos.append(InputMediaPhoto(
           media = current_image_file,
           parse_mode = ParseMode.HTML,
           caption = "Sample <b>Text</b>"
))
all_photos.append(InputMediaPhoto(
           media = current_image_file,
           parse_mode = ParseMode.HTML,
           caption = "Sample <b>Text</b>"
))
bot.send_media_group(CHAT_ID, all_photos)

Этот код возвращает ошибку: *** telebot.apihelper.ApiTelegramException: запрос к Telegram API не удался. Код ошибки: 400. Описание: Неверный запрос: нет сообщений для отправки

Как это можно исправить?

Почему в Python есть оператор "pass"?
Почему в Python есть оператор "pass"?
Оператор pass в Python - это простая концепция, которую могут быстро освоить даже новички без опыта программирования.
Некоторые методы, о которых вы не знали, что они существуют в Python
Некоторые методы, о которых вы не знали, что они существуют в Python
Python - самый известный и самый простой в изучении язык в наши дни. Имея широкий спектр применения в области машинного обучения, Data Science,...
Основы Python Часть I
Основы Python Часть I
Вы когда-нибудь задумывались, почему в программах на Python вы видите приведенный ниже код?
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
Алиса и Боб имеют неориентированный граф из n узлов и трех типов ребер:
Оптимизация кода с помощью тернарного оператора Python
Оптимизация кода с помощью тернарного оператора Python
И последнее, что мы хотели бы показать вам, прежде чем двигаться дальше, это
Советы по эффективной веб-разработке с помощью Python
Советы по эффективной веб-разработке с помощью Python
Как веб-разработчик, Python может стать мощным инструментом для создания эффективных и масштабируемых веб-приложений.
0
0
62
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий
from telegram import InputMediaPhoto

InputMediaPhoto необходимо импортировать из telebot.types


Вот пример, основанный на вашем коде:

import telebot
from telebot.types import InputMediaPhoto

CHAT_ID=123456
API_KEY='85916......'

bot = telebot.TeleBot(API_KEY)

all_photos = []

for pic in [ "./photo1.png", "./photo2.png" ]:

    current_image_file = open(pic, 'rb')
    mediaPhoto = InputMediaPhoto(current_image_file, "Sample <b>Text</b>")

    all_photos.append(mediaPhoto)

bot.send_media_group(CHAT_ID, all_photos)

В результате бот отправляет это сообщение:

Другие вопросы по теме

Похожие вопросы

AttributeError: объект «список» не имеет атрибута «tree_dict» в PySimpleGUI
(РЕШЕНО) Python запускает несуществующий код в VS Code
Почему аутконвертер не вызывается для преобразования байтов в oracledb/cx_Oracle (Python)?
Ошибка при поиске спецификации модуля для «spyder_kernels.console» (ModuleNotFoundError: нет модуля с именем «spyder_kernels»)
Как преобразовать исходный список в другой, который учитывает последовательность минимальных и максимальных значений для каждого элемента исходного списка?
Как переписать sql-функцию row_number() для оконных полярностей python?
Передать адрес памяти в multiprocessing.Process вне его контекста памяти
Как интерпретировать сообщение об ошибке «Foo() не принимает аргументов» при указании экземпляра класса в качестве базового класса?
Сортировка списка точек в соответствии с другим списком для создания прямых линий без каких-либо пересечений
Как настроить бессерверный пул sql, чтобы использовать его с базовыми интерфейсами SQL, такими как pyodbc или RODBC?