Пример #1
0
        /// <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));
        }
Пример #2
0
        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\"}]}");
        }
Пример #3
0
        /// <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));
        }
Пример #4
0
        /// <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");
        }