Как передать значение из одного стейта в другой?
Как я могу значение из этого стейта передать в тот, который идет за ним? И почему print выдает FSMContextProxy state = <default>, data = {}, closed = True, если стейт еще активен?
@dp.message_handler(state=fs.waiting_for_name, content_types=types.ContentTypes.TEXT)
async def get_name(message: types.Message, state: FSMContext):
if len(message.text) < 1:
await bot.send_message(message.chat.id, 'Вы ввели недопустимое имя, попробуйте еще')
else:
await state.finish()
await bot.send_message(message.chat.id, 'Введите возраст')
await fs.waiting_for_age.set()
Ответы (1 шт):
Автор решения: v1nc3nt_0'ne1ll
→ Ссылка
Создаешь функцию или message_handler
@dp.message_handler(state = fs.waiting_for_age)
async def get_age(message: types.Message, state: FSMcontext):
async with state.proxy() as data:
data['age'] = message.text
#Дальше сам
Здесь хорошо все расказано https://www.youtube.com/watch?v=O_pPNlXMzsw&list=PLwVBSkoL97Q3phZRyInbM4lShvS1cBl-U&index=7&t=369s