Этот вопрос закрыт для ответов, так как повторяет вопрос Как принять несколько фото?
@pozner88

Как принять альбом фотографий телеграм ботом?

Необходимо что бы бот принимал и выводил file_id сразу нескольких фото. Принять и обработать одну фото могу, а вот если это альбом то не получается. Если кто знает как это реализовать буду благодарен. Работаю на aiogram, если есть примеры для других библиотек, то тоже буду рад, переделать думаю смогу
  • Вопрос задан
  • 2767 просмотров
Решения вопроса 1
InternetMaster
@InternetMaster
Интернет
Есть такая штука при отправке фото - сжатие. Так вот, если пользователь перед отправкой выбрал сжатие, то это будет фотография (photo), а если сжатие не выбрал то это уже документ (document)
@bot.message_handler(content_types=['photo'])
def handle_docs_photo(message):
    try:
        chat_id = message.chat.id
        file_info_1 = bot.get_file(message.photo[-1].file_id)
        bot.send_message(message.chat.id, file_info_1)
        downloaded_file = bot.download_file(file_info_1.file_path)
        
        src = dir + '\\' + file_info_1.file_path.split('/')[-1]
        bot.send_message(message.chat.id, src)
        with open(src, 'wb') as new_file:
            new_file.write(downloaded_file)

    except Exception as e:
        bot.reply_to(message, e)


В начале код, в handler заменить photo на document или просто добавить через запятую.

Это реализация кода на PyTelegramBotAPI, переделать на aiogram - не трудно, так как все методы описаны в официальном разделе телеграмм API (прилагаю ссылку ниже).

Документация: https://core.telegram.org/bots/api
Ответ написан
Ваш ответ на вопрос

Вопрос закрыт для ответов и комментариев

Потому что уже есть похожий вопрос.
Похожие вопросы