zappyzep/backend/src/plugins/Automod/actions/log.ts
2024-04-09 20:57:18 +03:00

22 lines
713 B
TypeScript

import z from "zod";
import { isTruthy, unique } from "../../../utils.js";
import { LogsPlugin } from "../../Logs/LogsPlugin.js";
import { automodAction } from "../helpers.js";
export const LogAction = automodAction({
configSchema: z.boolean().default(true),
async apply({ pluginData, contexts, ruleName, matchResult }) {
const users = unique(contexts.map((c) => c.user)).filter(isTruthy);
const user = users[0];
const actionsTaken = Object.keys(pluginData.config.get().rules[ruleName].actions).join(", ");
pluginData.getPlugin(LogsPlugin).logAutomodAction({
rule: ruleName,
user,
users,
actionsTaken,
matchSummary: matchResult.summary ?? "",
});
},
});