From eedad13ac1debdcce97e895078912b5729e0a2c7 Mon Sep 17 00:00:00 2001 From: Rapptz Date: Fri, 8 Apr 2016 22:51:57 -0400 Subject: [PATCH] Add utility function for generating OAuth2 urls. --- discord/utils.py | 19 +++++++++++++++++++ docs/api.rst | 2 ++ 2 files changed, 21 insertions(+) diff --git a/discord/utils.py b/discord/utils.py index 20a91b6fb..11dcb3f0f 100644 --- a/discord/utils.py +++ b/discord/utils.py @@ -74,6 +74,25 @@ def parse_time(timestamp): return datetime.datetime(*map(int, re_split(r'[^\d]', timestamp.replace('+00:00', '')))) return None + +def oauth_url(client_id, permissions=None): + """A helper function that returns the OAuth2 URL for inviting the bot + into servers. + + Parameters + ----------- + client_id : str + The client ID for your bot. + permissions : :class:`Permissions` + The permissions you're requesting. If not given then you won't be requesting any + permissions. + """ + url = 'https://discordapp.com/oauth2/authorize?&client_id={}&scope=bot'.format(client_id) + if permissions is not None: + url = url + '&permissions=' + str(permissions.value) + return url + + def snowflake_time(id): """Returns the creation date in UTC of a discord id.""" return datetime.datetime.utcfromtimestamp(((int(id) >> 22) + DISCORD_EPOCH) / 1000) diff --git a/docs/api.rst b/docs/api.rst index f38fc70d3..af746be35 100644 --- a/docs/api.rst +++ b/docs/api.rst @@ -335,6 +335,8 @@ Utility Functions .. autofunction:: discord.utils.snowflake_time +.. autofunction:: discord.utils.oauth_url + .. _discord-api-enums: Enumerations