重试提示自定义

tah*_*sin 3 node.js botframework

我正在使用MS bot生成器node.js SDK。在最近的更新之一之前,重试提示时,它正在向用户发送与重试提示相同的消息文本。

但是,现在它正在系统中发送默认文本消息,即“我听不懂,请重试”。但是,我希望重试提示始终与原始消息相同,并且如果可能的话,希望将其全局应用,这意味着我不想为发送给用户的每个提示自定义重试提示。

我一直在环顾四周,但找不到方法。

谢谢!

Ste*_* G. 6

您可以修改提示以将提示自动设置为重试提示。该Prompts接口显示了如何将args传递给基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);
};
Run Code Online (Sandbox Code Playgroud)

修改后的Prompts.confirm起作用:

通过ConsoleConnector的示例