zappyzep/backend/src/plugins/Automod/functions/checkAndUpdateCooldown.ts

24 lines
680 B
TypeScript

import { GuildPluginData } from "knub";
import { convertDelayStringToMS } from "../../../utils";
import { AutomodContext, AutomodPluginType, TRule } from "../types";
export function checkAndUpdateCooldown(
pluginData: GuildPluginData<AutomodPluginType>,
rule: TRule,
context: AutomodContext,
) {
const cooldownKey = `${rule.name}-${context.user?.id}`;
if (cooldownKey) {
if (pluginData.state.cooldownManager.isOnCooldown(cooldownKey)) {
return true;
}
const cooldownTime = convertDelayStringToMS(rule.cooldown, "s");
if (cooldownTime) {
pluginData.state.cooldownManager.setCooldown(cooldownKey, cooldownTime);
}
}
return false;
}