Как настроить бот для определения номера телефона и других данных и передачи их в контекст?

Краткий ответ

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

Подробнее о доступных шаблонах сущностей можно узнать на странице раздела Сущности.

Принцип работы одинаков для всех сущностей:

  1. Настроенная сущность автоматически распознаётся в сообщении.

  2. Извлечённые данные сохраняются в контексте и фактах.

  3. Доступ к данным осуществляется через два варианта:

  • имя_сущности.str – отформатированное представление.

  • имя_сущности.raw – оригинальный ввод пользователя.

Данные распознанной сущности можно получить как напрямую через блок "Текст" в Сценарии, так и через Сниппет. Далее в статье мы рассмотрим, как это сделать.

Инструкция по сборке

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

  1. Сущность – определяет, какие данные бот будет распознавать.

  2. Сниппет – извлекает номер телефона из контекста.

  3. Сценарий – задаёт последовательность действий бота.

Шаг 1. Настройка сущности

Для начала создадим сущность. Перейдите в раздел Сущности в левой панели главного меню и нажмите "Добавить". В выпадающем списке выберите тип сущности Phone number, задайте произвольное название (например, Phone) и сохраните изменения.

Шаг 2. Настройка сниппета

Перейдите в раздел Сниппеты в левой панели главного меню и нажмите "Добавить".

В зоне редактирования сниппета добавьте следующую строку (как показано на картинке ниже): core.sendText(context.Phone.str)

  • core.sendText – метод для отправки текста в чат.

  • context.Phone.str – строковое представление распознанной сущности "номер телефона", которую мы создали на предыдущем шаге.

Шаг 3. Настройка Сценария и воспроизведение в тестовом чате

Перейдите в раздел Сценарии в левой панели главного меню и нажмите "Добавить". Теперь создайте простой тестовый сценарий: перетащите в зону редактирования (зажав левую кнопку мыши) триггер Сущность первым шагом, а затем реакции Сниппет и Текст.

В рабочей зоне необходимо настроить шаги сценария. Для этого щёлкните левой кнопкой мыши на элемент, который вы ранее перетащили в зону, и выберите или введите следующие настройки: для Сущности выберите Phone, для Сниппета укажите getPhoneNumber, а для Текста введите {{Phone.str}}. Сохраните сценарий.

Время проверить результат в тестовом чате. Введите произвольный номер телефона. В ответ вы получите два сообщения от бота: первое – это результат работы сниппета, который извлёк данные сущности из контекста, второе – обращение к распознанному факту прямо в блоке "Текст" Сценария.

Модификации сниппета

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

Также можно извлечь данные распознанной сущности из истории сообщений с помощью атрибутов .current.meta и .events.meta.

Last updated