3
0
Fork 0
mirror of https://github.com/ZeppelinBot/Zeppelin.git synced 2025-05-10 04:25:01 +00:00
zeppelin/backend/src/plugins/Automod/events/runAutomodOnCounterTrigger.ts
metal a80af1e729
+debug build method (revert this)
Signed-off-by: GitHub <noreply@github.com>
2023-03-13 10:02:54 +00:00

44 lines
1.4 KiB
TypeScript

import { GuildPluginData } from "knub";
import { resolveMember, resolveUser, UnknownUser } from "../../../utils";
import { CountersPlugin } from "../../Counters/CountersPlugin";
import { runAutomod } from "../functions/runAutomod";
import { AutomodContext, AutomodPluginType } from "../types";
export async function runAutomodOnCounterTrigger(
pluginData: GuildPluginData<AutomodPluginType>,
counterName: string,
triggerName: string,
channelId: string | null,
userId: string | null,
reverse: boolean,
) {
const user = userId ? await resolveUser(pluginData.client, userId) : undefined;
const member = (userId && (await resolveMember(pluginData.client, pluginData.guild, userId))) || undefined;
// @ts-expect-error
const prettyCounterName = pluginData.getPlugin(CountersPlugin).getPrettyNameForCounter(counterName);
// @ts-expect-error
const prettyTriggerName = pluginData
// @ts-expect-error
.getPlugin(CountersPlugin)
.getPrettyNameForCounterTrigger(counterName, triggerName);
const context: AutomodContext = {
timestamp: Date.now(),
counterTrigger: {
counter: counterName,
trigger: triggerName,
prettyCounter: prettyCounterName,
prettyTrigger: prettyTriggerName,
channelId,
userId,
reverse,
},
user: user instanceof UnknownUser ? undefined : user,
member,
// TODO: Channel
};
pluginData.state.queue.add(async () => {
await runAutomod(pluginData, context);
});
}