aboutsummaryrefslogtreecommitdiffstats
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
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]>
-rw-r--r--docs/changelog.rst3
-rw-r--r--pydis_core/utils/members.py14
-rw-r--r--pyproject.toml2
3 files changed, 12 insertions, 7 deletions
diff --git a/docs/changelog.rst b/docs/changelog.rst
index ed46f90e..ee4cc69c 100644
--- a/docs/changelog.rst
+++ b/docs/changelog.rst
@@ -4,6 +4,9 @@
Changelog
=========
+- :release:`9.3.0 <13th December 2022>`
+- :feature:`169` Return :obj:`None` upon receiving a bad request from Discord in :obj:`pydis_core.utils.members.get_or_fetch_member`
+
- :release:`9.2.0 <17th November 2022>`
- :support:`151` Add support for Python 3.11
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
diff --git a/pyproject.toml b/pyproject.toml
index 0b080c3a..482dfdca 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -1,6 +1,6 @@
[tool.poetry]
name = "pydis_core"
-version = "9.2.0"
+version = "9.3.0"
description = "PyDis core provides core functionality and utility to the bots of the Python Discord community."
authors = ["Python Discord <[email protected]>"]
license = "MIT"