generated from nhcarrigan/template
fix: remove mentee offboard notification on leave
This commit is contained in:
+1
-1
@@ -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);
|
||||
|
||||
@@ -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 });
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user