From 7f340f88ad68e19423d73bf28439442071a69702 Mon Sep 17 00:00:00 2001 From: Max Gurela Date: Wed, 23 Mar 2016 11:04:23 -0700 Subject: [PATCH] Add support for token login (for bots) --- discord/client.py | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/discord/client.py b/discord/client.py index 4df163a8e..720d887bf 100644 --- a/discord/client.py +++ b/discord/client.py @@ -464,6 +464,24 @@ class Client: passing status code. """ + if email == "token": + log.info('logging in using static token') + self.token = password + self.headers['authorization'] = 'Bot {}'.format(self.token) + resp = yield from self.session.get(endpoints.ME, headers=self.headers) + log.debug(request_logging_format.format(method='GET', response=resp)) + + if resp.status != 200: + yield from resp.release() + if resp.status == 400: + raise LoginFailure('Improper token has been passed.') + else: + raise HTTPException(resp, None) + + log.info('token auth returned status code {}'.format(resp.status)) + self._is_logged_in.set() + return + # attempt to read the token from cache if self.cache_auth: yield from self._login_via_cache(email, password)