2021-02-14 16:58:02 +02:00
|
|
|
import { GuildPluginData } from "knub";
|
|
|
|
import { AutomodContext, AutomodPluginType } from "../types";
|
|
|
|
import { runAutomod } from "../functions/runAutomod";
|
|
|
|
import { resolveUser, UnknownUser } from "../../../utils";
|
|
|
|
import { ModActionType } from "../../ModActions/types";
|
|
|
|
|
|
|
|
export async function runAutomodOnModAction(
|
|
|
|
pluginData: GuildPluginData<AutomodPluginType>,
|
|
|
|
modAction: ModActionType,
|
|
|
|
userId: string,
|
|
|
|
reason?: string,
|
2021-04-28 21:06:33 +02:00
|
|
|
isAutomodAction: boolean = false,
|
2021-02-14 16:58:02 +02:00
|
|
|
) {
|
|
|
|
const user = await resolveUser(pluginData.client, userId);
|
|
|
|
|
|
|
|
const context: AutomodContext = {
|
|
|
|
timestamp: Date.now(),
|
|
|
|
user: user instanceof UnknownUser ? undefined : user,
|
|
|
|
modAction: {
|
|
|
|
type: modAction,
|
|
|
|
reason,
|
2021-04-28 21:06:33 +02:00
|
|
|
isAutomodAction,
|
2021-02-14 16:58:02 +02:00
|
|
|
},
|
|
|
|
};
|
|
|
|
|
|
|
|
pluginData.state.queue.add(async () => {
|
|
|
|
await runAutomod(pluginData, context);
|
|
|
|
});
|
|
|
|
}
|