about summary refs log tree commit diff
diff options
context:
space:
mode:
authorRory& <root@rory.gay>2025-05-01 17:14:29 +0200
committerRory& <root@rory.gay>2025-05-01 17:14:29 +0200
commit03fb16cc050b94fdc608898db3025cf43a78f437 (patch)
tree4446a03b234f43f61e245a0d454d6d0dd875ca46
parentFix readme (diff)
downloadMatrixAntiDmSpam-03fb16cc050b94fdc608898db3025cf43a78f437.tar.xz
Move core logic to a separate library to facilitate embedding
-rw-r--r--MatrixAntiDmSpam.Core/AntiDmSpamConfiguration.cs (renamed from MatrixAntiDmSpam/AntiDmSpamConfiguration.cs)4
-rw-r--r--MatrixAntiDmSpam.Core/InviteHandler.cs (renamed from MatrixAntiDmSpam/InviteHandler.cs)3
-rw-r--r--MatrixAntiDmSpam.Core/MatrixAntiDmSpam.Core.csproj19
-rw-r--r--MatrixAntiDmSpam.Core/PolicyExecutor.cs (renamed from MatrixAntiDmSpam/PolicyExecutor.cs)4
-rw-r--r--MatrixAntiDmSpam.Core/PolicyListFetcher.cs (renamed from MatrixAntiDmSpam/PolicyListFetcher.cs)4
-rw-r--r--MatrixAntiDmSpam.Core/PolicyStore.cs (renamed from MatrixAntiDmSpam/PolicyStore.cs)2
-rw-r--r--MatrixAntiDmSpam.sln14
-rw-r--r--MatrixAntiDmSpam/MatrixAntiDmSpam.csproj1
-rw-r--r--MatrixAntiDmSpam/Program.cs2
9 files changed, 47 insertions, 6 deletions
diff --git a/MatrixAntiDmSpam/AntiDmSpamConfiguration.cs b/MatrixAntiDmSpam.Core/AntiDmSpamConfiguration.cs

index fc99f57..fe68e8a 100644 --- a/MatrixAntiDmSpam/AntiDmSpamConfiguration.cs +++ b/MatrixAntiDmSpam.Core/AntiDmSpamConfiguration.cs
@@ -1,4 +1,6 @@ -namespace MatrixAntiDmSpam; +using Microsoft.Extensions.Configuration; + +namespace MatrixAntiDmSpam.Core; public class AntiDmSpamConfiguration { public AntiDmSpamConfiguration(IConfiguration config) => config.GetRequiredSection("AntiDmSpam").Bind(this); diff --git a/MatrixAntiDmSpam/InviteHandler.cs b/MatrixAntiDmSpam.Core/InviteHandler.cs
index 26a88c7..41f4011 100644 --- a/MatrixAntiDmSpam/InviteHandler.cs +++ b/MatrixAntiDmSpam.Core/InviteHandler.cs
@@ -4,8 +4,9 @@ using ArcaneLibs.Extensions; using LibMatrix.Helpers; using LibMatrix.RoomTypes; using LibMatrix.Utilities.Bot.Interfaces; +using Microsoft.Extensions.Logging; -namespace MatrixAntiDmSpam; +namespace MatrixAntiDmSpam.Core; public class RoomInviteHandler(ILogger<RoomInviteHandler> logger, AntiDmSpamConfiguration config) : IRoomInviteHandler { public List<RoomInviteContext> Invites { get; } = []; diff --git a/MatrixAntiDmSpam.Core/MatrixAntiDmSpam.Core.csproj b/MatrixAntiDmSpam.Core/MatrixAntiDmSpam.Core.csproj new file mode 100644
index 0000000..6e9363f --- /dev/null +++ b/MatrixAntiDmSpam.Core/MatrixAntiDmSpam.Core.csproj
@@ -0,0 +1,19 @@ +<Project Sdk="Microsoft.NET.Sdk"> + + <PropertyGroup> + <TargetFramework>net9.0</TargetFramework> + <LangVersion>preview</LangVersion> + <ImplicitUsings>enable</ImplicitUsings> + <Nullable>enable</Nullable> + </PropertyGroup> + + <ItemGroup> + <PackageReference Include="Microsoft.Extensions.Configuration.Abstractions" Version="10.0.0-preview.3.25171.5" /> + </ItemGroup> + + <ItemGroup> + <ProjectReference Include="..\LibMatrix\LibMatrix\LibMatrix.csproj" /> + <ProjectReference Include="..\LibMatrix\Utilities\LibMatrix.Utilities.Bot\LibMatrix.Utilities.Bot.csproj" /> + </ItemGroup> + +</Project> diff --git a/MatrixAntiDmSpam/PolicyExecutor.cs b/MatrixAntiDmSpam.Core/PolicyExecutor.cs
index 65e7f9f..4dcaf2b 100644 --- a/MatrixAntiDmSpam/PolicyExecutor.cs +++ b/MatrixAntiDmSpam.Core/PolicyExecutor.cs
@@ -6,8 +6,10 @@ using LibMatrix.Helpers; using LibMatrix.Homeservers; using LibMatrix.RoomTypes; using LibMatrix.Utilities.Bot.Interfaces; +using Microsoft.Extensions.Hosting; +using Microsoft.Extensions.Logging; -namespace MatrixAntiDmSpam; +namespace MatrixAntiDmSpam.Core; public class PolicyExecutor( ILogger<PolicyExecutor> logger, diff --git a/MatrixAntiDmSpam/PolicyListFetcher.cs b/MatrixAntiDmSpam.Core/PolicyListFetcher.cs
index 723550f..b8f5518 100644 --- a/MatrixAntiDmSpam/PolicyListFetcher.cs +++ b/MatrixAntiDmSpam.Core/PolicyListFetcher.cs
@@ -2,8 +2,10 @@ using LibMatrix.Filters; using LibMatrix.Helpers; using LibMatrix.Homeservers; using LibMatrix.RoomTypes; +using Microsoft.Extensions.Hosting; +using Microsoft.Extensions.Logging; -namespace MatrixAntiDmSpam; +namespace MatrixAntiDmSpam.Core; public class PolicyListFetcher(ILogger<PolicyListFetcher> logger, AntiDmSpamConfiguration config, AuthenticatedHomeserverGeneric homeserver, PolicyStore policyStore) : IHostedService { diff --git a/MatrixAntiDmSpam/PolicyStore.cs b/MatrixAntiDmSpam.Core/PolicyStore.cs
index 863bc92..9c439fa 100644 --- a/MatrixAntiDmSpam/PolicyStore.cs +++ b/MatrixAntiDmSpam.Core/PolicyStore.cs
@@ -1,7 +1,7 @@ using LibMatrix; using LibMatrix.EventTypes.Spec.State.Policy; -namespace MatrixAntiDmSpam; +namespace MatrixAntiDmSpam.Core; public class PolicyStore { public Dictionary<string, PolicyRuleEventContent> AllPolicies { get; } = []; diff --git a/MatrixAntiDmSpam.sln b/MatrixAntiDmSpam.sln
index 296786a..143be0b 100644 --- a/MatrixAntiDmSpam.sln +++ b/MatrixAntiDmSpam.sln
@@ -42,6 +42,8 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "LibMatrix.TestDataGenerator EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "LibMatrix.Utilities.Bot", "LibMatrix\Utilities\LibMatrix.Utilities.Bot\LibMatrix.Utilities.Bot.csproj", "{E526424D-ADC7-41DB-AD63-E359AC2954D9}" EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MatrixAntiDmSpam.Core", "MatrixAntiDmSpam.Core\MatrixAntiDmSpam.Core.csproj", "{5A4F5F8A-3638-4E3C-B20D-4F651EA165DD}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -280,6 +282,18 @@ Global {E526424D-ADC7-41DB-AD63-E359AC2954D9}.Release|x64.Build.0 = Release|Any CPU {E526424D-ADC7-41DB-AD63-E359AC2954D9}.Release|x86.ActiveCfg = Release|Any CPU {E526424D-ADC7-41DB-AD63-E359AC2954D9}.Release|x86.Build.0 = Release|Any CPU + {5A4F5F8A-3638-4E3C-B20D-4F651EA165DD}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {5A4F5F8A-3638-4E3C-B20D-4F651EA165DD}.Debug|Any CPU.Build.0 = Debug|Any CPU + {5A4F5F8A-3638-4E3C-B20D-4F651EA165DD}.Debug|x64.ActiveCfg = Debug|Any CPU + {5A4F5F8A-3638-4E3C-B20D-4F651EA165DD}.Debug|x64.Build.0 = Debug|Any CPU + {5A4F5F8A-3638-4E3C-B20D-4F651EA165DD}.Debug|x86.ActiveCfg = Debug|Any CPU + {5A4F5F8A-3638-4E3C-B20D-4F651EA165DD}.Debug|x86.Build.0 = Debug|Any CPU + {5A4F5F8A-3638-4E3C-B20D-4F651EA165DD}.Release|Any CPU.ActiveCfg = Release|Any CPU + {5A4F5F8A-3638-4E3C-B20D-4F651EA165DD}.Release|Any CPU.Build.0 = Release|Any CPU + {5A4F5F8A-3638-4E3C-B20D-4F651EA165DD}.Release|x64.ActiveCfg = Release|Any CPU + {5A4F5F8A-3638-4E3C-B20D-4F651EA165DD}.Release|x64.Build.0 = Release|Any CPU + {5A4F5F8A-3638-4E3C-B20D-4F651EA165DD}.Release|x86.ActiveCfg = Release|Any CPU + {5A4F5F8A-3638-4E3C-B20D-4F651EA165DD}.Release|x86.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE diff --git a/MatrixAntiDmSpam/MatrixAntiDmSpam.csproj b/MatrixAntiDmSpam/MatrixAntiDmSpam.csproj
index 703a461..596d203 100644 --- a/MatrixAntiDmSpam/MatrixAntiDmSpam.csproj +++ b/MatrixAntiDmSpam/MatrixAntiDmSpam.csproj
@@ -20,5 +20,6 @@ <ItemGroup> <ProjectReference Include="..\LibMatrix\Utilities\LibMatrix.Utilities.Bot\LibMatrix.Utilities.Bot.csproj" /> + <ProjectReference Include="..\MatrixAntiDmSpam.Core\MatrixAntiDmSpam.Core.csproj" /> </ItemGroup> </Project> diff --git a/MatrixAntiDmSpam/Program.cs b/MatrixAntiDmSpam/Program.cs
index e3eb037..fc1d603 100644 --- a/MatrixAntiDmSpam/Program.cs +++ b/MatrixAntiDmSpam/Program.cs
@@ -1,7 +1,7 @@ using LibMatrix.Extensions; using LibMatrix.Services; using LibMatrix.Utilities.Bot; -using MatrixAntiDmSpam; +using MatrixAntiDmSpam.Core; var builder = Host.CreateApplicationBuilder(args);