Пример #1
0
        public static async Task SendTemplates(
            [ActivityTrigger] DurableActivityContext context)
        {
            var input = context.GetInput <(string, List <string>)>();

            // テンプレート作成処理
            await lineMessagingClient.ReplyMessageAsync(input.Item1,
                                                        new List <ISendMessage>
            {
                FlexMessage.CreateBubbleMessage("セリフをタップしてね").SetBubbleContainer(
                    new BubbleContainer()
                    .SetHeader(BoxLayout.Horizontal)
                    .AddHeaderContents(new TextComponent
                {
                    Text    = "セリフをタップしてね",
                    Margin  = Spacing.Xs,
                    Size    = ComponentSize.Sm,
                    Align   = Align.Center,
                    Gravity = Gravity.Bottom,
                    Weight  = Weight.Bold
                })
                    .SetFooter(new BoxComponent(BoxLayout.Vertical)
                {
                    Spacing  = Spacing.Md, Flex = 0,
                    Contents = input.Item2.Select(t => new ButtonComponent {
                        Action = new MessageTemplateAction(t, t)
                    }).ToList <IFlexComponent>()
                }))
            });
        }
        private async Task ReplyFlexWithExtensions(MessageEvent ev)
        {
            var restrant = CreateRestrantWithObjectInitializer();
            var news     = CreateNewsWithExtensions();
            var receipt  = CreateReceiptWithExtensions();

            var bubble = FlexMessage.CreateBubbleMessage("Bubble Message")
                         .SetBubbleContainer(restrant);

            var carousel = FlexMessage.CreateCarouselMessage("Carousel Message")
                           .AddBubbleContainer(restrant)
                           .AddBubbleContainer(news)
                           .AddBubbleContainer(receipt)
                           .SetQuickReply(new QuickReply(new[]
            {
                new QuickReplyButtonObject(new CameraTemplateAction("Camera")),
                new QuickReplyButtonObject(new LocationTemplateAction("Location"))
            }));

            await MessagingClient.ReplyMessageAsync(ev.ReplyToken, new FlexMessage[] { bubble, carousel });
        }
Пример #3
0
        public void RestrantTest()
        {
            FlexMessage flex = FlexMessage.CreateBubbleMessage("Restrant")
                               .SetBubbleContainer(new BubbleContainer()
                                                   .SetHero(imageUrl: "https://scdn.line-apps.com/n/channel_devcenter/img/fx/01_1_cafe.png",
                                                            flex: null,
                                                            margin: null,
                                                            align: null,
                                                            gravity: null,
                                                            size: ComponentSize.Full,
                                                            aspectRatio: AspectRatio._20_13,
                                                            aspectMode: AspectMode.Cover)
                                                   .SetHeroAction(new UriTemplateAction(null, "http://linecorp.com/"))
                                                   .SetBody(boxLayout: BoxLayout.Vertical,
                                                            flex: null,
                                                            spacing: null,
                                                            margin: null)
                                                   .AddBodyContents(new TextComponent("Broun Cafe")
            {
                Weight = Weight.Bold, Size = ComponentSize.Xl
            })
                                                   .AddBodyContents(new BoxComponent(BoxLayout.Baseline)
            {
                Margin = Spacing.Md
            }
                                                                    .AddContents(new IconComponent("https://scdn.line-apps.com/n/channel_devcenter/img/fx/review_gold_star_28.png")
            {
                Size = ComponentSize.Sm
            })
                                                                    .AddContents(new IconComponent("https://scdn.line-apps.com/n/channel_devcenter/img/fx/review_gold_star_28.png")
            {
                Size = ComponentSize.Sm
            })
                                                                    .AddContents(new IconComponent("https://scdn.line-apps.com/n/channel_devcenter/img/fx/review_gold_star_28.png")
            {
                Size = ComponentSize.Sm
            })
                                                                    .AddContents(new IconComponent("https://scdn.line-apps.com/n/channel_devcenter/img/fx/review_gold_star_28.png")
            {
                Size = ComponentSize.Sm
            })
                                                                    .AddContents(new IconComponent("https://scdn.line-apps.com/n/channel_devcenter/img/fx/review_gray_star_28.png")
            {
                Size = ComponentSize.Sm
            })
                                                                    .AddContents(new TextComponent("4.0")
            {
                Size = ComponentSize.Sm, Margin = Spacing.Md, Flex = 0, Color = "#999999"
            }))
                                                   .AddBodyContents(new BoxComponent(BoxLayout.Vertical)
            {
                Margin = Spacing.Lg, Spacing = Spacing.Sm
            }
                                                                    .AddContents(new BoxComponent(BoxLayout.Baseline)
            {
                Spacing = Spacing.Sm
            }
                                                                                 .AddContents(new TextComponent("Place")
            {
                Size = ComponentSize.Sm, Color = "#aaaaaa", Flex = 1
            })
                                                                                 .AddContents(new TextComponent("Miraina Tower, 4-1-6 Shinjuku, Tokyo")
            {
                Size = ComponentSize.Sm, Wrap = true, Color = "#666666", Flex = 5
            }))
                                                                    .AddContents(new BoxComponent(BoxLayout.Baseline)
            {
                Spacing = Spacing.Sm
            }
                                                                                 .AddContents(new TextComponent("Time")
            {
                Size = ComponentSize.Sm, Color = "#aaaaaa", Flex = 1
            })
                                                                                 .AddContents(new TextComponent("10:00 - 23:00")
            {
                Size = ComponentSize.Sm, Wrap = true, Color = "#666666", Flex = 5
            })))
                                                   .SetFooter(new BoxComponent(BoxLayout.Vertical)
            {
                Spacing = Spacing.Sm, Flex = 0
            }
                                                              .AddContents(new ButtonComponent(new UriTemplateAction("Call", "https://linecorp.com", new AltUri("https://linecorp.com/en/")))
            {
                Style = ButtonStyle.Link, Height = ButtonHeight.Sm
            })
                                                              .AddContents(new ButtonComponent(new UriTemplateAction("WEBSITE", "https://linecorp.com", new AltUri("https://linecorp.com/en/")))
            {
                Style = ButtonStyle.Link, Height = ButtonHeight.Sm
            })
                                                              .AddContents(new SpacerComponent(ComponentSize.Sm))));

            var jsonA = JsonConvert.SerializeObject(flex);

            Console.WriteLine(jsonA);
            Console.WriteLine("-----------------------------------------------------");

            flex = new FlexMessage("Restrant")
            {
                Contents = new BubbleContainer()
                {
                    Hero = new ImageComponent(url: "https://scdn.line-apps.com/n/channel_devcenter/img/fx/01_1_cafe.png")
                    {
                        Size        = ComponentSize.Full,
                        AspectRatio = AspectRatio._20_13,
                        AspectMode  = AspectMode.Cover,
                        Action      = new UriTemplateAction(null, "http://linecorp.com/")
                    },
                    Body = new BoxComponent(layout: BoxLayout.Vertical)
                    {
                        Contents = new IFlexComponent[] {
                            new TextComponent("Broun Cafe")
                            {
                                Weight = Weight.Bold,
                                Size   = ComponentSize.Xl
                            },
                            new BoxComponent(layout: BoxLayout.Baseline)
                            {
                                Margin   = Spacing.Md,
                                Contents = new IFlexComponent[]
                                {
                                    new IconComponent("https://scdn.line-apps.com/n/channel_devcenter/img/fx/review_gold_star_28.png")
                                    {
                                        Size = ComponentSize.Sm
                                    },
                                    new IconComponent("https://scdn.line-apps.com/n/channel_devcenter/img/fx/review_gold_star_28.png")
                                    {
                                        Size = ComponentSize.Sm
                                    },
                                    new IconComponent("https://scdn.line-apps.com/n/channel_devcenter/img/fx/review_gold_star_28.png")
                                    {
                                        Size = ComponentSize.Sm
                                    },
                                    new IconComponent("https://scdn.line-apps.com/n/channel_devcenter/img/fx/review_gold_star_28.png")
                                    {
                                        Size = ComponentSize.Sm
                                    },
                                    new IconComponent("https://scdn.line-apps.com/n/channel_devcenter/img/fx/review_gray_star_28.png")
                                    {
                                        Size = ComponentSize.Sm
                                    },
                                    new TextComponent("4.0")
                                    {
                                        Size   = ComponentSize.Sm,
                                        Margin = Spacing.Md,
                                        Flex   = 0,
                                        Color  = "#999999"
                                    }
                                }
                            },
                            new BoxComponent(BoxLayout.Vertical)
                            {
                                Margin   = Spacing.Lg,
                                Spacing  = Spacing.Sm,
                                Contents = new IFlexComponent[]
                                {
                                    new BoxComponent(BoxLayout.Baseline)
                                    {
                                        Spacing  = Spacing.Sm,
                                        Contents = new IFlexComponent[]
                                        {
                                            new TextComponent("Place")
                                            {
                                                Size  = ComponentSize.Sm,
                                                Color = "#aaaaaa",
                                                Flex  = 1
                                            },
                                            new TextComponent("Miraina Tower, 4-1-6 Shinjuku, Tokyo")
                                            {
                                                Size  = ComponentSize.Sm,
                                                Wrap  = true,
                                                Color = "#666666",
                                                Flex  = 5
                                            }
                                        }
                                    }
                                }
                            },
                            new BoxComponent(BoxLayout.Baseline)
                            {
                                Spacing  = Spacing.Sm,
                                Contents = new IFlexComponent[]
                                {
                                    new TextComponent("Time")
                                    {
                                        Size  = ComponentSize.Sm,
                                        Color = "#aaaaaa",
                                        Flex  = 1
                                    },
                                    new TextComponent("10:00 - 23:00")
                                    {
                                        Size  = ComponentSize.Sm,
                                        Wrap  = true,
                                        Color = "#666666",
                                        Flex  = 5
                                    }
                                }
                            }
                        }
                    },
                    Footer = new BoxComponent(BoxLayout.Vertical)
                    {
                        Spacing  = Spacing.Sm,
                        Flex     = 0,
                        Contents = new IFlexComponent[]
                        {
                            new ButtonComponent(new UriTemplateAction("Call", "https://linecorp.com"))
                            {
                                Style  = ButtonStyle.Link,
                                Height = ButtonHeight.Sm
                            },
                            new ButtonComponent(new UriTemplateAction("WEBSITE", "https://linecorp.com"))
                            {
                                Style  = ButtonStyle.Link,
                                Height = ButtonHeight.Sm
                            },
                            new SpacerComponent(ComponentSize.Sm)
                        }
                    }
                }
            };

            var jsonB = JsonConvert.SerializeObject(flex);

            Console.WriteLine(jsonB);
        }
Пример #4
0
        private async Task ReplyFlexWithMethodChane(MessageEvent ev)
        {
            FlexMessage flex = FlexMessage.CreateBubbleMessage("Restrant")
                               .SetBubbleContainer(new BubbleContainer()
                                                   .SetHero(imageUrl: "https://scdn.line-apps.com/n/channel_devcenter/img/fx/01_1_cafe.png",
                                                            flex: null,
                                                            margin: null,
                                                            align: null,
                                                            gravity: null,
                                                            size: ComponentSize.Full,
                                                            aspectRatio: AspectRatio._20_13,
                                                            aspectMode: AspectMode.Cover)
                                                   .SetHeroAction(new UriTemplateAction(null, "http://linecorp.com/"))
                                                   .SetBody(boxLayout: BoxLayout.Vertical,
                                                            flex: null,
                                                            spacing: null,
                                                            margin: null)
                                                   .AddBodyContents(new TextComponent("Broun Cafe")
            {
                Weight = Weight.Bold, Size = ComponentSize.Xl
            })
                                                   .AddBodyContents(new BoxComponent(BoxLayout.Baseline)
            {
                Margin = Spacing.Md
            }
                                                                    .AddContents(new IconComponent("https://scdn.line-apps.com/n/channel_devcenter/img/fx/review_gold_star_28.png")
            {
                Size = ComponentSize.Sm
            })
                                                                    .AddContents(new IconComponent("https://scdn.line-apps.com/n/channel_devcenter/img/fx/review_gold_star_28.png")
            {
                Size = ComponentSize.Sm
            })
                                                                    .AddContents(new IconComponent("https://scdn.line-apps.com/n/channel_devcenter/img/fx/review_gold_star_28.png")
            {
                Size = ComponentSize.Sm
            })
                                                                    .AddContents(new IconComponent("https://scdn.line-apps.com/n/channel_devcenter/img/fx/review_gray_star_28.png")
            {
                Size = ComponentSize.Sm
            })
                                                                    .AddContents(new TextComponent("4.0")
            {
                Size = ComponentSize.Sm, Margin = Spacing.Md, Flex = 0, Color = "#999999"
            }))
                                                   .AddBodyContents(new BoxComponent(BoxLayout.Vertical)
            {
                Margin = Spacing.Lg, Spacing = Spacing.Sm
            }
                                                                    .AddContents(new BoxComponent(BoxLayout.Baseline)
            {
                Spacing = Spacing.Sm
            }
                                                                                 .AddContents(new TextComponent("Place")
            {
                Size = ComponentSize.Sm, Color = "#aaaaaa", Flex = 1
            })
                                                                                 .AddContents(new TextComponent("Miraina Tower, 4-1-6 Shinjuku, Tokyo")
            {
                Size = ComponentSize.Sm, Wrap = true, Color = "#666666", Flex = 5
            }))
                                                                    .AddContents(new BoxComponent(BoxLayout.Baseline)
            {
                Spacing = Spacing.Sm
            }
                                                                                 .AddContents(new TextComponent("Time")
            {
                Size = ComponentSize.Sm, Color = "#aaaaaa", Flex = 1
            })
                                                                                 .AddContents(new TextComponent("10:00 - 23:00")
            {
                Size = ComponentSize.Sm, Wrap = true, Color = "#666666", Flex = 5
            })))
                                                   .SetFooter(new BoxComponent(BoxLayout.Vertical)
            {
                Spacing = Spacing.Sm, Flex = 0
            }
                                                              .AddContents(new ButtonComponent(new UriTemplateAction("Call", "https://linecorp.com"))
            {
                Style = ButtonStyle.Link, Height = ButtonHeight.Sm
            })
                                                              .AddContents(new ButtonComponent(new UriTemplateAction("WEBSITE", "https://linecorp.com"))
            {
                Style = ButtonStyle.Link, Height = ButtonHeight.Sm
            })
                                                              .AddContents(new SpacerComponent(ComponentSize.Sm))));

            await MessagingClient.ReplyMessageAsync(ev.ReplyToken, new[] { flex });
        }