diff --git a/src/Discord.Net.Rest/DiscordRestApiClient.cs b/src/Discord.Net.Rest/DiscordRestApiClient.cs index 615e5ac12..52396432c 100644 --- a/src/Discord.Net.Rest/DiscordRestApiClient.cs +++ b/src/Discord.Net.Rest/DiscordRestApiClient.cs @@ -75,7 +75,8 @@ namespace Discord.API RestClient = _restClientProvider(baseUrl); RestClient.SetHeader("accept", "*/*"); RestClient.SetHeader("user-agent", UserAgent); - RestClient.SetHeader("authorization", GetPrefixedToken(AuthTokenType, AuthToken)); + if (!string.IsNullOrEmpty(AuthToken)) + RestClient.SetHeader("authorization", GetPrefixedToken(AuthTokenType, AuthToken)); } /// Unknown OAuth token type. internal static string GetPrefixedToken(TokenType tokenType, string token) @@ -83,7 +84,7 @@ namespace Discord.API return tokenType switch { TokenType.Bot => $"Bot {token}", - TokenType.Bearer => $"Bearer {token}", + TokenType.Bearer => $"{token}", // Bearer tokens are not prefixed _ => throw new ArgumentException(message: "Unknown OAuth token type.", paramName: nameof(tokenType)), }; } diff --git a/src/Discord.Net.WebSocket/DiscordSocketApiClient.cs b/src/Discord.Net.WebSocket/DiscordSocketApiClient.cs index 465c47a1d..2d23ebb3b 100644 --- a/src/Discord.Net.WebSocket/DiscordSocketApiClient.cs +++ b/src/Discord.Net.WebSocket/DiscordSocketApiClient.cs @@ -234,8 +234,16 @@ namespace Discord.API { if (!_isExplicitUrl && _gatewayUrl == null) { - var gatewayResponse = await GetBotGatewayAsync().ConfigureAwait(false); - _gatewayUrl = FormatGatewayUrl(gatewayResponse.Url); + if (AuthTokenType == TokenType.Bot) + { + var gatewayResponse = await GetBotGatewayAsync().ConfigureAwait(false); + _gatewayUrl = FormatGatewayUrl(gatewayResponse.Url); + } + else + { + var gatewayResponse = await GetGatewayAsync().ConfigureAwait(false); + _gatewayUrl = FormatGatewayUrl(gatewayResponse.Url); + } } gatewayUrl = _gatewayUrl;