From 3e934eee892f69a8f78b94950993000522702769 Mon Sep 17 00:00:00 2001 From: "Emma [it/its]@Rory&" Date: Thu, 23 Nov 2023 05:42:33 +0100 Subject: Moderation bot work --- .../Policies/Implementations/MediaPolicyFile.cs | 16 ++++++++++++++++ .../Policies/Implementations/MediaPolicyHomeserver.cs | 11 +++++++++++ .../Implementations/MessagePolicyContainsText.cs | 11 +++++++++++ .../Policies/Implementations/UnknownPolicy.cs | 10 ++++++++++ 4 files changed, 48 insertions(+) create mode 100644 ExampleBots/ModerationBot/StateEventTypes/Policies/Implementations/MediaPolicyFile.cs create mode 100644 ExampleBots/ModerationBot/StateEventTypes/Policies/Implementations/MediaPolicyHomeserver.cs create mode 100644 ExampleBots/ModerationBot/StateEventTypes/Policies/Implementations/MessagePolicyContainsText.cs create mode 100644 ExampleBots/ModerationBot/StateEventTypes/Policies/Implementations/UnknownPolicy.cs (limited to 'ExampleBots/ModerationBot/StateEventTypes/Policies/Implementations') diff --git a/ExampleBots/ModerationBot/StateEventTypes/Policies/Implementations/MediaPolicyFile.cs b/ExampleBots/ModerationBot/StateEventTypes/Policies/Implementations/MediaPolicyFile.cs new file mode 100644 index 0000000..c5b6ef2 --- /dev/null +++ b/ExampleBots/ModerationBot/StateEventTypes/Policies/Implementations/MediaPolicyFile.cs @@ -0,0 +1,16 @@ +using System.Text.Json.Serialization; +using LibMatrix.EventTypes; + +namespace ModerationBot.StateEventTypes.Policies.Implementations; + +/// +/// File policy event, entity is the MXC URI of the file, hashed with SHA3-256. +/// +[MatrixEvent(EventName = "gay.rory.moderation.rule.media")] +public class MediaPolicyFile : BasePolicy { + /// + /// Hash of the file + /// + [JsonPropertyName("file_hash")] + public string? FileHash { get; set; } +} diff --git a/ExampleBots/ModerationBot/StateEventTypes/Policies/Implementations/MediaPolicyHomeserver.cs b/ExampleBots/ModerationBot/StateEventTypes/Policies/Implementations/MediaPolicyHomeserver.cs new file mode 100644 index 0000000..3dfd937 --- /dev/null +++ b/ExampleBots/ModerationBot/StateEventTypes/Policies/Implementations/MediaPolicyHomeserver.cs @@ -0,0 +1,11 @@ +using System.Text.Json.Serialization; +using LibMatrix.EventTypes; + +namespace ModerationBot.StateEventTypes.Policies.Implementations; + +/// +/// Homeserver media policy event, entity is the MXC URI of the file, hashed with SHA3-256. +/// +[MatrixEvent(EventName = "gay.rory.moderation.rule.media.homeserver")] +public class MediaPolicyHomeserver : BasePolicy { +} diff --git a/ExampleBots/ModerationBot/StateEventTypes/Policies/Implementations/MessagePolicyContainsText.cs b/ExampleBots/ModerationBot/StateEventTypes/Policies/Implementations/MessagePolicyContainsText.cs new file mode 100644 index 0000000..daac162 --- /dev/null +++ b/ExampleBots/ModerationBot/StateEventTypes/Policies/Implementations/MessagePolicyContainsText.cs @@ -0,0 +1,11 @@ +using System.Text.Json.Serialization; +using LibMatrix.EventTypes; + +namespace ModerationBot.StateEventTypes.Policies.Implementations; + +/// +/// Text contains policy event, entity is the text to contain. +/// +[MatrixEvent(EventName = "gay.rory.moderation.rule.text.contains")] +public class MessagePolicyContainsText : BasePolicy { +} diff --git a/ExampleBots/ModerationBot/StateEventTypes/Policies/Implementations/UnknownPolicy.cs b/ExampleBots/ModerationBot/StateEventTypes/Policies/Implementations/UnknownPolicy.cs new file mode 100644 index 0000000..8dc8258 --- /dev/null +++ b/ExampleBots/ModerationBot/StateEventTypes/Policies/Implementations/UnknownPolicy.cs @@ -0,0 +1,10 @@ +using System.Text.Json.Serialization; +using LibMatrix.EventTypes; + +namespace ModerationBot.StateEventTypes.Policies.Implementations; + +/// +/// Unknown policy event, usually used for handling unknown cases +/// +public class UnknownPolicy : BasePolicy { +} -- cgit 1.4.1