端口 botbuilder restify 监听器到 sailsjs 路由
Port botbuilder restify listener to sailsjs route
我正在关注这里的 botbuilder 演示 - https://github.com/Microsoft/BotBuilder/blob/master/Node/examples/demo-skype/app.js
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);
server.post('/api/messages', connector.listen());
我想在 SailsJS 中托管这个机器人。
我已按如下方式路由呼叫:
// config/routes.js
'POST /api/messages': {
controller: 'BotframeworkController',
action: 'listen',
},
控制器:
var builder = require('botbuilder');
var botconfig = sails.config.botframework;
var connector = new builder.ChatConnector({
appId: botconfig.MICROSOFT_APP_ID,
appPassword: botconfig.MICROSOFT_APP_PASSWORD
});
var bot = new builder.UniversalBot( connector, function( session ) {
session.send("%s, I heard: %s", session.userData.name, session.message.text);
});
// Add help dialog
bot.dialog('help', function (session) {
session.send("I'm a simple echo bot.");
}).triggerAction({ matches: /^help/i });
module.exports = {
listen: function( req, res, next ){
sails.log.debug('BotframeworkController.listen... started');
sails.log.debug(req.body);
return connector.listen( req, res );
// var test = connector.listen( req, res );
// sails.log.debug(test );
},
}
我没有收到任何错误 - 我可以看到 - 但没有向客户端返回任何响应。
任何 ideas/suggestions 将不胜感激?
我没有使用过 SailsJS
,但看起来它会在收到 POST 到 /api/messages
时调用 BotframeworkController
的 listen
方法.我没看错吗?
connector.listen()
本身不是处理程序,它是处理程序的路径。它 returns 一个处理传入请求和响应的函数。试试这样:
module.exports = {
listen: connector.listen()
}
我正在关注这里的 botbuilder 演示 - https://github.com/Microsoft/BotBuilder/blob/master/Node/examples/demo-skype/app.js
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);
server.post('/api/messages', connector.listen());
我想在 SailsJS 中托管这个机器人。 我已按如下方式路由呼叫:
// config/routes.js
'POST /api/messages': {
controller: 'BotframeworkController',
action: 'listen',
},
控制器:
var builder = require('botbuilder');
var botconfig = sails.config.botframework;
var connector = new builder.ChatConnector({
appId: botconfig.MICROSOFT_APP_ID,
appPassword: botconfig.MICROSOFT_APP_PASSWORD
});
var bot = new builder.UniversalBot( connector, function( session ) {
session.send("%s, I heard: %s", session.userData.name, session.message.text);
});
// Add help dialog
bot.dialog('help', function (session) {
session.send("I'm a simple echo bot.");
}).triggerAction({ matches: /^help/i });
module.exports = {
listen: function( req, res, next ){
sails.log.debug('BotframeworkController.listen... started');
sails.log.debug(req.body);
return connector.listen( req, res );
// var test = connector.listen( req, res );
// sails.log.debug(test );
},
}
我没有收到任何错误 - 我可以看到 - 但没有向客户端返回任何响应。
任何 ideas/suggestions 将不胜感激?
我没有使用过 SailsJS
,但看起来它会在收到 POST 到 /api/messages
时调用 BotframeworkController
的 listen
方法.我没看错吗?
connector.listen()
本身不是处理程序,它是处理程序的路径。它 returns 一个处理传入请求和响应的函数。试试这样:
module.exports = {
listen: connector.listen()
}