QA@IT

Bot Framework(C#)でFormflowの選択肢を場合分けする方法

9086 PV

はじめまして!
AzureのBot Service(C#)で問い合わせbotを作成しているのですが、
formflowとenumで、選択肢を作り、その結果を受けとり、その内容に応じてつぎの選択肢を決定するようにしたいのですがやり方がわかりません。
宜しくお願い致します。

以下のQuestion1でAを選択した場合はQuestion2を返し、Bの場合はQuestion3にするようにしたいです。
###該当のソースコード

public class MessagesController : ApiController
    {
        public enum Question1
        { 
             A, B, C
        }

        public enum Question2
        { 
            A1, A2, A3
        }

     public enum Question3
        { 
            B1, B2, B3
        }

        [Serializable]
        public class Qustions
        {
        public Question1? q1;

        public Question2? q2;

        public Question3? q3;

        public static IForm<Questions> BuildForm()
          {   
            var form =  new FormBuilder<Questions>()
                .Message("hello")            
                .Field(nameof(q1));
                //Aを選択したらQuestion2を表示したい
                .Build();        
          }
        }

        internal static IDialog<Questions> MakeRootDialog()
        {
            return Chain.From(() => FormDialog.FromForm(Questions.BuildForm));
        } 
        :
        :
        [ResponseType(typeof(void))]
        public virtual async Task<HttpResponseMessage> Post([FromBody] Activity activity)
        { 
            // check if activity is of type message
            if (activity.GetActivityType() == ActivityTypes.Message)
            {
               await Conversation.SendAsync(activity,  MakeRootDialog );
            }
            :
            :


ウォッチ

この質問への回答やコメントをメールでお知らせします。