@nickie000

Как реализовать запись данных пользователя в телеграм-боте на Python?

В общем только начал изучать 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())
  • Вопрос задан
  • 712 просмотров
Решения вопроса 1
@nickie000 Автор вопроса
Решение нашел в официлаьной документации aiogram. Там вроде все понятно расписано =)
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
Vindicar
@Vindicar
RTFM!
Если тебе нужно реализовать сценарий, в рамках которого пользователь отправляет несколько сообщений, разбирайся с register_next_step_handler()
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы