Skip to content

Commit fe2690b

Browse files
authored
fix: member not being cached in Guild.getch_members in the case of user_ids of length one (#974)
## Summary `Guild.get_or_fetch_members` uses `Guild.fetch_member` in case `user_ids` contains only 1 unresolved ID. However, it does not cache the value afterwards, which is certainly a bug that we missed. ## Checklist <!-- Put an x inside [ ] to check it, like so: [x] --> - [x] If code changes were made, then they have been tested - [ ] I have updated the documentation to reflect the changes - [x] I have formatted the code properly by running `pdm lint` - [x] I have type-checked the code by running `pdm pyright` - [x] This PR fixes an issue - [ ] This PR adds something new (e.g. new method or parameters) - [ ] This PR is a breaking change (e.g. methods or parameters removed/renamed) - [ ] This PR is **not** a code change (e.g. documentation, README, ...)
1 parent 6a1ea9d commit fe2690b

File tree

2 files changed

+5
-1
lines changed

2 files changed

+5
-1
lines changed

changelog/974.bugfix.rst

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
Fix :meth:`Guild.get_or_fetch_members` not caching anything in the case of 1 unresolved ID.

disnake/guild.py

+4-1
Original file line numberDiff line numberDiff line change
@@ -4294,7 +4294,10 @@ async def get_or_fetch_members(
42944294
if len(unresolved_ids) == 1:
42954295
# fetch_member is cheaper than query_members
42964296
try:
4297-
members.append(await self.fetch_member(unresolved_ids[0]))
4297+
member = await self.fetch_member(unresolved_ids[0])
4298+
members.append(member)
4299+
if cache:
4300+
self._add_member(member)
42984301
except HTTPException:
42994302
pass
43004303
else:

0 commit comments

Comments
 (0)