在不注册的情况下为 BotBuilder 机器人创建 REST 接口

Creating a REST interface for BotBuilder bot without registering it

我正在尝试使用 Microsoft BotBuilder 的 Node.js 实现。

使用 ConsoleConnector,我可以通过命令行与我的机器人进行交互。我不必注册我的机器人,也不必使用框架模拟器。这就是我所要做的:

var builder = require('botbuilder');                       

var connector = new builder.ConsoleConnector().listen();          
var bot = new builder.UniversalBot(connector, function (session) {
    session.send("You said: %s", session.message.text);           
});                                                               

但是,我想使用 REST 界面而不是命令行。有什么方法可以做到这一点,而无需注册我的机器人或 运行 框架模拟器?

(我注意到没有 RestConnector,但类似的东西真的很有用!)

谢谢:)

我希望澄清一点。 BotFramework 模拟器是 运行 本地的客户端,您可以避免注册您的机器人。您可以使用 restify 将 botconnector 暴露给 REST 接口。

例如:

var builder = require('botbuilder');
var restify = require('restify');

// Setup Restify Server
var server = restify.createServer();
server.listen(process.env.port || process.env.PORT || 3978, function () {
    console.log('%s listening to %s', server.name, server.url);
});

// Create chat bot
var connector = new builder.ChatConnector({
    appId: process.env.MICROSOFT_APP_ID,
    appPassword: process.env.MICROSOFT_APP_PASSWORD
});

var bot = new builder.UniversalBot(connector, [
    function (session) {
        ...
    }
]);

//Listen to /api/messages
server.post('/api/messages', connector.listen());