import { GuildPluginData } from "knub"; import { LogsPluginType } from "../types"; import { LogType } from "../../../data/LogType"; import { log } from "../util/log"; import { createTypedTemplateSafeValueContainer } from "../../../templateFormatter"; import { User } from "discord.js"; import { userToTemplateSafeUser } from "../../../utils/templateSafeObjects"; import { UnknownUser } from "../../../utils"; interface LogMemberNoteData { mod: User; user: User | UnknownUser; caseNumber: number; reason: string; } export function logMemberNote(pluginData: GuildPluginData, data: LogMemberNoteData) { return log( pluginData, LogType.MEMBER_NOTE, createTypedTemplateSafeValueContainer({ mod: userToTemplateSafeUser(data.mod), user: userToTemplateSafeUser(data.user), caseNumber: data.caseNumber, reason: data.reason, }), { userId: data.user.id, bot: data.user instanceof User ? data.user.bot : false, }, ); }