3
0
Fork 0
mirror of https://github.com/ZeppelinBot/Zeppelin.git synced 2025-05-10 12:25:02 +00:00
zeppelin/backend/src/plugins/Logs/util/onMessageDelete.ts
2021-08-18 01:51:42 +03:00

33 lines
1.1 KiB
TypeScript

import { BaseGuildTextChannel, Snowflake, ThreadChannel } from "discord.js";
import { GuildPluginData } from "knub";
import { SavedMessage } from "../../../data/entities/SavedMessage";
import { LogType } from "../../../data/LogType";
import { resolveUser } from "../../../utils";
import { LogsPluginType } from "../types";
import { logMessageDelete } from "../logFunctions/logMessageDelete";
import { isLogIgnored } from "./isLogIgnored";
import { logMessageDeleteBare } from "../logFunctions/logMessageDeleteBare";
export async function onMessageDelete(pluginData: GuildPluginData<LogsPluginType>, savedMessage: SavedMessage) {
const user = await resolveUser(pluginData.client, savedMessage.user_id);
const channel = pluginData.guild.channels.resolve(savedMessage.channel_id as Snowflake)! as
| BaseGuildTextChannel
| ThreadChannel;
if (isLogIgnored(pluginData, LogType.MESSAGE_DELETE, savedMessage.id)) {
return;
}
if (user) {
logMessageDelete(pluginData, {
user,
channel,
message: savedMessage,
});
} else {
logMessageDeleteBare(pluginData, {
messageId: savedMessage.id,
channel,
});
}
}