Browse Source

Add User.fetch_mutual_friends()

pull/10109/head
dolfies 2 years ago
parent
commit
047747fc8d
  1. 2
      discord/http.py
  2. 2
      discord/member.py
  3. 23
      discord/user.py

2
discord/http.py

@ -4506,7 +4506,7 @@ class HTTPClient:
return self.request(Route('GET', '/users/{user_id}/profile', user_id=user_id), params=params)
def get_mutual_friends(self, user_id: Snowflake): # TODO: return type
def get_mutual_friends(self, user_id: Snowflake) -> Response[List[user.PartialUser]]:
return self.request(Route('GET', '/users/{user_id}/relationships', user_id=user_id))
def get_notes(self) -> Response[Dict[Snowflake, str]]:

2
discord/member.py

@ -304,7 +304,7 @@ class Member(discord.abc.Messageable, discord.abc.Connectable, _UserTag):
block: Callable[[], Awaitable[None]]
unblock: Callable[[], Awaitable[None]]
remove_friend: Callable[[], Awaitable[None]]
mutual_guilds: List[Guild]
fetch_mutual_friends: Callable[[], Awaitable[List[User]]]
public_flags: PublicUserFlags
banner: Optional[Asset]
accent_color: Optional[Colour]

23
discord/user.py

@ -24,7 +24,7 @@ DEALINGS IN THE SOFTWARE.
from __future__ import annotations
from typing import Any, Callable, Dict, Optional, Tuple, TYPE_CHECKING, Union
from typing import Any, Callable, Dict, List, Optional, Tuple, TYPE_CHECKING, Union
import discord.abc
from .asset import Asset
@ -598,6 +598,27 @@ class BaseUser(_UserTag):
with_mutual_friends=with_mutual_friends,
)
async def fetch_mutual_friends(self) -> List[User]:
"""|coro|
Fetches mutual friends with the user.
.. versionadded:: 2.1
Raises
-------
HTTPException
Fetching the mutual friends failed.
Returns
--------
List[:class:`User`]
The mutual friends with the user.
"""
state = self._state
data = await state.http.get_mutual_friends(self.id)
return [state.store_user(u) for u in data]
class ClientUser(BaseUser):
"""Represents your Discord user.

Loading…
Cancel
Save