From 8579db2c9099630b6a268015d586db73435032f0 Mon Sep 17 00:00:00 2001 From: Rory& Date: Fri, 23 Feb 2024 12:31:43 +0100 Subject: Changes --- PolicyEngine.cs | 50 +++++++++++++++++++++++++------------------------- 1 file changed, 25 insertions(+), 25 deletions(-) (limited to 'PolicyEngine.cs') diff --git a/PolicyEngine.cs b/PolicyEngine.cs index 0d0ed65..7556fc5 100644 --- a/PolicyEngine.cs +++ b/PolicyEngine.cs @@ -1,4 +1,5 @@ using System.Diagnostics; +using System.Diagnostics.CodeAnalysis; using System.Security.Cryptography; using System.Text.Json; using System.Text.RegularExpressions; @@ -12,13 +13,15 @@ using LibMatrix.RoomTypes; using LibMatrix.Services; using Microsoft.Extensions.Logging; using ModerationBot.AccountData; +using ModerationBot.Services; using ModerationBot.StateEventTypes.Policies; using ModerationBot.StateEventTypes.Policies.Implementations; namespace ModerationBot; -public class PolicyEngine(AuthenticatedHomeserverGeneric hs, ILogger logger, ModerationBotConfiguration configuration, HomeserverResolverService hsResolver) { +public class PolicyEngine(AuthenticatedHomeserverGeneric hs, ILogger logger, ModerationBotConfiguration configuration, HomeserverResolverService hsResolver, ModerationBotRoomProvider roomProvider) { private Dictionary PolicyListAccountData { get; set; } = new(); + // ReSharper disable once MemberCanBePrivate.Global public List ActivePolicyLists { get; set; } = new(); public List ActivePolicies { get; set; } = new(); @@ -28,11 +31,10 @@ public class PolicyEngine(AuthenticatedHomeserverGeneric hs, ILogger("gay.rory.moderation_bot_data"); - _logRoom ??= hs.GetRoom(botData.LogRoom ?? botData.ControlRoom); - _controlRoom ??= hs.GetRoom(botData.ControlRoom); - + + _logRoom = await roomProvider.GetLogRoomAsync(); + _controlRoom = await roomProvider.GetControlRoomAsync(); + await _controlRoom?.SendMessageEventAsync(MessageFormatter.FormatSuccess("Reloading policy lists!"))!; await _logRoom?.SendMessageEventAsync(MessageFormatter.FormatSuccess("Reloading policy lists!"))!; @@ -46,12 +48,12 @@ public class PolicyEngine(AuthenticatedHomeserverGeneric hs, ILogger>(); foreach (var (roomId, policyList) in PolicyListAccountData) { @@ -62,11 +64,11 @@ public class PolicyEngine(AuthenticatedHomeserverGeneric hs, ILogger= 256 || policyLists.Count == PolicyListAccountData.Count) { + if (true || policyList.Policies.Count >= 256 || policyLists.Count == PolicyListAccountData.Count) { var progressMsgContent = MessageFormatter.FormatSuccess($"{policyLists.Count}/{PolicyListAccountData.Count} policy lists loaded, " + $"{policyLists.Sum(x => x.Policies.Count)} policies total, {sw.Elapsed} elapsed.") .SetReplaceRelation(progressMessage.EventId); - + await _logRoom?.SendMessageEventAsync(progressMsgContent); } } @@ -99,7 +101,6 @@ public class PolicyEngine(AuthenticatedHomeserverGeneric hs, ILogger x.Room.RoomId == roomId)) return; await LoadPolicyListAsync(hs.GetRoom(roomId), ActivePolicyLists.Single(x => x.Room.RoomId == roomId)); @@ -159,7 +160,7 @@ public class PolicyEngine(AuthenticatedHomeserverGeneric hs, ILogger> CheckMessageContent(StateEventResponse @event) { var matchedRules = new List(); @@ -167,11 +168,11 @@ public class PolicyEngine(AuthenticatedHomeserverGeneric hs, ILogger states) { string raw = "Count | State type | Mapped type", html = ""; @@ -261,8 +262,7 @@ public class PolicyEngine(AuthenticatedHomeserverGeneric hs, ILogger
CountState typeMapped type