Browse Source

Implemented Pending property

pull/1731/head
quin lynch 4 years ago
parent
commit
87b3559dd0
3 changed files with 16 additions and 0 deletions
  1. +2
    -0
      src/Discord.Net.Rest/API/Common/GuildMember.cs
  2. +6
    -0
      src/Discord.Net.Rest/Entities/Users/RestGuildUser.cs
  3. +8
    -0
      src/Discord.Net.WebSocket/Entities/Users/SocketGuildUser.cs

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

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


+ 6
- 0
src/Discord.Net.Rest/Entities/Users/RestGuildUser.cs View File

@@ -29,6 +29,10 @@ namespace Discord.Rest
public DateTimeOffset? PremiumSince => DateTimeUtils.FromTicks(_premiumSinceTicks);
/// <inheritdoc />
public ulong GuildId => Guild.Id;
/// <summary>
/// Whether the user has passed the guild's Membership Screening requirements
/// </summary>
public bool? Pending { get; private set; }

/// <inheritdoc />
/// <exception cref="InvalidOperationException" accessor="get">Resolving permissions requires the parent guild to be downloaded.</exception>
@@ -73,6 +77,8 @@ namespace Discord.Rest
UpdateRoles(model.Roles.Value);
if (model.PremiumSince.IsSpecified)
_premiumSinceTicks = model.PremiumSince.Value?.UtcTicks;
if (model.Pending.IsSpecified)
Pending = model.Pending.Value;
}
private void UpdateRoles(ulong[] roleIds)
{


+ 8
- 0
src/Discord.Net.WebSocket/Entities/Users/SocketGuildUser.cs View File

@@ -56,6 +56,10 @@ namespace Discord.WebSocket
public bool IsMuted => VoiceState?.IsMuted ?? false;
/// <inheritdoc />
public bool IsStreaming => VoiceState?.IsStreaming ?? false;
/// <summary>
/// Whether the user has passed the guild's Membership Screening requirements
/// </summary>
public bool? Pending { get; private set; }
/// <inheritdoc />
public DateTimeOffset? JoinedAt => DateTimeUtils.FromTicks(_joinedAtTicks);
/// <summary>
@@ -142,6 +146,8 @@ namespace Discord.WebSocket
UpdateRoles(model.Roles.Value);
if (model.PremiumSince.IsSpecified)
_premiumSinceTicks = model.PremiumSince.Value?.UtcTicks;
if (model.Pending.IsSpecified)
Pending = model.Pending.Value;
}
internal void Update(ClientState state, PresenceModel model, bool updatePresence)
{
@@ -156,6 +162,7 @@ namespace Discord.WebSocket
UpdateRoles(model.Roles.Value);
if (model.PremiumSince.IsSpecified)
_premiumSinceTicks = model.PremiumSince.Value?.UtcTicks;
}
private void UpdateRoles(ulong[] roleIds)
{
@@ -203,5 +210,6 @@ namespace Discord.WebSocket
//IVoiceState
/// <inheritdoc />
IVoiceChannel IVoiceState.VoiceChannel => VoiceChannel;
/// <inheritdoc />
}
}

Loading…
Cancel
Save