From dcd77bacc36d3b1f2ed8cb7ecdf348719f22feb8 Mon Sep 17 00:00:00 2001 From: MadCat9958 Date: Sun, 4 Jun 2023 13:50:32 +0300 Subject: [PATCH] http make_request typehint + get_user_info --- boticordpy/client.py | 16 ++++++++++++++++ boticordpy/http.py | 6 +++++- 2 files changed, 21 insertions(+), 1 deletion(-) diff --git a/boticordpy/client.py b/boticordpy/client.py index 5a605a3..c621cb9 100644 --- a/boticordpy/client.py +++ b/boticordpy/client.py @@ -87,6 +87,22 @@ class BoticordClient: """ response = await self.http.get_server_info(server_id) return boticord_types.ResourceServer.from_dict(response) + + async def get_user_info( + self, user_id: typing.Union[str, int] + ) -> boticord_types.UserProfile: + """Gets information about specified user. + + Args: + user_id (Union[:obj:`str`, :obj:`int`]) + Id of the user + + Returns: + :obj:`~.types.UserProfile`: + UserProfile object. + """ + response = await self.http.get_user_info(user_id) + return boticord_types.UserProfile.from_dict(response) def autopost(self) -> AutoPost: """Returns a helper instance for auto-posting. diff --git a/boticordpy/http.py b/boticordpy/http.py index 55eda40..954a102 100644 --- a/boticordpy/http.py +++ b/boticordpy/http.py @@ -29,7 +29,7 @@ class HttpClient: self.session = kwargs.get("session") or aiohttp.ClientSession(loop=loop) - async def make_request(self, method: str, endpoint: str, **kwargs): + async def make_request(self, method: str, endpoint: str, **kwargs) -> dict: """Send requests to the API""" kwargs["headers"] = {"Content-Type": "application/json"} @@ -60,3 +60,7 @@ class HttpClient: def get_server_info(self, server_id: typing.Union[str, int]): """Get information about specified server""" return self.make_request("GET", f"servers/{server_id}") + + def get_user_info(self, user_id: typing.Union[str, int]): + """Get information about specified user""" + return self.make_request("GET", f"users/{user_id}")