@qwwwwwty

Как скачивать фотографию через бота при определенной команде Python Aiogram?

Как скачивать фотографию через бота при определенной команде Python Aiogram? Пример ситуации на скриншоте:

618c10abcf8a0388366121.png

та самая определенная команда !dem. у меня уже есть кое-какой код, но почему то он не работает, бот просто ничего не скачивает. консоль ошибок не выдает.
вот код:

@dp.message_handler(commands=['dem'], commands_prefix="!/")
async def cmd_create_dem(msg: types.Message):
    file_info = bot.get_file(message.photo[len(message.photo) - 1].file_id)
    downloaded_file = bot.download_file(file_info.file_path)
    src = 'C:/Users/andis/Desktop/Python/EasyBot 2/handlers/photo' + message.photo[1].file_id
    with open(src, 'wb') as new_file:
        new_file.write(downloaded_file)
    bot.message.answer(message, "Фото успешно скачано!")
  • Вопрос задан
  • 3686 просмотров
Пригласить эксперта
Ответы на вопрос 3
@ginnsun
Вопрос где ты взял file_path?
Ответ написан
Комментировать
@yawaflua
У тебя в названии папки есть пробел
src = 'C:/Users/andis/Desktop/Python/EasyBot 2/handlers/photo' + message.photo[1].file_id
, поменяй название папки и все
Ответ написан
Комментировать
@Python_Prog
Ты забыл поставить await перед bot.get_file(message.photo[len(message.photo) - 1].file_id)
И если ты хочешь вытащить последнее значение, то можно сделать это так: bot.get_file(message.photo[-1].file_id)
и перед bot.download_file(file_info.file_path) тоже await поставь, aiogram асинхронный модуль
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы