Я пытаюсь отправить фотографии с диска с помощью медиагруппы и 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. Описание: Неверный запрос: нет сообщений для отправки
Как это можно исправить?
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)
В результате бот отправляет это сообщение: