/ / Опитайте бързото персонализиране - node.js, botframework

Повторно персонализиране на подканата - node.js, botframework

Използвам 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 в действие:

например чрез ConsoleConnector


1 за отговор № 2

Една от опциите е да изпратите подканата за повторен опит като опция към подкана. Например:

builder.Prompts.number(session, "What"s the number?", {
retryPrompt: "What"s the number?"
});

Но ще трябва да го конфигурирате при всяка подкана.