From c37a895b9c572b16a8e8e2f6429e8202cbdffb78 Mon Sep 17 00:00:00 2001 From: Brandon Smith Date: Thu, 20 Aug 2015 13:36:39 -0300 Subject: [PATCH] Allow full invite URLs to be passed to AcceptInvite --- src/Discord.Net/API/Endpoints.cs | 3 ++- src/Discord.Net/DiscordClient.cs | 9 +++++++++ 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/src/Discord.Net/API/Endpoints.cs b/src/Discord.Net/API/Endpoints.cs index 4b07edc2e..7d97d4cff 100644 --- a/src/Discord.Net/API/Endpoints.cs +++ b/src/Discord.Net/API/Endpoints.cs @@ -5,6 +5,7 @@ public static readonly string BaseUrl = "discordapp.com"; public static readonly string BaseShortUrl = "discord.gg"; public static readonly string BaseHttps = $"https://{BaseUrl}"; + public static readonly string BaseShortHttps = $"https://{BaseShortUrl}"; // /api public static readonly string BaseApi = $"{BaseHttps}/api"; @@ -52,6 +53,6 @@ public static readonly string WebSocket_Hub = $"{BaseWss}/hub"; //Website - public static string InviteUrl(string code) => $"{BaseShortUrl}/{code}"; + public static string InviteUrl(string code) => $"{BaseShortHttps}/{code}"; } } diff --git a/src/Discord.Net/DiscordClient.cs b/src/Discord.Net/DiscordClient.cs index 04f11ca15..01d2b3903 100644 --- a/src/Discord.Net/DiscordClient.cs +++ b/src/Discord.Net/DiscordClient.cs @@ -705,6 +705,15 @@ namespace Discord public async Task AcceptInvite(string id) { CheckReady(); + + //Remove Url Parts + if (id.StartsWith(Endpoints.BaseShortHttps)) + id = id.Substring(Endpoints.BaseShortHttps.Length); + if (id.Length > 0 && id[0] == '/') + id = id.Substring(1); + if (id.Length > 0 && id[id.Length - 1] == '/') + id = id.Substring(0, id.Length - 1); + //Check if this is a human-readable link and get its ID var response = await DiscordAPI.GetInvite(id); await DiscordAPI.AcceptInvite(response.Code);