private async Task SendMessageToChats(string message, IEnumerable <long> channels, CancellationToken cancellationToken)
        {
            var messages    = _parser.SplitMessage(message);
            var lastMessage = messages.Last();

            var tasks = new List <Task>(channels.Count());

            foreach (var channel in channels)
            {
                tasks.Add(SendMessagesToChat(messages, lastMessage, channel, cancellationToken));
            }

            await Task.WhenAll(tasks);
        }
        private async Task SendPackagesToChat(ITelegramBotClient client, IEnumerable <Package> packages, long channel, CancellationToken cancellationToken)
        {
            var messages    = _parser.SplitMessage(_parser.ParseMessageFor(packages));
            var lastMessage = messages.Last();

            foreach (var msg in messages)
            {
                await client.SendTextMessageAsync(
                    chatId : channel,
                    text : msg,
                    parseMode : ParseMode.Markdown,
                    cancellationToken : cancellationToken
                    );

                if (msg != lastMessage)
                {
                    await client.SendChatActionAsync(channel, ChatAction.Typing, cancellationToken);

                    await Task.Delay(_settings.ConsecutiveMessagesInterval, cancellationToken);
                }
            }
        }