Class RestUser
Represents a REST-based user.
public class RestUser : RestEntity<ulong>, IUser, ISnowflakeEntity, IEntity<ulong>, IMentionable, IPresence, IUpdateable
- Inheritance
-
RestUser
- Implements
- Derived
- Inherited Members
- Extension Methods
Properties
AccentColor
public Color? AccentColor { get; }
Property Value
ActiveClients
Gets the set of clients where this user is currently active.
public virtual IReadOnlyCollection<ClientType> ActiveClients { get; }
Property Value
Activities
Gets the list of activities that this user currently has available.
public virtual IReadOnlyCollection<IActivity> Activities { get; }
Property Value
Activity
public virtual IActivity Activity { get; }
Property Value
AvatarDecorationHash
Gets the hash of the avatar decoration.
public string AvatarDecorationHash { get; }
Property Value
Remarks
null if the user has no avatar decoration set.
AvatarDecorationSkuId
Gets the id of the avatar decoration's SKU.
public ulong? AvatarDecorationSkuId { get; }
Property Value
Remarks
null if the user has no avatar decoration set.
AvatarId
Gets the identifier of this user's avatar.
public string AvatarId { get; }
Property Value
BannerColor
Gets the color of the banner.
public Color? BannerColor { get; }
Property Value
Remarks
null if the user has no banner set.
BannerId
Gets the hash of the banner.
public string BannerId { get; }
Property Value
Remarks
null if the user has no banner set.
CreatedAt
Gets when the snowflake was created.
public DateTimeOffset CreatedAt { get; }
Property Value
- DateTimeOffset
A DateTimeOffset representing when the entity was first created.
Discriminator
Gets the per-username unique ID for this user. This will return "0000" for users who have migrated to new username system.
public string Discriminator { get; }
Property Value
DiscriminatorValue
Gets the per-username unique ID for this user. This will return 0 for users who have migrated to new username system.
public ushort DiscriminatorValue { get; }
Property Value
GlobalName
Gets the user's display name, if it is set. For bots, this will get the application name.
public string GlobalName { get; }
Property Value
Remarks
This property will be null if user has no display name set.
IsBot
Gets a value that indicates whether this user is identified as a bot.
public bool IsBot { get; }
Property Value
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).
IsWebhook
Gets a value that indicates whether this user is a webhook user.
public virtual bool IsWebhook { get; }
Property Value
Mention
Returns a special string used to mention this object.
public string Mention { get; }
Property Value
- string
A string that is recognized by Discord as a mention (e.g. <@168693960628371456>).
PublicFlags
Gets the public flags that are applied to this user's account.
public UserProperties? PublicFlags { get; }
Property Value
- UserProperties?
The value of public flags for this user.
Remarks
This value is determined by bitwise OR-ing UserProperties values together.
Status
Gets the current status of this user.
public virtual UserStatus Status { get; }
Property Value
Username
Gets the username for this user.
public string Username { get; }
Property Value
Methods
CreateDMChannelAsync(RequestOptions)
Creates a direct message channel to this user.
public Task<RestDMChannel> CreateDMChannelAsync(RequestOptions options = null)
Parameters
options
RequestOptionsThe options to be used when sending the request.
Returns
- Task<RestDMChannel>
A task that represents the asynchronous get operation. The task result contains a rest DM channel where the user is the recipient.
GetAvatarDecorationUrl()
Gets the URL for user's avatar decoration.
public string GetAvatarDecorationUrl()
Returns
Remarks
null if the user has no avatar decoration set.
GetAvatarUrl(ImageFormat, ushort)
Gets the avatar URL for this user, if it is set.
public string GetAvatarUrl(ImageFormat format = ImageFormat.Auto, ushort size = 128)
Parameters
format
ImageFormatThe format of the image.
size
ushortThe size of the image that matches any power of two, ranging from 16 to 2048.
Returns
Examples
The following example attempts to retrieve the user's current avatar and send it to a channel; if one is not set, a default avatar for this user will be returned instead.
Remarks
tip
If you wish to retrieve the display avatar for this user, consider using GetDisplayAvatarUrl(ImageFormat, ushort).
GetBannerUrl(ImageFormat, ushort)
public string GetBannerUrl(ImageFormat format = ImageFormat.Auto, ushort size = 256)
Parameters
format
ImageFormatsize
ushort
Returns
GetDefaultAvatarUrl()
Gets the default avatar URL for this user.
public string GetDefaultAvatarUrl()
Returns
- string
A string representing the user's default avatar URL.
Remarks
This avatar is auto-generated by Discord and consists of their logo combined with a random background color.
note
The calculation is always done by taking the remainder of this user's DiscriminatorValue divided by 5.
GetDisplayAvatarUrl(ImageFormat, ushort)
Gets the display avatar URL for this user.
public virtual string GetDisplayAvatarUrl(ImageFormat format = ImageFormat.Auto, ushort size = 128)
Parameters
format
ImageFormatThe format of the image.
size
ushortThe size of the image that matches any power of two, ranging from 16 to 2048.
Returns
- string
A string representing the user's display avatar URL.
Remarks
This method will return GetDefaultAvatarUrl() if the user has no avatar set.
ToString()
Gets the Username#Discriminator of the user.
public override string ToString()
Returns
- string
A string that resolves to Username#Discriminator of the user.
UpdateAsync(RequestOptions)
Updates this object's properties with its current state.
public virtual Task UpdateAsync(RequestOptions options = null)
Parameters
options
RequestOptionsThe options to be used when sending the request.