# Создание бота «Тестирование с подсчетом баллов и выдачей результата»

Ссылка на шаблон: <https://lcvr.net/s/3W5Ew>

{% hint style="info" %}
Если вы не знаете, как скопировать шаблон бота в свою кампанию, то воспользуйтесь инструкцией **ниже**.

Как только все этапы копирования будут завершены, возвращайтесь обратно к этой статье.
{% endhint %}

{% content-ref url="/pages/qzagS3SCa94vTSIpRqVH" %}
[Как скопировать готовый шаблон бота в свою кампанию](/templates/spisok-shablonov/kak-skopirovat-gotovyi-shablon-bota-v-svoyu-kampaniyu.md)
{% endcontent-ref %}

В этой инструкции мы подробно разберем, как создать бота для проведения тестирования пользователей с подсчетом баллов и выдачей результата в конце, используя уже **готовый шаблон**.

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

**Например, его можно использовать**:

* Для проверки уровня подготовки сотрудника при приеме на работу;
* Для оценки знаний студентов перед экзаменом или зачетом;
* Для контроля знаний сотрудников в кампании;
* Для проведения смешных викторин, в кругу друзей;

И многое другое.

## Принцип работы шаблона

1. Пользователь заходит в бот, перед ним появляется первое сообщение с предложением пройти тестирование.

<figure><img src="/files/udrd3ZZaPH2rgbNaTcSZ" alt=""><figcaption></figcaption></figure>

2. Устанавливается переменная, в которой будут накапливаться баллы пользователя, за ответы, которые он дал.

<figure><img src="/files/Sd0yRBRHnZhjNYrAsAmx" alt=""><figcaption></figcaption></figure>

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

<figure><img src="/files/4nWXQqJkaYcxzqShpvh5" alt=""><figcaption></figcaption></figure>

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

<figure><img src="/files/x6OFlz4WBtBVJAWvyH2C" alt=""><figcaption></figcaption></figure>

5. В конце тестирования, с помощью блоков условия, бот подсчитывает, сколько баллов набрал пользователь, и, в зависимости от результата, выдает то или иное сообщение.

<figure><img src="/files/DIgLszxgNuPh3v8Sni53" alt=""><figcaption></figcaption></figure>

## Заполняем шаблон бота

### Заполняем блоки с вопросами и начислением баллов

1. В первом блоке **«Сообщение»**, необходимо изменить **текст сообщения** и **фотографию** (*если она нужна*).

<figure><img src="/files/EeMUvaOVL97sCiIyqfNi" alt=""><figcaption></figcaption></figure>

{% hint style="info" %}
После копирования бота в свою кампанию, переменные из шаблона перестали отображаться. Не пугайтесь, сейчас мы все настроим.
{% endhint %}

2. Нажимаем на блок **«Действие»** левой кнопкой мыши. Открывается редактирование шага.

<figure><img src="/files/9knRtXRBFsuMrkEGZRmL" alt=""><figcaption></figcaption></figure>

3. Устанавливаем переменную **«Баллы».**

{% hint style="info" %}
Если она уже есть, выберите ее из списка, если нет – ее необходимо создать.
{% endhint %}

3. Нажимаем на кнопку **«Создать новую переменную».**

<figure><img src="/files/lvcnnE62uPAlPRPhDlEI" alt=""><figcaption></figcaption></figure>

4. Вводим название новой переменной. Нажимаем **«ОК».**

<figure><img src="/files/t9jFfayzcypIVHJljfqX" alt=""><figcaption></figcaption></figure>

5. Значение оставляем **пустым.**

<figure><img src="/files/kqTi0CnJ7OzfpksVwNvX" alt=""><figcaption></figcaption></figure>

{% hint style="info" %}
Этот блок- **начальное** значение переменной. Мы не заполняем его значение для того, чтобы у пользователя, который запустил бота еще раз, верно подсчитывались баллы.\
\
Если это не сделать, то, с повторным запуском, начисление баллов начнется с его предыдущего результата.\
\
Например:

\
Пользователь прошел бота первый раз на 27 баллов, решил его перезапустить, а во второй раз ему выдало значение не до 40 возможных, предположим, а 75, поскольку переменная «**Баллы**» была не обнулена с новым запуском.
{% endhint %}

6. Сохраняем блок.
7. Переходим к редактированию блока с первым вопросом.
8. Изменяем текст и картинку (*если это необходимо*).
9. Пролистываем окно редактирование блока вниз. \
   \
   Нам нужно указать переменную, где будет храниться ответ пользователя.\
   \
   Тип ответа **«Нажата кнопка»** остается без изменений.

<figure><img src="/files/TTwbm0L0umisM0zQJduG" alt=""><figcaption></figcaption></figure>

10. Выбираем переменную из списка либо создаем новую.

    Нажимаем **«Сохранить»**

<figure><img src="/files/nKk4pcCi08hDc3ESSFin" alt=""><figcaption></figcaption></figure>

{% hint style="warning" %}
Если вы хотите, после завершения тестирования, передавать ответы пользователей оператору, то на каждый вопрос – нужна своя переменная.

вопрос1, вопрос2, вопрос3

И так далее.

Если мы будем записывать все ответы пользователя, например, в переменную «вопрос1», ее значение будет постоянно перезаписываться.

Пользователь ответил на первый вопрос – Вариант А, на второй вопрос - Вариант С, на третий вопрос – Вариант Б.

В итоге, если мы захотим вывести значение переменной «вопрос1», мы увидим, что в ней сохранился только последний ответ – «Вариант Б».
{% endhint %}

11. Заполняем блоки **Действия**, где увеличиваются баллы с каждым ответом пользователя.
12. Нажимаем левой кнопкой мыши по первому блоку.  Действие – **«Увеличить переменную».**

<figure><img src="/files/iRV71iYlgyWObPTrttgf" alt=""><figcaption></figcaption></figure>

13. Выбираем переменную **«Баллы»**, которую создавали ранее, из списка.

<figure><img src="/files/i8tv79zi1yXLAsV2vzrp" alt=""><figcaption></figcaption></figure>

14. Указываем значение, сколько будет добавлено баллов пользователю, за этот ответ.\
    \
    \&#xNAN;*( количество баллов может быть любым)*

<figure><img src="/files/Ndwg4cXDxXx5Yf3APbQX" alt=""><figcaption></figcaption></figure>

15. Остальные блоки действия, которые связаны с кнопками вариантов ответов, заполняем аналогичным образом.

<figure><img src="/files/wOpo13wysq1uISusgRpB" alt=""><figcaption></figcaption></figure>

16. По аналогии заполняем следующие блоки с вопросами.

### Заполняем блоки для выдачи результата в конце тестирования

1. Нажимаем на первый блок условия левой кнопкой мыши. Открывается окно редактирования.
2. Указываем переменную **«Баллы».**

<figure><img src="/files/485UjyvrTIrSKdTYd9U4" alt=""><figcaption></figcaption></figure>

3. В поле **«условие»** выбираем **«меньше чем или равен».**

<figure><img src="/files/8o7IkPfWif769n5hD5uL" alt=""><figcaption></figcaption></figure>

4. В поле **«значение»** укажите, сколько баллов должен набрать пользователь, чтобы получить первый результат.

<figure><img src="/files/lhmgtWU83OJ8k6IqIdxs" alt=""><figcaption></figcaption></figure>

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

<figure><img src="/files/DkcT4dAbR1iHWWRPqW3K" alt=""><figcaption></figcaption></figure>

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

Редактирование шаблона завершено!

Обязательно протестируйте бота, до того, как пригласите в него пользователей.<br>

{% hint style="info" %}
Остались вопросы? Задавайте их в нашу техподдержку! Мы всегда рады помочь 😊👇
{% endhint %}

{% content-ref url="/pages/-MasAPNcg291uNezFqb4" %}
[Как задать вопрос в поддержку?](/kak-zadat-vopros-v-podderzhku.md)
{% endcontent-ref %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.leadconverter.su/new_page/materialy/sozdanie-bota-testirovanie-s-podschetom-ballov-i-vydachei-rezultata.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
