private async Task Reply(Message replyMessage)
 {
     try
     {
         await lineClient.ReplyToActivityAsync(lineEvent.CreateReply(message: replyMessage));
     }
     catch
     {
         await lineClient.PushAsync(lineEvent.CreatePush(message: replyMessage));
     }
 }
        private async Task Reply(List <Message> replyMessages)
        {
            int i = 0;

            try
            {
                await lineClient.ReplyToActivityAsync(lineEvent.CreateReply(
                                                          messages: replyMessages.Take(5).ToList()));

                if (replyMessages.Count > 5)
                {
                    i = 1;
                    while (replyMessages.Count > i * 5)
                    {
                        await lineClient.PushAsync(lineEvent.CreatePush(
                                                       messages: replyMessages.Skip(i * 5).Take(5).ToList()));

                        i++;
                    }
                }
            }
            catch
            {
                try
                {
                    while (replyMessages.Count > i * 5)
                    {
                        await lineClient.PushAsync(lineEvent.CreatePush(
                                                       messages: replyMessages.Skip(i * 5).Take(5).ToList()));

                        i++;
                    }
                }
                catch (Exception ex)
                {
#if DEBUG
                    await lineClient.PushAsync(lineEvent.CreatePush(ex.Message, message: null));
#endif
                }
            }
        }
Пример #3
0
        private async Task Reply(List <Message> replyMessages)
        {
            int i = 0;

            try
            {
                await lineClient.ReplyToActivityAsync(lineEvent.CreateReply(
                                                          messages: replyMessages.Take(5).ToList()));

                if (replyMessages.Count > 5)
                {
                    i = 1;
                    while (replyMessages.Count > i * 5)
                    {
                        await lineClient.PushAsync(lineEvent.CreatePush(
                                                       messages: replyMessages.Skip(i * 5).Take(5).ToList()));

                        i++;
                    }
                }
            }
            catch
            {
                try
                {
                    while (replyMessages.Count > i * 5)
                    {
                        await lineClient.PushAsync(lineEvent.CreatePush(
                                                       messages: replyMessages.Skip(i * 5).Take(5).ToList()));

                        i++;
                    }
                }
                catch (Exception ex)
                {
                    // Error when reply/push failed.
                }
            }
        }
Пример #4
0
        private async Task Notify(List <Message> messages, string mids, int lcid)
        {
            LineClient lineClient = new LineClient(ConfigurationManager.AppSettings["ChannelToken"].ToString());

            foreach (var mid in mids.Split(','))
            {
                PushMessage pushMessage = new PushMessage()
                {
                    Messages = messages,
                    To       = mid
                };
                await lineClient.PushAsync(pushMessage);
            }
        }
Пример #5
0
        private async Task Reply(Message replyMessage)
        {
            try
            {
                ApplicationLogging.CreateLogger <LineMessageHandler>()
                .LogInformation(replyMessage.JsonStringify());

                await lineClient.ReplyToActivityAsync(lineEvent.CreateReply(message: replyMessage));
            }
            catch (Exception ex)
            {
                ApplicationLogging.CreateLogger <LineMessageHandler>()
                .LogError(ex, ex.Message);
                await lineClient.PushAsync(lineEvent.CreatePush(message: replyMessage));
            }
        }