diff --git a/packages/discord.js/src/managers/GuildEmojiRoleManager.js b/packages/discord.js/src/managers/GuildEmojiRoleManager.js index d21f4dbd6..085fbfc74 100644 --- a/packages/discord.js/src/managers/GuildEmojiRoleManager.js +++ b/packages/discord.js/src/managers/GuildEmojiRoleManager.js @@ -31,7 +31,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 81c5a1fe7..f10c61375 100644 --- a/packages/discord.js/src/managers/GuildMemberRoleManager.js +++ b/packages/discord.js/src/managers/GuildMemberRoleManager.js @@ -33,8 +33,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; } /**