В общем только начал изучать Python. Давно хотел реализовать бота в телеграм для оформления заказов. В итоге столкнулся с проблемой: по нажатию кнопки "Оформление заказа" бот присылает сообщение и запрашивает персональные данные начиная с фио (остановимся пока на этом). Нужно чтобы бот понимал что в следующем сообщении написано фио.
Я пытаюсь сделать так чтобы пользователь записывал свои данные начиная с ФИО и если бот видит в сообщении фио то сохраняет данные в хранилище FSM
Использую aiogram и Telethon
Вот исходник (не судите строго)
class CheckOut(StatesGroup):
waiting_buyer_name = State()
@dp.message_handler(Text(equals=["Оформить заказ", "/checkout"]))
async def checkout(message: types.Message):
await message.answer("Я начинаю собирать ваш заказ\nДля этого мне нужны Ваши данные\nЗапишите ваши ФИО <b>(начинайте сообщение с ФИО)</b>", reply_markup=types.ReplyKeyboardRemove())
await CheckOut.waiting_buyer_name.set()
async def checkout_choosen_name(message: types.Message, state: FSMContext):
if "фио" not in message.text.lower():
await message.answer("Скорее всего вы ввели Ваши данные в неправильном формате.\n Пожалуйста, Запишите ваши ФИО <b>(начинайте сообщение с ФИО)</b>")
return
await state.update_data(buyer_name_writen=message.text.lower())