message: slight fix hack
diff: import { cacheHandlers } from "../controllers/cache.ts";
  import { GuildMember, MemberCreatePayload } from "../types/member.ts";
  import { Unpromise } from "../types/misc.ts";
  +import { cache } from "../utils/cache.ts";
  import { Collection } from "../utils/collection.ts";
  export async function createMember(data: MemberCreatePayload, guildID: string) {
  @@ -21,6 +22,18 @@ export async function createMember(data: MemberCreatePayload, guildID: string) {
  ...user
  } = data.user || {};
  + let member = {
  + ...rest,
  + // Only use those that we have not removed above
  + ...user,
  + /** Whether or not this user has 2FA enabled. */
  + mfaEnabled,
  + /** The premium type for this user */
  + premiumType,
  + /** The guild related data mapped by guild id */
  + guilds: new Collection<string, GuildMember>(),
  + };
  +
  const cached = await cacheHandlers.get("members", user.id);
  if (cached) {
  // Check if any of the others need updating
  @@ -51,20 +64,13 @@ export async function createMember(data: MemberCreatePayload, guildID: string) {
  /** Whether the user is muted in voice channels */
  mute: mute,
  });
  - }
  - const member = {
  - ...rest,
  - // Only use those that we have not removed above
  - ...user,
  - /** Whether or not this user has 2FA enabled. */
  - mfaEnabled,
  - /** The premium type for this user */
  - premiumType,
  - /** The guild related data mapped by guild id */
  - guilds: new Collection<string, GuildMember>(),
  - };
  + // Hack to get around Member returning Member creating Member
  + member = cached;
  + return member;
  + }
  + // User was never cached before
  member.guilds.set(guildID, {
  nick: nick,
  roles: roles,
  