Создание бота при помощи SDK Bot Framework 4

Задача: создать бота, разместить на собственном сервере и зарегистрировать его.

Среда: Windows 10 с IDE Visual Studio 2019 Community.

Язык программирования: C#

Реализация

Установите шаблон BotBuilderVSIX.vsix, который вы скачали при выполнении предварительных требований.

В Visual Studio создайте проект бота с использованием шаблона эхо-бота на основе Bot Framework версии 4 и .NET Core 3.1. Выберите тип проекта AI Bots (Боты (ИИ)), чтобы отображались только шаблоны ботов.

Диалоговое окно создания проекта в Visual Studio

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

Запускаем EchoBot

Изменить порт можно тут

В примере изменил порт на 5000

Результат должен быть примерно такой

Приложение запущено

После проверки, что приложение запустилось, переходим к настройке эмулятора.

Со страницы https://github.com/Microsoft/BotFramework-Emulator/blob/master/README.md загружаем эмулятор.

Эмулятор Bot Framework — это классическое приложение, которое позволяет разработчикам локально или удаленно тестировать и отлаживать боты. С помощью эмулятора вы можете общаться с ботом и проверять сообщения, которые он отправляет и получает. Эмулятор отображает сообщения так, как они будут выглядеть в интерфейсе веб-чата, и регистрирует запросы и ответы JSON при обмене сообщениями с ботом.

Запускаем эмулятор

Интерфейс эмулятора

Чтобы подключиться к запущенному локально боту, щелкните Открыть бота. Добавьте скопированный ранее номер порта в следующий URL-адрес и вставьте полученный URL-адрес в поле «URL-адрес бота»:

http://localhost:номер_порта/api/messages

Интерфейс эмулятора

Нажимаем Connect и проверяем работу бота

Работающий эмулятор

Ngrok

Ngrok — это кросс-платформенное приложение, которое позволяет предоставлять веб-сервер, работающий на локальном компьютере, к Интернету. В сущности, мы будем использовать ngrok для пересылки сообщений из внешних каналов в Интернете непосредственно на локальный компьютер, чтобы разрешить отладку, в отличие от стандартной конечной точки обмена сообщениями, настроенной в портал Azure.

Установить можно с сайта https://ngrok.com/download

  1. Откройте терминал и перейдите в папку, в которой находится исполняемый файл ngrok .
  2. Запустите ngrok с помощью следующей команды, чтобы создать новый туннель.
ngrok http 5000 -host-header="localhost:5000"

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

Когда ngrok запустится, скопируйте и сохраните общедоступный URL-адрес пересылки для последующего использования.

URL-адрес пересылки ngrok

Можно воспользоваться альтернативным способом: https://docs.microsoft.com/ru-ru/azure/bot-service/bot-service-debug-emulator?view=azure-bot-service-3.0&tabs=csharp

Регистрация бота на портале Azure

Далее нам нужно проверить нашего бота на портале Azure.

На главной странице портала находим «Все ресурсы»

Нажимаем добавить ресурс и ищем приложение Bot Channels Registration

Нажимаем «Создать».

  • Дескриптор бота — идентификатор
  • Группа ресурсов — если нет, то нажимаем «Создать» и создаем
  • Расположение не меняем
  • Конечная точка обмена сообщениями — указываем ранее полученный адрес в ngrok (https://*.ngrok.io/api/messages)

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

Сюда не нажимаем

После заполнения ранее указанных полей нажимаем «Создать»

После создания карточки результат в ресурсах должен быть примерно таким

В карточке выбираем «Параметры» и копируем Microsoft App ID и записать его в appsettings.json проекта.

Примечание: галочку «Включить конечную точку потоковой передачи» не нужно.

Далее на против Microsoft App ID нажимаем «Управление»

И создаем «Секрет клиента» копируем его и добавляем в файл appsettings.json

Наш appsettings.json

Перезапускаем наше в Visual Studio.

И тестируем нашего бота.

Статьи:

Print Friendly, PDF & Email
Рубрикиbot

Добавить комментарий