Как разместить Microsoft Bot без регистрации в Microsoft или Azure? - PullRequest
1 голос
/ 21 октября 2019

Я пытался найти альтернативу регистрации и размещению моего бота Microsoft в Microsoft / Azure. Я знаю, что могу разместить бот локально и просто зарегистрировать его в Microsoft, чтобы получить доступ к различным доступным каналам, но я хочу разместить свой бот совершенно отдельно от регистрации Microsoft.

Моя основная цель -выставить прямую конечную точку / API, которая может общаться с моим ботом без необходимости регистрации указанного бота в Microsoft. Я уверен, что это может быть достигнуто с помощью некоторого промежуточного программного обеспечения, но у меня возникают проблемы с поиском ресурсов, которые могут помочь. Я попытался использовать пакет nodejs, offline-directline , но безуспешно. Я считаю, что пакет устарел и больше не работает, как ожидалось. В настоящее время я использую этот пакет в качестве справочного материала, чтобы попытаться придумать собственное решение, но любые альтернативные ресурсы будут полезны.

Несколько заключительных деталей об этом проекте. Бот написан на .Net с использованием Microsoft Framework Bot. Мне [нужно] решение, которое работает именно с ботами .Net, но я открыт для решения, которое может работать с ботами .Net [и] Nodejs. Спасибо за любую помощь, и я буду рад ответить на любые дополнительные вопросы по мере их появления.


В отношении офлайн-прямого репо, ниже приведено текущее состояние моей установки. Я пытаюсь получить базовую версию, используя пример EchoBot от Microsoft. Я подключаюсь к веб-чату, используя этот URL http://localhost:8080/?domain=http://localhost:3000/directline. Ниже приведены фрагменты кода для моего приложения nodejs и клиентского веб-чата.

app.js

const directline = require("offline-directline");
const express = require("express");

const app = express();
directline.initializeRoutes(app, 3000, "http://127.0.0.1:3978/api/messages");

index.html

<!DOCTYPE html>
<html>
   <body>
      <div id="webchat" role="main"></div>
      <script src="https://cdn.botframework.com/botframework-webchat/latest/webchat.js"></script>
      <script>

        function getUrlVars() {
          var vars = {};
          var parts = window.location.href.replace(/[?&]+([^=&]+)=([^&]*)/gi, function(m,key,value) {
            vars[key] = value;
          });
          return vars;
        }
        let params = getUrlVars();
        console.log(params);
        window.WebChat.renderWebChat({
          directLine: window.WebChat.createDirectLine({
            token: params['s'],
            secret: params['t'],
            domain: params['domain'],
            webSocket: false
          }),
        },
        document.getElementById('webchat')
        );
      </script>
   </body>
</html>

Ошибки

Ошибки консоли

Ответы [ 2 ]

0 голосов
/ 22 октября 2019

Что касается пакета "offline-directline", он не устарел. Я подозреваю, что вы неправильно настраиваете его. Следующий пример кода достаточен для запуска пакета. Тогда вам просто нужно указать на него своего бота.

const directline = require('offline-directline');
const express = require('express');

const app = express();

directline.initializeRoutes(app, 4000, "http://127.0.0.1:3978/api/messages");

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

Надежда на помощь!

0 голосов
/ 21 октября 2019

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

Botkit - это лишь часть большого набора инструментов для разработчикови SDK, которые включают в себя Microsoft Bot Framework. Bot Framework SDK обеспечивает базу, на которой построен Botkit. Он доступен на нескольких языках программирования!

Или, если вы достаточно смелы, вы можете спросить людей по адресу Microsoft opencode@microsoft.com, можете ли вы достать их Bot Framework SDK и вытащитьЛазурные биты?

...