aiogram?
У меня есть админка она принимает в стостояния по очереди данные и один из разделов это передача фото но при ее передачи оно просто не записывается туда
как можно это реализовать?\
@dp.message_handler(state='image_mv', content_types=[ContentTypeFilter(content_types=[ContentTypes.PHOTO])])
async def save_image_movie(message: types.Message, state: FSMContext):
print("Handling image_mv state")
photo = message.photo[-1]
file_id = photo.file_id
# Загружаем файл с серверов Telegram
file_info = await bot.get_file(file_id)
downloaded_file = await bot.download_file_by_id(file_info.file_id)
# Сохраняем файл локально
file_path = f"path/to/save/{file_info.file_unique_id}.jpg"
with open(file_path, 'wb') as file:
file.write(downloaded_file.read())
# Сохраняем информацию о файле в состоянии
await state.update_data(image_movie={
'file_path': file_path,
'file_unique_id': file_info.file_unique_id
})
await message.answer('Введите год фильма')
await state.set_state(state='year_mv')
а что происходит?
Я пишу админку с состояниями,админ вводит по очереди данные которые сохраняются вstate но как только доходит до записи фото в состояние фунцкия не отрабатывает и не записывает фото как значение Не могу понять что не так делаю
вообще не вызывается или что?
а, и что за dp тут - глобальная переменная? в каком файле она определена? код регистрации функции вообще выполняется?
да в отдельном файле main
dз это storage = MemoryStorage() bot = Bot(config_file['token']) dp = Dispatcher(bot, storage=storage)
Обсуждают сегодня