From 41c5a84dacfd036b8d8f01f72226ac5a519995e3 Mon Sep 17 00:00:00 2001 From: Rory& Date: Tue, 14 May 2024 17:49:09 +0200 Subject: Organise tools somewhat, set proper icons for nav menu --- MatrixUtils.Web/Pages/Tools/MassCMEBan.razor | 75 ---------------------------- 1 file changed, 75 deletions(-) delete mode 100644 MatrixUtils.Web/Pages/Tools/MassCMEBan.razor (limited to 'MatrixUtils.Web/Pages/Tools/MassCMEBan.razor') diff --git a/MatrixUtils.Web/Pages/Tools/MassCMEBan.razor b/MatrixUtils.Web/Pages/Tools/MassCMEBan.razor deleted file mode 100644 index cbbca9e..0000000 --- a/MatrixUtils.Web/Pages/Tools/MassCMEBan.razor +++ /dev/null @@ -1,75 +0,0 @@ -@page "/Tools/MassCMEBan" -@using ArcaneLibs.Extensions -@using LibMatrix.RoomTypes -@using System.Collections.ObjectModel -@using LibMatrix -@using System.Collections.Frozen -@using LibMatrix.EventTypes.Spec.State -@using LibMatrix.EventTypes.Spec.State.Policy -@using MatrixUtils.Abstractions -

User Trace

-
- -
-Users: - -Execute - -
- -
-@foreach (var line in log.Reverse()) { -
@line
-} - -@code { - // TODO: Properly implement page to be more useful - private ObservableCollection log { get; set; } = new(); - private AuthenticatedHomeserverGeneric hs { get; set; } - - [Parameter, SupplyParameterFromQuery(Name = "room")] - public string roomId { get; set; } - - - protected override async Task OnInitializedAsync() { - log.CollectionChanged += (sender, args) => StateHasChanged(); - hs = await RMUStorage.GetCurrentSessionOrNavigate(); - if (hs is null) return; - - StateHasChanged(); - Console.WriteLine("Rerendered!"); - await base.OnInitializedAsync(); - } - - private async Task Execute() { - var room = hs.GetRoom("!fTjMjIzNKEsFlUIiru:neko.dev"); - // var room = hs.GetRoom("!yf7OpOiRDXx6zUGpT6:conduit.rory.gay"); - var users = roomId.Split("\n").Select(x => x.Trim()).Where(x=>x.StartsWith('@')).ToList(); - foreach (var user in users) { - var exists = false; - try { - exists = !string.IsNullOrWhiteSpace((await room.GetStateAsync(UserPolicyRuleEventContent.EventId, user.Replace('@', '_'))).Entity); - } catch (Exception e) { - log.Add($"Failed to get {user}"); - } - - if (!exists) { - var evt = await room.SendStateEventAsync(UserPolicyRuleEventContent.EventId, user.Replace('@', '_'), new UserPolicyRuleEventContent() { - Entity = user, - Reason = "spam (invite)", - Recommendation = "m.ban" - }); - log.Add($"Sent {evt.EventId} to ban {user}"); - } - else { - log.Add($"User {user} already exists"); - } - } - - - StateHasChanged(); - - return ""; - } - -} \ No newline at end of file -- cgit 1.5.1