From 22fe08c417abb48eadacf43440fde31062f913c8 Mon Sep 17 00:00:00 2001 From: BattleEye <44738706+AppEternal@users.noreply.github.com> Date: Wed, 13 Jul 2022 19:20:40 -0500 Subject: [PATCH] Fix PermissionOverwriteManager changing userOrRole Since it's mutated the original Member object won't be passed to upset and will be seen as invalid if User cache is disabled. Functions normally even with User cache disabled after the fix. --- src/managers/PermissionOverwriteManager.js | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/managers/PermissionOverwriteManager.js b/src/managers/PermissionOverwriteManager.js index 8dbc881dcd5b..d71badf3f9c6 100644 --- a/src/managers/PermissionOverwriteManager.js +++ b/src/managers/PermissionOverwriteManager.js @@ -142,8 +142,9 @@ class PermissionOverwriteManager extends CachedManager { * .catch(console.error); */ edit(userOrRole, options, overwriteOptions) { - userOrRole = this.channel.guild.roles.resolveId(userOrRole) ?? this.client.users.resolveId(userOrRole); - const existing = this.cache.get(userOrRole); + const existing = this.cache.get( + this.channel.guild.roles.resolveId(userOrRole) ?? this.client.users.resolveId(userOrRole), + ); return this.upsert(userOrRole, options, overwriteOptions, existing); }