MiniUtils changes, add uick ban sync hack bot
HEAD master1 files changed, 19 insertions, 1 deletions
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<int> AddList(string[] itemsToAdd) {
+ public async Task<int> AddList(IEnumerable<string> itemsToAdd) {
int added = 0;
await Lock.WaitAsync();
var ignoreList = await homeserver.GetAccountDataOrNullAsync<IgnoredUserListEventContentWithDisabled>(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<int> RemoveList(IEnumerable<string> itemsToRemove) {
+ int removed = 0;
+ await Lock.WaitAsync();
+ var ignoreList = await homeserver.GetAccountDataOrNullAsync<IgnoredUserListEventContentWithDisabled>(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
|