私はMSボットフレームワークを使用していますが、私は単なるシナリオの代わりに分岐できるダイアログを処理するボットを構築しようとしています。Microsoftボットフレームワークで分岐ダイアログを作成する方法
たとえば、最初のメッセージでボットはユーザーに質問します。答えに応じて、3つの子ダイアログの1つが起動し、ユーザーの入力に応じて子ダイアログが起動されます。
だから私はこのような何かを探しています:Microsoftが提供する例はどちらか平坦である
if (userAnswer == "option 1") {
LaunchSupportDialog();
}
else {
LaunchNewOrderDialog();
}
(サンドイッチの注文を処理することができます例えばボット、枝せず、連続して各ステップを実行する)、またはここで、ブランチングはユーザーの意図に基づいてLUISによって自動的に行われます。
私はもっとスマートなものを探していますので、私はちょうどそのような方法やクラスを見逃しているようです。
ドキュメントの状態:アクティブなダイアログのスタックの
明示的な管理は、明示的に大きな会話に ダイアログを構成する、 IDialogStack.CallとIDialogStack.Doneによって可能です。 Fluent Chainメソッドを使用してアクティブなダイアログのスタックを暗黙的に 管理することもできます。
ただし、新しいIDialogStackオブジェクトを作成する方法や、明示的に.Call()または.Done()を呼び出す方法や、そのためのChainクラスメソッドを使用した例は見つかりませんでした。