如果您将对话框替换为堆栈中的上一个对话框存储并存储在某处,我会在人们发布的某个地方阅读Bot文档。
现在我尝试按照endDialog()的方式,然后使用replaceDialog();
callRequest.GetWebAPICall(session, urlData, function (body) {
if(body.statusCode == 200) {
if(body.data == undefined) {
builder.Prompts.choice(session,Want to Select List?", "Yes|No",{listStyle: builder.ListStyle.button});
} else {
session.endDialog();
session.replaceDialog('/Show List');
}
} else {
session.send('Something went wrong. You can use the back or top command.');
session.replaceDialog('/menu');
}
});
需要知道我是否更换以下行
session.endDialog();
session.replaceDialog('/Show List');
通过
session.endDialog('/Show List');
答案 0 :(得分:2)
没有。 endDialog()
没有启动新对话框的功能。您可以参考功能定义界面endDialog(message?: TextOrMessageType, ...args: any\[\]): Session;
。
在您的情况下,'/Show List'
将作为消息发送给用户。
还有一个关于replaceDialog()
的误解。
结束当前对话框并在其位置启动新对话框。在新对话框完成之前,不会恢复父对话框。
如果您需要存储上一个对话框,可以使用beginDialog()