/ / Spróbuj ponownie dostosować monit - node.js, botframework

Spróbuj ponownie przeprowadzić szybkie dostosowywanie - node.js, botframework

Korzystam z zestawu SDK programu budującego boty MS.js. Przed jedną z ostatnich aktualizacji, gdy próba została ponowiona, wysyłał do użytkownika ten sam tekst wiadomości, co monit o ponowienie.

Jednak teraz wysyła domyślny tekstkomunikat w systemie, który brzmi: „Nie rozumiem. Spróbuj ponownie”. Chcę jednak, aby ponawianie prób było zawsze takie samo jak w oryginalnej wiadomości i jeśli to możliwe, chcę zastosować to globalnie, co oznacza, że ​​nie chcę dostosowywać ponów próbę dla każdego monitu, który wysyłam do użytkownika.

Rozglądałem się, ale nie mogłem znaleźć sposobu.

Dzięki!

Odpowiedzi:

4 dla odpowiedzi № 1

Możesz zmodyfikować podpowiedzi, aby automatycznie ustawiać podpowiedzi jako monit o ponowienie. The Prompts berło pokazuje, w jaki sposób argumenty są przekazywane do bazy Prompt klasy, abyśmy mogli zmodyfikować to zachowanie, uzyskując dostęp do metody w Prompts.

Oto przykład, jak to zrobić 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);
};

Zmodyfikowany Prompts.confirm w akcji:

przykład przez ConsoleConnector


1 dla odpowiedzi nr 2

Jedną z opcji jest wysłanie monitu ponownej próby jako opcji do monitu. Na przykład:

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

Ale będziesz musiał to skonfigurować przy każdym monicie.