Skip to content

Commit 5a29624

Browse files
authored
fix: filter out cache misses from guild properties (#1454)
* fix: filter out cache misses from Guild.members * fix: filter out cache misses from Guild.roles --------- Co-authored-by: Astrea49 <25420078+Astrea49@users.noreply.github.com>
1 parent 1bd1100 commit 5a29624

File tree

1 file changed

+4
-2
lines changed

1 file changed

+4
-2
lines changed

interactions/models/discord/guild.py

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -348,7 +348,8 @@ def threads(self) -> List["models.TYPE_THREAD_CHANNEL"]:
348348
@property
349349
def members(self) -> List["models.Member"]:
350350
"""Returns a list of all members within this guild."""
351-
return [self._client.cache.get_member(self.id, m_id) for m_id in self._member_ids]
351+
members = (self._client.cache.get_member(self.id, m_id) for m_id in self._member_ids)
352+
return [m for m in members if m]
352353

353354
@property
354355
def premium_subscribers(self) -> List["models.Member"]:
@@ -368,7 +369,8 @@ def humans(self) -> List["models.Member"]:
368369
@property
369370
def roles(self) -> List["models.Role"]:
370371
"""Returns a list of roles associated with this guild."""
371-
return sorted([self._client.cache.get_role(r_id) for r_id in self._role_ids], reverse=True)
372+
roles = sorted((self._client.cache.get_role(r_id) for r_id in self._role_ids), reverse=True)
373+
return [r for r in roles if r]
372374

373375
@property
374376
def me(self) -> "models.Member":

0 commit comments

Comments
 (0)