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 { memberToTemplateSafeMember, userToTemplateSafeUser } from "../../../utils/templateSafeObjects"; import { UnknownUser } from "../../../utils"; interface LogMemberBanData { mod: User | UnknownUser | null; user: User | UnknownUser; caseNumber: number; reason: string; } export function logMemberBan(pluginData: GuildPluginData, data: LogMemberBanData) { return log( pluginData, LogType.MEMBER_BAN, createTypedTemplateSafeValueContainer({ mod: data.mod ? userToTemplateSafeUser(data.mod) : null, user: userToTemplateSafeUser(data.user), caseNumber: data.caseNumber, reason: data.reason, }), { userId: data.user.id, bot: data.user instanceof User ? data.user.bot : false, }, ); }