class reg(StatesGroup):
name = State()
fname = State()
age = State()
@dp.message_handler(commands="reg", state="*")
async def name_step(message: types.Message, state: FSMContext):
await message.answer(text='Напиши имя ')
await reg.name.set()
@dp.message_handler(state=reg.name, content_types=types.ContentTypes.TEXT)
async def fname_step(message: types.Message, state: FSMContext):
if any(map(str.isdigit, message.text)):
await message.reply("Пожалуйста напишите свое имя")
return
await state.update_data(name_user=message.text.title())
await message.answer(text='Напиши фамилию ')
await reg.fname.set()
@dp.message_handler(state=reg.fname, content_types=types.ContentTypes.TEXT)
async def age_step(message: types.Message, state: FSMContext):
if any(map(str.isdigit, message.text)):
await message.reply("Пожалуйста напишите свою фамилию")
return
await message.answer(text='Напиши возраст ')
await state.update_data(fname_user=message.text.title())
await reg.age.set()
@dp.message_handler(state=reg.age, content_types=types.ContentTypes.TEXT)
async def res_step(message: types.Message, state: FSMContext):
if not any(map(str.isdigit, message.text)):
await message.reply("Пожалуйста введите свой возраст")
return
await state.update_data(age_user=message.text.lower())
user_data = await state.get_data()
await state.finish()
в моем коде в user_data записаны 3 сообщения пользователя в словарь. Оттуда их просто получать через обращение f'{user_data[name_user}}' например
Разобрался че к чему отсюда
https://mastergroosha.github.io/telegram-tutorial/...
В ссылках на гитхаб есть рабочий пример, там он более полный и по нему проще понять