fix: remove mentee offboard notification on leave
Node.js CI / CI (pull_request) Successful in 28s
Security Scan and Upload / Security & DefectDojo Upload (pull_request) Successful in 51s

This commit is contained in:
2026-03-02 15:37:02 -08:00
committed by Naomi Carrigan
parent 8ee5fa7ced
commit a448d22e18
2 changed files with 2 additions and 24 deletions
+1 -1
View File
@@ -159,7 +159,7 @@ amari.discord.on(Events.GuildMemberAdd, (member) => {
});
amari.discord.on(Events.GuildMemberRemove, (member) => {
void logMenteeLeave(amari, member);
void logMenteeLeave(member);
});
await amari.discord.login(process.env.BOT_TOKEN);
+1 -23
View File
@@ -6,40 +6,18 @@
import { ids } from "../config/ids.js";
import { logger } from "../utils/logger.js";
import type { Amari } from "../interfaces/amari.js";
import type { GuildMember, PartialGuildMember } from "discord.js";
/**
* Run when a guild member leaves. If the member had the mentorship role,
* notify Naomi.
* @param amari - Amari's instance.
* log the metric.
* @param member - The member payload from Discord.
*/
export const logMenteeLeave = async(
amari: Amari,
member: GuildMember | PartialGuildMember,
): Promise<void> => {
if (!member.roles.cache.has(ids.roles.mentorship)) {
return;
}
const channel = amari.discord.channels.cache.get(ids.channels.menteeChat)
?? await amari.discord.channels.fetch(ids.channels.menteeChat);
if (channel?.isSendable() !== true) {
await logger.log(
"warn",
"Mentee Chat channel does not exist or is not sendable.",
);
return;
}
await channel.send({
content: `Hey <@${ids.users.naomi}>~!
<@${member.id}> (${member.user.displayName} - ${member.id}) has left the server.
It seems they were part of the mentorship programme, so you may need to offboard them.`,
});
await logger.metric("processed_mentee_leave", 1, { user: member.id });
};