aboutsummaryrefslogtreecommitdiffstats
path: root/pydis_core
diff options
context:
space:
mode:
authorGravatar Amrou Bellalouna <[email protected]>2022-12-13 20:50:00 +0100
committerGravatar Amrou Bellalouna <[email protected]>2022-12-13 20:50:00 +0100
commitb0384ec69941cbf475445ed4971d10d1156640b8 (patch)
tree27fe7bd56dbd7564e7ac6c93d72add369276b952 /pydis_core
parentsave strong references of newly created tasks in the `TASKS` set (diff)
parentReturn None upon receiving a bad request from Discord in get_or_fetch_member ... (diff)
Merge branch 'main' of https://github.com/shtlrs/bot-core
Diffstat (limited to 'pydis_core')
-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