示例#1
0
        /// <summary>
        /// Reply message
        /// </summary>
        /// <param name="replyMessageRequest"></param>
        /// <returns></returns>
        public async Task <LineClientResult <ResponseItem> > ReplyMessage(ReplyMessageRequest replyMessageRequest)
        {
            if (replyMessageRequest == null)
            {
                throw new ArgumentNullException(nameof(ReplyMessageRequest));
            }

            var request = new LinePostRequest <ResponseItem>(this, "bot/message/reply");

            return(await request.Execute(replyMessageRequest));
        }
        /// <summary>
        /// Reply image message
        /// </summary>
        /// <param name="replyToken"></param>
        /// <param name="to"></param>
        /// <param name="imageMapMessages"></param>
        /// <returns></returns>
        public async Task <LineClientResult <ResponseItem> > ReplyImageMapMessage(string replyToken, string to, ImageMapMessage imageMapMessages)
        {
            var replyMessageRequest = new ReplyMessageRequest()
            {
                replyTokens = new List <string>()
                {
                    replyToken
                }
                ,
                messages = new List <Message>()
                {
                    imageMapMessages
                }
            };

            return(await messageClient.ReplyMessage(replyMessageRequest));
        }
        /// <summary>
        /// Reply location message
        /// </summary>
        /// <param name="replyToken"></param>
        /// <param name="to"></param>
        /// <param name="title"></param>
        /// <param name="address"></param>
        /// <param name="latitude"></param>
        /// <param name="longitude"></param>
        /// <returns></returns>
        public async Task <LineClientResult <ResponseItem> > ReplyLocationMessage(string replyToken, string to, string title, string address, decimal latitude, decimal longitude)
        {
            var replyMessageRequest = new ReplyMessageRequest()
            {
                replyTokens = new List <string>()
                {
                    replyToken
                }
                ,
                messages = new List <Message>()
                {
                    new LocationMessage(title, address, latitude, longitude)
                }
            };

            return(await messageClient.ReplyMessage(replyMessageRequest));
        }
        /// <summary>
        /// Reply sticker message
        /// </summary>
        /// <param name="replyToken"></param>
        /// <param name="packageId"></param>
        /// <param name="stickerId"></param>
        /// <returns></returns>
        public async Task <LineClientResult <ResponseItem> > ReplyStickerMessage(string replyToken, int packageId, int stickerId)
        {
            var replyMessageRequest = new ReplyMessageRequest()
            {
                replyTokens = new List <string>()
                {
                    replyToken
                }
                ,
                messages = new List <Message>()
                {
                    new StickerMessage(packageId, stickerId)
                }
            };

            return(await messageClient.ReplyMessage(replyMessageRequest));
        }
        /// <summary>
        /// Reply text message
        /// </summary>
        /// <param name="replyToken"></param>
        /// <param name="message"></param>
        /// <returns></returns>
        public async Task <LineClientResult <ResponseItem> > ReplyTextMessage(string replyToken, string message)
        {
            var replyMessageRequest = new ReplyMessageRequest()
            {
                replyTokens = new List <String>()
                {
                    replyToken
                }
                ,
                messages = new List <Message>()
                {
                    new TextMessage(message)
                }
            };

            return(await messageClient.ReplyMessage(replyMessageRequest));
        }
        public void ReplyTextMessage_JsonFormatTest()
        {
            ReplyMessageRequest request = new ReplyMessageRequest()
            {
                replyTokens = new List <string>()
                {
                    "reply token"
                }
                ,
                messages = new List <Message>()
                {
                    new TextMessage("test text")
                }
            };

            // Verify
            Assert.AreEqual <string>(JsonConvert.SerializeObject(request, Formatting.None, jsonSettings), "{\"replyTokens\":[\"reply token\"],\"messages\":[{\"type\":\"text\",\"text\":\"test text\"}]}");
        }
        /// <summary>
        /// Reply audio message
        /// </summary>
        /// <param name="replyToken"></param>
        /// <param name="to"></param>
        /// <param name="originalContentUrl"></param>
        /// <param name="duration"></param>
        /// <returns></returns>
        public async Task <LineClientResult <ResponseItem> > ReplyAudioMessage(string replyToken, string to, string originalContentUrl, int duration)
        {
            Uri _originalContentUrl = new Uri(originalContentUrl);

            var replyMessageRequest = new ReplyMessageRequest()
            {
                replyTokens = new List <string>()
                {
                    replyToken
                }
                ,
                messages = new List <Message>()
                {
                    new AudioMessage(_originalContentUrl, duration)
                }
            };

            return(await messageClient.ReplyMessage(replyMessageRequest));
        }
        /// <summary>
        /// Reply video message
        /// </summary>
        /// <param name="replyToken"></param>
        /// <param name="to"></param>
        /// <param name="originalContentUrl"></param>
        /// <param name="previewImageUrl"></param>
        /// <returns></returns>
        public async Task <LineClientResult <ResponseItem> > ReplyVideoMessage(string replyToken, string to, string originalContentUrl, string previewImageUrl)
        {
            Uri _originalContentUrl = new Uri(originalContentUrl);
            Uri _previewImageUrl    = new Uri(previewImageUrl);

            var replyMessageRequest = new ReplyMessageRequest()
            {
                replyTokens = new List <string>()
                {
                    replyToken
                }
                ,
                messages = new List <Message>()
                {
                    new VideoMessage(_originalContentUrl, _previewImageUrl)
                }
            };

            return(await messageClient.ReplyMessage(replyMessageRequest));
        }
        /// <summary>
        /// Reply image message
        /// </summary>
        /// <param name="replyToken"></param>
        /// <param name="imageContentUrl"></param>
        /// <param name="imagePreviewUr"></param>
        /// <returns></returns>
        public async Task <LineClientResult <ResponseItem> > ReplyImageMessage(string replyToken, string imageContentUrl, string imagePreviewUr)
        {
            Uri imgContentUrl  = new Uri(imageContentUrl);
            Uri imgePreviewUrl = new Uri(imagePreviewUr);

            var replyMessageRequest = new ReplyMessageRequest()
            {
                replyTokens = new List <string>()
                {
                    replyToken
                }
                ,
                messages = new List <Message>()
                {
                    new ImageMessage(imgContentUrl, imgePreviewUrl)
                }
            };

            return(await messageClient.ReplyMessage(replyMessageRequest));
        }
        /// <summary>
        /// メッセージの返信
        /// </summary>
        /// <param name="channelAccessToken">ChannelAccessToken</param>
        /// <param name="replyToken">ReplyToken</param>
        /// <param name="messageFactoryService">MessageFactoryService</param>
        public static async Task SendReplyMessage(string channelAccessToken, string replyToken, MessageFactoryService messageFactoryService)
        {
            Trace.TraceInformation("Start");

            ReplyMessageRequest request = new ReplyMessageRequest()
            {
                replyToken = replyToken,
                messages   = messageFactoryService.Messages
            };
            string requestUrl =
                ConfigurationManager.AppSettings["BaseUrl"] +
                ConfigurationManager.AppSettings["ReplyUrl"];

            await MessagingApiSender.SendMessagingApi <ReplyMessageRequest, string>(
                channelAccessToken,
                requestUrl,
                request,
                "post"
                ).ConfigureAwait(false);

            Trace.TraceInformation("End");
        }
示例#11
0
 public async Task <LineClientResult <ResponseItem> > ReplyMessage(ReplyMessageRequest replyMessageRequest)
 {
     return(await messageClient.ReplyMessage(replyMessageRequest));
 }