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);
            }
        }
Пример #3
0
 public override void Execute(Message message)
 {
     _sendMessageService.TrySendMessageAsync(message.Chat.Id, "I can't help you! Sorry!");
 }