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); } }