From 37ea1ef6bab30956125d8e36785864cf6bc35fda Mon Sep 17 00:00:00 2001 From: ITOH <72305210+itohatweb@users.noreply.github.com> Date: Sun, 31 Jan 2021 17:51:51 +0100 Subject: [PATCH] fix(controllers): delete role from cache before emitting the "roleDelete" event (#494) --- src/api/controllers/roles.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/api/controllers/roles.ts b/src/api/controllers/roles.ts index 99fb8c4d3..63292058e 100644 --- a/src/api/controllers/roles.ts +++ b/src/api/controllers/roles.ts @@ -29,10 +29,10 @@ export async function handleInternalGuildRoleDelete(data: DiscordPayload) { if (!guild) return; const cachedRole = guild.roles.get(payload.role_id)!; - if (cachedRole) eventHandlers.roleDelete?.(guild, cachedRole); - guild.roles.delete(payload.role_id); + if (cachedRole) eventHandlers.roleDelete?.(guild, cachedRole); + // For bots without GUILD_MEMBERS member.roles is never updated breaking permissions checking. cacheHandlers.forEach("members", (member) => { // Not in the relevant guild so just skip.