public override async void Execute(Message message) { var telegramChatId = message.Chat.Id; var userName = message.From.Username; if (_chatRepository.Contains(telegramChatId)) { _logger.Info($"The user ({userName}) has been added earlier. No need to write /start one more time."); return; } if (!await TryAddChatAndSaveAsync(telegramChatId, userName)) { SendSomethingGoesWrongMessage(telegramChatId); return; } await _sendMessageService.TrySendMessageAsync( telegramChatId, "I am glad to welcome you! This chat has been added to the repository and I'll be following you"); }
public async Task SendMessage(DateTime dateTime) { try { var teams = Enum.GetValues(typeof(Team)).Cast <Team>(); var messageStringBuilder = new StringBuilder($"{dateTime:D}, review duties for: {Environment.NewLine}"); foreach (var team in teams) { var review = await _reviewByDateProvider.GetReview(dateTime, team); if (review == null) { var failMessageForTeam = $"Could not get review duty for {team} team"; _logger.Info(failMessageForTeam); messageStringBuilder.AppendLine(failMessageForTeam); continue; } messageStringBuilder.AppendLine($"{team} team - {review.Developer.UserName}"); } var message = messageStringBuilder.ToString(); foreach (var chat in _chatRepository.Items.ToArray()) { if (!await _sendMessageService.TrySendMessageAsync(chat.TelegramChatId, message)) { _chatRepository.TryRemoveChatAndSave(chat); } } } catch (Exception e) { _logger.Error(e); } }
public override void Execute(Message message) { _sendMessageService.TrySendMessageAsync(message.Chat.Id, "I can't help you! Sorry!"); }