@@ -68,6 +68,11 @@ namespace Discord | |||||
/// </returns> | /// </returns> | ||||
IReadOnlyCollection<ulong> RoleIds { get; } | IReadOnlyCollection<ulong> RoleIds { get; } | ||||
/// <summary> | |||||
/// Whether the user has passed the guild's Membership Screening requirements. | |||||
/// </summary> | |||||
bool? IsPending { get; } | |||||
/// <summary> | /// <summary> | ||||
/// Gets the level permissions granted to this user to a given channel. | /// Gets the level permissions granted to this user to a given channel. | ||||
/// </summary> | /// </summary> | ||||
@@ -29,10 +29,8 @@ 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 /> | |||||
public bool? IsPending { 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> | ||||
@@ -78,7 +76,7 @@ namespace Discord.Rest | |||||
if (model.PremiumSince.IsSpecified) | if (model.PremiumSince.IsSpecified) | ||||
_premiumSinceTicks = model.PremiumSince.Value?.UtcTicks; | _premiumSinceTicks = model.PremiumSince.Value?.UtcTicks; | ||||
if (model.Pending.IsSpecified) | if (model.Pending.IsSpecified) | ||||
Pending = model.Pending.Value; | |||||
IsPending = model.Pending.Value; | |||||
} | } | ||||
private void UpdateRoles(ulong[] roleIds) | private void UpdateRoles(ulong[] roleIds) | ||||
{ | { | ||||
@@ -52,6 +52,8 @@ namespace Discord.Rest | |||||
/// <inheritdoc /> | /// <inheritdoc /> | ||||
string IGuildUser.Nickname => null; | string IGuildUser.Nickname => null; | ||||
/// <inheritdoc /> | /// <inheritdoc /> | ||||
bool? IGuildUser.IsPending => null; | |||||
/// <inheritdoc /> | |||||
GuildPermissions IGuildUser.GuildPermissions => GuildPermissions.Webhook; | GuildPermissions IGuildUser.GuildPermissions => GuildPermissions.Webhook; | ||||
/// <inheritdoc /> | /// <inheritdoc /> | ||||
@@ -56,10 +56,8 @@ 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 /> | |||||
public bool? IsPending { get; private set; } | |||||
/// <inheritdoc /> | /// <inheritdoc /> | ||||
public DateTimeOffset? JoinedAt => DateTimeUtils.FromTicks(_joinedAtTicks); | public DateTimeOffset? JoinedAt => DateTimeUtils.FromTicks(_joinedAtTicks); | ||||
/// <summary> | /// <summary> | ||||
@@ -147,7 +145,7 @@ namespace Discord.WebSocket | |||||
if (model.PremiumSince.IsSpecified) | if (model.PremiumSince.IsSpecified) | ||||
_premiumSinceTicks = model.PremiumSince.Value?.UtcTicks; | _premiumSinceTicks = model.PremiumSince.Value?.UtcTicks; | ||||
if (model.Pending.IsSpecified) | if (model.Pending.IsSpecified) | ||||
Pending = model.Pending.Value; | |||||
IsPending = model.Pending.Value; | |||||
} | } | ||||
internal void Update(ClientState state, PresenceModel model, bool updatePresence) | internal void Update(ClientState state, PresenceModel model, bool updatePresence) | ||||
{ | { | ||||
@@ -162,7 +160,6 @@ 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) | ||||
{ | { | ||||
@@ -210,6 +207,5 @@ namespace Discord.WebSocket | |||||
//IVoiceState | //IVoiceState | ||||
/// <inheritdoc /> | /// <inheritdoc /> | ||||
IVoiceChannel IVoiceState.VoiceChannel => VoiceChannel; | IVoiceChannel IVoiceState.VoiceChannel => VoiceChannel; | ||||
/// <inheritdoc /> | |||||
} | } | ||||
} | } |
@@ -65,6 +65,8 @@ namespace Discord.WebSocket | |||||
/// <inheritdoc /> | /// <inheritdoc /> | ||||
DateTimeOffset? IGuildUser.PremiumSince => null; | DateTimeOffset? IGuildUser.PremiumSince => null; | ||||
/// <inheritdoc /> | /// <inheritdoc /> | ||||
bool? IGuildUser.IsPending => null; | |||||
/// <inheritdoc /> | |||||
GuildPermissions IGuildUser.GuildPermissions => GuildPermissions.Webhook; | GuildPermissions IGuildUser.GuildPermissions => GuildPermissions.Webhook; | ||||
/// <inheritdoc /> | /// <inheritdoc /> | ||||