Esempio n. 1
0
        private async Task BanSlowUsers()
        {
            var users = _usersStore.GetAll();

            var usersToBan = users.Where(
                x =>
            {
                var diff = DateTimeOffset.Now - x.JoinDateTime;
                return(diff > TimeSpan.FromSeconds(60));
            })
                             .ToArray();

            foreach (var newUser in usersToBan)
            {
                await _telegramBot.KickChatMemberAsync(newUser.ChatId, newUser.Id, DateTime.Now.AddDays(1));

                await _telegramBot.DeleteMessageAsync(newUser.ChatId, newUser.InviteMessageId);

                await _telegramBot.DeleteMessageAsync(newUser.ChatId, newUser.JoinMessageId);

                _usersStore.Remove(newUser);

                _logger.LogInformation(
                    "User {UserId} with name {UserName} was banned after one minute silence.",
                    newUser.Id,
                    newUser.PrettyUserName);
            }
        }
        private async Task BanSlowUsers()
        {
            var users = _usersStore.GetAll();

            var usersToBan = users.Where(
                x =>
            {
                var diff = DateTimeOffset.Now - x.JoinDateTime;
                return(diff > TimeSpan.FromSeconds(60));
            })
                             .ToArray();

            foreach (var newUser in usersToBan)
            {
                await _telegramBot.KickChatMemberAsync(newUser.ChatId, newUser.Id, DateTime.Now.AddDays(1));

                await _telegramBot.DeleteMessageAsync(newUser.ChatId, newUser.InviteMessageId);

                _usersStore.Remove(newUser);
            }
        }