Использование службы Azure Bot с неконфигурируемой службой чата

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

Однако, когда я создаю бота в службе чата, которая не поддерживается в конфигурации канала (например, Discord), мне нужно настроить клиента в моем боте веб-приложения (например, Discord.Net) для связи со службой.

Тогда, хотя я предполагаю, что канал Direct Line (REST API) будет обрабатывать связь между ботом веб-приложения и службой ботов, но я не уверен, что это правильно. Верно ли мое предположение?

Кроме того, мне неясно, есть ли преимущество использования службы ботов в этой ситуации, потому что я просто могу разместить отдельное веб-приложение в Azure или другом месте и позволить ему взаимодействовать со службой чата. Почему мне нужно добавить еще одну услугу для обработки?

Я полагаю, что одним из возможных преимуществ может быть то, что я могу легко получить доступ к различным функциям (например, LUIS) через службу ботов. Также бот может работать с различными платформами, такими как Skype или Cortana, с помощью одного кода.

Но все же я не очень разбираюсь в этой теме. Может ли кто-нибудь дать мне предложение и лучшую практику?


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

введите здесь описание изображения


person kemakino    schedule 30.01.2019    source источник
comment
Официально поддерживаемого канала для Discord нет. Было бы проще, если бы были. Здесь был неофициальный, github.com/stevengum/DiscordConnector   -  person Micromuncher    schedule 30.01.2019
comment
Да, я подтверждаю наличие библиотеки, но я имею в виду, связывает ли это Discord с ботом веб-приложения или со службой бота на рисунке выше?   -  person kemakino    schedule 30.01.2019


Ответы (1)


С Directline API не так просто работать, и для того, чтобы заставить бот Bot Framework работать с Discord, потребуется немало усилий. Но цель Directline - установить соединение между вашим ботом (службой Azure Bot / ботом веб-приложения) и Discord. Чтобы использовать Directline API, вам нужно:

1) Получите секрет прямой линии, зарегистрировав своего бота в Azure (Azure Bot Services).

2) Создайте свой прямой объект, используя указанный выше секрет (это линия связи между ABS и Discord)

3) Используйте свой объект прямой линии для POST-запросов к боту от пользователя и прослушивайте действия от бота.

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

В Directline-js repo есть хороший README и примеры кода, но имейте в виду, что фреймворк постоянно совершенствуется. На момент написания этой статьи имеется 8 запросов на включение, ожидающих рассмотрения для репо.

Веб-сайт справки по ИИ еще в июле 2018 г. (до выпуска версии 4) написал предварительный обзор того, как использовать Directline API с C #.

И, наконец, официальная документация для Directline API: здесь

Что касается подключения вашего бота к Discord, в справочнике Discord API есть инструкции о том, как получить токен авторизации здесь.

person JJ_Wailes    schedule 06.02.2019
comment
Точно! Это руководство - это то, что я нашел и следую, пока ждал ответа: D Также я обращаюсь к официальной документации MS и Discord. В любом случае, спасибо за подведение итогов потока! - person kemakino; 07.02.2019