我正在使用MS bot builder node.js SDK。在最近的一次更新之前,当重试提示时,它正在向用户发送与重试提示相同的消息文本。
但是,现在它正在系统中发送默认短信,这是"我不明白。请再试一次"。但是,我希望重试提示始终与原始邮件相同,如果可能的话,想要全局应用,这意味着我不想为我发送给用户的每个提示自定义重试提示。
我一直在四处寻找,但还没找到方法。
谢谢!
答案 0 :(得分:5)
您可以修改提示以自动将提示设置为重试提示。 Prompts
interface显示了args如何传递到基类Prompt
类,因此我们可以通过访问Prompts
中的方法来修改此提示行为。
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:
答案 1 :(得分:1)
一个选项是将重试提示作为选项发送到提示。例如:
builder.Prompts.number(session, "What's the number?", {
retryPrompt: "What's the number?"
});
但是你必须在每个提示符上配置它。