aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRapptz <[email protected]>2016-09-25 04:40:31 -0400
committerRapptz <[email protected]>2016-09-25 04:40:31 -0400
commit96ca7cafeefb388b898fd8ed9c7279069b71b013 (patch)
tree24a14eaa91c3262668ec641f5df5918c3f2bc03d
parentFix 404'd FAQ links. (diff)
downloaddiscord.py-96ca7cafeefb388b898fd8ed9c7279069b71b013.tar.xz
discord.py-96ca7cafeefb388b898fd8ed9c7279069b71b013.zip
Add Client.get_user_info to retrieve a User from ID.
-rw-r--r--discord/client.py27
-rw-r--r--discord/http.py3
2 files changed, 30 insertions, 0 deletions
diff --git a/discord/client.py b/discord/client.py
index 74a417cd..f304be24 100644
--- a/discord/client.py
+++ b/discord/client.py
@@ -2795,4 +2795,31 @@ class Client:
description=data['description'], icon=data['icon'],
owner=User(**data['owner']))
+ @asyncio.coroutine
+ def get_user_info(self, user_id):
+ """|coro|
+
+ Retrieves a :class:`User` based on their ID. This can only
+ be used by bot accounts. You do not have to share any servers
+ with the user to get this information, however many operations
+ do require that you do.
+
+ Parameters
+ -----------
+ user_id: str
+ The user's ID to fetch from.
+
+ Returns
+ --------
+ :class:`User`
+ The user you requested.
+ Raises
+ -------
+ NotFound
+ A user with this ID does not exist.
+ HTTPException
+ Fetching the user failed.
+ """
+ data = yield from self.http.get_user_info(user_id)
+ return User(**data)
diff --git a/discord/http.py b/discord/http.py
index c7ffa4c0..dd7c1f43 100644
--- a/discord/http.py
+++ b/discord/http.py
@@ -515,3 +515,6 @@ class HTTPClient:
except HTTPException as e:
raise GatewayNotFound() from e
return data.get('url') + '?encoding=json&v=6'
+
+ def get_user_info(self, user_id):
+ return self.get('{0.USERS}/{1}'.format(self, user_id), bucket=_func_())