diff --git a/packages/discord.js/src/managers/GuildEmojiRoleManager.js b/packages/discord.js/src/managers/GuildEmojiRoleManager.js index c0791bb22..8039adb9f 100644 --- a/packages/discord.js/src/managers/GuildEmojiRoleManager.js +++ b/packages/discord.js/src/managers/GuildEmojiRoleManager.js @@ -35,7 +35,15 @@ class GuildEmojiRoleManager extends DataManager { * @readonly */ get cache() { - return this.guild.roles.cache.filter(role => this.emoji._roles.includes(role.id)); + const cache = new Collection(); + for (const roleId of this.emoji._roles) { + const role = this.guild.roles.cache.get(roleId); + if (role !== undefined) { + cache.set(roleId, role); + } + } + + return cache; } /** diff --git a/packages/discord.js/src/managers/GuildMemberRoleManager.js b/packages/discord.js/src/managers/GuildMemberRoleManager.js index 609ed43ed..34c0fd10b 100644 --- a/packages/discord.js/src/managers/GuildMemberRoleManager.js +++ b/packages/discord.js/src/managers/GuildMemberRoleManager.js @@ -37,8 +37,17 @@ class GuildMemberRoleManager extends DataManager { * @readonly */ get cache() { - const everyone = this.guild.roles.everyone; - return this.guild.roles.cache.filter(role => this.member._roles.includes(role.id)).set(everyone.id, everyone); + const cache = new Collection(); + cache.set(this.guild.id, this.guild.roles.everyone); + + for (const roleId of this.member._roles) { + const role = this.guild.roles.cache.get(roleId); + if (role !== undefined) { + cache.set(roleId, role); + } + } + + return cache; } /**