私はMicrosoftボットフレームワークを使用してボットを作成しています。ボットはレストランの注文を受け取ります。たとえば、顧客が最初の注文をするなど、複数のダイアログをどのように処理できるか知りたいので、ボットにあなたに尋ねてもらいます他に何か欲しい?次に、顧客はyes/noと言います。yesの場合、最初の1つの状態を保持したまま同じdailogを繰り返しますが、ドキュメントに表示されているのは1つの会話と1つのダイアログだけです。
どうもありがとう
Microsoft Bot FrameworkのバージョンV4では、FormFlowを Waterfall Dialog に置き換える必要があります。ここでは、stepContext.Values(辞書)を使用してウォーターフォールステップ全体の状態を維持し、[はい]または[いいえ]の応答を選択してユーザーに提示し、[はい]応答の場合はウォーターフォールダイアログを繰り返し、そうでない場合は最後のウォーターフォールステップでダイアログを終了します。
以下のウォーターフォールをベースのコンストラクターに追加 コンポーネントダイアログ し、ユーザーの選択に従ってウォーターフォールを繰り返します。
WaterfallStep[] myWaterfallDialog = new WaterfallStep[]
{
this.waterfallStepToGetUserOrder,
.......
this.promptUserForChoiceStep,
this.EndDialogStep
}
AddDialog(new WaterfallDialog("mydialog", myWaterfallDialog);