Разработка пользовательских действий бота в Botpress

Razrabotka Pol Zovatel Skih Dejstvij Bota V Botpress



Чат-боты стали фундаментальной частью современного бизнеса, что позволяет им обеспечивать лучшую поддержку клиентов, автоматизировать процессы и более эффективно взаимодействовать с пользователями. Botpress — это популярная платформа чат-ботов с открытым исходным кодом, предлагающая различные встроенные действия. Однако в некоторых случаях вам может потребоваться создать собственные действия бота для удовлетворения конкретных требований и расширения возможностей бота. В этом уроке мы покажем вам, как создавать собственные действия бота в Botpress, сосредоточив внимание на вызове API и использовании ответа в элементе контента.

Понимание действий в Botpress

Действия в Botpress — это функции на стороне сервера, которые выполняются ботом во время диалоговых потоков. У них есть возможность изменять состояние разговора, отправлять персонализированные сообщения, выполнять произвольный код (например, вызывать API или сохранять данные) и многое другое. По сути, действия — это обычные функции JavaScript, что означает, что они могут выполнять практически все, что угодно, в рамках ограничений платформы.

Когда действие вызывается диспетчером диалогов (DM), оно получает несколько аргументов, которые обеспечивают контекст для функции. Эти аргументы включают в себя атрибуты пользователя, переменные сеанса, временные переменные, переменные уровня бота, последнее пользовательское событие в диалоге, переданные аргументы из Visual Flow Builder и изолированную виртуальную машину, содержащую некоторые переменные среды.







Регистрация новых действий

Чтобы добавить пользовательские действия бота, вам необходимо создать файл JavaScript (.js) и поместить его в папку данные/глобальные/действия папку в вашем проекте Botpress. К сожалению, нет возможности программно добавлять новые действия во время выполнения. Используя комментарии JavaDoc в своем коде, вы можете предоставить значимую информацию о действиях, такую ​​как их имя, описание, аргументы и значения по умолчанию. Вы также можете скрыть действие в редакторе потоков, добавив флаг @hidden true в комментарий JavaDoc.



Как создавать собственные действия в Botpress

Вот несколько шагов, которые вы можете выполнить, чтобы создать собственное действие в Botpress:



Шаг 1. Создайте своего бота и добавьте узел

Для начала создайте нового бота в Botpress. Как только ваш бот будет создан, добавьте новый узел в поток разговора.





Шаг 2. Добавьте соответствующие сообщения на свой узел

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



Шаг 3. Откройте код выполнения на боковой панели.

Перейдите на боковую панель в Botpress Flow Builder и откройте «Редактор кода». Здесь вы можете создавать и администрировать свои собственные действия.

  C:\Users\user01\Desktop\4124.PNG

Шаг 4. Нажмите кнопку «Добавить действие».

В разделе «Выполнить код» нажмите кнопку «Добавить действие». Это действие открывает окно «Создать новое действие_legacy».

  C:\Users\user01\Desktop\tempsnip.png

Шаг 5. Укажите имя файла и нажмите кнопку «Отправить».

В окне «Создать новый action_legacy» дайте осмысленное имя для вашего файла дополнительных действий; например, customAction.js. После того, как вы указали имя, нажмите кнопку «Отправить». Это создаст файл «customAction.js».

Шаг 6. Напишите свой собственный код

Откройте вновь созданный файл «customAction.js». Внутри файла вы увидите шаблонный код, сгенерированный для нового действия. Предоставьте осмысленное описание вашего специального действия, используя соответствующие комментарии.

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

Шаг 7. Измените свой узел, чтобы использовать настраиваемое действие

Вернитесь в Botpress Flow Builder и измените узел, на котором вы хотите активировать свое настраиваемое действие. Добавьте в узел карточку «Выполнить код».

Шаг 8. Выберите имя настраиваемого действия и укажите параметры действия.

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

  C:\Users\user01\Desktop\tempsnip121.png

Шаг 9. Заставьте бота выполнить действие

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

Пример специального действия

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

константные аксиомы = требовать ( 'аксиос' );

const getWeather = асинхронный ( пользователь , сеанс, аргументы) => {

const location = args.location || 'Нью-Йорк' ;

константный APIKey = 'ваша_погода_api_key' ;

const apiUrl = `https://api.weatherapi.com/v1/current.json?key=${apiKey}&q=${location}`;

пытаться {

const ответ = ждут axios.get(apiUrl);

const WeatherData = response.data;

return `Текущая погода в ${location} ${weatherData.current.condition.text} с температурой ${weatherData.current.temp_c}°C.`;

} поймать (ошибка) {

возвращаться 'Извини, я мог бы \' Не могу получить информацию о погоде на данный момент. Пожалуйста, повторите попытку позже.' ;

}

};

вернуть getWeather( пользователь , сеанс, аргументы);

Это действие принимает определенные аргументы, включая пользователя, сеанс и аргументы, которые предоставляют контекст и данные для работы действия. В этом примере пользовательское действие «getWeather» принимает местоположение в качестве аргумента или по умолчанию принимает значение «Нью-Йорк», если оно не указано. Действие вызывает API погоды с помощью Axios, извлекает данные о погоде и возвращает сообщение, содержащее погодные условия и температуру.

Преимущества пользовательских действий

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

  1. Они расширяют функциональность чат-бота за пределы встроенных возможностей.
  2. Они создают индивидуальные взаимодействия для лучшего взаимодействия с пользователем.
  3. Они получают данные в реальном времени от API для динамических ответов.
  4. Они интегрируются с серверными системами и базами данных.
  5. Они обрабатывают сложные сценарии с помощью специального кода.
  6. Они повторно используют действия в чат-ботах и ​​потоках.
  7. Они реализуют пользовательскую обработку и регистрацию ошибок.
  8. Они оптимизируют ресурсоемкие задачи.
  9. Они используют внешние сервисы для масштабирования.
  10. Они получают доступ к предварительно созданным настраиваемым действиям и делятся ими.

Заключение

Пользовательские действия в Botpress расширяют возможности чат-бота, персонализируют взаимодействие и интегрируют внешние API. Разработчики создают серверные функции JavaScript и вызывают их из Botpress Flow Builder. Эти действия обеспечивают возможность повторного использования кода, повышенную производительность и масштабируемость, что делает чат-ботов более универсальными и мощными инструментами. Использование настраиваемых действий в Botpress создает инновационный и привлекательный опыт работы с чат-ботами.