Пример #1
0
        public JsonResult GetViewDialogByUser(string id)
        {
            bool       isNewDialog = false;
            var        dialog      = GetDialogByUser(id, ref isNewDialog);
            DialogJson dialogJson  = new DialogJson(GetDialogDto(dialog));

            dialogJson.IsNewDialog = isNewDialog;

            return(Json(dialogJson, JsonRequestBehavior.AllowGet));
        }
Пример #2
0
        /// <summary>
        /// POST: api/Messages
        /// Receive a message from a user and reply to it
        /// </summary>
        public async Task <HttpResponseMessage> Post([FromBody] Activity activity)
        {
            //HttpResponseMessage response;
            var intentList = new List <string>();
            var entityList = new List <string>();

            //if (activity.Type == ActivityTypes.ConversationUpdate)
            if (activity.Type == ActivityTypes.ConversationUpdate && activity.MembersAdded.Any(m => m.Id == activity.Recipient.Id))
            {
                DateTime startTime = DateTime.Now;
                Debug.WriteLine("* ConversationUpdate | DB conn : " + activity.Type);
                //Db
                DbConnect db = new DbConnect();

                //if (activity.MembersAdded != null && activity.MembersAdded.Any()) {
                //if (activity.MembersAdded.Any())
                //{

                /*
                 * foreach (var newMember in activity.MembersAdded)
                 *  {
                 *      if (newMember.Id != activity.Recipient.Id)
                 *      {
                 */
                List <DialogList> dlg = db.SelectInitDialog();

                ConnectorClient connector = new ConnectorClient(new Uri(activity.ServiceUrl));
                Debug.WriteLine("* ConversationUpdate | dlg.Count : " + dlg.Count);

                for (int n = 0; n < dlg.Count; n++)
                {
                    Debug.WriteLine("* ConversationUpdate | dlgId : " + n + "." + dlg[n].dlgId);
                    Activity reply2 = activity.CreateReply();
                    reply2.Recipient        = activity.From;
                    reply2.Type             = "message";
                    reply2.Attachments      = new List <Attachment>();
                    reply2.AttachmentLayout = AttachmentLayoutTypes.Carousel;

                    List <CardList>  card  = db.SelectDialogCard(dlg[n].dlgId);
                    List <TextList>  text  = db.SelectDialogText(dlg[n].dlgId);
                    List <MediaList> media = db.SelectDialogMedia(dlg[n].dlgId);

                    for (int i = 0; i < text.Count; i++)
                    {
                        HeroCard plCard = new HeroCard()
                        {
                            Title    = text[i].cardTitle,
                            Subtitle = text[i].cardText
                        };

                        Attachment plAttachment = plCard.ToAttachment();
                        reply2.Attachments.Add(plAttachment);
                    }

                    for (int i = 0; i < card.Count; i++)
                    {
                        List <CardImage>  cardImages  = new List <CardImage>();
                        List <CardAction> cardButtons = new List <CardAction>();

                        if (card[i].imgUrl != null)
                        {
                            cardImages.Add(new CardImage(url: card[i].imgUrl));
                        }

                        if (card[i].btn1Type != null)
                        {
                            CardAction plButton = new CardAction()
                            {
                                Value = card[i].btn1Context,
                                Type  = card[i].btn1Type,
                                Title = card[i].btn1Title
                            };

                            cardButtons.Add(plButton);
                        }

                        if (card[i].btn2Type != null)
                        {
                            CardAction plButton = new CardAction()
                            {
                                Value = card[i].btn2Context,
                                Type  = card[i].btn2Type,
                                Title = card[i].btn2Title
                            };

                            cardButtons.Add(plButton);
                        }

                        if (card[i].btn3Type != null)
                        {
                            CardAction plButton = new CardAction()
                            {
                                Value = card[i].btn3Context,
                                Type  = card[i].btn3Type,
                                Title = card[i].btn3Title
                            };

                            cardButtons.Add(plButton);
                        }

                        HeroCard plCard = new HeroCard()
                        {
                            Title    = card[i].cardTitle,
                            Subtitle = card[i].cardSubTitle,
                            Images   = cardImages,
                            Buttons  = cardButtons
                        };

                        Attachment plAttachment = plCard.ToAttachment();
                        reply2.Attachments.Add(plAttachment);
                    }

                    for (int i = 0; i < media.Count; i++)
                    {
                        List <MediaUrl>   mediaURL    = new List <MediaUrl>();
                        List <CardAction> cardButtons = new List <CardAction>();

                        if (media[i].mediaUrl != null)
                        {
                            mediaURL.Add(new MediaUrl(url: media[i].mediaUrl));
                        }

                        if (media[i].btn1Type != null)
                        {
                            CardAction plButton = new CardAction()
                            {
                                Value = media[i].btn1Context,
                                Type  = media[i].btn1Type,
                                Title = media[i].btn1Title
                            };

                            cardButtons.Add(plButton);
                        }

                        if (media[i].btn2Type != null)
                        {
                            CardAction plButton = new CardAction()
                            {
                                Value = media[i].btn2Context,
                                Type  = media[i].btn2Type,
                                Title = media[i].btn2Title
                            };

                            cardButtons.Add(plButton);
                        }

                        if (media[i].btn3Type != null)
                        {
                            CardAction plButton = new CardAction()
                            {
                                Value = media[i].btn3Context,
                                Type  = media[i].btn3Type,
                                Title = media[i].btn3Title
                            };

                            cardButtons.Add(plButton);
                        }

                        VideoCard plCard = new VideoCard()
                        {
                            Title     = media[i].cardTitle,
                            Text      = media[i].cardText,
                            Media     = mediaURL,
                            Buttons   = cardButtons,
                            Autostart = false
                        };

                        Attachment plAttachment = plCard.ToAttachment();
                        reply2.Attachments.Add(plAttachment);
                    }

                    var reply1 = await connector.Conversations.SendToConversationAsync(reply2);
                }
                //}

                //}

                DateTime endTime = DateTime.Now;
                Debug.WriteLine("프로그램 수행시간 : {0}/ms", ((endTime - startTime).Milliseconds));
                Debug.WriteLine("* activity.Type : " + activity.Type);
                Debug.WriteLine("* activity.Recipient.Id : " + activity.Recipient.Id);
                Debug.WriteLine("* activity.ServiceUrl : " + activity.ServiceUrl);
                //var welcome = "";
                //var welcomeMsg = "";

                //}
            }
            else if (activity.Type == ActivityTypes.Message)
            {
                //await Conversation.SendAsync(activity, () => new Dialogs.RootDialog());
                Debug.WriteLine("* activity.Type == ActivityTypes.Message ");

                string      orgMent            = "";
                string      orgENGMent_history = "";
                JObject     Luis        = new JObject();
                DbConnect   db          = new DbConnect();
                StateClient stateClient = activity.GetStateClient();
                BotData     userData    = await stateClient.BotState.GetUserDataAsync(activity.ChannelId, activity.From.Id);

                ConnectorClient connector = new ConnectorClient(new Uri(activity.ServiceUrl));

                orgMent = activity.Text;
                Debug.WriteLine("* orgMent : " + orgMent);

                Luis = await GetIntentFromBotLUIS(orgMent);

                float luisScore       = (float)Luis["intents"][0]["score"];
                int   luisEntityCount = (int)Luis["entities"].Count();
                Debug.WriteLine("* Luis Entity Count : " + luisEntityCount);
                Debug.WriteLine("* Luis Intents Score : " + luisScore);

                Debug.WriteLine(Luis.ToString());

                //
                var json = new JObject();
                json.Add("Conversationid", activity.ChannelId);
                json.Add("Authenticationkey", activity.Recipient.Id);
                json.Add("answer", orgMent);
                //Debug.WriteLine(json.ToString());
                //Debug.WriteLine("json 1");
                JArray conversations     = new JArray();
                var    jsonConversations = new JObject();
                jsonConversations.Add("Luisid", "SecCSChatBot");
                jsonConversations.Add("Intent", (string)Luis["intents"][0]["intent"]);
                jsonConversations.Add("Message", orgMent);
                //Debug.WriteLine("json 2 | luisEntityCount:"+ luisEntityCount);
                //var jsonEntities = new JObject();
                //string[] jsonEntities;
                JArray Entities     = new JArray();
                var    jsonEntities = new JObject();

                for (int i = 0; i < luisEntityCount; i++)
                {
                    //Debug.WriteLine("json 2-1");
                    Entities.Insert(i, new JObject(new JProperty("Entity", (string)Luis["entities"][i]["entity"])));
                    //Debug.WriteLine("json 2-2");
                }
                //Debug.WriteLine("json 3");
                jsonConversations.Add("Entities", Entities);
                conversations.Add(jsonConversations);
                json.Add("conversations", conversations);
                //Debug.WriteLine("json 4");
                Debug.WriteLine(json.ToString());
                String sEntity = json.ToString();

                String sendResult = await SendChat(sEntity);

                if (luisScore > 0 && luisEntityCount > 0)
                {
                    string intent = (string)Luis["intents"][0]["intent"];
                    string entity = (string)Luis["entities"][0]["entity"];
                    Debug.WriteLine("* 1.intent : " + intent + " || entity : " + entity + " || orgment : " + orgMent);
                    Debug.WriteLine("* 1-1.ChannelId : " + activity.ChannelId + " || From : " + activity.From.Id);

                    intent = intent.Replace("\"", "");
                    entity = entity.Replace("\"", "");
                    entity = entity.Replace(" ", "");
                    //Debug.WriteLine("* sessionNo : " + sessionNo );
                    //Debug.WriteLine("LUIS_INTENT : " + (string)(context.Session["LUIS_INTENT"]));
                    //Debug.WriteLine("LUIS_ENTITY : " + (string)(context.Session["LUIS_ENTITY"]));

                    //
                    sessionNo = sessionNo + 1;

                    //
                    intentList.Add(intent);
                    entityList.Add(entity);

                    //
                    if (intent == "customerInfo")
                    {
                        var luisCustomerInfo = userData.GetProperty <string>("luisCustomerInfo");
                        if (entity == "김설현")
                        {
                            luisCustomerInfo = "";
                        }
                        //var luisCustomerInfo = userData.GetProperty<string>("luisCustomerInfo");
                        luisCustomerInfo = luisCustomerInfo + "\n" + orgMent;
                        userData.SetProperty <string>("luisCustomerInfo", luisCustomerInfo);
                        Debug.WriteLine("1-1.intent : customerInfo || input : " + orgMent + " || entity : " + entity + " || luisCustomerInfo : " + luisCustomerInfo);
                    }

                    if (intent == "end")
                    {
                        Debug.WriteLine("* endCS | make Json START");
                    }

                    //userData.SetProperty<List>(IList, intentList);
                    userData.SetProperty <string>("luisIntent", intent);
                    userData.SetProperty <string>("luisEntity", entity);

                    userData.SetProperty <string>(intent, orgENGMent_history);
                    Debug.WriteLine("* 2. orgENGMent_history : " + orgENGMent_history);
                    await stateClient.BotState.SetUserDataAsync(activity.ChannelId, activity.From.Id, userData);

                    Debug.WriteLine("* activity.ChannelId : " + activity.ChannelId + " || activity.From.Id : " + activity.From.Id);

                    List <LuisList> LuisDialogID = db.SelectLuis(intent, entity);

                    if (LuisDialogID.Count == 0)
                    {
                        Debug.WriteLine("* NO LuisDialogID");
                        Activity reply_err = activity.CreateReply();
                        reply_err.Recipient = activity.From;
                        reply_err.Type      = "message";
                        reply_err.Text      = "I'm sorry. I do not know what you mean.";
                        var reply1 = await connector.Conversations.SendToConversationAsync(reply_err);
                    }
                    else
                    {
                        Debug.WriteLine("* YES LuisDialogID || LuisDialogID.Count : " + LuisDialogID.Count);

                        for (int i = 0; i < LuisDialogID.Count; i++)
                        {
                            Activity reply2 = activity.CreateReply();
                            reply2.Recipient        = activity.From;
                            reply2.Type             = "message";
                            reply2.Attachments      = new List <Attachment>();
                            reply2.AttachmentLayout = AttachmentLayoutTypes.Carousel;

                            int dlgID = LuisDialogID[i].dlgId;



                            List <DialogList> dlg = db.SelectDialog(dlgID);

                            for (int n = 0; n < dlg.Count; n++)
                            {
                                string dlgType = dlg[n].dlgType;

                                if (dlgType == TEXTDLG)
                                {
                                    List <TextList> text = db.SelectDialogText(dlg[n].dlgId);

                                    for (int j = 0; j < text.Count; j++)
                                    {
                                        HeroCard plCard = new HeroCard()
                                        {
                                            Title    = text[j].cardTitle,
                                            Subtitle = text[j].cardText
                                        };

                                        Attachment plAttachment = plCard.ToAttachment();
                                        reply2.Attachments.Add(plAttachment);
                                    }
                                }
                                else if (dlgType == CARDDLG)
                                {
                                    List <CardList> card = db.SelectDialogCard(dlg[n].dlgId);

                                    for (int j = 0; j < card.Count; j++)
                                    {
                                        List <CardImage>  cardImages  = new List <CardImage>();
                                        List <CardAction> cardButtons = new List <CardAction>();

                                        if (card[j].imgUrl != null)
                                        {
                                            cardImages.Add(new CardImage(url: card[j].imgUrl));
                                        }

                                        if (card[j].btn1Type != null)
                                        {
                                            CardAction plButton = new CardAction()
                                            {
                                                Value = card[j].btn1Context,
                                                Type  = card[j].btn1Type,
                                                Title = card[j].btn1Title
                                            };

                                            cardButtons.Add(plButton);
                                        }

                                        if (card[j].btn2Type != null)
                                        {
                                            CardAction plButton = new CardAction()
                                            {
                                                Value = card[j].btn2Context,
                                                Type  = card[j].btn2Type,
                                                Title = card[j].btn2Title
                                            };

                                            cardButtons.Add(plButton);
                                        }

                                        if (card[j].btn3Type != null)
                                        {
                                            CardAction plButton = new CardAction()
                                            {
                                                Value = card[j].btn3Context,
                                                Type  = card[j].btn3Type,
                                                Title = card[j].btn3Title
                                            };

                                            cardButtons.Add(plButton);
                                        }

                                        var strCardSubTitle = card[j].cardSubTitle;
                                        if (card[j].dlgId == 2009)
                                        {
                                            //var customerInfo = userData.GetProperty<string>("luisCustomerInfo");
                                            strCardSubTitle = userData.GetProperty <string>("luisCustomerInfo");
                                        }

                                        HeroCard plCard = new HeroCard()
                                        {
                                            Title = card[j].cardTitle,
                                            //Subtitle = card[j].cardSubTitle,
                                            Subtitle = strCardSubTitle,
                                            Images   = cardImages,
                                            Buttons  = cardButtons
                                        };

                                        Attachment plAttachment = plCard.ToAttachment();
                                        reply2.Attachments.Add(plAttachment);
                                    }
                                }
                                else if (dlgType == MEDIADLG)
                                {
                                    List <MediaList> media = db.SelectDialogMedia(dlg[n].dlgId);

                                    for (int j = 0; j < media.Count; j++)
                                    {
                                        List <MediaUrl>   mediaURL    = new List <MediaUrl>();
                                        List <CardAction> cardButtons = new List <CardAction>();

                                        if (media[j].mediaUrl != null)
                                        {
                                            mediaURL.Add(new MediaUrl(url: media[j].mediaUrl));
                                        }

                                        if (media[j].btn1Type != null)
                                        {
                                            CardAction plButton = new CardAction()
                                            {
                                                Value = media[j].btn1Context,
                                                Type  = media[j].btn1Type,
                                                Title = media[j].btn1Title
                                            };

                                            cardButtons.Add(plButton);
                                        }

                                        if (media[j].btn2Type != null)
                                        {
                                            CardAction plButton = new CardAction()
                                            {
                                                Value = media[j].btn2Context,
                                                Type  = media[j].btn2Type,
                                                Title = media[j].btn2Title
                                            };

                                            cardButtons.Add(plButton);
                                        }

                                        if (media[j].btn3Type != null)
                                        {
                                            CardAction plButton = new CardAction()
                                            {
                                                Value = media[j].btn3Context,
                                                Type  = media[j].btn3Type,
                                                Title = media[j].btn3Title
                                            };

                                            cardButtons.Add(plButton);
                                        }

                                        VideoCard plCard = new VideoCard()
                                        {
                                            Title     = media[j].cardTitle,
                                            Text      = media[j].cardText,
                                            Media     = mediaURL,
                                            Buttons   = cardButtons,
                                            Autostart = false
                                        };

                                        Attachment plAttachment = plCard.ToAttachment();
                                        reply2.Attachments.Add(plAttachment);
                                    }
                                }
                            }

                            var reply1 = await connector.Conversations.SendToConversationAsync(reply2);
                        }
                    }
                }
                else
                {
                    Debug.WriteLine("* NO Luis Score.. ");
                    Debug.WriteLine(userData.ToString());

                    //
                    var intentArray = intentList.ToArray();

                    foreach (string intent in intentList)
                    {
                        Debug.WriteLine("* intent[] :" + intent);
                        //System.Console.WriteLine(prime);
                    }
                    Debug.WriteLine("intentList" + intentList);

                    Activity reply_err = activity.CreateReply();

                    //
                    var luisIntent = userData.GetProperty <string>("luisIntent");
                    var luisEntity = userData.GetProperty <string>("luisEntity");
                    Debug.WriteLine("** orgMent : " + orgMent + "| luisIntent : " + luisIntent + " | luisEntity : " + luisEntity);

                    List <LuisList> LuisDialogID = db.SelectLuisSecond(activity.Text, luisIntent, luisEntity);

                    if (LuisDialogID.Count == 0)
                    {
                        Debug.WriteLine("** NO LuisDialogID");
                        //Activity reply_err = activity.CreateReply();
                        reply_err.Recipient = activity.From;
                        reply_err.Type      = "message";
                        reply_err.Text      = "I'm sorry. I do not know what you mean.";
                        var reply1 = await connector.Conversations.SendToConversationAsync(reply_err);
                    }
                    else
                    {
                        Debug.WriteLine("** SelectLuisSecond() YES | LuisDialogID | LuisDialogID.Count : " + LuisDialogID.Count);

                        for (int i = 0; i < LuisDialogID.Count; i++)
                        {
                            Activity reply2 = activity.CreateReply();
                            reply2.Recipient        = activity.From;
                            reply2.Type             = "message";
                            reply2.Attachments      = new List <Attachment>();
                            reply2.AttachmentLayout = AttachmentLayoutTypes.Carousel;

                            int dlgID = LuisDialogID[i].dlgId;

                            string dlgIntent   = LuisDialogID[i].dlgIntent;
                            string dlgEntities = LuisDialogID[i].dlgEntities;

                            userData.SetProperty <string>("luisIntent", dlgIntent);
                            userData.SetProperty <string>("luisEntity", dlgEntities);
                            Debug.WriteLine("** userData.SetProperty > (" + dlgID + ") luisIntent: " + dlgIntent + "| luisEntity:" + dlgEntities);

                            await stateClient.BotState.SetUserDataAsync(activity.ChannelId, activity.From.Id, userData);

                            //  SetDialogBizTripData
                            if (dlgID == 2015)
                            {
                                Debug.WriteLine("* dlgID:2015 | make Json");

                                var bizTripJson = new JObject();
                                bizTripJson.Add("Conversationid", activity.ChannelId);
                                bizTripJson.Add("Authenticationkey", activity.Recipient.Id);
                                bizTripJson.Add("Modelname", "WD16J7800KW");
                                bizTripJson.Add("Conditions", "세탁기소음");
                                bizTripJson.Add("Customername", "김설현");
                                bizTripJson.Add("phonenumber", "010-6444-3434");
                                bizTripJson.Add("Address", "서울특별시 마포구 신수동 234-2 번지");
                                String sBizTrip = bizTripJson.ToString();
                                //Debug.WriteLine("* sendBizTrip || bizTripJson : "+ bizTripJson);

                                String sendBizTripResult = await sendBizTrip(sBizTrip);

                                Debug.WriteLine("* RETURN sendBizTripResult : " + sendBizTripResult);
                                // sendBizTripResult JSON Parse START..

                                JObject parse = JObject.Parse(sendBizTripResult);
                                JArray  array = JArray.Parse(parse["Dialogs"].ToString());

                                string            status      = parse["Status"].ToString();
                                int               dialogCount = int.Parse(parse["DialogCount"].ToString());
                                List <DialogJson> dialogs     = new List <DialogJson>();

                                foreach (JObject itemObj in array)
                                {
                                    DialogJson dialogTest = new DialogJson();
                                    dialogTest.type = itemObj["Type"].ToString();
                                    //dialogTest.title = itemObj["Title"].ToString();
                                    dialogTest.text = itemObj["Text"].ToString();
                                    dialogs.Add(dialogTest);
                                }

                                for (int j = 0; j < dialogCount; j++)
                                {
                                    HeroCard plCard = new HeroCard()
                                    {
                                        Title    = "",
                                        Subtitle = dialogs[j].text
                                    };

                                    Attachment plAttachment = plCard.ToAttachment();
                                    reply2.Attachments.Add(plAttachment);
                                }
                            }
                            else
                            {
                                List <DialogList> dlg = db.SelectDialog(dlgID);

                                for (int n = 0; n < dlg.Count; n++)
                                {
                                    string dlgType = dlg[n].dlgType;

                                    if (dlgType == TEXTDLG)
                                    {
                                        List <TextList> text = db.SelectDialogText(dlg[n].dlgId);

                                        for (int j = 0; j < text.Count; j++)
                                        {
                                            HeroCard plCard = new HeroCard()
                                            {
                                                Title    = text[j].cardTitle,
                                                Subtitle = text[j].cardText
                                            };

                                            Attachment plAttachment = plCard.ToAttachment();
                                            reply2.Attachments.Add(plAttachment);
                                        }
                                    }
                                    else if (dlgType == CARDDLG)
                                    {
                                        List <CardList> card = db.SelectDialogCard(dlg[n].dlgId);

                                        for (int j = 0; j < card.Count; j++)
                                        {
                                            List <CardImage>  cardImages  = new List <CardImage>();
                                            List <CardAction> cardButtons = new List <CardAction>();

                                            if (card[j].imgUrl != null)
                                            {
                                                cardImages.Add(new CardImage(url: card[j].imgUrl));
                                            }

                                            if (card[j].btn1Type != null)
                                            {
                                                CardAction plButton = new CardAction()
                                                {
                                                    Value = card[j].btn1Context,
                                                    Type  = card[j].btn1Type,
                                                    Title = card[j].btn1Title
                                                };

                                                cardButtons.Add(plButton);
                                            }

                                            if (card[j].btn2Type != null)
                                            {
                                                CardAction plButton = new CardAction()
                                                {
                                                    Value = card[j].btn2Context,
                                                    Type  = card[j].btn2Type,
                                                    Title = card[j].btn2Title
                                                };

                                                cardButtons.Add(plButton);
                                            }

                                            if (card[j].btn3Type != null)
                                            {
                                                CardAction plButton = new CardAction()
                                                {
                                                    Value = card[j].btn3Context,
                                                    Type  = card[j].btn3Type,
                                                    Title = card[j].btn3Title
                                                };

                                                cardButtons.Add(plButton);
                                            }

                                            HeroCard plCard = new HeroCard()
                                            {
                                                Title    = card[j].cardTitle,
                                                Subtitle = card[j].cardSubTitle,
                                                Images   = cardImages,
                                                Buttons  = cardButtons
                                            };

                                            Attachment plAttachment = plCard.ToAttachment();
                                            reply2.Attachments.Add(plAttachment);
                                        }
                                    }
                                    else if (dlgType == MEDIADLG)
                                    {
                                        List <MediaList> media = db.SelectDialogMedia(dlg[n].dlgId);

                                        for (int j = 0; j < media.Count; j++)
                                        {
                                            List <MediaUrl>   mediaURL    = new List <MediaUrl>();
                                            List <CardAction> cardButtons = new List <CardAction>();

                                            if (media[j].mediaUrl != null)
                                            {
                                                mediaURL.Add(new MediaUrl(url: media[j].mediaUrl));
                                            }

                                            if (media[j].btn1Type != null)
                                            {
                                                CardAction plButton = new CardAction()
                                                {
                                                    Value = media[j].btn1Context,
                                                    Type  = media[j].btn1Type,
                                                    Title = media[j].btn1Title
                                                };

                                                cardButtons.Add(plButton);
                                            }

                                            if (media[j].btn2Type != null)
                                            {
                                                CardAction plButton = new CardAction()
                                                {
                                                    Value = media[j].btn2Context,
                                                    Type  = media[j].btn2Type,
                                                    Title = media[j].btn2Title
                                                };

                                                cardButtons.Add(plButton);
                                            }

                                            if (media[j].btn3Type != null)
                                            {
                                                CardAction plButton = new CardAction()
                                                {
                                                    Value = media[j].btn3Context,
                                                    Type  = media[j].btn3Type,
                                                    Title = media[j].btn3Title
                                                };

                                                cardButtons.Add(plButton);
                                            }

                                            VideoCard plCard = new VideoCard()
                                            {
                                                Title     = media[j].cardTitle,
                                                Text      = media[j].cardText,
                                                Media     = mediaURL,
                                                Buttons   = cardButtons,
                                                Autostart = false
                                            };

                                            Attachment plAttachment = plCard.ToAttachment();
                                            reply2.Attachments.Add(plAttachment);
                                        }
                                    }
                                }
                            }

                            var reply1 = await connector.Conversations.SendToConversationAsync(reply2);
                        }
                    }
                }
            }
            else
            {
                HandleSystemMessage(activity);
            }
            var response = Request.CreateResponse(HttpStatusCode.OK);

            return(response);
        }
Пример #3
0
 private void Awake()
 {
     dialog = JsonUtility.FromJson <DialogJson>(jsonFile.text);
 }