aboutsummaryrefslogtreecommitdiffstats
path: root/pydis_core/utils
diff options
context:
space:
mode:
authorGravatar Amrou Bellalouna <[email protected]>2022-12-13 11:56:07 +0100
committerGravatar GitHub <[email protected]>2022-12-13 10:56:07 +0000
commit00b4f162899954f7474397f38a17b01e98351012 (patch)
treed4c9df20591b9eaef528935c40ad2ae8338df6d9 /pydis_core/utils
parentMerge pull request #151 from python-discord/Python-3.11 (diff)
Return None upon receiving a bad request from Discord in get_or_fetch_member (#169)v9.3.0
Co-authored-by: Amrou Bellalouna <[email protected]>
Diffstat (limited to 'pydis_core/utils')
-rw-r--r--pydis_core/utils/members.py14
1 files changed, 8 insertions, 6 deletions
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