Как скачать фотографию отправленную пользователем через aiogram?
Вот мой код:
from bs4 import BeautifulSoup
import requests
bot = Bot(token='TOKEN', parse_mode='html')
dp = Dispatcher(bot)
DATA = ''
@dp.message_handler(commands=['start'])
async def start(message: types.Message):
kb = types.InlineKeyboardMarkup()
kb.add(types.InlineKeyboardButton(text="Фотография", callback_data="photo"))
kb.add(types.InlineKeyboardButton(text="Название", callback_data="title"))
kb.add(types.InlineKeyboardButton(text="Краткая информация", callback_data="info"))
kb.add(types.InlineKeyboardButton(text="Цена", callback_data="price"))
await message.answer('Привет! \nЯ помогу тебе сверстать карточку товара по шаблону.\nНажми на кнопки для дальнейших инструкций', reply_markup=kb)
@dp.callback_query_handler()
async def calldata(call: types.CallbackQuery):
global DATA
if call.data == "photo":
DATA == 'photo'
await call.message.answer('Отправьте мне фотографию товара')
elif call.data == "title":
DATA == 'title'
await call.message.answer('Отправьте мне наименование товара')
elif call.data == "info":
DATA == 'info'
await call.message.answer('Отправьте ине краткое описание товара')
else:
DATA == 'price'
await call.message.answer('Отправьте мне предпочтительную цену')
@dp.message_handler(content_types=['photo'])
async def verst(message: types.Message):
file_id = message.photo[-1].file_id
if DATA == 'photo':
await message.photo[-1].download(destination_file='C:/Users/User/OneDrive/Рабочий стол/card_editor/example.jpg')
await message.answer('Скачал')
if __name__ == '__main__':
executor.start_polling(dp)
Я решил делать через глобальные переменные, и когда боту отправляешь фотографию, он не реагирует и не выдает никаких ошибок, крч проще говоря обработчик не работает