Простой чат-бот

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

Создать чат-бота на платформе Mavibot довольно просто, если вы уже прошли раздел «Основы ботостроения Mavibot», в котором объясняются основы работы с конструктором воронки (редактором), с типами блоков и стрелок, с типами вложений, кнопок, а также с калькулятором и т. д.

Перед тем как приступить к созданию простого чат-бота, мы настоятельно рекомендуем вам изучить раздел «Основы ботостроения Mavibot»! ссылка «Основы ботостроения Salebot»!

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

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

Как создать блок кликом мыши

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

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

Как создать блок с выбором типа

Для запуска чат-бота можно выбрать следующие типы блоков: «Начать диалог» или «Проверка основного условия»:

Рис. 1

Мы знаем из статьи «Создание блоков и их типы» ссылка Создание блоков и их типы", что тип блока «Проверка основного условия» имеет наивысший приоритет: как и тип блока «Начало диалога», с него может начинаться цепочка блок-схемы вашего чат-бота

Технически главное отличие состоит в том, что если в схеме чат-бота есть блок типа «Проверка основного условия» и пользователь во время диалога введёт ключевое слово (фразу) этого блока, то общение с клиентом продолжится с этого блока. Это позволяет сделать структуру диалога более гибкой, и клиент сможет сразу получить то, что ему нужно (например, заключить с вами сделку или записаться на ваш курс).

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

Рис. 2. Пример заполнения блока для чат-бота

Как видно из примера выше (Рис. 2), в условии блока мы указали тег мини-лендинга, созданного на платформе Mavibot, с которого будет происходить подписка, а в поле «Выбор совпадения» выбрали тип «полное совпадение».

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

Реакция блока на ключевые фразы с ошибками

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

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

Создание нового блока в схеме

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

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

Рис. 3

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

Рис. 4. Карточка клиента с его данными

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

Регулярные выражения, которые используются в этой статье:

  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]*$

Смотрите полный список регулярных выражений здесь. ссылка здесь.

В поле сообщения второго блока схемы чат-бота напишите нужный вопрос: например, «Сколько вам лет?»:

Рис. 5. Сообщение пользователю

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

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

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

Рис. 6. Использование регулярного выражения

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

Рис. 7.

В примере (Рис. 8) видно, что чат-бот записывает данные клиента в его карточку:

Рис. 8. Карточка клиента с его данными

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

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

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

  1. Мобильный номер (Россия): ^((\\+7|7|8)+([0-9]){10})$

  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}$

В схеме мы использовали регулярное выражение для номеров телефонов любой страны.

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

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

Рис. 9. Блок с сообщением для получения номера телефона клиента

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

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

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

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

Рис. 11

Выберите тип блока «Вне условия» (Рис. 11). У этого блока нет условия, как у блока «Статус диалога», но перейти к нему нельзя.

В отношении нашей схемы блок «Не состояние» будет очень полезен, потому что тогда пользователь не переключится с последнего блока, и чтобы продолжить движение по воронке, ему нужно будет ввести номер телефона:

Рис. 12

О различных функциях блока «Не состояние» вы можете узнать в одноимённой статье. ссылка «Не состояние"

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

Начнём настраивать блоки с кнопками: при нажатии клиентом чат-бот будет отвечать в соответствии с условиями кнопки (например, согласие на оплату; прямая оплата или перенаправление на другой сторонний сайт и т. д. функции).

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

Рис. 13

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

Рис. 14

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

Подробнее о настройках кнопок в схеме чат-бота читайте в этой «статье». ссылка статье.

Чтобы узнать, как подключать и настраивать платёжные системы для проведения оплат в кнопках (ссылках) в боте, см. раздел «Интеграции» -> «Платёжные системы». ссылка Платёжные системы".

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

Чтобы добавить кнопки, которые чат-бот отправит клиенту, нажмите на «Кнопки» в настройках блока:

Рис. 15

Далее нажмите на «Добавить кнопку».

Рис. 16

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

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

Рис. 17. Диалог бота во вкладке тестирования

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

Рис. 18. Просмотр диалога во вкладке «Клиенты»

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

Рис. 19

Завершение диалога с клиентом блоками

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

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

Рис. 20. Блоки завершения диалога

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

Рис. 21

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

Рис. 22. Блок чат-бота, завершающий диалог

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

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

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

Рис. 23. Где проверить данные клиента

Итоговая схема чат-бота выглядит так:

Рис. 24

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

Последнее обновление