diff --git a/src/managers/guilds.ts b/src/managers/guilds.ts index 97d4aad..8faf478 100644 --- a/src/managers/guilds.ts +++ b/src/managers/guilds.ts @@ -30,7 +30,7 @@ export class GuildManager extends BaseManager { this.client.rest .get(GUILD(id)) .then(async (data: any) => { - this.set(id, data) + await this.set(id, data) const guild = new Guild(this.client, data) @@ -145,6 +145,16 @@ export class GuildManager extends BaseManager { return result } + /** Sets a value to Cache */ + async set(key: string, value: GuildPayload): Promise { + if ('roles' in value) value.roles = [] + if ('emojis' in value) value.emojis = [] + if ('members' in value) value.members = [] + if ('presences' in value) value.presences = [] + if ('voice_states' in value) value.voice_states = [] + return this.client.cache.set(this.cacheName, key, value) + } + /** * Edits a guild. Returns edited guild. * @param guild Guild or guild id