Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions docs/changelog.rst
Original file line number Diff line number Diff line change
Expand Up @@ -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

Expand Down
14 changes: 8 additions & 6 deletions pydis_core/utils/members.py
Original file line number Diff line number Diff line change
Expand Up @@ -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


Expand Down
2 changes: 1 addition & 1 deletion pyproject.toml
Original file line number Diff line number Diff line change
@@ -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 <info@pythondiscord.com>"]
license = "MIT"
Expand Down