diff --git a/src/Discord.Net.Core/Entities/Users/IGuildUser.cs b/src/Discord.Net.Core/Entities/Users/IGuildUser.cs index 718587ae4..48f8a461c 100644 --- a/src/Discord.Net.Core/Entities/Users/IGuildUser.cs +++ b/src/Discord.Net.Core/Entities/Users/IGuildUser.cs @@ -48,6 +48,13 @@ namespace Discord /// ulong GuildId { get; } /// + /// Gets the date and time for when this user's guild boost began. + /// + /// + /// A for when the user began boosting this guild; null if they are not boosting the guild. + /// + DateTime? PremiumSince { get; } + /// /// Gets a collection of IDs for the roles that this user currently possesses in the guild. /// /// diff --git a/src/Discord.Net.Rest/Entities/Users/RestGuildUser.cs b/src/Discord.Net.Rest/Entities/Users/RestGuildUser.cs index e59d92407..b3216536d 100644 --- a/src/Discord.Net.Rest/Entities/Users/RestGuildUser.cs +++ b/src/Discord.Net.Rest/Entities/Users/RestGuildUser.cs @@ -24,7 +24,8 @@ namespace Discord.Rest public bool IsDeafened { get; private set; } /// public bool IsMuted { get; private set; } - + /// + public DateTime? PremiumSince { get; private set; } /// public ulong GuildId => Guild.Id; @@ -69,6 +70,8 @@ namespace Discord.Rest IsMuted = model.Mute.Value; if (model.Roles.IsSpecified) UpdateRoles(model.Roles.Value); + if (model.PremiumSince.IsSpecified) + PremiumSince = model.PremiumSince.Value; } private void UpdateRoles(ulong[] roleIds) { diff --git a/src/Discord.Net.Rest/Entities/Users/RestWebhookUser.cs b/src/Discord.Net.Rest/Entities/Users/RestWebhookUser.cs index bee4892fe..ba00e16bb 100644 --- a/src/Discord.Net.Rest/Entities/Users/RestWebhookUser.cs +++ b/src/Discord.Net.Rest/Entities/Users/RestWebhookUser.cs @@ -13,6 +13,8 @@ namespace Discord.Rest /// public ulong WebhookId { get; } internal IGuild Guild { get; } + /// + public DateTime? PremiumSince { get; private set; } /// public override bool IsWebhook => true; diff --git a/src/Discord.Net.WebSocket/Entities/Users/SocketGuildUser.cs b/src/Discord.Net.WebSocket/Entities/Users/SocketGuildUser.cs index 659a2eeea..921058b93 100644 --- a/src/Discord.Net.WebSocket/Entities/Users/SocketGuildUser.cs +++ b/src/Discord.Net.WebSocket/Entities/Users/SocketGuildUser.cs @@ -76,6 +76,9 @@ namespace Discord.WebSocket public SocketVoiceState? VoiceState => Guild.GetVoiceState(Id); public AudioInStream AudioStream => Guild.GetAudioStream(Id); + /// + public DateTime? PremiumSince { get; private set; } + /// /// Returns the position of the user within the role hierarchy. /// diff --git a/src/Discord.Net.WebSocket/Entities/Users/SocketWebhookUser.cs b/src/Discord.Net.WebSocket/Entities/Users/SocketWebhookUser.cs index 3169be682..4bdf30748 100644 --- a/src/Discord.Net.WebSocket/Entities/Users/SocketWebhookUser.cs +++ b/src/Discord.Net.WebSocket/Entities/Users/SocketWebhookUser.cs @@ -63,6 +63,8 @@ namespace Discord.WebSocket /// string IGuildUser.Nickname => null; /// + DateTime? IGuildUser.PremiumSince => null; + /// GuildPermissions IGuildUser.GuildPermissions => GuildPermissions.Webhook; ///