header
login

Многошаговый диалог

Многошаговый диалог позволяет собирать данные от пользователя последовательно: имя, телефон, адрес и другую информацию. Каждый шаг ожидает ответ пользователя перед переходом к следующему.

Принцип работы

Ключевая функция — register_next_step. Она указывает, какой шаг обработает следующее сообщение пользователя.

Шаг 1: вопрос → register_next_step(2)
Шаг 2: сохранить ответ → вопрос → register_next_step(3)
Шаг 3: сохранить ответ → итог

Пример: форма заказа

Шаг 1: Запрос имени

send_message: "Давайте оформим заказ. Как вас зовут?"
register_next_step: 2

Шаг 2: Сохранение имени, запрос товара

add_var: name = {=message=}
send_message: "Отлично, {=name=}! Какой товар вас интересует?"
register_next_step: 3

Шаг 3: Сохранение товара, запрос адреса

add_var: product = {=message=}
send_message: "Укажите адрес доставки:"
register_next_step: 4

Шаг 4: Подтверждение

add_var: address = {=message=}
send_message: "Проверьте данные заказа:

Имя: {=name=}
Товар: {=product=}
Адрес: {=address=}

Все верно?
{buttons:[[Подтвердить] [Отменить]]}"

Валидация ответов

Добавьте условия для проверки ввода:

if "{=message=}" == ""
  → send_message: "Пожалуйста, введите ваше имя"
  → register_next_step: 2  // повторить шаг
else
  → add_var: name = {=message=}
  → следующий вопрос

Советы

  • Нумеруйте шаги последовательно (1, 2, 3...)
  • Показывайте пользователю прогресс: «Шаг 2 из 4»
  • Добавляйте кнопку «Отмена» на каждом шаге
  • Сохраняйте собранные данные в базу данных или отправляйте в CRM