我的机器人有一个提示,询问用户输入:
builder.Prompts.choice(session, "Is it ok?", ["Yes", "No"]);
现在,当用户回答“是”或“否”以外的其他内容时,程序将始终回复:
I did not understand. Please choose an option from the list
与之前的选择相同。
如果用户键入除“是”或“否”以外的其他内容,我希望机器人不再要求输入(并重置提示堆栈)。
答案 0 :(得分:0)
您可以更改提示的maxRetries选项,如图所示(默认为无限)
builder.Prompts.choice(session, "Is it ok?", ["Yes", "No"],maxRetries:'2');
您可以在上述网址
中看到IPrompt选项答案 1 :(得分:0)
您还可以使用“触发操作”(例如“帮助”)在提示期间捕获其他特定输入:
// Add default dialog
bot.dialog('/', function (session) {
builder.Prompts.choice(session, "Is it ok?", ["Yes", "No"]);
});
// Add help dialog with a trigger action bound to a regular
// expression looking for the users to ask for help.
bot.dialog('/help', function (session) {
session.endDialog("Type 'Yes' or 'No'");
}).triggerAction({ matches: /^(help|options)/i });
请注意,您需要安装BotBuilder的预发布版本:
npm install --save botbuilder@next