import { MemberCreatePayload } from "../types/member.ts";import { Guild } from "./guild.ts";import { cache } from "../utils/cache.ts";
export const createMember = (data: MemberCreatePayload, guild: Guild) => { const member = { ...data, joinedAt: Date.parse(data.joined_at), premiumSince: data.premium_since ? Date.parse(data.premium_since) : undefined, tag: `${data.user.username}#${data.user.discriminator}`, mention: `<@!${data.user.id}>`, guildID: guild.id, mfaEnabled: data.user.mfa_enabled, premiumType: data.user.premium_type,
guild: () => cache.guilds.get(guild.id)!, };
return member;};
export interface Member extends Omit<ReturnType<typeof createMember>, "joined_at" | "premium_since"> {}