我正在使用此流程创建AWS Lex聊天机器人:用户开始说open my bot
并且Lex提出了几个问题,用户必须回复它们,最后生成一个数字并且这个是Fulfilled
广告位。
这是我的代码:
if (source === "DialogCodeHook") {
if (!sessionAttributes.isFlowDone) {
//multiple questions asked and managed by using Elicit Slots
//once the questions are complete I set sessionAttributes.isFlowDone=true;
} else {
sessionAttributes.isFlowDone = false;
callback(close(intentRequest.sessionAttributes, "Fulfilled", buildMessage(finalMessageWithANumber)));
}
问题是,在AWS Lex聊天窗口中进行测试时,当生成号码时,如果您清除控制台并输入open my bot
,则会再次询问问题,并且流程将作为新请求,我想要的是,在构建randomNumber后,我再次询问open my bot
而不清除聊天窗口,它给了我另一个数字,而不是问我问题(直接调用fulfilled
回调) 。请告诉我如何解决这个问题并继续我的流程。
答案 0 :(得分:0)
在控制台聊天窗口中测试机器人时,控制台使用随机用户ID(在PosText / PostContent API中发送)。点击清除'按钮控制台生成另一个随机用户ID。此外,bot会话与用户ID相关联,因此请点击“清除”按钮。按钮提供了一种新用户正在与机器人交谈的体验(因此所有问题都会被重新询问)。希望这能回答你的问题。