mirror of
https://github.com/discordeno/discordeno.git
synced 2026-06-16 19:28:17 +00:00
20 lines
779 B
TypeScript
20 lines
779 B
TypeScript
import { eventHandlers } from "../../bot.ts";
|
|
import { cacheHandlers } from "../../cache.ts";
|
|
import { DiscordGatewayPayload } from "../../types/gateway/gateway_payload.ts";
|
|
import { DiscordGuildMemberRemove } from "../../types/members/guild_member_remove.ts";
|
|
|
|
export async function handleGuildMemberRemove(data: DiscordGatewayPayload) {
|
|
const payload = data.d as DiscordGuildMemberRemove;
|
|
const guild = await cacheHandlers.get("guilds", payload.guild_id);
|
|
if (!guild) return;
|
|
|
|
guild.memberCount--;
|
|
const member = await cacheHandlers.get("members", payload.user.id);
|
|
eventHandlers.guildMemberRemove?.(guild, payload.user, member);
|
|
|
|
member?.guilds.delete(guild.id);
|
|
if (member && !member.guilds.size) {
|
|
await cacheHandlers.delete("members", member.id);
|
|
}
|
|
}
|