public async Task MulticastItemMessagesAsync(IList <ItemLookUpResult.Item> itemList) { int count = 0; List <ISendMessage> messageList = new List <ISendMessage>(); while (count < itemList.Count) { messageList.Clear(); // 한번에 보낼 수 있는 건 5개. for (int i = 0; i < 5; ++i) { if (count >= itemList.Count) { break; } // 캐러셀 하나에는 10개까지...인데 그럼 한번에 50개 보낼 수 있는건가? string altText = itemList[count].title; if (count < itemList.Count - 1) { altText += " 외"; } CarouselContainerFlexMessage carouselMessage = FlexMessage.CreateCarouselMessage(altText); for (int j = 0; j < 10; ++j) { if (count >= itemList.Count) { break; } BubbleContainer container = itemList[count].ToBubbleContainer(); carouselMessage.AddBubbleContainer(container); count++; } messageList.Add(carouselMessage); } if (messageList.Count > 0) { await MulticastMessagesAsync(messageList); } } }
private async Task ReplyFlexWithMethodChaine(MessageEvent ev) { var restrant = CreateRestrantBubbleContainer(); var news = CreateNewsBubbleContainer(); var receipt = CreateReceiptBubbleContainer(); var flex = 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[] { flex }); }
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 }); }