我使用以下方式询问用户是/否问题:
PromptDialog.Confirm(context, AfterChoice_OpenServiceRequest, "Do you want to open a service request?");
用户可以给出是/否答案。但是,如果用户根本不想回答这个问题,而是提出另一个问题呢?除非用户回答是/否,否则它会不断向他们询问相同的问题' n '次数。
我可以将 n = 0 传递给尝试参数,但这仍然需要用户在能够提出其他问题之前至少回答一次是/否。
用户是否可以继续进行并回答其他问题?我怎么处理这个?
答案 0 :(得分:1)
SDK的预发布版本包含" triggerActions"的概念。您可以使用它们来中断任何Dialog。在下面的示例中,用户可以通过键入" weather":
来中断颜色提示代码:
bot.dialog('/', function (session) {
builder.Prompts.choice(session, "What color?", "Red|White|Blue");
});
bot.dialog("weather", function (session) {
session.send("It's cold and rainy");
session.endDialog();
}).triggerAction({ matches: /^weather/i});
要获得预发布:
npm install -save botbuilder @ next
答案 1 :(得分:0)
在Lars提到的功能发布之前,唯一的选择是创建一个可以继承PromptDialog
的新类,或者手动实现对话逻辑。