zappyzep/backend/src/plugins/Automod/actions/log.ts

24 lines
805 B
TypeScript
Raw Normal View History

import * as t from "io-ts";
import { automodAction } from "../helpers";
2020-07-28 21:51:58 +03:00
import { LogsPlugin } from "../../Logs/LogsPlugin";
import { LogType } from "../../../data/LogType";
import { stripObjectToScalars } from "../../../utils";
export const LogAction = automodAction({
configType: t.boolean,
2020-07-28 21:51:58 +03:00
async apply({ pluginData, contexts, ruleName, matchResult }) {
const safeUsers = contexts.map(c => c.user && stripObjectToScalars(c.user)).filter(Boolean);
const safeUser = safeUsers[0];
const actionsTaken = Object.keys(pluginData.config.get().rules[ruleName].actions).join(", ");
2020-07-28 21:51:58 +03:00
pluginData.getPlugin(LogsPlugin).log(LogType.AUTOMOD_ACTION, {
rule: ruleName,
user: safeUser,
users: safeUsers,
actionsTaken,
matchSummary: matchResult.summary,
});
},
});