我正在为我的机器人创建一个不活动检查,如果该机器人自上次发送消息以来已经过去X分钟,它将向用户发送消息。
bot.dialog('SomeDialog',
function(session, args){
let text = "The text sent to the user";
session.send(text, session.message.text);
check(session); //The function where I send the session to do the checking
session.endDialog();
}
);
检查功能是发生问题的地方:
check(session){
if(!session.conversationData.talked){
session.conversationData.talked = 1;
}
}
当我运行它时,我总是得到
Cannot read property 'conversationData' of undefined
如果我在session.conversationData.talked
中使用bot.dialog
,则可以使用,但不能在check
函数上使用。
我在这里做什么错了?
答案 0 :(得分:3)
您的代码段对我而言效果很好,也许您可以提供整个项目的图片以供进一步分析。
但是,对于您的要求,您可以考虑使用节点包botbuilder-timeout
,
答案 1 :(得分:0)
这可能是“异步”计时问题。您的浏览器/服务器上的会话需要同步。
这是JS服务器端还是浏览器端?这打算用于什么框架?