2017-02-14 53 views
0

我正在尝试使用Microsoft BotBuilder的Node.js实现。为BotBuilder机器人创建REST接口而不注册它

通过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,但类似的东西还是很有用的!)

谢谢:)

回答

0

我希望澄清一点。 BotFramework模拟器是一个在本地运行的客户端,您可以避免注册您的机器人。您可以使用restify将bot连接器暴露给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()); 
+0

感谢您的答复!你有没有通过REST发起对话的例子? (例如,使用Curl或任何其他机制)。他们的API文档有点难以遵循:https://docs.botframework.com/en-us/restapi/connector/ –