From d12da49fe3922e701a5d79d47f076a9efd469ff2 Mon Sep 17 00:00:00 2001 From: Hsu Still <341464@gmail.com> Date: Sat, 3 Mar 2018 01:44:24 +0800 Subject: [PATCH] Implement song Duration prop --- src/Discord.Net.Core/Entities/Activities/SpotifyGame.cs | 2 ++ src/Discord.Net.WebSocket/Extensions/EntityExtensions.cs | 4 +++- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/src/Discord.Net.Core/Entities/Activities/SpotifyGame.cs b/src/Discord.Net.Core/Entities/Activities/SpotifyGame.cs index 0139d4025..7334a2adf 100644 --- a/src/Discord.Net.Core/Entities/Activities/SpotifyGame.cs +++ b/src/Discord.Net.Core/Entities/Activities/SpotifyGame.cs @@ -1,3 +1,4 @@ +using System; using System.Collections.Generic; using System.Diagnostics; @@ -13,6 +14,7 @@ namespace Discord public string SyncId { get; internal set; } public string SessionId { get; internal set; } public string[] Artists { get; internal set; } + public TimeSpan? Duration { get; internal set; } public override string ToString() => Name; private string DebuggerDisplay => $"{Name} (Spotify)"; diff --git a/src/Discord.Net.WebSocket/Extensions/EntityExtensions.cs b/src/Discord.Net.WebSocket/Extensions/EntityExtensions.cs index 096e14803..7cddfb667 100644 --- a/src/Discord.Net.WebSocket/Extensions/EntityExtensions.cs +++ b/src/Discord.Net.WebSocket/Extensions/EntityExtensions.cs @@ -8,6 +8,7 @@ namespace Discord.WebSocket if (model.SyncId.IsSpecified) { var assets = model.Assets.GetValueOrDefault()?.ToEntity(); + var timestamps = model.Timestamps.IsSpecified ? model.Timestamps.Value.ToEntity() : null; return new SpotifyGame { Name = model.Name, @@ -15,7 +16,8 @@ namespace Discord.WebSocket SyncId = model.SyncId.Value, TrackAlbum = assets?[1]?.Text, TrackTitle = model.Details.GetValueOrDefault(), - Artists = model.State.GetValueOrDefault()?.Split(';') + Artists = model.State.GetValueOrDefault()?.Split(';'), + Duration = timestamps?.End - timestamps?.Start }; }