Class SocketGuildUser
Represents a WebSocket-based guild user.
Implements
Inherited Members
Namespace: Discord.WebSocket
Assembly: Discord.Net.WebSocket.dll
Syntax
public class SocketGuildUser : SocketUser, IGuildUser, IUser, ISnowflakeEntity, IEntity<ulong>, IMentionable, IPresence, IVoiceState
Properties
| Improve this Doc View SourceAudioStream
Declaration
public AudioInStream AudioStream { get; }
Property Value
| Type | Description |
|---|---|
| AudioInStream |
AvatarId
Gets the identifier of this user's avatar.
Declaration
public override string AvatarId { get; }
Property Value
| Type | Description |
|---|---|
| System.String |
Overrides
| Improve this Doc View SourceDiscriminatorValue
Gets the per-username unique ID for this user.
Declaration
public override ushort DiscriminatorValue { get; }
Property Value
| Type | Description |
|---|---|
| System.UInt16 |
Overrides
| Improve this Doc View SourceGuild
Gets the guild the user is in.
Declaration
public SocketGuild Guild { get; }
Property Value
| Type | Description |
|---|---|
| SocketGuild |
GuildPermissions
Gets the guild-level permissions for this user.
Declaration
public GuildPermissions GuildPermissions { get; }
Property Value
| Type | Description |
|---|---|
| GuildPermissions | A GuildPermissions structure for this user, representing what permissions this user has in the guild. |
Hierarchy
Returns the position of the user within the role hierarchy.
Declaration
public int Hierarchy { get; }
Property Value
| Type | Description |
|---|---|
| System.Int32 |
Remarks
The returned value equal to the position of the highest role the user has, or System.Int32.MaxValue if user is the server owner.
IsBot
Gets a value that indicates whether this user is identified as a bot.
Declaration
public override bool IsBot { get; }
Property Value
| Type | Description |
|---|---|
| System.Boolean |
|
Overrides
Remarks
This property retrieves a value that indicates whether this user is a registered bot application (indicated by the blue BOT tag within the official chat client).
IsDeafened
Gets a value that indicates whether this user is deafened by the guild.
Declaration
public bool IsDeafened { get; }
Property Value
| Type | Description |
|---|---|
| System.Boolean |
|
IsMuted
Gets a value that indicates whether this user is muted (i.e. not permitted to speak via voice) by the guild.
Declaration
public bool IsMuted { get; }
Property Value
| Type | Description |
|---|---|
| System.Boolean |
|
IsSelfDeafened
Gets a value that indicates whether this user has marked themselves as deafened.
Declaration
public bool IsSelfDeafened { get; }
Property Value
| Type | Description |
|---|---|
| System.Boolean |
|
IsSelfMuted
Gets a value that indicates whether this user has marked themselves as muted (i.e. not permitted to speak via voice).
Declaration
public bool IsSelfMuted { get; }
Property Value
| Type | Description |
|---|---|
| System.Boolean |
|
IsStreaming
Gets a value that indicates if this user is streaming in a voice channel.
Declaration
public bool IsStreaming { get; }
Property Value
| Type | Description |
|---|---|
| System.Boolean |
|
IsSuppressed
Gets a value that indicates whether the user is muted by the current user.
Declaration
public bool IsSuppressed { get; }
Property Value
| Type | Description |
|---|---|
| System.Boolean |
|
IsWebhook
Gets a value that indicates whether this user is a webhook user.
Declaration
public override bool IsWebhook { get; }
Property Value
| Type | Description |
|---|---|
| System.Boolean |
|
Overrides
| Improve this Doc View SourceJoinedAt
Gets when this user joined the guild.
Declaration
public DateTimeOffset? JoinedAt { get; }
Property Value
| Type | Description |
|---|---|
| System.Nullable<System.DateTimeOffset> | A System.DateTimeOffset representing the time of which the user has joined the guild;
|
Nickname
Gets the nickname for this user.
Declaration
public string Nickname { get; }
Property Value
| Type | Description |
|---|---|
| System.String | A string representing the nickname of the user; |
PremiumSince
Gets the date and time for when this user's guild boost began.
Declaration
public DateTimeOffset? PremiumSince { get; }
Property Value
| Type | Description |
|---|---|
| System.Nullable<System.DateTimeOffset> | A System.DateTimeOffset for when the user began boosting this guild; |
Roles
Returns a collection of roles that the user possesses.
Declaration
public IReadOnlyCollection<SocketRole> Roles { get; }
Property Value
| Type | Description |
|---|---|
| System.Collections.Generic.IReadOnlyCollection<SocketRole> |
Username
Gets the username for this user.
Declaration
public override string Username { get; }
Property Value
| Type | Description |
|---|---|
| System.String |
Overrides
| Improve this Doc View SourceVoiceChannel
Returns the voice channel the user is in, or null if none.
Declaration
public SocketVoiceChannel VoiceChannel { get; }
Property Value
| Type | Description |
|---|---|
| SocketVoiceChannel |
VoiceSessionId
Gets the unique identifier for this user's voice session.
Declaration
public string VoiceSessionId { get; }
Property Value
| Type | Description |
|---|---|
| System.String |
VoiceState
Gets the voice connection status of the user if any.
Declaration
public SocketVoiceState? VoiceState { get; }
Property Value
| Type | Description |
|---|---|
| System.Nullable<SocketVoiceState> | A SocketVoiceState representing the user's voice status; |
Methods
| Improve this Doc View SourceAddRoleAsync(IRole, RequestOptions)
Adds the specified role to this user in the guild.
Declaration
public Task AddRoleAsync(IRole role, RequestOptions options = null)
Parameters
| Type | Name | Description |
|---|---|---|
| IRole | role | The role to be added to the user. |
| RequestOptions | options | The options to be used when sending the request. |
Returns
| Type | Description |
|---|---|
| System.Threading.Tasks.Task | A task that represents the asynchronous role addition operation. |
AddRolesAsync(IEnumerable<IRole>, RequestOptions)
Adds the specified roles to this user in the guild.
Declaration
public Task AddRolesAsync(IEnumerable<IRole> roles, RequestOptions options = null)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Collections.Generic.IEnumerable<IRole> | roles | The roles to be added to the user. |
| RequestOptions | options | The options to be used when sending the request. |
Returns
| Type | Description |
|---|---|
| System.Threading.Tasks.Task | A task that represents the asynchronous role addition operation. |
GetPermissions(IGuildChannel)
Gets the level permissions granted to this user to a given channel.
Declaration
public ChannelPermissions GetPermissions(IGuildChannel channel)
Parameters
| Type | Name | Description |
|---|---|---|
| IGuildChannel | channel | The channel to get the permission from. |
Returns
| Type | Description |
|---|---|
| ChannelPermissions | A ChannelPermissions structure representing the permissions that a user has in the specified channel. |
KickAsync(String, RequestOptions)
Kicks this user from this guild.
Declaration
public Task KickAsync(string reason = null, RequestOptions options = null)
Parameters
| Type | Name | Description |
|---|---|---|
| System.String | reason | The reason for the kick which will be recorded in the audit log. |
| RequestOptions | options | The options to be used when sending the request. |
Returns
| Type | Description |
|---|---|
| System.Threading.Tasks.Task | A task that represents the asynchronous kick operation. |
ModifyAsync(Action<GuildUserProperties>, RequestOptions)
Modifies this user's properties in this guild.
Declaration
public Task ModifyAsync(Action<GuildUserProperties> func, RequestOptions options = null)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Action<GuildUserProperties> | func | The delegate containing the properties to modify the user with. |
| RequestOptions | options | The options to be used when sending the request. |
Returns
| Type | Description |
|---|---|
| System.Threading.Tasks.Task | A task that represents the asynchronous modification operation. |
Remarks
This method modifies the current guild user with the specified properties. To see an example of this method and what properties are available, please refer to GuildUserProperties.
RemoveRoleAsync(IRole, RequestOptions)
Removes the specified role from this user in the guild.
Declaration
public Task RemoveRoleAsync(IRole role, RequestOptions options = null)
Parameters
| Type | Name | Description |
|---|---|---|
| IRole | role | The role to be removed from the user. |
| RequestOptions | options | The options to be used when sending the request. |
Returns
| Type | Description |
|---|---|
| System.Threading.Tasks.Task | A task that represents the asynchronous role removal operation. |
RemoveRolesAsync(IEnumerable<IRole>, RequestOptions)
Removes the specified roles from this user in the guild.
Declaration
public Task RemoveRolesAsync(IEnumerable<IRole> roles, RequestOptions options = null)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Collections.Generic.IEnumerable<IRole> | roles | The roles to be removed from the user. |
| RequestOptions | options | The options to be used when sending the request. |
Returns
| Type | Description |
|---|---|
| System.Threading.Tasks.Task | A task that represents the asynchronous role removal operation. |
Explicit Interface Implementations
| Improve this Doc View SourceIGuildUser.Guild
Gets the guild for this user.
Declaration
IGuild IGuildUser.Guild { get; }
Returns
| Type | Description |
|---|---|
| IGuild | A guild object that this user belongs to. |
IGuildUser.GuildId
Gets the ID of the guild for this user.
Declaration
ulong IGuildUser.GuildId { get; }
Returns
| Type | Description |
|---|---|
| System.UInt64 | An System.UInt64 representing the snowflake identifier of the guild that this user belongs to. |
IGuildUser.RoleIds
Gets a collection of IDs for the roles that this user currently possesses in the guild.
Declaration
IReadOnlyCollection<ulong> IGuildUser.RoleIds { get; }
Returns
| Type | Description |
|---|---|
| System.Collections.Generic.IReadOnlyCollection<System.UInt64> | A read-only collection of System.UInt64, each representing a snowflake identifier for a role that this user possesses. |
Remarks
This property returns a read-only collection of the identifiers of the roles that this user possesses. For WebSocket users, a Roles property can be found in place of this property. Due to the REST implementation, only a collection of identifiers can be retrieved instead of the full role objects.
IVoiceState.VoiceChannel
Gets the voice channel this user is currently in.
Declaration
IVoiceChannel IVoiceState.VoiceChannel { get; }
Returns
| Type | Description |
|---|---|
| IVoiceChannel | A generic voice channel object representing the voice channel that the user is currently in; |