From d272c5b6f50e3f66a430fe4a6bbb3188f9adb1c8 Mon Sep 17 00:00:00 2001 From: Rory& Date: Mon, 10 Nov 2025 03:05:18 +0100 Subject: MiniUtils changes, add uick ban sync hack bot --- MiniUtils/Services/IgnoreListManager.cs | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) (limited to 'MiniUtils/Services') diff --git a/MiniUtils/Services/IgnoreListManager.cs b/MiniUtils/Services/IgnoreListManager.cs index 3b6dc96..cb863a8 100644 --- a/MiniUtils/Services/IgnoreListManager.cs +++ b/MiniUtils/Services/IgnoreListManager.cs @@ -65,7 +65,7 @@ public class IgnoreListManager(AuthenticatedHomeserverGeneric homeserver) { return moved; } - public async Task AddList(string[] itemsToAdd) { + public async Task AddList(IEnumerable itemsToAdd) { int added = 0; await Lock.WaitAsync(); var ignoreList = await homeserver.GetAccountDataOrNullAsync(IgnoredUserListEventContent.EventId) ?? new(); @@ -76,12 +76,30 @@ public class IgnoreListManager(AuthenticatedHomeserverGeneric homeserver) { added++; continue; } + ignoreList.IgnoredUsers.Add(item, new()); added++; } + if (added > 0) await homeserver.SetAccountDataAsync(IgnoredUserListEventContent.EventId, ignoreList); Lock.Release(); return added; } + + public async Task RemoveList(IEnumerable itemsToRemove) { + int removed = 0; + await Lock.WaitAsync(); + var ignoreList = await homeserver.GetAccountDataOrNullAsync(IgnoredUserListEventContent.EventId) ?? new(); + foreach (var item in itemsToRemove) { + if (ignoreList.IgnoredUsers.Remove(item)) removed++; + if (ignoreList.DisabledIgnoredUsers.Remove(item)) removed++; + removed++; + } + + if (removed > 0) + await homeserver.SetAccountDataAsync(IgnoredUserListEventContent.EventId, ignoreList); + Lock.Release(); + return removed; + } } \ No newline at end of file -- cgit 1.5.1