Използвам MS bot builder node.js SDK. Преди една от последните актуализации, когато подканата се опита отново, тя изпращаше на потребителя същия текст на съобщението, както и подканата за повторен опит.
Сега обаче той изпраща текста по подразбиранесъобщение в системата, което е "не разбрах. Моля, опитайте отново". Но искам повторните подкани винаги да са същите като оригиналното съобщение и, ако е възможно, искам да прилагам това в световен мащаб, което означава, че не искам да персонализирате опитайте отново за всеки подкана, който изпращам до потребителя.
Оглеждах се, но все още не можах да намеря начин.
Благодаря!
Отговори:
4 за отговор № 1Можете да промените подканите за автоматично задаване на подкана като подканящ за повторен опит. Най- Prompts
интерфейс показва как се предават стълбовете в основата 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 в действие:
1 за отговор № 2
Една от опциите е да изпратите подканата за повторен опит като опция към подкана. Например:
builder.Prompts.number(session, "What"s the number?", {
retryPrompt: "What"s the number?"
});
Но ще трябва да го конфигурирате при всяка подкана.