コード例 #1
0
        public static JsonDocument MESSENGER_CreateQuickReplyDocument(QuickReplyModel quickReplyModel)
        {
            var quickReplyJsonDoc = new FacebookNativeQuickReply(quickReplyModel.Text);

            var buttons = quickReplyModel.Options.OrderBy(c => c.Order).ToList();

            for (int i = 0; i < buttons.Count(); i++)
            {
                if (Models.ButtonType.Text.Equals(buttons[i].Type))
                {
                    quickReplyJsonDoc.AddTextButton(buttons[i].Text, buttons[i].Value, buttons[i].ImageUrl);
                }
                else if (Models.ButtonType.Location.Equals(buttons[i].Type))
                {
                    quickReplyJsonDoc.AddLocationButton();
                }
            }

            var jsonDict = new Dictionary <string, object>();

            jsonDict.Add("text", quickReplyJsonDoc.text);
            jsonDict.Add("quick_replies", JsonConvert.SerializeObject(quickReplyJsonDoc.quick_replies));

            var document = new JsonDocument(jsonDict, MediaType.ApplicationJson);

            return(document);
        }
コード例 #2
0
        public static DocumentCollection GENERIC_CreateQuickReplyDocument(QuickReplyModel quickReplyModel)
        {
            var options = new List <SelectOption>();
            var buttons = quickReplyModel.Options.OrderBy(c => c.Order).ToList();

            var documentList = new GroupDocumentsModel();

            if (buttons.Exists(c => ButtonType.Location.Equals(c.Type)))
            {
                documentList.Add(CreateSendLocationDocument(quickReplyModel.Text));
            }
            else
            {
                for (int i = 0; i < buttons.Count(); i++)
                {
                    if (ButtonType.Text.Equals(buttons[i].Type))
                    {
                        options.Add(CreateQuickReplyTextButton(buttons[i].Text, buttons[i].Value, i));
                    }
                }
            }

            if (options.Any())
            {
                var quickreplydoc = new Select();
                quickreplydoc.Scope   = SelectScope.Immediate;
                quickreplydoc.Options = new SelectOption[options.Count];
                quickreplydoc.Text    = quickReplyModel.Text;

                var selectOption = new SelectOption[options.Count()];

                for (int i = 0; i < options.Count(); i++)
                {
                    selectOption[i] = options[i];
                }

                quickreplydoc.Options = selectOption;

                documentList.Add(quickreplydoc);
            }

            var document = GENERIC_CreateCollectionOfDocuments(documentList);

            return(document);
        }
コード例 #3
0
 public Document CreateQuickReplyDocument(QuickReplyModel quickReplyModel)
 {
     return(BlipSDKHelperCore.MESSENGER_CreateQuickReplyDocument(quickReplyModel));
 }
コード例 #4
0
        public QuickReplyModel GetQuickReplyModel()
        {
            QuickReplyModel            quickReplyModel         = new QuickReplyModel();
            List <QuickReplyItemModel> quickReplyItemModelList = new List <QuickReplyItemModel>();

            CameraActionModel cameraAction = new CameraActionModel()
            {
                label = "相機"
            };
            QuickReplyItemModel cameraItem = new QuickReplyItemModel()
            {
                action = cameraAction
            };

            quickReplyItemModelList.Add(cameraItem);

            CameraRollActionModel cameraRollAction = new CameraRollActionModel()
            {
                label = "相機膠捲"
            };
            QuickReplyItemModel cameraRollItem = new QuickReplyItemModel()
            {
                action = cameraRollAction
            };

            quickReplyItemModelList.Add(cameraRollItem);

            LocationActionModel locationAction = new LocationActionModel()
            {
                label = "目前位置"
            };
            QuickReplyItemModel locationItem = new QuickReplyItemModel()
            {
                action = locationAction
            };

            quickReplyItemModelList.Add(locationItem);

            DatetimePickerActionModel datetimePickerAction = new DatetimePickerActionModel()
            {
                label   = "日期",
                data    = "abc=1234",
                mode    = DatetimePickerActionMode.date,
                initial = "2019-12-17"
            };
            QuickReplyItemModel datetimePickerItem = new QuickReplyItemModel()
            {
                action = datetimePickerAction
            };

            quickReplyItemModelList.Add(datetimePickerItem);

            MessageActionModel messageAction = new MessageActionModel()
            {
                label = "訊息",
                text  = "你好"
            };
            QuickReplyItemModel messageItem = new QuickReplyItemModel()
            {
                action = messageAction
            };

            quickReplyItemModelList.Add(messageItem);

            quickReplyModel.items = quickReplyItemModelList;

            return(quickReplyModel);
        }
コード例 #5
0
 public Document CreateQuickReplyDocument(QuickReplyModel quickReplyModel)
 {
     return(BlipSDKHelperCore.GENERIC_CreateQuickReplyDocument(quickReplyModel));
 }