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

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

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

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

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

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

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

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

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

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

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

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

Важно!
В Telegram нельзя использовать слишком длинные варианты ответа на кнопках.
Обходной путь для Telegram: полные ответы указывайте в тексте сообщения, а на кнопках используйте более короткий и лаконичный текст:

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

Учитывайте максимальное количество символов для кнопок в Telegram.
Более длинные варианты ответов, например, можно использовать в онлайн-чате на сайте. ссылка
Добавьте в блок нужное количество кнопок следующим образом:

Шаг 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} используются только для подсчёта баллов.

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

Готово! Теперь вы знаете, как создавать опросы для мессенджеров в боте!
Последнее обновление