@ArtemMik
Python

Как можно отправлять одним сообщением несколько фоток в альбом Imgur?

У меня есть бот aiogram==2.25.1, мне надо сделать отправку фоток в альбом, пробовал создать альбом и туда загрузить фотки с одного сообщения, у меня не получилось, помогите

Код бота:
import logging
import os
from aiogram import Bot, Dispatcher, executor, types
from imgurpython import ImgurClient
from imgurpython.helpers.error import ImgurClientError

logging.basicConfig(level=logging.INFO)

# Устанавливаем токен бота и идентификаторы клиента и секретного ключа imgur
BOT_TOKEN = "xxxxx"
IMGUR_CLIENT_ID = "xxxx"
IMGUR_CLIENT_SECRET = "xxxx"
# Инициализируем бота, диспетчер и клиент imgur
bot = Bot(token=BOT_TOKEN)
dp = Dispatcher(bot)
client = ImgurClient(IMGUR_CLIENT_ID, IMGUR_CLIENT_SECRET)
album_title = 'My Album Title'
album_description = 'This is an album created by my Telegram bot'
album = client.create_album({'title': album_title, 'description': album_description})
album_id = album['id']

# Обработчик для загрузки фотографий на Imgur
@dp.message_handler(content_types=types.ContentType.PHOTO)
async def handle_photo(message: types.Message):
    # Получаем объекты всех отправленных фотографий
    for photo in message.photo:
        # Скачиваем фотографию на сервер
        photo_path = f"photo_{photo.file_id}.jpg"
        await photo.download(photo_path)

        try:
            # Загружаем фотографию на Imgur
            uploaded_image = client.upload_from_path(photo_path, anon=True)
            image_id = uploaded_image['id']

            # Добавляем загруженную фотографию в альбом
            client.album_add_images(album_id, image_id)

            # Отправляем ссылку на загруженную фотографию пользователю
            image_link = f"https://imgur.com/{image_id}"
            await message.reply(f"Ваша фотография загружена в альбом на Imgur: {image_link}")

        except ImgurClientError as e:
            logging.error(f"Ошибка загрузки фотографии на Imgur: {e.error_message}")

        finally:
            # Удаляем временный файл
            os.remove(photo_path)

# Запускаем бота
if __name__ == '__main__':
    executor.start_polling(dp, skip_updates=True)


Ошибка - ERROR:root:Ошибка загрузки фотографии на Imgur: The album you're requesting does not belong to your account
  • Вопрос задан
  • 95 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

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