Опрос в чат-боте с начислением баллов

Вы можете использовать конструктор, чтобы создать опрос в боте, с начислением баллов в зависимости от ответа клиента.

Например, вы можете использовать опрос в чат-боте для проверки знаний пользователей или для социологических и психологических исследований.

Настройки сценария

Чтобы сделать опрос быстрее и проще, заранее подготовьте вопросы и ответы в обычном документе:

Вход в опрос

В конструкторе создайте блок с условием ("Стартовый блок" или "Нестейт с условием"), который будет служить отправной точкой для опроса:

В стартовом блоке, показанном в примере, есть только приветственное сообщение. Теперь нужно создать следующий блок ниже него: для этого откройте меню дополнительных настроек и нажмите соответствующую кнопку:

Автоматический переход

Далее перейдите в настройки стрелки и установите таймер, чтобы первый вопрос автоматически отправлялся клиенту:

Запуск опроса по кнопке

Если вы хотите, чтобы пользователь начинал опрос нажатием кнопки, создайте соответствующие кнопки в стартовом блоке:

1. Перейдите в зелёный блок; 2. Нажмите "Кнопки", чтобы раскрыть вкладку настроек; 3. Нажмите "+ Добавить кнопку":

Введите текст кнопки в открывшемся модальном окне, затем нажмите «Добавить кнопку»:

Перейдите в настройки стрелки и отметьте в условии галочкой кнопку:

Этот шаг гарантирует, что клиент перейдёт к следующему блоку только при определённом условии (в данном случае условие — текст кнопки).

Установите тип совпадения на "точное совпадение":

Настройки вопросов и ответов

Теперь перейдём к самой интересной части — настройке вопросов с ответами. Для этого вам понадобится заранее подготовленный сценарий с вопросами.

Шаг 1. В блоке, куда ведёт стрелка из стартового блока, вставьте первый вопрос из вашего сценария в поле сообщения:

Шаг 2. Далее создайте кнопки с вариантами ответов в зависимости от количества ответов (в примере будет 4 кнопки):

Шаг 3. В модальном окне настроек кнопки введите текст ответа и нажмите "Добавить":

Добавьте в блок нужное количество кнопок следующим образом:

Шаг 4. Откройте меню дополнительных настроек и создайте столько блоков, сколько у вас кнопок-ответов для вопроса:

В примере для четырёх кнопок ответов создано четыре блока:

Шаг 5. Перейдите в настройки стрелки и отметьте в условии одну кнопку:

Пример показывает, что каждой стрелке соответствует только одна кнопка:

Шаг 6. Создайте ниже блок, куда будут вести стрелки от четырёх блоков с ответами:

Шаг 7. Установите таймер на 0 секунд в настройках каждой стрелки, ведущей к одному и тому же блоку:

Шаг 8. Затем в блоке, куда ведут четыре стрелки, введите следующий вопрос:

Создайте варианты ответов в виде кнопок в блоке со вторым вопросом, как и раньше:

Теперь создайте ниже четыре блока от блока со вторым вопросом. В условиях стрелок, ведущих к этим блокам, укажите соответствующие варианты ответов — по сути, вы повторите шаги 1–8: заполнение поля вопроса, создание нужного количества кнопок-ответов и настройку условий стрелок в соответствии с выбранными ответами.

Пример выше наглядно показывает повторяющиеся настройки блоков для вопросов. Именно так заполняются все вопросы и ответы.

Шаг 9. Нужно создать следующий блок вопроса. Для этого создайте блок "State" и соедините со стрелками к нему:

Так создаётся блок третьего вопроса; теперь можно продолжать добавлять вопросы и ответы, следуя шагам 1–9, как описано выше.

Как начислять баллы

Шаг 1. Перейдите в блок с первым вопросом:

В калькуляторе объявите переменную — например, с названием "score" — и установите её значение равным нулю:

Шаг 2. Перейдите в блок, куда ведёт стрелка от ответа, и откройте калькулятор:

Добавьте в калькуляторе соответствующее количество баллов к переменной в зависимости от вашего сценария:

Добавьте 4 балла в блоке, связанном с вариантом A.

Добавьте 3 балла в блоке, связанном с вариантом B.

Добавьте 2 балла в блоке, связанном с вариантом C.

Добавьте 1 балл в блоке, связанном с вариантом D.

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

Как показать результат?

Вариант 1. Показать результат в виде текста:

Вы можете показать результат с помощью переменной #{score} в финальном блоке, куда ведут стрелки от блоков начисления баллов:

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

Вариант 2. Калькулятор и оператор IF

Если вы хотите показать более короткий и лаконичный результат, используйте калькулятор с функцией IF:

Иными словами, нужно задать боту условия вида: "если балл меньше 8, то ты меланхолик; если балл от 8 до 11 включительно, то ты флегматик," и так далее — но уже в синтаксисе системы.

Вот код, который можно скопировать:

text = if(score < 8, "Ты меланхолик — застенчивый, чувствительный, склонный к размышлениям и переживаниям. У тебя глубокая эмоциональность.", if(score >= 8 and score <= 11, "Ты флегматик: спокойный, уравновешенный и вдумчивый. Не любишь суеты и предпочитаешь стабильность.", if(score > 11 and score < 21, "Ты сангвиник: общительный, жизнерадостный и легко приспосабливаешься. Склонен относиться к вещам легко, но быстро загораешься.", "Ты холерик: энергичный, импульсивный, склонный к резким реакциям. Лидер, но иногда не хватает сдержанности." ) ) )

Итоговый сценарий выглядит так:

Важно! Блоки с названием "Начисление баллов" и пустым сообщением #{none} используются только для подсчёта баллов.

Вот как работает бот:

Последнее обновление