Beispiel #1
0
        public async Task Execute(long chatId)
        {
            var todayResult = await _gameRepository.GetTodayResultAsync(chatId);

            var messageTemplate = Messages.TodayWinnerAlreadySet;

            if (todayResult == null)
            {
                var users = await _gameRepository.GetAllPlayersAsync(chatId);

                var newWinner = users[new Random().Next(users.Count)];

                messageTemplate = Messages.NewWinner;

                todayResult = new GameResult()
                {
                    ChatId   = chatId,
                    UserId   = newWinner.UserId,
                    UserName = newWinner.UserName,
                    PlayedAt = DateTime.Today
                };

                await _gameRepository.SaveGameResultAsync(todayResult);
            }

            var msg = string.Format(messageTemplate, todayResult.GetUserMention());

            await _telegramBotClient.TrySendTextMessageAsync(chatId, msg, ParseMode.Markdown);

            await _telegramBotClient.TrySendStickerAsync(chatId, StickersSelector.SelectRandomFromSet(StickersSelector.StickerSet.Yoba));
        }
        public async Task Execute(params long[] chatIds)
        {
            for (int i = 0; i < chatIds.Length; i++)
            {
                await _client.TrySendTextMessageAsync(chatIds[i], Messages.WednesdayMyDudes);

                await _client.TrySendStickerAsync(chatIds[i], StickersSelector.SelectRandomFromSet(StickersSelector.StickerSet.Frog));
            }
        }