From 281dc771327589c6f983503680e4e7b2f503267d Mon Sep 17 00:00:00 2001 From: Leonardo Date: Fri, 31 May 2024 04:52:19 +0200 Subject: [PATCH] Fix bug with cache superfluously incrementing role position --- discord/guild.py | 11 ++--------- 1 file changed, 2 insertions(+), 9 deletions(-) diff --git a/discord/guild.py b/discord/guild.py index bc85310a4..008dfc4f6 100644 --- a/discord/guild.py +++ b/discord/guild.py @@ -605,18 +605,11 @@ class Guild(Hashable): return member, before, after def _add_role(self, role: Role, /) -> None: - for r in self._roles.values(): - r.position += not r.is_default() - self._roles[role.id] = role def _remove_role(self, role_id: int, /) -> Role: - role = self._roles.pop(role_id) - - for r in self._roles.values(): - r.position -= r.position > role.position - - return role + # This raises KeyError if it fails.. + return self._roles.pop(role_id) @classmethod def _create_unavailable(cls, *, state: ConnectionState, guild_id: int) -> Guild: