Ich benutze MS-Bot-Framework und ich versuche, einen Bot zu bauen, die Dialoge, die statt nur ein flaches Szenario verzweigen können.Wie verzweigen Dialoge in Microsoft Bot-Framework
Zum Beispiel fragt der Bot in der ersten Nachricht den Benutzer nach einer Frage und startet abhängig von der Antwort einen der drei untergeordneten Dialoge, die je nach Benutzereingaben ihre eigenen untergeordneten Dialoge starten können. Ich bin auf der Suche nach so etwas wie diese
So:
if (userAnswer == "option 1") {
LaunchSupportDialog();
}
else {
LaunchNewOrderDialog();
}
Die Beispiele von Microsoft sind entweder flach (zB ein Bot, der Sandwich-Aufträge, ohne Äste verarbeiten kann, um jeden Schritt nacheinander ausgeführt wird), oder wo die Verzweigung automatisch von LUIS basierend auf der Benutzerabsicht erfolgt.
Ich bin auf der Suche nach etwas viel weniger schlau, so dass es aussieht, als ob ich nur eine Art von Methode oder Klasse, die in der Lage wäre, zu tun wäre.
Der docs Zustand:
Explizite Verwaltung des Stapels von aktiven Dialogen ist möglich durch IDialogStack.Call und IDialogStack.Done, explizit Komponieren Dialoge in ein größeres Gespräch. Es ist auch möglich, implizit den Stapel aktiver Dialoge über die fließenden Chain-Methoden zu verwalten.
aber ich fand keine Beispiele dafür, wie ein neues IDialogStack-Objekt zu erstellen, oder wie explizit .Call() oder .done() aufzurufen, oder die Kettenklassenmethoden für diese verwenden.