diff --git a/src/Discord.Net.Core/Entities/AppSubscriptions/ISubscription.cs b/src/Discord.Net.Core/Entities/AppSubscriptions/ISubscription.cs index 06118fd63d..5d86d71f66 100644 --- a/src/Discord.Net.Core/Entities/AppSubscriptions/ISubscription.cs +++ b/src/Discord.Net.Core/Entities/AppSubscriptions/ISubscription.cs @@ -23,6 +23,11 @@ public interface ISubscription : ISnowflakeEntity /// IReadOnlyCollection EntitlementIds { get; } + /// + /// Gets the SKUs that this user will be subscribed to at renewal. + /// + IReadOnlyCollection RenewalSKUIds { get; } + /// /// Gets the start of the current subscription period. /// diff --git a/src/Discord.Net.Rest/API/Common/Subscription.cs b/src/Discord.Net.Rest/API/Common/Subscription.cs index cbcb1b075b..baeeadb9b0 100644 --- a/src/Discord.Net.Rest/API/Common/Subscription.cs +++ b/src/Discord.Net.Rest/API/Common/Subscription.cs @@ -17,6 +17,9 @@ internal class Subscription [JsonProperty("entitlement_ids")] public ulong[] EntitlementIds { get; set; } + [JsonProperty("renewal_sku_ids")] + public ulong[] RenewalSKUIds { get; set; } + [JsonProperty("current_period_start")] public DateTimeOffset CurrentPeriodStart { get; set; } diff --git a/src/Discord.Net.Rest/Entities/AppSubscriptions/RestSubscription.cs b/src/Discord.Net.Rest/Entities/AppSubscriptions/RestSubscription.cs index afae876c5a..dbd897f986 100644 --- a/src/Discord.Net.Rest/Entities/AppSubscriptions/RestSubscription.cs +++ b/src/Discord.Net.Rest/Entities/AppSubscriptions/RestSubscription.cs @@ -21,6 +21,9 @@ public class RestSubscription : RestEntity, ISubscription /// public IReadOnlyCollection EntitlementIds { get; private set; } + /// + public IReadOnlyCollection RenewalSKUIds { get; private set; } + /// public DateTimeOffset CurrentPeriodStart { get; private set; } @@ -52,6 +55,7 @@ internal void Update(API.Subscription model) UserId = model.UserId; SKUIds = model.SKUIds.ToImmutableArray(); EntitlementIds = model.EntitlementIds.ToImmutableArray(); + RenewalSKUIds = model.RenewalSKUIds?.ToImmutableArray() ?? []; CurrentPeriodStart = model.CurrentPeriodStart; CurrentPeriodEnd = model.CurrentPeriodEnd; Status = model.Status; diff --git a/src/Discord.Net.WebSocket/Entities/AppSubscriptions/SocketSubscription.cs b/src/Discord.Net.WebSocket/Entities/AppSubscriptions/SocketSubscription.cs index f7b4445ae7..f6c2e60320 100644 --- a/src/Discord.Net.WebSocket/Entities/AppSubscriptions/SocketSubscription.cs +++ b/src/Discord.Net.WebSocket/Entities/AppSubscriptions/SocketSubscription.cs @@ -21,6 +21,9 @@ public class SocketSubscription : SocketEntity, ISubscription /// public IReadOnlyCollection EntitlementIds { get; private set; } + /// + public IReadOnlyCollection RenewalSKUIds { get; private set; } + /// public DateTimeOffset CurrentPeriodStart { get; private set; } @@ -52,6 +55,7 @@ internal void Update(API.Subscription model) UserId = model.UserId; SKUIds = model.SKUIds.ToImmutableArray(); EntitlementIds = model.EntitlementIds.ToImmutableArray(); + RenewalSKUIds = model.RenewalSKUIds?.ToImmutableArray() ?? []; CurrentPeriodStart = model.CurrentPeriodStart; CurrentPeriodEnd = model.CurrentPeriodEnd; Status = model.Status;