Botframework 在Microsoft Bot Builder中是否有从对话中开始对话的方法?
我试图做的是用Bot Builder实现一个问题树。以下是我现在拥有的:Botframework 在Microsoft Bot Builder中是否有从对话中开始对话的方法?,botframework,chatbot,Botframework,Chatbot,我试图做的是用Bot Builder实现一个问题树。以下是我现在拥有的: bot.dialog('initialDialogue', [ function (session) { builder.Prompts.text(session, "What can I do for you?"); }, function (session, results) { userInput = session.message.text;
bot.dialog('initialDialogue', [
function (session) {
builder.Prompts.text(session, "What can I do for you?");
},
function (session, results) {
userInput = session.message.text;
switch(initialDialogueParse(userInput)) {
case "error":
session.send("I'm not sure what you're asking. I'll figure this out sometime! Try again");
session.beginDialog('initialDialogue');
case "changePassword":
session.beginDialog('changePassword');
case "deleteAccount":
session.beginDialog('deleteAccount');
case "changeEmail":
session.beginDialog('changeEmail');
}
session.endDialog();
}
])
initialDialogueParse方法工作正常,工作完美,问题就在那之后。例如,当我输入一个提示“changePassword”的响应时,我得到:
- 控制台中出现“错误:对话[]未找到”错误
- 机器人会显示来自changePassword的提示
- 机器人接着说:“哎呀,出了点问题,我们需要重新开始。”
- 它再次循环初始化对话
编辑:我的switch语句中没有中断。下面的答案也适用,但错误在于我没有阅读文档您可以对initialDialogue中的所有选项使用session.replaceDialog(“您的对话框”)选项,当您在自己的对话框中完成该选项所需的所有操作时,您可以使用session.replaceDialog(“initialDialogue”)返回initialDialogue。这样,循环将重复您想要的所有时间