From dd1d21e29c1f09eef7c3bc3fd9dad05db628fd0b Mon Sep 17 00:00:00 2001 From: Master Kwoth Date: Thu, 15 Jun 2017 18:56:35 +0200 Subject: [PATCH] .scq fixed, local soundcloud api keys are no longer used, .scpl fix is coming soon:tm: --- src/NadekoBot/Modules/Music/Music.cs | 4 ++-- src/NadekoBot/Services/Music/MusicService.cs | 4 ++-- src/NadekoBot/Services/Music/SoundCloudApiService.cs | 12 +++++++++--- 3 files changed, 13 insertions(+), 7 deletions(-) diff --git a/src/NadekoBot/Modules/Music/Music.cs b/src/NadekoBot/Modules/Music/Music.cs index afb34192..86d7b4a6 100644 --- a/src/NadekoBot/Modules/Music/Music.cs +++ b/src/NadekoBot/Modules/Music/Music.cs @@ -431,7 +431,7 @@ namespace NadekoBot.Modules.Music using (var http = new HttpClient()) { - var scvids = JObject.Parse(await http.GetStringAsync($"http://api.soundcloud.com/resolve?url={pl}&client_id={_creds.SoundCloudClientId}").ConfigureAwait(false))["tracks"].ToObject(); + var scvids = JObject.Parse(await http.GetStringAsync($"http://scapi.nadekobot.me/resolve?url={pl}").ConfigureAwait(false))["tracks"].ToObject(); await _music.QueueSong(((IGuildUser)Context.User), (ITextChannel)Context.Channel, ((IGuildUser)Context.User).VoiceChannel, scvids[0].TrackLink).ConfigureAwait(false); MusicPlayer musicPlayer; @@ -446,7 +446,7 @@ namespace NadekoBot.Modules.Music { Title = svideo.FullName, Provider = "SoundCloud", - Uri = svideo.GetStreamLink(_creds), + Uri = await svideo.StreamLink(), ProviderType = MusicType.Normal, Query = svideo.TrackLink, }), ((IGuildUser)Context.User).Username); diff --git a/src/NadekoBot/Services/Music/MusicService.cs b/src/NadekoBot/Services/Music/MusicService.cs index 06748412..9ea7a958 100644 --- a/src/NadekoBot/Services/Music/MusicService.cs +++ b/src/NadekoBot/Services/Music/MusicService.cs @@ -281,7 +281,7 @@ namespace NadekoBot.Services.Music { Title = svideo.FullName, Provider = "SoundCloud", - Uri = svideo.GetStreamLink(_creds), + Uri = await svideo.StreamLink(), ProviderType = musicType, Query = svideo.TrackLink, AlbumArt = svideo.artwork_url, @@ -296,7 +296,7 @@ namespace NadekoBot.Services.Music { Title = svideo.FullName, Provider = "SoundCloud", - Uri = svideo.GetStreamLink(_creds), + Uri = await svideo.StreamLink(), ProviderType = MusicType.Soundcloud, Query = svideo.TrackLink, AlbumArt = svideo.artwork_url, diff --git a/src/NadekoBot/Services/Music/SoundCloudApiService.cs b/src/NadekoBot/Services/Music/SoundCloudApiService.cs index 22a3ccda..55a343f8 100644 --- a/src/NadekoBot/Services/Music/SoundCloudApiService.cs +++ b/src/NadekoBot/Services/Music/SoundCloudApiService.cs @@ -26,7 +26,7 @@ namespace NadekoBot.Services.Music using (var http = new HttpClient()) { - response = await http.GetStringAsync($"http://api.soundcloud.com/resolve?url={url}&client_id={_creds.SoundCloudClientId}").ConfigureAwait(false); + response = await http.GetStringAsync($"https://scapi.nadekobot.me/resolve?url={url}").ConfigureAwait(false); } @@ -50,7 +50,7 @@ namespace NadekoBot.Services.Music var response = ""; using (var http = new HttpClient()) { - response = await http.GetStringAsync($"http://api.soundcloud.com/tracks?q={Uri.EscapeDataString(query)}&client_id={_creds.SoundCloudClientId}").ConfigureAwait(false); + response = await http.GetStringAsync($"https://scapi.nadekobot.me/tracks?q={Uri.EscapeDataString(query)}").ConfigureAwait(false); } var responseObj = JsonConvert.DeserializeObject(response).Where(s => s.Streamable).FirstOrDefault(); @@ -74,7 +74,13 @@ namespace NadekoBot.Services.Music [JsonProperty("permalink_url")] public string TrackLink { get; set; } = ""; public string artwork_url { get; set; } = ""; - public string GetStreamLink(IBotCredentials creds) => $"https://api.soundcloud.com/tracks/{Id}/stream?client_id={creds.SoundCloudClientId}"; + public async Task StreamLink() + { + using (var http = new HttpClient()) + { + return await http.GetStringAsync($"http://scapi.nadekobot.me/stream/{Id}"); + } + } } public class SoundCloudUser {