/// <summary> /// Send message to multiple /// </summary> /// <param name="multiCastMessageRequest"></param> /// <returns></returns> public async Task <LineClientResult <ResponseItem> > MulticastMessage(MultiCastMessageRequest multiCastMessageRequest) { if (multiCastMessageRequest == null) { throw new ArgumentNullException(nameof(MultiCastMessageRequest)); } var request = new LinePostRequest <ResponseItem>(this, "bot/message/multicast"); return(await request.Execute(multiCastMessageRequest)); }
public void MulticastMessageRequest_JsonFormatTest() { MultiCastMessageRequest request = new MultiCastMessageRequest() { to = new List <string>() { "test user" }, messages = new List <Message>() { new TextMessage("test text") } }; // Verify Assert.AreEqual <string>(JsonConvert.SerializeObject(request, Formatting.None, jsonSettings), "{\"to\":[\"test user\"],\"messages\":[{\"type\":\"text\",\"text\":\"test text\"}]}"); }
/// <summary> /// Send message to multiple user /// </summary> /// <param name="to"></param> /// <param name="messages"></param> /// <returns></returns> public async Task <LineClientResult <ResponseItem> > MulticastMessage(List <string> to, List <Message> messages) { if (to.Count > 150) { throw new ArgumentException("Maximum to are 150 users"); } if (messages.Count > 5) { throw new ArgumentException("Maximum 5 messages"); } MultiCastMessageRequest multicastMessage = new MultiCastMessageRequest() { to = to, messages = messages }; return(await messageClient.MulticastMessage(multicastMessage)); }
/// <summary> /// 複数人同時プッシュ送信 /// </summary> /// <param name="channelAccessToken">ChannelAccessToken</param> /// <param name="to">送信先IDの配列</param> /// <param name="messageFactoryService">MessageFactoryService</param> public static async Task SendMultiCastPushMessage(string channelAccessToken, string[] to, MessageFactoryService messageFactoryService) { Trace.TraceInformation("Start"); MultiCastMessageRequest request = new MultiCastMessageRequest() { to = to, messages = messageFactoryService.Messages }; string requestUrl = ConfigurationManager.AppSettings["BaseUrl"] + ConfigurationManager.AppSettings["MultiCastUrl"]; await MessagingApiSender.SendMessagingApi <MultiCastMessageRequest, string>( channelAccessToken, requestUrl, request, "post" ).ConfigureAwait(false); Trace.TraceInformation("End"); }