Browse Source

use DateTimeOffset for PremiumSince, follow conventions from other prop

pull/1319/head
Chris Johnston 6 years ago
parent
commit
5781c97cc9
6 changed files with 13 additions and 10 deletions
  1. +2
    -2
      src/Discord.Net.Core/Entities/Users/IGuildUser.cs
  2. +2
    -2
      src/Discord.Net.Rest/API/Common/GuildMember.cs
  3. +3
    -2
      src/Discord.Net.Rest/Entities/Users/RestGuildUser.cs
  4. +1
    -1
      src/Discord.Net.Rest/Entities/Users/RestWebhookUser.cs
  5. +4
    -2
      src/Discord.Net.WebSocket/Entities/Users/SocketGuildUser.cs
  6. +1
    -1
      src/Discord.Net.WebSocket/Entities/Users/SocketWebhookUser.cs

+ 2
- 2
src/Discord.Net.Core/Entities/Users/IGuildUser.cs View File

@@ -51,9 +51,9 @@ namespace Discord
/// Gets the date and time for when this user's guild boost began.
/// </summary>
/// <returns>
/// A <see cref="DateTime"/> for when the user began boosting this guild; <c>null</c> if they are not boosting the guild.
/// A <see cref="DateTimeOffset"/> for when the user began boosting this guild; <c>null</c> if they are not boosting the guild.
/// </returns>
DateTime? PremiumSince { get; }
DateTimeOffset? PremiumSince { get; }
/// <summary>
/// Gets a collection of IDs for the roles that this user currently possesses in the guild.
/// </summary>


+ 2
- 2
src/Discord.Net.Rest/API/Common/GuildMember.cs View File

@@ -18,7 +18,7 @@ namespace Discord.API
public Optional<bool> Deaf { get; set; }
[JsonProperty("mute")]
public Optional<bool> Mute { get; set; }
[JsonProperty("premium_guild_since")]
public Optional<DateTime> PremiumSince { get; set; }
[JsonProperty("premium_since")]
public Optional<DateTimeOffset?> PremiumSince { get; set; }
}
}

+ 3
- 2
src/Discord.Net.Rest/Entities/Users/RestGuildUser.cs View File

@@ -14,6 +14,7 @@ namespace Discord.Rest
[DebuggerDisplay(@"{DebuggerDisplay,nq}")]
public class RestGuildUser : RestUser, IGuildUser
{
private long? _premiumSinceTicks;
private long? _joinedAtTicks;
private ImmutableArray<ulong> _roleIds;

@@ -25,7 +26,7 @@ namespace Discord.Rest
/// <inheritdoc />
public bool IsMuted { get; private set; }
/// <inheritdoc />
public DateTime? PremiumSince { get; private set; }
public DateTimeOffset? PremiumSince => DateTimeUtils.FromTicks(_premiumSinceTicks);
/// <inheritdoc />
public ulong GuildId => Guild.Id;

@@ -71,7 +72,7 @@ namespace Discord.Rest
if (model.Roles.IsSpecified)
UpdateRoles(model.Roles.Value);
if (model.PremiumSince.IsSpecified)
PremiumSince = model.PremiumSince.Value;
_premiumSinceTicks = model.PremiumSince.Value?.UtcTicks;
}
private void UpdateRoles(ulong[] roleIds)
{


+ 1
- 1
src/Discord.Net.Rest/Entities/Users/RestWebhookUser.cs View File

@@ -14,7 +14,7 @@ namespace Discord.Rest
public ulong WebhookId { get; }
internal IGuild Guild { get; }
/// <inheritdoc />
public DateTime? PremiumSince { get; private set; }
public DateTimeOffset? PremiumSince { get; private set; }

/// <inheritdoc />
public override bool IsWebhook => true;


+ 4
- 2
src/Discord.Net.WebSocket/Entities/Users/SocketGuildUser.cs View File

@@ -18,6 +18,7 @@ namespace Discord.WebSocket
[DebuggerDisplay(@"{DebuggerDisplay,nq}")]
public class SocketGuildUser : SocketUser, IGuildUser
{
private long? _premiumSinceTicks;
private long? _joinedAtTicks;
private ImmutableArray<ulong> _roleIds;

@@ -75,9 +76,8 @@ namespace Discord.WebSocket
/// </returns>
public SocketVoiceState? VoiceState => Guild.GetVoiceState(Id);
public AudioInStream AudioStream => Guild.GetAudioStream(Id);

/// <inheritdoc />
public DateTime? PremiumSince { get; private set; }
public DateTimeOffset? PremiumSince => DateTimeUtils.FromTicks(_premiumSinceTicks);

/// <summary>
/// Returns the position of the user within the role hierarchy.
@@ -138,6 +138,8 @@ namespace Discord.WebSocket
Nickname = model.Nick.Value;
if (model.Roles.IsSpecified)
UpdateRoles(model.Roles.Value);
if (model.PremiumSince.IsSpecified)
_premiumSinceTicks = model.PremiumSince.Value?.UtcTicks;
}
internal void Update(ClientState state, PresenceModel model, bool updatePresence)
{


+ 1
- 1
src/Discord.Net.WebSocket/Entities/Users/SocketWebhookUser.cs View File

@@ -63,7 +63,7 @@ namespace Discord.WebSocket
/// <inheritdoc />
string IGuildUser.Nickname => null;
/// <inheritdoc />
DateTime? IGuildUser.PremiumSince => null;
DateTimeOffset? IGuildUser.PremiumSince => null;
/// <inheritdoc />
GuildPermissions IGuildUser.GuildPermissions => GuildPermissions.Webhook;



Loading…
Cancel
Save