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.