From 97e79b5f3d3f9314283a11b8ea52a11d53518df7 Mon Sep 17 00:00:00 2001 From: Still Hsu <341464@gmail.com> Date: Thu, 26 Apr 2018 22:02:53 +0800 Subject: [PATCH] Add TrackUrl --- src/Discord.Net.Core/CDN.cs | 2 ++ src/Discord.Net.Core/Entities/Activities/SpotifyGame.cs | 1 + src/Discord.Net.WebSocket/Extensions/EntityExtensions.cs | 1 + 3 files changed, 4 insertions(+) diff --git a/src/Discord.Net.Core/CDN.cs b/src/Discord.Net.Core/CDN.cs index 52b9a2878..6bac241aa 100644 --- a/src/Discord.Net.Core/CDN.cs +++ b/src/Discord.Net.Core/CDN.cs @@ -34,6 +34,8 @@ namespace Discord public static string GetSpotifyAlbumArtUrl(string albumArtId) => $"https://i.scdn.co/image/{albumArtId}"; + public static string GetSpotifyDirectUrl(string trackId) + => $"https://open.spotify.com/track/{trackId}"; private static string FormatToExtension(ImageFormat format, string imageId) { diff --git a/src/Discord.Net.Core/Entities/Activities/SpotifyGame.cs b/src/Discord.Net.Core/Entities/Activities/SpotifyGame.cs index 0f311ad6f..cfb2f0a26 100644 --- a/src/Discord.Net.Core/Entities/Activities/SpotifyGame.cs +++ b/src/Discord.Net.Core/Entities/Activities/SpotifyGame.cs @@ -12,6 +12,7 @@ namespace Discord public string AlbumTitle { get; internal set; } public string TrackTitle { get; internal set; } public string TrackId { get; internal set; } + public string TrackUrl { get; internal set; } public string SessionId { get; internal set; } public TimeSpan? Duration { get; internal set; } diff --git a/src/Discord.Net.WebSocket/Extensions/EntityExtensions.cs b/src/Discord.Net.WebSocket/Extensions/EntityExtensions.cs index 7efa2257a..350d92d16 100644 --- a/src/Discord.Net.WebSocket/Extensions/EntityExtensions.cs +++ b/src/Discord.Net.WebSocket/Extensions/EntityExtensions.cs @@ -19,6 +19,7 @@ namespace Discord.WebSocket Name = model.Name, SessionId = model.SessionId.GetValueOrDefault(), TrackId = model.SyncId.Value, + TrackUrl = CDN.GetSpotifyDirectUrl(model.SyncId.Value), AlbumTitle = albumText, TrackTitle = model.Details.GetValueOrDefault(), Artists = model.State.GetValueOrDefault()?.Split(';').Select(x=>x?.Trim()).ToImmutableArray(),