Ich habe hierarchische Menüstruktur, die ich durch den Bot und auf jeder Ebene präsentieren möchte, präsentieren 2 zusätzliche Optionen [Previous Menu]
& [Exit]
. [Previous Menu]
löst die übergeordnete Ebene aus. Bei der Auswahl des Endknotens sind die letzten Ebenenoptionen erneut zu wiederholen.Microsoft BotFramework (Node SDK): Wie implementiert man ein rekursives hierarchisches Menü?
Also lassen Sie uns sagen, dass die Menüstruktur ist dies:
- A
- X
- Y
- P
- Q
- B
- U
- R
- S
- V
- U
Was ich versuche, dies zu tun:
User : Menu
Bot : [A] [B][Exit]
User (selects): [A]
Bot : [X] [Y] [Previous Menu] [Exit]
User : [X]
Bot : <Dialog for X>
Bot : [X] [Y] [Previous Menu] [Exit]
User : [Y]
Bot : [P] [Q] [Previous Menu] [Exit]
User : [Previous Menu]
Bot : [X] [Y] [Previous Menu] [Exit]
User : [Previous Menu]
Bot : [A] [B][Exit]
User [B]
Bot : [U][V][Previous Menu] [Exit]
User : [U]
Bot : [R][S][Previous Menu] [Exit]
... und so weiter.
Welches ist das bevorzugte Entwurfsmuster, um dieses Verhalten zu implementieren?
Ich habe eine Implementierung, aber das hängt davon ab, dass der Dialogstapel zu jedem Zeitpunkt nur einen Dialog im Stapel hat und ersetzt durch die Benutzerauswahl. Dies kann unkontrollierbar werden, wenn die Funktionen wachsen. Bitte schlagen Sie einen anständigen Weg vor, dies zuverlässig zu tun.
Dank
Ich weiß nicht über Microsoft Bot-Framework, aber ich habe einen Bot für Telegramm geschrieben und für dieses Verhalten verlassen wir uns auf Zustandsautomaten. – Rachmaninoff