• Как получить альбом фотографий в pyTelegramBotApi?

    @tor_tik96
    import os
    photo_file_id = []
    num = 1
    @bot.message_handler(content_types=['photo', 'text'])
    def handler_file(message):
        user_id = message.from_user.id
        data = 1 #Количество фотографий для загрузки
        global num
        num = 1 #Название фотографии
        media = []
        photos = message.photo[-1]
        photo_file_id.append(photos.file_id) #Добавляем file_id фотографии для скачивания
        bot.send_message(user_id, f"Загружено {len(photo_file_id)}/{data} фото \nОсталось загрузить {int(data) - len(photo_file_id)} фото")
    
         if len(photo_file_id) == int(data): #Скачивание всех фотографий начнётся когда количество значений в массиве photo_file_id будет равно количеству фотографий
            Path(f'files/{user_id}}').mkdir(parents=True, exist_ok=True)
            for photo in photo_file_id:
                try:
                    file_id = photo
                    file_name = f"files/{user_id}/{num}.jpg"
                    download_photo(file_id, file_name)
                    pic = open(file_name, "rb")
                    media.append(pic)
                    num += 1
                except Exception as e:
                    print(e)
                num = 1
                bot.send_message(user_id, "Все фотографии загружены, спасибо!")
                #Здесь можно добавить свою логику для отправки сообщений самому главному например:
                creators = [] #Тут будут условно id самых главных
                for i in creators:
                    bot.send_media_group(i, media)
                os.rmdir(f"files/{user_id}") #В конце удаляем папку чтобы при следующем скачивании не было ошибок
    Ответ написан
    Комментировать