Node.js microsoft bot framework端的回调
我正在开发一个使用MicrosoftBot框架和nodejs的聊天机器人,我想使用serverless框架在AWSLambda上部署它,但要做到这一点,我需要调用lambda回调 我找不到如何在处理邮件结束时进行回调(保存数据并发送所有必要的邮件) 我试图模拟响应,并调用回调,但没有成功,microsoft bot framework继续处理消息,这是我的当前处理程序Node.js microsoft bot framework端的回调,node.js,aws-lambda,botframework,serverless-framework,Node.js,Aws Lambda,Botframework,Serverless Framework,我正在开发一个使用MicrosoftBot框架和nodejs的聊天机器人,我想使用serverless框架在AWSLambda上部署它,但要做到这一点,我需要调用lambda回调 我找不到如何在处理邮件结束时进行回调(保存数据并发送所有必要的邮件) 我试图模拟响应,并调用回调,但没有成功,microsoft bot framework继续处理消息,这是我的当前处理程序 'use strict'; const DynamoDbStorage = require('./dynamo-db-stora
'use strict';
const DynamoDbStorage = require('./dynamo-db-storage').DynamoDbStorage
let storage = new DynamoDbStorage()
const connector = require('./channel')(storage)
module.exports.message = (event, context, callback) => {
connector.verifyBotFramework(context, getHandler(callback));
};
function getHandler(callback) {
let status = 200
return {
status: (code) => { status = code },
send: (data) => {
const response = {
statusCode: 200,
body: JSON.stringify(data),
};
callback(null, response)
}
}
}
这是我的channel.js
const builder = require('botbuilder');
function getChannel(storage) {
const connector = new builder.ChatConnector({
appId: process.env.MICROSOFT_APP_ID,
appPassword: process.env.MICROSOFT_APP_PASSWORD
});
const bot = new builder.UniversalBot(connector, {
storage: storage
});
//Bot logic
//...
return connector
}
module.exports = getChannel;
链接的代码似乎没有调用res对象上的send函数。您是否已尝试向其添加调用
回调函数的end()
函数
function getHandler(callback) {
let status = 200
return {
status: (code) => { status = code },
send: (data) => {
const response = {
statusCode: 200,
body: JSON.stringify(data),
};
callback(null, response)
},
end: () => callback(null, "end called");
}
}
/channel中的verifyBotFramework做什么?它从botframework返回连接器,在该文件中我有UniversalBot和所有逻辑它是listen做的,我从这里获取它