Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- from aiogram import types
- from aiogram.dispatcher import FSMContext
- from aiogram.dispatcher.filters import Command
- from loader import dp
- from states.form import Form
- # задает первый вопрос без указа
- @dp.message_handler(Command("form"), state=None)
- async def enter_form(message: types.Message):
- await message.answer("Вы начали заполнение формы\n"
- "Введите ваше Имя")
- await Form.first()
- @dp.message_handler(state=Form.Q1)
- async def answer_q1(message: types.Message, state: FSMContext):
- answer = message.text
- # Передаем ответ в формате словаря
- await state.update_data(
- {"Name": answer}
- )
- await message.answer("Введите ваш Email")
- await Form.next()
- @dp.message_handler(state=Form.Q2)
- async def answer_q2(message: types.Message, state: FSMContext):
- answer = message.text
- # Передаем ответ в формате словаря
- await state.update_data(
- {"Email": answer}
- )
- await message.answer("Введите ваш номер телефона")
- await Form.next()
- @dp.message_handler(state=Form.Q3)
- async def answer_q3(message: types.Message, state: FSMContext):
- answer = message.text
- # Достаем переменные из словаря
- data = await state.get_data()
- name = data.get("Name")
- email = data.get("Email")
- phone = answer
- await message.answer("Привет ты ввел следующие данные!\n"
- f"Имя - {name}\n"
- f"Email - {email}\n"
- f"Телефон - {phone}"
- )
- # Глушим машину состояния
- await state.finish()
Advertisement
Add Comment
Please, Sign In to add comment