Skip to content

Commit 82e836b

Browse files
authored
Merge pull request #615 from Sengolda/patch-10
New `get_or_fetch_user` method
2 parents 7c04df3 + 9043abe commit 82e836b

File tree

1 file changed

+16
-0
lines changed

1 file changed

+16
-0
lines changed

discord/client.py

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -905,6 +905,22 @@ def get_all_members(self) -> Generator[Member, None, None]:
905905
for guild in self.guilds:
906906
yield from guild.members
907907

908+
async def get_or_fetch_user(self, id: int, /) -> Optional[User]:
909+
"""Looks up a user in the user cache or fetches if not found.
910+
911+
Parameters
912+
-----------
913+
id: :class:`int`
914+
The ID to search for.
915+
916+
Returns
917+
---------
918+
Optional[:class:`~discord.User`]
919+
The user or ``None`` if not found.
920+
"""
921+
922+
return await utils.get_or_fetch(obj=self, attr="user", id=id, default=None)
923+
908924
# listeners/waiters
909925

910926
async def wait_until_ready(self) -> None:

0 commit comments

Comments
 (0)