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

{% 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%2F8d2OCYlIZFW4qaat4XKI%2Fimage.png?alt=media&#x26;token=0c91a9ba-5c54-4a8e-bee3-f8a2c63b2c09" alt="" width="563"><figcaption><p>Ожидание ответа на сообщение</p></figcaption></figure>

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

* текстовые сообщения
* вложения
* эмодзи
* стикеры
* GIF

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

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

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

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

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

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

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

<figure><img src="https://3357342088-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FZN10WvcXgl30afEjLBp4%2Fuploads%2F6vWeEPgUqOjET1CmjehC%2Fimage.png?alt=media&#x26;token=29c7955e-65ed-4a64-890c-2b936a32002a" alt=""><figcaption><p>Проверка ответа пользователя</p></figcaption></figure>

Полный список условий доступен по ссылке ниже:

{% content-ref url="../blok-gruppa-uslovii" %}
[blok-gruppa-uslovii](https://help.senler.ru/senler/kanaly/telegram/chat-boty/blok-gruppa-uslovii)
{% endcontent-ref %}

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

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

<figure><img src="https://3357342088-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FZN10WvcXgl30afEjLBp4%2Fuploads%2FnkIBLUYkObSWRQ39O7Bh%2Fimage.png?alt=media&#x26;token=8bda0672-f356-4d23-bc38-e51565bfb001" alt=""><figcaption><p>Сохранение ответа пользователя в переменную</p></figcaption></figure>

Полный список действий доступен по ссылке ниже:

{% content-ref url="../blok-deistvie" %}
[blok-deistvie](https://help.senler.ru/senler/kanaly/telegram/chat-boty/blok-deistvie)
{% endcontent-ref %}

## Нет ответа

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

<figure><img src="https://3357342088-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FZN10WvcXgl30afEjLBp4%2Fuploads%2Fh0u4wLiokSnci2NYpOeg%2Fimage.png?alt=media&#x26;token=b476c65f-2497-43d3-9c67-9d06a79a6a4a" alt=""><figcaption><p>Отправка сообщения, если пользователь не ответил</p></figcaption></figure>

## Ошибки

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

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

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

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

<figure><img src="https://3357342088-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FZN10WvcXgl30afEjLBp4%2Fuploads%2FhctulRZGMRC4BoD23b1q%2Fimage.png?alt=media&#x26;token=c204e601-3411-411b-bd53-7ea1388a24b6" alt=""><figcaption><p>Неверная настройка логики ожидания ответа</p></figcaption></figure>

#### Неверный ответ пользователя

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

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

Показаны 2 варианта неверной и верной настройки. Во втором варианте нужно добавить сообщение "Ответ неверный, попробуйте еще раз.", и в нем тоже установить ожидание ответа. Данное сообщение следует вести по пути Иначе условного блока:

<figure><img src="https://3357342088-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FZN10WvcXgl30afEjLBp4%2Fuploads%2FsiEeTi880BoFIwBnqC2q%2Fimage.png?alt=media&#x26;token=ee4163cd-1b98-4870-9e53-fc1e56fd8404" alt=""><figcaption><p>Неверная настройка логики ожидания ответа</p></figcaption></figure>
