blob: b77a50a36543da7ada8fc0f930c1799a6d36f378 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
|
import { AutomodMessageInvocation, AutomodResult } from "./";
import { AutomodRule } from "@spacebar/util";
import { AutomodRuleTriggerType } from "@spacebar/schemas";
export async function internalExecuteMessageAutomod(context: AutomodMessageInvocation, matchingRules: AutomodRule[]): Promise<AutomodResult> {
const result: AutomodResult = {
blocked: false,
};
for (const rule of matchingRules) {
if (process.env.AUTOMOD_LOG_LEVEL ?? 0 >= 4) console.log(`[Automod] Checking rule "${rule.name}" ${context.noop ? " (noop)" : ""}:`, rule);
if (rule.exempt_channels.some((id) => id === context.payload.channel_id)) {
if (process.env.AUTOMOD_LOG_LEVEL ?? 0 >= 4) console.log(`[Automod] Skipping rule "${rule.name}" due to exempt channel:`, rule);
continue;
}
if (rule.exempt_roles.length > 0 && context.roles.some((role) => rule.exempt_roles.includes(role.id))) {
if (process.env.AUTOMOD_LOG_LEVEL ?? 0 >= 4) console.log(`[Automod] Skipping rule "${rule.name}" due to exempt role:`, rule);
continue;
}
let triggered = false;
// if (rule.trigger_type == AutomodRuleTriggerType.KEYWORD)
}
return result;
}
|