在不注册的情况下为 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());
我正在尝试使用 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());