В данной статье мы подробно разберем одну из функций конструктора, а именно формы ввода. 


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


Важно! Переменные используемые в боте не могут быть использованы в ресурсах.

Важно! Уведомления на формы ввода (и другие уведомления) отправляются в вашего бота. Если вам не доходят уведомления — проверьте начато ли общение с ботом в Telegram.

Для создания Формы ввода перейдите в Конструктор, выберите или создайте команду и нажмите на соответствующую кнопку для создания блока Формы ввода.




Блок Форма ввода состоит из двух обязательных блоков:

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



Также в Форме есть НЕобязательные блоки:

  1. Реакция на ответ — отправляет сообщение после ответа на форму, кнопка для добавления реакции находится под блоком Настройки.
  2. Реакция на пропуск — отправляет сообщение при нажатии на кнопку Пропустить (включается в дополнительных настройках Формы).

Важно! Если в настройках задан тип клавиатуры Обычная и блок Реакция на ответ не добавлен, то предыдущая обычная клавиатура не будет восстановлена.

В настройках реакции есть возможность включить функцию Заменить вопрос, тогда блок Вопрос будет заменен на блок реакции или удалён, если замена не возможна.




Для создания Формы необходимо заполнить данные в блоке:

  • Название для статистики — Название, которое будет использоваться для отображения в статистике (пользователи его не увидят).
  • Переменная — Фиксированное слово или фраза, которая меняется исходя из введенных данных пользователя, подробнее: Переменные.

  • Тип ввода — разновидности типов ответов:
    • Выбор варианта — позволяет добавить клавиатуру с вариантами ответа.
    • Тестирование — позволяет добавить клавиатуру с вариантами ответа и задать им значения: верный или неверный.
    • Отправка сообщения — позволяет принять любое сообщение от пользователя.
    • Запрос геопозиции — добавляет клавиатуру с кнопкой запроса геопозиции.
    • Запрос контакта — добавляет клавиатуру с кнопкой запроса контакта.

  • Тип блока:
    • Обычный — позволяет добавить обычную или инлайн клавиатуру к блоку вопроса.
    • 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);
    • Документ (допускаются все форматы).
    • Голосовая запись.
    • Видеосообщение.

  • Другое:
    • Локация;
    • Контакт.
    • Любой.



Запрос геопозиции и Запрос контакта


Запрос геопозиции — добавляет клавиатуру с кнопкой запроса геопозиции.

Запрос контакта — добавляет клавиатуру с кнопкой запроса контакта.



Статистика



Для просмотра статистики по Форме ввода и по присланной информации от пользователей необходимо перейти в раздел Статистика и выбрать Формы ввода. На главной странице вкладки можно увидеть список команд, в которых находятся Формы ввода.  


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

По каждой команде, и находящихся в них Формах, можно просмотреть: общее количество ответов, ответов полученных сегодня, ответивших пользователей (один пользователь может дать несколько ответов) и процент ответивших от всех пользователей бота. 


При нажатии на три точки в верхнем правом углу блока раскрывается контекстное меню, в котором можно обнулить все данные полученные через форму. 


Для просмотров ответов на форму необходимо нажать на соответствующую кнопку.


В Настройках бота вы можете настроить объединение уведомлений, подробнее: Настройка правил для объединения уведомлений Форм ввода.