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; } public Optional<bool> Deaf { get; set; }
[JsonProperty("mute")] [JsonProperty("mute")]
public Optional<bool> Mute { get; set; } public Optional<bool> Mute { get; set; }
[JsonProperty("pending")]
public Optional<bool> Pending { get; set; }
[JsonProperty("premium_since")] [JsonProperty("premium_since")]
public Optional<DateTimeOffset?> PremiumSince { get; set; } 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); public DateTimeOffset? PremiumSince => DateTimeUtils.FromTicks(_premiumSinceTicks);
/// <inheritdoc /> /// <inheritdoc />
public ulong GuildId => Guild.Id; 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 /> /// <inheritdoc />
/// <exception cref="InvalidOperationException" accessor="get">Resolving permissions requires the parent guild to be downloaded.</exception> /// <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); UpdateRoles(model.Roles.Value);
if (model.PremiumSince.IsSpecified) if (model.PremiumSince.IsSpecified)
_premiumSinceTicks = model.PremiumSince.Value?.UtcTicks; _premiumSinceTicks = model.PremiumSince.Value?.UtcTicks;
if (model.Pending.IsSpecified)
Pending = model.Pending.Value;
} }
private void UpdateRoles(ulong[] roleIds) 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; public bool IsMuted => VoiceState?.IsMuted ?? false;
/// <inheritdoc /> /// <inheritdoc />
public bool IsStreaming => VoiceState?.IsStreaming ?? false; 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 /> /// <inheritdoc />
public DateTimeOffset? JoinedAt => DateTimeUtils.FromTicks(_joinedAtTicks); public DateTimeOffset? JoinedAt => DateTimeUtils.FromTicks(_joinedAtTicks);
/// <summary> /// <summary>
@@ -142,6 +146,8 @@ namespace Discord.WebSocket
UpdateRoles(model.Roles.Value); UpdateRoles(model.Roles.Value);
if (model.PremiumSince.IsSpecified) if (model.PremiumSince.IsSpecified)
_premiumSinceTicks = model.PremiumSince.Value?.UtcTicks; _premiumSinceTicks = model.PremiumSince.Value?.UtcTicks;
if (model.Pending.IsSpecified)
Pending = model.Pending.Value;
} }
internal void Update(ClientState state, PresenceModel model, bool updatePresence) internal void Update(ClientState state, PresenceModel model, bool updatePresence)
{ {
@@ -156,6 +162,7 @@ namespace Discord.WebSocket
UpdateRoles(model.Roles.Value); UpdateRoles(model.Roles.Value);
if (model.PremiumSince.IsSpecified) if (model.PremiumSince.IsSpecified)
_premiumSinceTicks = model.PremiumSince.Value?.UtcTicks; _premiumSinceTicks = model.PremiumSince.Value?.UtcTicks;
} }
private void UpdateRoles(ulong[] roleIds) private void UpdateRoles(ulong[] roleIds)
{ {
@@ -203,5 +210,6 @@ namespace Discord.WebSocket
//IVoiceState //IVoiceState
/// <inheritdoc /> /// <inheritdoc />
IVoiceChannel IVoiceState.VoiceChannel => VoiceChannel; IVoiceChannel IVoiceState.VoiceChannel => VoiceChannel;
/// <inheritdoc />
} }
} }

Loading…
Cancel
Save