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
                }
            }
        }
示例#2
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.
                }
            }
        }