никак не могу разобраться с FSM на aiogram 3.2.0
всем привет! столкнулся с проблемой, после ввода номера телефона ничего не происходит(
class Form(StatesGroup):
surname = State()
phone = State()
email = State()
@dp.callback_query(lambda callback_query: callback_query.data == 'callback')
async def start_form(callback_query: types.CallbackQuery, state: FSMContext):
await bot.answer_callback_query(callback_query.id)
await bot.send_message(callback_query.from_user.id, "Как вас зовут?")
await state.set_state(Form.surname)
@dp.message()
async def process_surname(message: types.Message, state: FSMContext):
await state.update_data(surname=message.text)
await bot.send_message(message.chat.id, "Какой у вас телефон?")
await state.set_state(Form.phone)
@dp.message()
async def process_phone(message: types.Message, state: FSMContext):
await state.update_data(phone=message.text)
await bot.send_message(message.chat.id, "Введите вашу почту:")
await state.set_state(Form.email)
@dp.message()
async def process_email(message: types.Message, state: FSMContext):
user_data = await state.get_data()
surname = user_data.get('surname')
phone = user_data.get('phone')
email = message.text
ADMIN_ID = '00000000'
await bot.send_message(ADMIN_ID, f"Фамилия: {surname}\nТелефон: {phone}\nEmail: {email}")
await state.finish()
хотелось бы чтобы бот провёл опрос и скинул все данные как надо мне в лс
Ответы (1 шт):
Автор решения: Medvedev
→ Ссылка
В хендлеры фильтры добавьте как в приведенных примерах
UPD:
class Form(StatesGroup):
surname = State()
phone = State()
email = State()
@dp.callback_query(lambda callback_query: callback_query.data == 'callback')
async def start_form(callback_query: types.CallbackQuery, state: FSMContext):
await bot.answer_callback_query(callback_query.id)
await state.set_state(Form.surname)
await bot.send_message(callback_query.from_user.id, "Как вас зовут?")
@dp.message(Form.surname)
async def process_surname(message: types.Message, state: FSMContext):
await state.update_data(surname=message.text)
await state.set_state(Form.phone)
await bot.send_message(message.chat.id, "Какой у вас телефон?")
@dp.message(Form.phone)
async def process_phone(message: types.Message, state: FSMContext):
await state.update_data(phone=message.text)
await state.set_state(Form.email)
await bot.send_message(message.chat.id, "Введите вашу почту:")
@dp.message(Form.email)
async def process_email(message: types.Message, state: FSMContext):
user_data = await state.get_data()
surname = user_data.get('surname')
phone = user_data.get('phone')
email = message.text
ADMIN_ID = '00000000'
await bot.send_message(ADMIN_ID, f"Фамилия: {surname}\nТелефон: {phone}\nEmail: {email}")
await state.finish()