3
0
Fork 0
mirror of https://github.com/ZeppelinBot/Zeppelin.git synced 2025-03-19 07:20:00 +00:00
zeppelin/backend/src/plugins/AutoDelete/util/onMessageCreate.ts

27 lines
1.1 KiB
TypeScript
Raw Normal View History

import { AutoDeletePluginType, MAX_DELAY } from "../types";
import { GuildPluginData } from "knub";
import { SavedMessage } from "../../../data/entities/SavedMessage";
import { convertDelayStringToMS, resolveMember } from "../../../utils";
import { LogType } from "../../../data/LogType";
import { addMessageToDeletionQueue } from "./addMessageToDeletionQueue";
export async function onMessageCreate(pluginData: GuildPluginData<AutoDeletePluginType>, msg: SavedMessage) {
const member = await resolveMember(pluginData.client, pluginData.guild, msg.user_id);
const config = pluginData.config.getMatchingConfig({ member, channelId: msg.channel_id });
if (config.enabled) {
let delay = convertDelayStringToMS(config.delay)!;
if (delay > MAX_DELAY) {
delay = MAX_DELAY;
if (!pluginData.state.maxDelayWarningSent) {
pluginData.state.guildLogs.log(LogType.BOT_ALERT, {
body: `Clamped auto-deletion delay in <#${msg.channel_id}> to 5 minutes`,
});
pluginData.state.maxDelayWarningSent = true;
}
}
addMessageToDeletionQueue(pluginData, msg, delay);
}
}