Search
K

Шаблон «Тест с набором баллов»

Если пользователь напишет «Тест» или «Пройти тест», бот предложит тестирование:
За каждый правильный ответ мы будем начислять баллы. Хранить их будем в переменной «баллы» за тест. Эту переменную перед началом теста обнуляем:
Теперь можно задавать первый вопрос.
К вопросу есть 4 кнопки с вариантами ответов. Один из них ведет к сообщению про верный ответ и начислению баллов. Все остальные — к сообщению о том, что пользователь ответил неправильно. После этого при любом исходе бот пишет правильный вариант ответа, ждет 10 секунд и переходит к следующему вопросу.
Обратите внимание на блок с зачислением баллов:
В двойных фигурных скобках можно писать любые арифметические выражения с переменными, а также использовать наш специальный язык SmartQuery, на котором можно делать самые разные вещи — от арифметики до обработки данных возврата из API:
2-й вопрос теста такой: «Как далеко (в миллионах километров) Земля находится от Солнца? Напишите примерное число млн км».
Пользователь должен ввести ответ самостоятельно. Мы сохраняем ответ в переменную %Ответ на второй вопрос% и переходим к условию: переменная должна быть в интервале от 140 до 160. Тогда будем считать, что пользователь примерно знает ответ.
После этого идем по знакомой схеме: если ответ правильный, идем в ветку сценария с зачислением баллов. Если неправильный, то говорим, что пользователь ошибся и продолжаем:
3-й вопрос такой: «Какой планетой по счету от Солнца является Земля?»
Благодаря галочке «Ждать ответа от пользователя» мы ожидаем ответа в этом же блоке. Это позволяет не делать лишних шагов, как «Обработать сообщение» или «Сохранить в переменную». После этого мы делаем условие на само сообщение от пользователя. Это условие всегда работает на последнее сообщение, которое для правильного варианта должно быть равно «3».