Skip to main content

Class SocketGuildUser

Represents a WebSocket-based guild user.

Assembly: Discord.Net.WebSocket.dll​
View Source​
Declaration
public class SocketGuildUser : SocketUser, IGuildUser, IUser, ISnowflakeEntity, IEntity<ulong>, IMentionable, IPresence, IVoiceState

Properties​

Guild​

Gets the guild the user is in.

View Source​
Declaration
public SocketGuild Guild { get; }

Nickname​

Gets the nickname for this user.

View Source​
Declaration
public string Nickname { get; }

GuildAvatarId​

Gets the guild specific avatar for this users.

View Source​
Declaration
public string GuildAvatarId { get; }

IsBot​

Gets a value that indicates whether this user is identified as a bot.

View Source​
Declaration
public override bool IsBot { get; }

Username​

Gets the username for this user.

View Source​
Declaration
public override string Username { get; }

DiscriminatorValue​

Gets the per-username unique ID for this user.

View Source​
Declaration
public override ushort DiscriminatorValue { get; }

AvatarId​

Gets the identifier of this user's avatar.

View Source​
Declaration
public override string AvatarId { get; }

GuildPermissions​

Gets the guild-level permissions for this user.

View Source​
Declaration
public GuildPermissions GuildPermissions { get; }

IsWebhook​

Gets a value that indicates whether this user is a webhook user.

View Source​
Declaration
public override bool IsWebhook { get; }

IsSelfDeafened​

Gets a value that indicates whether this user has marked themselves as deafened.

View Source​
Declaration
public bool IsSelfDeafened { get; }

IsSelfMuted​

Gets a value that indicates whether this user has marked themselves as muted (i.e. not permitted to speak via voice).

View Source​
Declaration
public bool IsSelfMuted { get; }

IsSuppressed​

Gets a value that indicates whether the user is muted by the current user.

View Source​
Declaration
public bool IsSuppressed { get; }

IsDeafened​

Gets a value that indicates whether this user is deafened by the guild.

View Source​
Declaration
public bool IsDeafened { get; }

IsMuted​

Gets a value that indicates whether this user is muted (i.e. not permitted to speak via voice) by the guild.

View Source​
Declaration
public bool IsMuted { get; }

IsStreaming​

Gets a value that indicates if this user is streaming in a voice channel.

View Source​
Declaration
public bool IsStreaming { get; }

RequestToSpeakTimestamp​

Gets the time on which the user requested to speak.

View Source​
Declaration
public DateTimeOffset? RequestToSpeakTimestamp { get; }

IsPending​

Whether the user has passed the guild's Membership Screening requirements.

View Source​
Declaration
public bool? IsPending { get; }

JoinedAt​

Gets when this user joined the guild.

View Source​
Declaration
public DateTimeOffset? JoinedAt { get; }

Roles​

Returns a collection of roles that the user possesses.

View Source​
Declaration
public IReadOnlyCollection<SocketRole> Roles { get; }

VoiceChannel​

Returns the voice channel the user is in, or null if none.

View Source​
Declaration
public SocketVoiceChannel VoiceChannel { get; }

VoiceSessionId​

Gets the unique identifier for this user's voice session.

View Source​
Declaration
public string VoiceSessionId { get; }

VoiceState​

Gets the voice connection status of the user if any.

View Source​
Declaration
public SocketVoiceState? VoiceState { get; }

AudioStream​

View Source​
Declaration
public AudioInStream AudioStream { get; }

PremiumSince​

Gets the date and time for when this user's guild boost began.

View Source​
Declaration
public DateTimeOffset? PremiumSince { get; }

Hierarchy​

Returns the position of the user within the role hierarchy.

View Source​
Declaration
public int Hierarchy { get; }

IGuildUser.Guild​

Gets the guild for this user.

View Source​
Declaration
IGuild IGuildUser.Guild { get; }

IGuildUser.GuildId​

Gets the ID of the guild for this user.

View Source​
Declaration
ulong IGuildUser.GuildId { get; }

IGuildUser.RoleIds​

Gets a collection of IDs for the roles that this user currently possesses in the guild.

View Source​
Declaration
IReadOnlyCollection<ulong> IGuildUser.RoleIds { get; }

IVoiceState.VoiceChannel​

Gets the voice channel this user is currently in.

View Source​
Declaration
IVoiceChannel IVoiceState.VoiceChannel { get; }

Methods​

ModifyAsync(Action<GuildUserProperties>, RequestOptions)​

Modifies this user's properties in this guild.

View Source​
Declaration
public Task ModifyAsync(Action<GuildUserProperties> func, RequestOptions options = null)
Returns​

System.Threading.Tasks.Task: A task that represents the asynchronous modification operation.

Parameters​
TypeNameDescription
System.Action<Discord.GuildUserProperties>funcThe delegate containing the properties to modify the user with.
Discord.RequestOptionsoptionsThe options to be used when sending the request.

KickAsync(String, RequestOptions)​

Kicks this user from this guild.

View Source​
Declaration
public Task KickAsync(string reason = null, RequestOptions options = null)
Returns​

System.Threading.Tasks.Task: A task that represents the asynchronous kick operation.

Parameters​
TypeNameDescription
System.StringreasonThe reason for the kick which will be recorded in the audit log.
Discord.RequestOptionsoptionsThe options to be used when sending the request.

AddRoleAsync(UInt64, RequestOptions)​

Adds the specified role to this user in the guild.

View Source​
Declaration
public Task AddRoleAsync(ulong roleId, RequestOptions options = null)
Returns​

System.Threading.Tasks.Task: A task that represents the asynchronous role addition operation.

Parameters​
TypeNameDescription
System.UInt64roleIdThe role to be added to the user.
Discord.RequestOptionsoptionsThe options to be used when sending the request.

AddRoleAsync(IRole, RequestOptions)​

Adds the specified role to this user in the guild.

View Source​
Declaration
public Task AddRoleAsync(IRole role, RequestOptions options = null)
Returns​

System.Threading.Tasks.Task: A task that represents the asynchronous role addition operation.

Parameters​
TypeNameDescription
Discord.IRoleroleThe role to be added to the user.
Discord.RequestOptionsoptionsThe options to be used when sending the request.

AddRolesAsync(IEnumerable<UInt64>, RequestOptions)​

Adds the specified <code data-dev-comment-type="paramref" class="paramref">roleIds</code> to this user in the guild.

View Source​
Declaration
public Task AddRolesAsync(IEnumerable<ulong> roleIds, RequestOptions options = null)
Returns​

System.Threading.Tasks.Task: A task that represents the asynchronous role addition operation.

Parameters​
TypeNameDescription
System.Collections.Generic.IEnumerable<System.UInt64>roleIdsThe roles to be added to the user.
Discord.RequestOptionsoptionsThe options to be used when sending the request.

AddRolesAsync(IEnumerable<IRole>, RequestOptions)​

Adds the specified <code data-dev-comment-type="paramref" class="paramref">roles</code> to this user in the guild.

View Source​
Declaration
public Task AddRolesAsync(IEnumerable<IRole> roles, RequestOptions options = null)
Returns​

System.Threading.Tasks.Task: A task that represents the asynchronous role addition operation.

Parameters​
TypeNameDescription
System.Collections.Generic.IEnumerable<Discord.IRole>rolesThe roles to be added to the user.
Discord.RequestOptionsoptionsThe options to be used when sending the request.

RemoveRoleAsync(UInt64, RequestOptions)​

Removes the specified <code data-dev-comment-type="paramref" class="paramref">roleId</code> from this user in the guild.

View Source​
Declaration
public Task RemoveRoleAsync(ulong roleId, RequestOptions options = null)
Returns​

System.Threading.Tasks.Task: A task that represents the asynchronous role removal operation.

Parameters​
TypeNameDescription
System.UInt64roleIdThe role to be removed from the user.
Discord.RequestOptionsoptionsThe options to be used when sending the request.

RemoveRoleAsync(IRole, RequestOptions)​

Removes the specified <code data-dev-comment-type="paramref" class="paramref">role</code> from this user in the guild.

View Source​
Declaration
public Task RemoveRoleAsync(IRole role, RequestOptions options = null)
Returns​

System.Threading.Tasks.Task: A task that represents the asynchronous role removal operation.

Parameters​
TypeNameDescription
Discord.IRoleroleThe role to be removed from the user.
Discord.RequestOptionsoptionsThe options to be used when sending the request.

RemoveRolesAsync(IEnumerable<UInt64>, RequestOptions)​

Removes the specified <code data-dev-comment-type="paramref" class="paramref">roleIds</code> from this user in the guild.

View Source​
Declaration
public Task RemoveRolesAsync(IEnumerable<ulong> roleIds, RequestOptions options = null)
Returns​

System.Threading.Tasks.Task: A task that represents the asynchronous role removal operation.

Parameters​
TypeNameDescription
System.Collections.Generic.IEnumerable<System.UInt64>roleIdsThe roles to be removed from the user.
Discord.RequestOptionsoptionsThe options to be used when sending the request.

RemoveRolesAsync(IEnumerable<IRole>, RequestOptions)​

Removes the specified <code data-dev-comment-type="paramref" class="paramref">roles</code> from this user in the guild.

View Source​
Declaration
public Task RemoveRolesAsync(IEnumerable<IRole> roles, RequestOptions options = null)
Returns​

System.Threading.Tasks.Task: A task that represents the asynchronous role removal operation.

Parameters​
TypeNameDescription
System.Collections.Generic.IEnumerable<Discord.IRole>rolesThe roles to be removed from the user.
Discord.RequestOptionsoptionsThe options to be used when sending the request.

GetPermissions(IGuildChannel)​

Gets the level permissions granted to this user to a given channel.

View Source​
Declaration
public ChannelPermissions GetPermissions(IGuildChannel channel)
Returns​

Discord.ChannelPermissions: A Discord.ChannelPermissions structure representing the permissions that a user has in the specified channel.

Parameters​
TypeNameDescription
Discord.IGuildChannelchannelThe channel to get the permission from.

GetGuildAvatarUrl(ImageFormat, UInt16)​

View Source​
Declaration
public string GetGuildAvatarUrl(ImageFormat format = ImageFormat.Auto, ushort size = 128)
Returns​

System.String

Parameters​
TypeName
Discord.ImageFormatformat
System.UInt16size

Implements​