我正在使用MS bot构建器node.js SDK。在最近一次更新之前,当提示重试时,它将与重试提示一样向用户发送相同的消息文本。重试提示自定义
但是,现在它正在系统中发送默认文本消息,即“我不明白,请再试一次”。但是,我希望重试提示始终与原始消息相同,并且如果可能的话希望将其应用于全局,这意味着我不想为我发送给用户的每个提示自定义重试提示。
我一直在环顾四周,但还找不到方法。
谢谢!
我正在使用MS bot构建器node.js SDK。在最近一次更新之前,当提示重试时,它将与重试提示一样向用户发送相同的消息文本。重试提示自定义
但是,现在它正在系统中发送默认文本消息,即“我不明白,请再试一次”。但是,我希望重试提示始终与原始消息相同,并且如果可能的话希望将其应用于全局,这意味着我不想为我发送给用户的每个提示自定义重试提示。
我一直在环顾四周,但还找不到方法。
谢谢!
您可以修改提示以自动将提示设置为重试提示。 Prompts
interface显示了如何将参数传递到基类Prompt
类,因此我们可以通过访问Prompts
中的方法来修改此提示行为。
这里有一个如何与Prompts.confirm
const promptPrefix = 'BotBuilder:prompt-';
bot.dialog('/', [
(session) => {
builder.Prompts.confirm(session, 'Say yes or no');
},
(session, args) => {
session.endConversation('You said: ' + session.message.text);
}
]);
builder.Prompts.confirm = (session, prompt, options) => {
var args = options || {};
args.prompt = prompt || args.prompt;
// If options.retryPrompt was passed in use this, otherwise use prompt
args.retryPrompt = args.retryPrompt || args.prompt;
session.beginDialog(promptPrefix + 'confirm', args);
};
修改后的Prompts.confirm做它在行动的例子:
一种选择是将重试提示作为选项发送到提示。例如:
builder.Prompts.number(session, "What's the number?", {
retryPrompt: "What's the number?"
});
但是,您将不得不在每次提示时都进行配置。
感谢您对本非常有用的职位。我有一个类似的问题,但与builder.Prompts.choice。你能否留下你的想法? https://stackoverflow.com/questions/48893767/how-to-customize-prompt-choice-microsoft-botbuilder-sdk – gpsugy