diff --git a/discord/threads.py b/discord/threads.py index 892910d9..fb42d4fd 100644 --- a/discord/threads.py +++ b/discord/threads.py @@ -800,3 +800,39 @@ class ThreadMember(Hashable): def thread(self) -> Thread: """:class:`Thread`: The thread this member belongs to.""" return self.parent + + async def fetch_member(self) -> Member: + """|coro| + + Retrieves a :class:`Member` from the ThreadMember object. + + .. note:: + + This method is an API call. If you have :attr:`Intents.members` and member cache enabled, consider :meth:`get_member` instead. + + Raises + ------- + Forbidden + You do not have access to the guild. + HTTPException + Fetching the member failed. + + Returns + -------- + :class:`Member` + The member. + """ + + return await self.thread.guild.fetch_member(self.id) + + def get_member(self) -> Optional[Member]: + """ + Get the :class:`Member` from cache for the ThreadMember object. + + Returns + -------- + Optional[:class:`Member`] + The member or ``None`` if not found. + """ + + return await self.thread.guild.get_member(self.id)