# Простого чат-бота

Создание чат-бота на платформе Salebot осуществляется достаточно просто, если вами был пройден раздел “[Как создать чат-бота](/chatbots/builder/settings/main.md)”, где объясняются основы работы с конструктором воронок (редактором), с типами блоков и стрелок, с типами вложений, кнопками, а также калькулятором и т.п.

{% hint style="info" %}
Перед тем как приступить к созданию просто Чат-бота, настоятельно рекомендуем изучить раздел “[Как создать чат-бота](/chatbots/builder/settings/main.md)”!
{% endhint %}

## Как создать блок

Чтобы создать первый блок в воронке, необходимо кликнуть два раза левой кнопкой мыши по полю редактора:

<figure><img src="/files/uFeKTm7dryJkIDcWKBWJ" alt="" width="563"><figcaption><p>Как создать блок кликом мыши</p></figcaption></figure>

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

Также блок можно создать просто нажав на "Сохранить" внизу экрана и выбрав его тип:

<figure><img src="/files/8uBNzNPaQJ5rhUZHXtCR" alt=""><figcaption><p>Создание блока с выбором типа</p></figcaption></figure>

Можно выбрать следующий тип блока для старта работы Чат-бота: "Стартовое условие": &#x20;

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

Из статьи "[Создание блоков и их типы](broken://pages/-LxaF6DgPjVFl2Gjvs6m)" нам известно, что тип блока "Стартовое условие" имеет наивысший приоритет: с него может запускаться цепочка схемы блоков вашего Чат-бота.&#x20;

При наличии в схеме Чат-бота блока с типом "Стартовое условие" и при вводе пользователем в процессе диалога ключевого слова (фразы) этого блока, беседа с клиентом продолжится именно с этого блока. Это позволяет обеспечить дополнительную гибкость структуры диалога, а клиенту сразу получить необходимое (например, заключить с вами сделку или зарегистрироваться на вашем курсе).&#x20;

В условиях блока необходимо прописать ключевое слово (например, Тег страницы сайта/сайта или иную фразу, необходимую для работы бота "Привет;здравствуйте через точку с запятой), на которое будет реагировать бот:

<figure><img src="/files/oQ1ENPG8Xsy0MCwuXddM" alt=""><figcaption><p>Пример заполнения блока для Чат-бота</p></figcaption></figure>

Как видно на примере выше, в условии блока мы прописали тег страницы сайта, созданного на платформе Salebot, с которого будет происходить подписка, и в поле "Выбор соответствия" выбрали тип "Полное совпадение".&#x20;

При необходимости, можно прописать в условии ключевые слова иного типа (например, "Привет;Здравствуйте" и т.п.) - в таком случае выберите тип соответствия "Игнорируя ошибки и неточности", что поможет боту распознавать ключевые слова в сообщении ваших клиентов, написанных с опечатками или ошибками:

<figure><img src="/files/kcUfKta7jxjHRHWNh04H" alt="" width="501"><figcaption><p>Реакция блока на ключевые фразы с ошибками</p></figcaption></figure>

## Как создать следующий блок в схеме и прописать условия стрелки

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

<figure><img src="/files/BWTm056f2B0co3bSw3WV" alt=""><figcaption><p>Создаем новый блок в схеме</p></figcaption></figure>

В настройках стрелки укажем такие условия, чтобы Чат-бот собирал данные, вводимые пользователем, и сохранял их в необходимую нам переменную.

Для этого перейдите в настройки стрелки, где необходимо активизировать переключатель "Пользователь вводит данные", а также указать переменную, в которую Чат-бот сохранит данные клиента:

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

После того как пользователь отправит свое имя в сообщении, бот запишет его в необходимую переменную:

<figure><img src="/files/YBPlg94oGqh4mQeUnhw6" alt=""><figcaption><p>Карточка клиента с его данными</p></figcaption></figure>

Во втором блоке схемы пропишем сообщение, которое будет запрашивать возраст вашего клиента. Для этого воспользуемся [регулярными выражениями](broken://pages/-M0wjAtzg71YW7LB-2D8).&#x20;

> Регулярные выражения, которые будут использованы в данной статье:
>
> 1. номер телефона -> ^((\\+7|7|8)+(\[0-9]){10})$
> 2. email -> ^\[-\w.]+@(\[A-z0-9]\[-A-z0-9]+\\.)+\[A-z]{2,4}$
> 3. ввод цифр (для возраста) -> ^\[1-9]+\[0-9]\*$
>
> Полный список регулярных выражений смотрите [здесь](broken://pages/-M0wjAtzg71YW7LB-2D8).&#x20;

В поле сообщения второго блока схемы Чат-бота пропишите необходимый вопрос: например, "Сколько тебе лет?":

<figure><img src="/files/z1oJKetS38HVRukqalw4" alt=""><figcaption><p>Сообщение пользователю</p></figcaption></figure>

Затем выполните следующие действия:

Шаг 1. Протяните стрелку из второго блока, чтобы создать следующий блок схемы аналогично тому, как был создан предыдущий.&#x20;

Шаг 2. В настройках стрелки в условии пропишите регулярное выражение вида ^\[1-9]+\[0-9]\*$ и выберите тип соответствия "Регулярное выражение"

<figure><img src="/files/QCltfX2xS8HQ6s5vSGdP" alt=""><figcaption><p>Использование регулярного выражения</p></figcaption></figure>

{% hint style="warning" %}
Помните, выбор соответствия при использовании регулярных выражений должен быть "Регулярное выражение", в противном случае схема чат-бота будет работать с ошибками!&#x20;
{% endhint %}

Шаг 3. В настройках стрелки активизируйте переключатель "Пользователь вводит данные" и пропишите имя переменной, куда Чат-бот будет сохранять данные клиента:

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

На скриншоте ниже видно, что Чат-бот записывает данные клиента в его карточку:

<figure><img src="/files/hY1gRXK08WlZ3AtLnfQQ" alt=""><figcaption><p>Карточка клиента с его данными</p></figcaption></figure>

## Блок сбора данных клиента: номер телефона/email

В процессе диалога с клиентами часто возникает необходимость последующего общения с клиентом по телефону, однако возникает вопрос: каким образом можно настроить Чат-бота для автоматического сбора информации о клиенте? Конечно же с использованием регулярных выражений.&#x20;

Чтобы воспользоваться функцией сбора номера телефона (или email), используйте следующие регулярные выражения:

1. Номер телефона (Россия): ^((\\+7|7|8)+(\[0-9]){10})$&#x20;
2. Номер телефона (с кодом любой страны): ^(\\+)?((\d{2,3}) ?\d|\d)((\[ -]?\d)|( ?(\d{2,3}) ?)){5,12}\d$
3. Email: ^\[-\w.]+@(\[A-z0-9]\[-A-z0-9]+\\.)+\[A-z]{2,4}$

{% hint style="danger" %}
Убедитесь, что в условии стрелки перед регулярным выражением не стоит пробел!&#x20;

<img src="/files/u4NYNl9nslxpMjKyoSSA" alt="" data-size="original">

Иначе схема Чат-бота будет работать с ошибками.&#x20;
{% endhint %}

{% hint style="info" %}
В схеме мы использовали регулярное выражение для номеров телефонов любой страны.&#x20;
{% endhint %}

Аналогично тому, как бот записывал имя и возраст клиента, в систему добавится и номер телефона пользователя (или его email при выборе соответствующего регулярного выражения).&#x20;

Создайте блок, где с помощью бота будете направлять сообщение клиенту с просьбой отправить номер телефона (или email) пользователю:

<figure><img src="/files/mP2Ze9wSEo4L5PIeflrB" alt=""><figcaption><p>Блок с сообщением для получения номера телефона клиента</p></figcaption></figure>

Далее протяните стрелку из этого блока, где в условии стрелки необходимо прописать соответствующее регулярное выражение.&#x20;

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

{% hint style="success" %}
Как отмечалось ранее, не забывайте устанавливать выбор соответствия "Регулярное выражение" во избежание ошибок работы Чат-бота.&#x20;
{% endhint %}

С условием, где прописаны регулярные выражения, Чат-бот примет только значения номера телефона в виде цифр, а в случае с почтовым адресом - только установленные стандартизированные виды почтовых адресов.&#x20;

Если клиент отправил сообщение, не соответствующее значению номера телефона (email), можно создать блок, который будет сообщать клиенту о неверно введенных данных:

<figure><img src="/files/4XSFqcjuYKWITq44DjvJ" alt="" width="489"><figcaption></figcaption></figure>

Для этого из блока, где вы прописали сообщение для того, чтобы клиент отправил номер телефона, проведите вторую стрелку и в создавшемся блоке пропишите необходимое сообщение, например, "Это не номер телефона. Пожалуйста, напиши номер телефона!":

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

Выберите тип блока "Не состояние" (скриншот выше). У такого блока нет условия как в блоке "Состояние диалога", но в него нельзя перейти.&#x20;

Применительно к нашей схеме блок "Не состояние" будет как нельзя кстати, поскольку тогда пользователь не будет переходить из предпоследнего блока, и для прохождения дальше по воронке ему нужно будет ввести номер телефона:

<figure><img src="/files/DnsYyYEQgHywmGuwHsvQ" alt="" width="458"><figcaption></figcaption></figure>

{% hint style="info" %}
Про различные функцию блока "[Не состояние](broken://pages/-M1G0tS64N7tDTadS8Ao)" можно узнать в одноименной статье.&#x20;
{% endhint %}

## Блоки последующего диалога бота с клиентом

Приступим к настройке блоков с кнопками, при нажатии на которые клиентом Чат-бот будет реагировать в соответствии с условиями кнопки (например, согласие на оплату; непосредственно оплата либо перенаправление на другой сторонний сайт и др. функции).&#x20;

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

<figure><img src="/files/mSfqV6cvNxgL4OsTzIE5" alt="" width="397"><figcaption></figcaption></figure>

Чтобы поставить таймер, перейдите в настройки стрелки и выставьте необходимый временной промежуток, по прошествии которого Чат-бот направит сообщение клиенту:

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

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

{% hint style="info" %}
Подробнее про настройки кнопок в схеме Чат-бота читайте в этой [статье](broken://pages/xeepnRj969zW3xRimkdg).&#x20;

Как подключить и настроить платежные системы для того, чтобы формировать оплату в кнопках (ссылках) в боте, читайте в разделе "Интеграции" → "[Эквайринг](/integration/payments.md)".&#x20;
{% endhint %}

### Как добавить кнопки

Для того чтобы добавить кнопки, которые Чат-бот будет отправлять клиенту, нажмите на "Кнопки" внутри настройки блока:

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

Далее нажмите на "Добавить кнопку".&#x20;

<figure><img src="/files/KLN49GhHhrYg1zzV06D2" alt="" width="499"><figcaption></figcaption></figure>

Далее откроется окно для добавления кнопки, где необходимо прописать название кнопки и настроить ее в соответствии со своими требованиями:

<figure><img src="/files/5r20fiJxgqoekQm9O2UC" alt=""><figcaption></figcaption></figure>

Теперь данный блок будет направлять кнопки вашему клиенту, что позволит в последующем выявить момент (применительно к схеме, составляемой в данной статье), когда лучше будет связаться с ним:

<figure><img src="/files/nodR48XDy0LSiU2hGE8B" alt="" width="478"><figcaption><p>Диалог бота во вкладке с тестированием</p></figcaption></figure>

Диалог с клиентом будет отображаться во вкладке Клиенты, где вы можете проследить все изменения в диалогах с клиентами:

<figure><img src="/files/kZgbpWdUbPum4kGFNhLs" alt=""><figcaption><p>Вид диалога во вкладке "Клиенты"</p></figcaption></figure>

После того как клиент нажмет на определенную кнопку, в диалог во вкладке "Клиенты" придет соответствующее сообщение: например, "перезвоните мне сегодня":

<figure><img src="/files/usfH9D5m9tQi6Ddkq8fv" alt="" width="517"><figcaption></figcaption></figure>

### Блоки окончания диалога с клиентом

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

Для этого создадим два блока со стрелками, идущими от блока с кнопками:

<figure><img src="/files/8SjvB6Rvx4lY2D9G0zGH" alt=""><figcaption><p>Блоки завершения диалога</p></figcaption></figure>

Теперь в условиях каждой стрелки пропишем название каждой кнопки:

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

В условиях созданных блоков пропишите необходимые сообщения, которые будет отправлять Чат-бот при нажатии клиентом кнопки:

<figure><img src="/files/o8jnwZDHYAwCLZpX1g4e" alt=""><figcaption><p>Блок чат-бота, завершающий диалог</p></figcaption></figure>

Теперь Чат-бот будет оповещать клиента о том, что его запрос принят.&#x20;

<figure><img src="/files/35ZPZhdy4CO2s0qbWqWS" alt="" width="563"><figcaption></figcaption></figure>

В разделе "Клиенты" вы сможете увидеть ответ клиента и перезвонить ему в удобное время, а также продолжить диалог в случае необходимости или уточнения деталей.&#x20;

Чтобы посмотреть данные, которые передал вам клиент, перейдите во вкладку "Клиенты":

<figure><img src="/files/SeeLYOYbYHb0pJkbNErp" alt=""><figcaption><p>Где взять данные клиента</p></figcaption></figure>

Итоговая схема Чат-бота выглядит следующим образом:

<figure><img src="/files/C3UPabtgWQKjmS24dt6Q" alt="" width="549"><figcaption></figcaption></figure>

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


---

# 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.salebot.pro/chasto-zadavaemye-voprosy/kak-sdelat/prostogo-chat-bota.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.
