From 00b4f162899954f7474397f38a17b01e98351012 Mon Sep 17 00:00:00 2001 From: Amrou Bellalouna Date: Tue, 13 Dec 2022 11:56:07 +0100 Subject: Return None upon receiving a bad request from Discord in get_or_fetch_member (#169) Co-authored-by: Amrou Bellalouna --- pydis_core/utils/members.py | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) (limited to 'pydis_core/utils') diff --git a/pydis_core/utils/members.py b/pydis_core/utils/members.py index b6eacc88..fa8481cc 100644 --- a/pydis_core/utils/members.py +++ b/pydis_core/utils/members.py @@ -18,13 +18,15 @@ async def get_or_fetch_member(guild: discord.Guild, member_id: int) -> typing.Op """ if member := guild.get_member(member_id): log.trace(f"{member} retrieved from cache.") - else: - try: - member = await guild.fetch_member(member_id) - except discord.errors.NotFound: - log.trace(f"Failed to fetch {member_id} from API.") + return member + try: + member = await guild.fetch_member(member_id) + except discord.errors.HTTPException as e: + log.trace(f"Failed to fetch {member_id} from API.") + if e.status in [400, 404]: return None - log.trace(f"{member} fetched from API.") + raise + log.trace(f"{member} fetched from API.") return member -- cgit v1.2.3