В данной статье мы подробно разберем одну из функций конструктора, а именно формы ввода.
Формы ввода — блок, который принимает любую отправленную информацию или файлы от пользователя и хранит в таблице.
Важно! Переменные используемые в боте не могут быть использованы в ресурсах.
Важно! Уведомления на формы ввода (и другие уведомления) отправляются в вашего бота. Если вам не доходят уведомления — проверьте начато ли общение с ботом в Telegram.
Для создания Формы ввода перейдите в Конструктор, выберите или создайте команду и нажмите на соответствующую кнопку для создания блока Формы ввода.


Блок Форма ввода состоит из двух обязательных блоков:
- Вопрос — обязательный блок.
- Настройки — обязательный блок, содержит настройки ответа на форму.
- Ошибка — отправляет сообщение с ошибкой. Данный блок обязателен для типов ввода: Отправка сообщение, Запрос геопозиции и Запрос контакта.
- Время вышло — обязательный блок, если включена функция Ограничить время ответа. Отправляет сообщение и завершает ответ на форму по прошествии указанного времени (включается в дополнительных настройках Формы).

Также в Форме есть НЕобязательные блоки:
- Реакция на ответ — отправляет сообщение после ответа на форму, кнопка для добавления реакции находится под блоком Настройки.
- Реакция на пропуск — отправляет сообщение при нажатии на кнопку Пропустить (включается в дополнительных настройках Формы).
Важно! Если в настройках задан тип клавиатуры Обычная и блок Реакция на ответ не добавлен, то предыдущая обычная клавиатура не будет восстановлена.
В настройках реакции есть возможность включить функцию Заменить вопрос, тогда блок Вопрос будет заменен на блок реакции или удалён, если замена не возможна.

Для создания Формы необходимо заполнить данные в блоке:
- Название для статистики — Название, которое будет использоваться для отображения в статистике (пользователи его не увидят).
- Переменная — Фиксированное слово или фраза, которая меняется исходя из введенных данных пользователя, подробнее: Переменные.
- Тип ввода — разновидности типов ответов:
- Выбор варианта — позволяет добавить клавиатуру с вариантами ответа.
- Тестирование — позволяет добавить клавиатуру с вариантами ответа и задать им значения: верный или неверный.
- Отправка сообщения — позволяет принять любое сообщение от пользователя.
- Запрос геопозиции — добавляет клавиатуру с кнопкой запроса геопозиции.
- Запрос контакта — добавляет клавиатуру с кнопкой запроса контакта.
- Тип блока:
- Обычный — позволяет добавить обычную или инлайн клавиатуру к блоку вопроса.
- Telegram — отправляет встроенный блок, в случае Выбора варианта — Опрос, а в случае Тестирования — Викторина.
Важно! Тип блока Telegram не позволяет отправить блок Вопрос, вместо него появляется поле ввода Вопрос, текст которого будет подставлен в название Опроса или Викторины.
- Варианты для выбора:
- Один — разрешает выбрать только один вариант.
- Несколько — разрешает выбрать несколько вариантов, добавляет кнопку "Подтвердить" при нажатии на которую ответ записывается и отправляется следующий блок. Данная функция доступна только для Форм ввода с типом клавиатуры Инлайн.
- Тип клавиатуры:
- Обычная.
- Инлайн.
Дополнительные настройки:
- Возможность не отвечать — позволяет вызвать любую другую команду. Данная функция доступна только для Форм ввода с типом клавиатуры Инлайн.
Важно! При включении функции Возможность не отвечать пользователь сможет вернуться к Форме ввода (пролистав диалог с ботом) и ответить на неё позже.
Важно! Если возможность отключена, то бот будет ожидать ответа на Форму даже после его перезагрузки (/start).
- Кнопка “Пропустить” — записывает ответ в виде “—”. Добавляет дополнительную вариант с действиями: Следующий блок или Переход к команде.
- Повторное прохождение — разрешает или запрещает повторный вызов Формы. При отключении функции позволяет задать переход к команде в случае, если пользователь уже отвечал на неё ранее.
- Удалить сообщение с ответом — при типе клавиатуры Обычная удаляет сообщение отправленное пользователем при нажатии на кнопку.
- Удалить блок Вопрос после ответа — удаляет блок с вопросом после ответа на Форму ввода.
- Случайный порядок вариантов — варианты ответов на Форму будут расположены в случайном порядке. Кнопки “Подтвердить” и “Пропустить”будут расположены на тех же местах.
- Ограничить время ответа — позволяет задать время, через которое на Форму ввода нельзя будет ответить, а вместо неё будет отправлен специальный блок Время вышло.
Рассмотрим особенности каждого тип ввода по отдельности.
Выбор варианта
Выбор варианта — позволяет добавить клавиатуру с вариантами ответа. В настройке вариантов можно задать действия: переход к Следующему блоку или Переход к команде, а также включить функцию Не записывать ответ, которая не будет учитывать нажатие на вариант, что позволяет использовать его как обычную кнопку (например: Назад, Перейти в меню).
Важно! При действии для варианта Переход к команде пользователь “выйдет” из текущей команды, а значит не сможет ответить на оставшиеся Формы ввода в команде. Администратору бота будет отправлено уведомление содержащее только те ответы, на которые пользователь ответил. Если пользователю не была отправлена форма и/или пользователь решил не отвечать на форму (при включенной функции Возможность пропустить), то название формы будет скрыто из уведомления.
Важно! Дополнительные настройки команды: Добавление категории, Переход к команде и Запуск сценария выполняются после завершения команды (когда отправлены все блоки), если пользователь совершил переход из Формы из-за чего команда не смогла завершиться, то перечисленные дополнительные настройки не будут применены.
Тестирование
Тестирование — позволяет добавить клавиатуру с вариантами ответа и задать им значения: верный или неверный. При выборе варианта ответа Тестирование появляется дополнительное поле действия В случае ошибки, которое позволяет задать:
- Следующий блок — будет отправлен следующий блок.
- Подсказка — добавляет блок Подсказка, который отправляется в случае, если пользователь ответил неправильно. Действие повторяется до правильного ответа.
- Повторить — в случае ошибки будет повторно отправлять блок Вопрос. Действие повторяется до правильного ответа.
- Переход к команде — в случае ошибки будет совершен переход.
Отправка сообщения
Отправка сообщения — позволяет принять любое сообщение от пользователя. При выборе Несколько сообщений, позволяет задать фразу для продолжения отправки и добавляет кнопку "Подтвердить".
Маска ввода — Ограничение на прием данных от пользователя. Виды масок:
- Текстовые маски:
- Цифры (допускается: 0 1 2 3 4 5 6 7 8 9 , . );
- Телефон (рассчитано на длину номера от 6 и до 16 символов, допускается: + ( ) -);
- Почта (присланный текст должен быть формата: текст@текст);
- Текст (допускается текст любого вида, содержащий цифры, буквы и символы);
- Ссылка (присланный текст должен быть формата: текст.текст).
- Файловые маски:
- Картинка (допускаются форматы: JPG, JPEG, PNG, GIF, BMP, HEIF);
- Видео (допускаются форматы: MOV, MP4, WEBP, MPEG);
- Аудио (допускаются форматы: MP3, WAV);
- Офисный документ (допускаются форматы: PDF, DOC, DOCX, XLS, XLSX, TXT, XML, PPTX, PPT);
- Документ (допускаются все форматы).
- Голосовая запись.
- Видеосообщение.
- Другое:
- Локация;
- Контакт.
- Любой.
Запрос геопозиции и Запрос контакта
Запрос геопозиции — добавляет клавиатуру с кнопкой запроса геопозиции.
Запрос контакта — добавляет клавиатуру с кнопкой запроса контакта.
Статистика


Для просмотра статистики по Форме ввода и по присланной информации от пользователей необходимо перейти в раздел Статистика и выбрать Формы ввода. На главной странице вкладки можно увидеть список команд, в которых находятся Формы ввода.
Рекомендация: Если вы хотите просматривать информацию в одной таблице или получать уведомления сразу по нескольким Формам ввода — добавьте формы в одну команду, либо разделите Формы по разным командам для обратного эффекта.
По каждой команде, и находящихся в них Формах, можно просмотреть: общее количество ответов, ответов полученных сегодня, ответивших пользователей (один пользователь может дать несколько ответов) и процент ответивших от всех пользователей бота.
При нажатии на три точки в верхнем правом углу блока раскрывается контекстное меню, в котором можно обнулить все данные полученные через форму.
Для просмотров ответов на форму необходимо нажать на соответствующую кнопку.
В Настройках бота вы можете настроить объединение уведомлений, подробнее: Настройка правил для объединения уведомлений Форм ввода.