170 похожих чатов

Добрый день, подскажите могу ли я хранить фото в состоянии

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')

6 ответов

14 просмотров

а что происходит?

Moriarty-Aleksandrovich Автор вопроса
Tishka17
а что происходит?

Я пишу админку с состояниями,админ вводит по очереди данные которые сохраняются вstate но как только доходит до записи фото в состояние фунцкия не отрабатывает и не записывает фото как значение Не могу понять что не так делаю

а, и что за dp тут - глобальная переменная? в каком файле она определена? код регистрации функции вообще выполняется?

Moriarty-Aleksandrovich Автор вопроса
Tishka17
а, и что за dp тут - глобальная переменная? в како...

dз это storage = MemoryStorage() bot = Bot(config_file['token']) dp = Dispatcher(bot, storage=storage)

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

Обсуждают сегодня

а через ESC-код ?
Alexey Kulakov
29
30500 за редактор? )
Владимир
47
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
13
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
program test; {$mode delphi} procedure proc(v: int32); overload; begin end; procedure proc(v: int64); overload; begin end; var x: uint64; begin proc(x); end. Уж не знаю...
notme
6
Ребят в СИ можно реализовать ООП?
Николай
33
у вас два процесса. один посылает другому сигнал. у вас есть код обоих процессов? если всё не так - расскажите как оно на самом деле. а именно кто кому чего, есть-ли консоли,...
Karagy
6
вы делали что-то подобное и как? может есть либы готовые? увидел картинку нокода, где всё линиями соединено и стало интересно попробовать то же в ddl на lua сделать. решил с ч...
Victor
8
Карта сайта