From 9ac4e15573f34415b7aafd756c97c0cb84a2d8ba Mon Sep 17 00:00:00 2001 From: Dragory <2606411+Dragory@users.noreply.github.com> Date: Fri, 2 Apr 2021 17:57:04 +0300 Subject: [PATCH] automod: add any_message trigger --- .../plugins/Automod/triggers/anyMessage.ts | 29 +++++++++++++++++++ .../Automod/triggers/availableTriggers.ts | 5 ++++ 2 files changed, 34 insertions(+) create mode 100644 backend/src/plugins/Automod/triggers/anyMessage.ts diff --git a/backend/src/plugins/Automod/triggers/anyMessage.ts b/backend/src/plugins/Automod/triggers/anyMessage.ts new file mode 100644 index 00000000..466f0460 --- /dev/null +++ b/backend/src/plugins/Automod/triggers/anyMessage.ts @@ -0,0 +1,29 @@ +import * as t from "io-ts"; +import { automodTrigger } from "../helpers"; +import { verboseChannelMention } from "../../../utils"; + +// tslint:disable-next-line:no-empty-interface +interface AnyMessageResultType {} + +export const AnyMessageTrigger = automodTrigger()({ + configType: t.type({}), + + defaultConfig: {}, + + async match({ pluginData, context, triggerConfig: trigger }) { + if (!context.message) { + return; + } + + return { + extra: {}, + }; + }, + + renderMatchInformation({ pluginData, contexts, matchResult }) { + const channel = pluginData.guild.channels.get(contexts[0].message!.channel_id); + return `Matched message (\`${contexts[0].message!.id}\`) in ${ + channel ? verboseChannelMention(channel) : "Unknown Channel" + }`; + }, +}); diff --git a/backend/src/plugins/Automod/triggers/availableTriggers.ts b/backend/src/plugins/Automod/triggers/availableTriggers.ts index 18c671b6..680ce5b4 100644 --- a/backend/src/plugins/Automod/triggers/availableTriggers.ts +++ b/backend/src/plugins/Automod/triggers/availableTriggers.ts @@ -25,8 +25,11 @@ import { UnmuteTrigger } from "./unmute"; import { KickTrigger } from "./kick"; import { BanTrigger } from "./ban"; import { UnbanTrigger } from "./unban"; +import { AnyMessageTrigger } from "./anyMessage"; export const availableTriggers: Record> = { + any_message: AnyMessageTrigger, + match_words: MatchWordsTrigger, match_regex: MatchRegexTrigger, match_invites: MatchInvitesTrigger, @@ -58,6 +61,8 @@ export const availableTriggers: Record }; export const AvailableTriggers = t.type({ + any_message: AnyMessageTrigger.configType, + match_words: MatchWordsTrigger.configType, match_regex: MatchRegexTrigger.configType, match_invites: MatchInvitesTrigger.configType,