Я пытался найти альтернативу регистрации и размещению моего бота 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>
Ошибки
Ошибки консоли