| @@ -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 /> | ||||