import humanizeDuration from "humanize-duration"; import moment from "moment-timezone"; import { LogType } from "../../../data/LogType"; import { memberToTemplateSafeMember } from "../../../utils/templateSafeObjects"; import { logsEvt } from "../types"; import { logMemberJoin } from "../logFunctions/logMemberJoin"; import { logMemberJoinWithPriorRecords } from "../logFunctions/logMemberJoinWithPriorRecords"; export const LogsGuildMemberAddEvt = logsEvt({ event: "guildMemberAdd", async listener(meta) { const pluginData = meta.pluginData; const member = meta.args.member; logMemberJoin(pluginData, { member, }); // TODO: Uncomment below once circular dependencies in Knub have been fixed // const cases = (await pluginData.state.cases.with("notes").getByUserId(member.id)).filter(c => !c.is_hidden); // cases.sort((a, b) => (a.created_at > b.created_at ? -1 : 1)); // // if (cases.length) { // const recentCaseLines: string[] = []; // const recentCases = cases.slice(0, 2); // const casesPlugin = pluginData.getPlugin(CasesPlugin); // for (const theCase of recentCases) { // recentCaseLines.push((await casesPlugin.getCaseSummary(theCase))!); // } // // let recentCaseSummary = recentCaseLines.join("\n"); // if (recentCases.length < cases.length) { // const remaining = cases.length - recentCases.length; // if (remaining === 1) { // recentCaseSummary += `\n*+${remaining} case*`; // } else { // recentCaseSummary += `\n*+${remaining} cases*`; // } // } // // logMemberJoinWithPriorRecords(pluginData, { // member, // recentCaseSummary, // }); // } }, });