Python
2
Вклад в тег
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()