From 3d03dbc45179f645b59838729047e896cc387049 Mon Sep 17 00:00:00 2001 From: Rapptz Date: Mon, 24 Sep 2018 21:05:41 -0400 Subject: Change internal role storage in Guild to a dict instead of a list. This adds the following APIs: * Guild.get_role This removes the following APIs: * Guild.role_hierarchy To compensate for the removed APIs, Guild.roles is now a sorted list based on hierarchy. The first element will always be the @everyone role. This speeds up access at the cost of some memory, theoretically. --- discord/member.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'discord/member.py') diff --git a/discord/member.py b/discord/member.py index bf461d88..e407546a 100644 --- a/discord/member.py +++ b/discord/member.py @@ -189,8 +189,8 @@ class Member(discord.abc.Messageable, _BaseUser): def _update_roles(self, data): # update the roles self.roles = [self.guild.default_role] - for roleid in map(int, data['roles']): - role = utils.find(lambda r: r.id == roleid, self.guild.roles) + for role_id in map(int, data['roles']): + role = self.guild.get_role(role_id) if role is not None: self.roles.append(role) -- cgit v1.2.3