From 82e5660b63ea6466e22f855fe524b288b62da7f9 Mon Sep 17 00:00:00 2001 From: Rory& Date: Sun, 18 May 2025 22:52:39 +0200 Subject: More stuff --- MiniUtils/Services/IgnoreListManager.cs | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) (limited to 'MiniUtils/Services/IgnoreListManager.cs') diff --git a/MiniUtils/Services/IgnoreListManager.cs b/MiniUtils/Services/IgnoreListManager.cs index c42dd02..3b6dc96 100644 --- a/MiniUtils/Services/IgnoreListManager.cs +++ b/MiniUtils/Services/IgnoreListManager.cs @@ -64,4 +64,24 @@ public class IgnoreListManager(AuthenticatedHomeserverGeneric homeserver) { Lock.Release(); return moved; } + + public async Task AddList(string[] itemsToAdd) { + int added = 0; + await Lock.WaitAsync(); + var ignoreList = await homeserver.GetAccountDataOrNullAsync(IgnoredUserListEventContent.EventId) ?? new(); + foreach (var item in itemsToAdd) { + if (ignoreList.IgnoredUsers.ContainsKey(item)) continue; + if (ignoreList.DisabledIgnoredUsers.Remove(item, out var value)) { + ignoreList.IgnoredUsers.Add(item, value); + added++; + continue; + } + ignoreList.IgnoredUsers.Add(item, new()); + added++; + } + if (added > 0) + await homeserver.SetAccountDataAsync(IgnoredUserListEventContent.EventId, ignoreList); + Lock.Release(); + return added; + } } \ No newline at end of file -- cgit 1.5.1