import { GuildBasedChannel, User } from "discord.js"; import { GuildPluginData } from "knub"; import { LogType } from "../../../data/LogType.js"; import { SavedMessage } from "../../../data/entities/SavedMessage.js"; import { createTypedTemplateSafeValueContainer } from "../../../templateFormatter.js"; import { UnknownUser } from "../../../utils.js"; import { resolveChannelIds } from "../../../utils/resolveChannelIds.js"; import { channelToTemplateSafeChannel, savedMessageToTemplateSafeSavedMessage, userToTemplateSafeUser, } from "../../../utils/templateSafeObjects.js"; import { LogsPluginType } from "../types.js"; import { log } from "../util/log.js"; interface LogMessageDeleteAutoData { message: SavedMessage; user: User | UnknownUser; channel: GuildBasedChannel; messageDate: string; } export function logMessageDeleteAuto(pluginData: GuildPluginData, data: LogMessageDeleteAutoData) { return log( pluginData, LogType.MESSAGE_DELETE_AUTO, createTypedTemplateSafeValueContainer({ message: savedMessageToTemplateSafeSavedMessage(data.message), user: userToTemplateSafeUser(data.user), channel: channelToTemplateSafeChannel(data.channel), messageDate: data.messageDate, }), { userId: data.user.id, bot: data.user instanceof User ? data.user.bot : false, ...resolveChannelIds(data.channel), }, ); }