Node.js 错误:ChatConnector:startConversation-地址无效

Node.js 错误:ChatConnector:startConversation-地址无效,node.js,botframework,restify,Node.js,Botframework,Restify,我试图在收到HTTP post请求时发送一条主动消息。该请求发送一个地址对象和一条消息。我尝试将转换属性作为删除。但是运气不好。任何帮助都是感激的 server.use(restify.plugins.bodyParser()); // Do POST this endpoint to deliver a notification server.post('/api/followUpNotification',(req, res, next) => { var dialogName

我试图在收到HTTP post请求时发送一条主动消息。该请求发送一个地址对象和一条消息。我尝试将转换属性作为删除。但是运气不好。任何帮助都是感激的

server.use(restify.plugins.bodyParser()); 

// Do POST this endpoint to deliver a notification
server.post('/api/followUpNotification',(req, res, next) => {
  var dialogName = navigation.GetMainMenuDialog("index","FOLLOW_UP_MESSAGE");
  delete req.body.savedAddress.conversation;
  bot.beginDialog(dialogName,{savedAddress: req.body.savedAddress,message:req.body.followupMessage}); 
  res.send('triggered');
  next();
 }
);
使用bot.beginDialog方法主动启动新对话框,调用此方法时将替换当前对话框堆栈

此方法的构造函数如下所示:

beginDialog(address: IAddress, dialogId: string, dialogArgs?: any, done?: (err: Error) => void): void;
bot.beginDialog(dialogName,{savedAddress: req.body.savedAddress,message:req.body.followupMessage});
bot.beginDialog({savedAddress: req.body.savedAddress,message:req.body.followupMessage}, dialogName);
你这样称呼这个方法:

beginDialog(address: IAddress, dialogId: string, dialogArgs?: any, done?: (err: Error) => void): void;
bot.beginDialog(dialogName,{savedAddress: req.body.savedAddress,message:req.body.followupMessage});
bot.beginDialog({savedAddress: req.body.savedAddress,message:req.body.followupMessage}, dialogName);
因此,如果您的{savedAddress:req.body.savedAddress,message:req.body.followupMessage}是在上一次对话中保存的地址,那么您可以这样称呼它:

beginDialog(address: IAddress, dialogId: string, dialogArgs?: any, done?: (err: Error) => void): void;
bot.beginDialog(dialogName,{savedAddress: req.body.savedAddress,message:req.body.followupMessage});
bot.beginDialog({savedAddress: req.body.savedAddress,message:req.body.followupMessage}, dialogName);
如果您对此有任何其他问题,请留下评论

您的导航是什么。GetMainMenuDialogindex,跟踪消息;?如果希望以地址开始对话,则api如下所示:beginDialogaddress:IadAddress,dialogId:string,dialogArgs?:any,done?:err:Error=>void:void;,该地址应在与用户的上一次对话中保存。任何现有的对话或对话都将立即终止。