EnotPRO Logo EnotPRO

Формы

Форма — это инструмент для последовательного сбора данных от пользователя. Форма состоит из набора полей, которые пользователь заполняет одно за другим.

📝 Назначение

Формы используются для структурированного получения информации от пользователей: регистрационные данные, заказы, обратная связь, опросы и т.д.

Ключевые возможности:

  • Последовательный сбор данных (поле за полем)
  • Валидация вводимых данных (email, телефон, число)
  • Поддержка различных типов полей (текст, выбор, медиа)
  • Условное отображение полей
  • Автоматическое сохранение результатов

💡 Совет: Формы удобно использовать вместо длинных диалогов с пользователем — они обеспечивают предсказуемый порядок и формат данных.

🔄 Как это работает

Шаг Действие
1 Создаёте форму в разделе /adm → Формы
2 Добавляете поля (строка, число, выбор, фото и т.д.)
3 Настраиваете валидацию для каждого поля
4 Запускаете форму реакцией StartForm

Пользователь видит поля одно за другим. После заполнения всех полей форма завершается, и вы обрабатываете результаты в триггере «Финиш формы».

⚠️ Важно: Форму можно запустить только в личном чате с ботом. Запустить форму для другого пользователя удалённо нельзя.

⚡ Доступные реакции

Реакция Назначение Ссылка
StartForm Запустить форму Подробнее
CancelForm Принудительно остановить активную форму Подробнее
SendFormResult Отправить собранные данные формы в чат Подробнее
ErrorFormField Вызвать ошибку валидации для текущего поля Подробнее

📋 Типы полей формы

Категория Тип поля Описание
Инфо Информационный пост Отображает текст с кнопкой «Далее». Не собирает данные
Выбор Выбор Кнопки для одиночного или множественного выбора
Текст Строка Текстовое поле
Текст Число Поле для ввода чисел
Текст Телефон Поле для ввода номера телефона (с кнопкой «Отправить номер»)
Текст Ссылка Поле для ввода URL
Текст Юзернейм Поле для ввода @username
Текст Дата Поле для выбора даты (календарь)
Текст Почта Поле для ввода email
Вложения Фото, Видео, Аудио, Файл, Стикер Приём медиафайлов

🔧 Триггеры формы

Триггер Когда срабатывает Типичное использование
Старт формы При запуске формы, до первого поля Инициализация данных
Финиш формы После успешного заполнения всех полей Обработка результатов
Отмена формы При нажатии кнопки «Отменить форму» Очистка данных
Лимит интервала При попытке запустить форму слишком часто Предупреждение
Перед полем Перед отображением каждого поля Подготовка данных
После поля После успешного ввода данных в поле Сохранение ответа
Ошибка поля При ошибке валидации Отправка сообщения об ошибке

📍 Доступ к результатам

После заполнения формы данные доступны в переменной:

${form.fields.ключ}

где ключ — значение, указанное в настройках поля.

Примеры:

${form.fields.name}          # текстовое поле
${form.fields.age}           # число
${form.fields.photo}         # медиафайл (объект с file_id)
${form.fields.choose.0}      # одиночный выбор (первый элемент)
${form.fields.choose}        # мультивыбор (массив)

🧪 Пример использования

Задача: Собрать контактные данные пользователя.

Форма:

  1. Поле «Имя» (тип: Строка, обязательное)
  2. Поле «Email» (тип: Почта, обязательное)
  3. Поле «Телефон» (тип: Телефон, режим «Предоставить номер»)
  4. Поле «Комментарий» (тип: Строка, опциональное)

Реакции в триггере «Финиш формы»:

  1. SetVarCloud → сохранить имя, email, телефон
  2. SendMessage → «Спасибо! Мы свяжемся с вами.»

🔗 Связанные разделы

Раздел Описание
Формы в админке Подробное руководство по созданию форм
Реакция StartForm Запуск формы
Реакция CancelForm Отмена формы
Реакция SendFormResult Отправка результатов
Реакция ErrorFormField Ошибка валидации

🔗 Ссылка на официальную документацию

Telegram Bot API — отправка форм (формы реализованы на стороне платформы EnotPro)

© 2025 EnotPRO. Все права защищены.