diff --git a/discord/utils.py b/discord/utils.py
index 7cb58ea1e..ccecfeed8 100644
--- a/discord/utils.py
+++ b/discord/utils.py
@@ -251,18 +251,20 @@ def deprecated(instead: Optional[str] = None) -> Callable[[Callable[..., T]], Ca
 
 
 def oauth_url(
-    client_id: str,
-    permissions: Optional[Permissions] = None,
-    guild: Optional[Snowflake] = None,
-    redirect_uri: Optional[str] = None,
-    scopes: Optional[Iterable[str]] = None,
+    client_id: Union[int, str],
+    *,
+    permissions: Permissions = MISSING,
+    guild: Snowflake = MISSING,
+    redirect_uri: str = MISSING,
+    scopes: Iterable[str] = MISSING,
+    disable_guild_select: bool = False,
 ):
     """A helper function that returns the OAuth2 URL for inviting the bot
     into guilds.
 
     Parameters
     -----------
-    client_id: :class:`str`
+    client_id: Union[:class:`int`, :class:`str`]
         The client ID for your bot.
     permissions: :class:`~discord.Permissions`
         The permissions you're requesting. If not given then you won't be requesting any
@@ -275,6 +277,10 @@ def oauth_url(
         An optional valid list of scopes. Defaults to ``('bot',)``.
 
         .. versionadded:: 1.7
+    disable_guild_select: :class:`bool`
+        Whether to disallow the user from changing the guild dropdown.
+
+        .. versionadded:: 2.0
 
     Returns
     --------
@@ -282,15 +288,17 @@ def oauth_url(
         The OAuth2 URL for inviting the bot into guilds.
     """
     url = f'https://discord.com/oauth2/authorize?client_id={client_id}'
-    url = url + '&scope=' + '+'.join(scopes or ('bot',))
-    if permissions is not None:
-        url = url + '&permissions=' + str(permissions.value)
-    if guild is not None:
-        url = url + "&guild_id=" + str(guild.id)
-    if redirect_uri is not None:
+    url += '&scope=' + '+'.join(scopes or ('bot',))
+    if permissions is not MISSING:
+        url += f'&permissions={permissions.value}'
+    if guild is not MISSING:
+        url += f'&guild_id={guild.id}'
+    if redirect_uri is not MISSING:
         from urllib.parse import urlencode
 
-        url = url + "&response_type=code&" + urlencode({'redirect_uri': redirect_uri})
+        url += '&response_type=code&' + urlencode({'redirect_uri': redirect_uri})
+    if disable_guild_select:
+        url += '&disable_guild_select=true'
     return url