示例#1
0
 public async Task <MessengerProfileAPIResponse> SetPersistentMenuAsync(PersistentMenu menu)
 {
     return(await SetSettings(new MessengerProfileSetting
     {
         PersistentMenu = menu
     }));
 }
        public void SetPersistentMenuTest()
        {
            LocalizedMenuItem lmi = new LocalizedMenuItem();

            lmi.Locale = LocalizedMenuItem.DefaultLocale;
            lmi.Items  = new List <IMenuItem>();

            NestedMenuItem nested = new NestedMenuItem()
            {
                Title = "My Account",
                Items = new List <IMenuItem>()
            };

            nested.Items.Add(new PostbackMenuItem()
            {
                Title = "Pay Bill", Payload = "PAYBILL_PAYLOAD"
            });
            nested.Items.Add(new UrlMenuItem()
            {
                Title = "Latest News", Url = "https://www.messenger.com/"
            });

            lmi.Items.Add(nested);

            PersistentMenu menu = new PersistentMenu();

            menu.Items = new List <LocalizedMenuItem>();
            menu.Items.Add(lmi);

            bool result = client.SetPersistentMenu(menu).Result;

            Trace.WriteLine(("Success: {0}".Format(result)));
        }
示例#3
0
 public async Task <bool> SetPersistentMenu(PersistentMenu menu)
 {
     try
     {
         return(await profileClient.SetPersistentMenu(menu));
     }
     catch (Exception e)
     {
         Logger.LogError(e, e.Message);
         return(false);
     }
 }
示例#4
0
        public void initChatBotMenu()
        {
            ChatbotMenu menu = new ChatbotMenu();
            //
            PersistentMenu infoMenu = new PersistentMenu();

            //
            infoMenu.locale          = "default";
            infoMenu.call_to_actions = new List <CallToAction>();
            //\
            CallToAction parentMenu3 = new CallToAction();

            parentMenu3.title           = "🔍 Đặt câu hỏi nhanh ";
            parentMenu3.type            = "nested";
            parentMenu3.call_to_actions = new List <CallToAction2>();
            //Child menu
            foreach (var typeObj in _postTypeService.GetAll())
            {
                CallToAction2 childMenu = new CallToAction2();
                childMenu.payload = "POST_TYPE_" + typeObj.Id;
                childMenu.title   = "🚩." + typeObj.Name;
                childMenu.type    = "postback";
                parentMenu3.call_to_actions.Add(childMenu);
            }
            infoMenu.call_to_actions.Add(parentMenu3);
            //
            CallToAction parentMenu = new CallToAction();

            parentMenu.title   = "🎓 Xác thực token với Olympus";
            parentMenu.type    = "postback";
            parentMenu.payload = "XACTHUC";
            infoMenu.call_to_actions.Add(parentMenu);
            //
            CallToAction parentMenu2 = new CallToAction();

            parentMenu2.title   = "💡 Luyện tập";
            parentMenu2.type    = "postback";
            parentMenu2.payload = "LUYENTAP";
            infoMenu.call_to_actions.Add(parentMenu2);
            //

            menu.persistent_menu.Add(infoMenu);
            ChatBotMessenger.sendRequest(JsonConvert.SerializeObject(menu, Newtonsoft.Json.Formatting.None,
                                                                     new JsonSerializerSettings
            {
                NullValueHandling = NullValueHandling.Ignore
            }), true);
        }
示例#5
0
        public async Task <bool> SetPersistentMenu(PersistentMenu menu)
        {
            OperationResult result = await PostAsync <OperationResult>(menu, ApiUri);

            return(result.Result);
        }