# Ответ на сообщение

{% hint style="info" %}
Даже в неактивном состоянии чат-бот обрабатывает ответы пользователей и нажатия на кнопки. При активации чат-бот учтет эти действия.
{% endhint %}

Для того, чтобы чат-бот мог реагировать на ответы пользователей, в шаге с сообщениями необходимо устанавливать опцию **Ожидание ответа**.&#x20;

<figure><img src="https://3357342088-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FZN10WvcXgl30afEjLBp4%2Fuploads%2FcjlglLkygzAUQB2gdVKR%2Fimage.png?alt=media&#x26;token=665d769c-2508-4b41-ae48-328959c0efc4" alt=""><figcaption><p>Ожидание ответа на сообщение</p></figcaption></figure>

<mark style="background-color:green;">В качестве ответа учитываются:</mark>

* текстовые сообщения
* вложения
* стикеры.

<mark style="background-color:red;">Не учитываются:</mark>

* отредактированные сообщения
* последующие ответы (второе и следующие сообщения от пользователя).&#x20;

## Шаги после ответа

Все шаги после **Ответа на сообщение** будут выполняться только после того, как пользователь сам напишет какое-нибудь сообщение.

![Сообщение после ответа пользователя](https://content.gitbook.com/content/ZN10WvcXgl30afEjLBp4/blobs/t2dko2qZb3kh0oyM0z2D/image.png)

## Проверка ответа

Ответ пользователя можно проверить с помощью шагов с условиями **Ответ на сообщение**.

![Проверка ответа пользователя](https://content.gitbook.com/content/ZN10WvcXgl30afEjLBp4/blobs/FX29RIcVoSdZgrsY7Zzf/image.png)

Полный список условий: <https://help.senler.ru/bot/usloviya#otvet-na-soobshenie>

## Действия с ответами

Ответ пользователя можно обработать с помощью шагов с действиями **Ответ на сообщение**, например сохранить в переменную.

![Сохранение ответа пользователя в переменную](https://content.gitbook.com/content/ZN10WvcXgl30afEjLBp4/blobs/8SEPqpmx4q67rVKwL2oJ/image.png)

Полный список действий: <https://help.senler.ru/bot/deistviya#otvet-na-soobshenie>

## Нет ответа

Существует возможность отправить сообщение, если пользователь не ответил, например через 24 часа. Для этого нужно добавить таймер сразу после отправки первого сообщения и после таймера проверить, находится ли пользователь на следующем шаге после ожидания ответа. Если нет - это означает, что пользователь еще не ответил.

![Отправка сообщения, если пользователь не ответил](https://content.gitbook.com/content/ZN10WvcXgl30afEjLBp4/blobs/fXwmlWKmfyXY5N8adn1Q/image.png)

## Ошибки

#### Ожидание ответа в середине цепочки сообщений

Бот перестает ожидать ответ:

* когда в этом боте отправляется другое сообщение
* когда в другом боте отправится какое-нибудь сообщение.

В этом случае необходимо включить ожидание ответа только во втором шаге.

![Неверная настройка ожидания ответа пользователя](https://content.gitbook.com/content/ZN10WvcXgl30afEjLBp4/blobs/pRzuURawMxAUwmQP4uGq/image.png)

#### Неизменившийся ответ пользователя

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

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

Один из вариантов - добавить после условия сообщение "Ответ неверный, попробуйте еще раз" и в нем тоже установить ожидание ответа.

![Неверная настройка ожидания ответа](https://content.gitbook.com/content/ZN10WvcXgl30afEjLBp4/blobs/Ofd4CcdQOEcwN6WtBc28/image.png)
