Beispiel #1
0
 private async void OnProducerUpdate(Update update)
 {
     _logger.LogInformation($"Caught new update: Id: {update.Id, -15}, Author: {update.Author.Id, -15}, Created at: {update.CreatedAt}");
     foreach (long chatId in _chatsManager.ChatIds.Keys)
     {
         await SendMessage(update, chatId);
     }
 }
Beispiel #2
0
        private async Task SendMessage(Update update, long chatId)
        {
            try
            {
                if (_validator.WasUpdateSent(update.Id, chatId))
                {
                    _logger.LogInformation($"Update #{update.Id} was already sent to chat #{chatId}");
                    return;
                }

                await _sender.SendAsync(update, chatId);

                _validator.UpdateSent(update.Id, chatId);

                _logger.LogInformation(
                    $"Sent new update: Id: {update.Id, -15}, ChatId: {update.Author.Id, -15}, Executed at: {DateTime.Now}");
            }
            catch (Exception e)
            {
                _logger.LogInformation(
                    e,
                    $"Failed to send update: Id: {update.Id, -15}, ChatId: {update.Author.Id, -15}, Executed at {DateTime.Now}");
            }
        }