# Тест с набором баллов

Мы уже подготовили шаблон сценария для теста сразу в сервисе. Перейдите в раздел сценариев и выберите "Тест с набором баллов":

<figure><img src="https://4058588211-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvTd8XmFMqkqZga7zhLuk%2Fuploads%2FYaNWvkJ2Tthq3YMEjJXg%2Fimage.png?alt=media&#x26;token=ec3e8407-02b3-412d-8e7a-42bc3fa2b1f9" alt=""><figcaption></figcaption></figure>

Перед вами откроется сценарий, в котором уже созданы нужные блоки. Остается только их отредактировать и внести ваши данные.

Если вы не знакомы с тем, как заполнять сценарии, рекомендуем вам прочитать раздел [Сценарии](https://docs.smartbotpro.ru/scenarii).

## Вопрос с ответом по кнопке

Перейдите в сценарий и найдите блок "Первый вопрос":

<figure><img src="https://4058588211-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvTd8XmFMqkqZga7zhLuk%2Fuploads%2FDez5Nc1pufUdYy3U2hXI%2Fimage.png?alt=media&#x26;token=a36d881c-58ed-47f4-b9ff-77a5b96badda" alt=""><figcaption></figcaption></figure>

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

<figure><img src="https://4058588211-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvTd8XmFMqkqZga7zhLuk%2Fuploads%2FCspRBp4cjZNoZAfm3pK8%2Fimage.png?alt=media&#x26;token=caaca51a-1b23-4bbe-94b7-3fffa861d42a" alt=""><figcaption></figcaption></figure>

Обратите внимание, что стрелка от правильного ответа идет в шаг отправки сообщения и дальше в шаг начисления баллов.

Для баллов мы используем специально созданную переменную **%Баллы за тест%** типа число. В шаге установки переменных мы добавляем 1 балл к этой переменной с помощью выражения {{ %Баллы за тест% + 1 }}. То есть к предыдущему значению переменной прибавится единица.

{% hint style="info" %}
Если вы не знакомы с работой переменных, мы рекомендуем прочитать о них в [этом разделе](https://docs.smartbotpro.ru/scenarii/peremennye).
{% endhint %}

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

## Вопрос с текстовым ответом с сохранением ответа

Найдите в сценарии второй вопрос:

<figure><img src="https://4058588211-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvTd8XmFMqkqZga7zhLuk%2Fuploads%2F9gQ5DwJNxutRN5OmiKB1%2Fimage.png?alt=media&#x26;token=b818ec28-7e56-4073-b357-f1febde2c2c0" alt=""><figcaption></figcaption></figure>

Обратите внимание, что после текста вопроса используется [блок "Обработать сообщение"](https://docs.smartbotpro.ru/scenarii/deistviya/obrabotat-soobshenie).

Этот блок подождет ответ пользователя на вопрос и может сохранить его в переменную %Ответ на второй вопрос%, которую мы предварительно создали для этого шаблона.

![](https://4058588211-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvTd8XmFMqkqZga7zhLuk%2Fuploads%2FEQmr8P4Um2Y7NkvTfsa4%2FScreenshot%202022-12-14%20at%2016.45.55.png?alt=media\&token=daaaac1f-d094-41e1-8849-2d07ef566555)

Следующим блоком нам нужно проверить, правильный ли ответ ввел пользователь. Для этого используем [блок условие](https://docs.smartbotpro.ru/scenarii/usloviya)

<figure><img src="https://4058588211-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvTd8XmFMqkqZga7zhLuk%2Fuploads%2FLdmiIBHM7QKRF8zv1zzz%2Fimage.png?alt=media&#x26;token=8f55b55c-9d3e-4219-848f-e281c7884775" alt=""><figcaption></figcaption></figure>

Если ответ пользователя больше 140 и меньше 160 (то есть в диапазоне 140-160), **то** будем считать ответ верным и начислим еще 1 балл. **Иначе** перейдем в ветку неверного ответа:

<figure><img src="https://4058588211-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvTd8XmFMqkqZga7zhLuk%2Fuploads%2FSBXRFbCjyPnf2f5hWj8d%2Fimage.png?alt=media&#x26;token=40d672bf-7826-4b2a-8a72-91b3eafca0c5" alt=""><figcaption></figcaption></figure>

## Вопрос с текстовым ответом

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

<figure><img src="https://4058588211-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvTd8XmFMqkqZga7zhLuk%2Fuploads%2FOEva2A1GsaMeo807GW4g%2Fimage.png?alt=media&#x26;token=dfbbd0c9-d1c9-4550-acee-60d089b4d7db" alt=""><figcaption></figcaption></figure>

Он очень похож на предыдущий вариант, но в данном случае мы ждем ответ "3", поэтому сохранять ответ в переменную нет смысла.

В блоке вопроса стоит галочка "Ждать сообщения от пользователя". Это значит, что бот напишет сообщение и остановится до тех пор, пока пользователь что-нибудь не напишет:

![](https://4058588211-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvTd8XmFMqkqZga7zhLuk%2Fuploads%2FGw8U03s38AlLQKk7oAx1%2FScreenshot%202022-12-14%20at%2016.53.02.png?alt=media\&token=5761820f-74f4-4b2a-b40e-90f630ed8036)

Как только пользователь ответит, бот перейдет на следующий блок – условие на сообщение:

<figure><img src="https://4058588211-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvTd8XmFMqkqZga7zhLuk%2Fuploads%2FiFmBT0Ov14uNQZdRGhqU%2Fimage.png?alt=media&#x26;token=ad1b781e-d41c-4ad2-9ee1-fb27a5e60a33" alt=""><figcaption></figcaption></figure>

В этом условии проверится последнее сообщение пользователя, то есть его ответ на вопрос.

Если условие выполнится (ветка **"ТО"**), бот перейдет дальше и начислит пользователю балл.

## Подведение итогов

Найдите блок завершения теста:

<figure><img src="https://4058588211-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvTd8XmFMqkqZga7zhLuk%2Fuploads%2FdatQVuD6IsiDsX7StfdE%2Fimage.png?alt=media&#x26;token=e2692fbf-0f97-4849-89cf-b7d4b911245d" alt=""><figcaption></figcaption></figure>

Обратите внимание, в сообщение мы используем переменную **%Баллы за тест%**, в которую мы накапливали баллы пользователя за правильные ответы.

Итог: пользователь увидит число набранных баллов в тексте:

![](https://4058588211-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvTd8XmFMqkqZga7zhLuk%2Fuploads%2FFmSRH8AR8FyxBKbrna5R%2Fimage.png?alt=media\&token=75fd0f50-5f1b-4d73-b6f0-f7ce91aef9aa)


---

# 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.smartbotpro.ru/recepty/test-s-naborom-ballov.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.
