aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--discord/utils.py7
1 files changed, 6 insertions, 1 deletions
diff --git a/discord/utils.py b/discord/utils.py
index a097cfe7..2d19597f 100644
--- a/discord/utils.py
+++ b/discord/utils.py
@@ -75,7 +75,7 @@ def parse_time(timestamp):
return None
-def oauth_url(client_id, permissions=None, server=None):
+def oauth_url(client_id, permissions=None, server=None, redirect_uri=None):
"""A helper function that returns the OAuth2 URL for inviting the bot
into servers.
@@ -88,12 +88,17 @@ def oauth_url(client_id, permissions=None, server=None):
permissions.
server : :class:`Server`
The server to pre-select in the authorization screen, if available.
+ redirect_uri : str
+ An optional valid redirect URI.
"""
url = 'https://discordapp.com/oauth2/authorize?client_id={}&scope=bot'.format(client_id)
if permissions is not None:
url = url + '&permissions=' + str(permissions.value)
if server is not None:
url = url + "&guild_id=" + server.id
+ if redirect_uri is not None:
+ from urllib.parse import urlencode
+ url = url + "&response_type=code&" + urlencode({'redirect_uri': redirect_uri})
return url