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 }; }