Interface IUser
Represents a generic user.
Inherited Members
Namespace: Discord
Assembly: Discord.Net.Core.dll
Syntax
public interface IUser : ISnowflakeEntity, IEntity<ulong>, IMentionable, IPresence
Properties
| Improve this Doc View SourceAvatarDecorationHash
Gets the hash of the avatar decoration.
Declaration
string AvatarDecorationHash { get; }
Property Value
Type | Description |
---|---|
String |
Remarks
null if the user has no avatar decoration set.
AvatarDecorationSkuId
Gets the id of the avatar decoration's SKU.
Declaration
ulong? AvatarDecorationSkuId { get; }
Property Value
Type | Description |
---|---|
Nullable<UInt64> |
Remarks
null if the user has no avatar decoration set.
AvatarId
Gets the identifier of this user's avatar.
Declaration
string AvatarId { get; }
Property Value
Type | Description |
---|---|
String |
Discriminator
Gets the per-username unique ID for this user. This will return "0000" for users who have migrated to new username system.
Declaration
string Discriminator { get; }
Property Value
Type | Description |
---|---|
String |
DiscriminatorValue
Gets the per-username unique ID for this user. This will return 0 for users who have migrated to new username system.
Declaration
ushort DiscriminatorValue { get; }
Property Value
Type | Description |
---|---|
UInt16 |
GlobalName
Gets the user's display name, if it is set. For bots, this will get the application name.
Declaration
string GlobalName { get; }
Property Value
Type | Description |
---|---|
String |
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.
Declaration
bool IsBot { get; }
Property Value
Type | Description |
---|---|
Boolean | true if the user is a bot application; otherwise false. |
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.
Declaration
bool IsWebhook { get; }
Property Value
Type | Description |
---|---|
Boolean | true if the user is a webhook; otherwise false. |
PublicFlags
Gets the public flags that are applied to this user's account.
Declaration
UserProperties? PublicFlags { get; }
Property Value
Type | Description |
---|---|
Nullable<UserProperties> | The value of public flags for this user. |
Remarks
This value is determined by bitwise OR-ing UserProperties values together.
Username
Gets the username for this user.
Declaration
string Username { get; }
Property Value
Type | Description |
---|---|
String |
Methods
| Improve this Doc View SourceCreateDMChannelAsync(RequestOptions)
Creates the direct message channel of this user.
Declaration
Task<IDMChannel> CreateDMChannelAsync(RequestOptions options = null)
Parameters
Type | Name | Description |
---|---|---|
RequestOptions | options | The options to be used when sending the request. |
Returns
Type | Description |
---|---|
Task<IDMChannel> | A task that represents the asynchronous operation for getting or creating a DM channel. The task result contains the DM channel associated with this user. |
Remarks
This method is used to obtain or create a channel used to send a direct message.
warning
In event that the current user cannot send a message to the target user, a channel can and will still be created by Discord. However, attempting to send a message will yield a HttpException with a 403 as its HttpCode. There are currently no official workarounds by Discord.
Examples
The following example attempts to send a direct message to the target user and logs the incident should it fail.
public async Task MessageUserAsync(IUser user)
{
var channel = await user.CreateDMChannelAsync();
try
{
await channel.SendMessageAsync("Awesome stuff!");
}
catch (Discord.Net.HttpException ex) when (ex.HttpCode == HttpStatusCode.Forbidden)
{
Console.WriteLine($"Boo, I cannot message {user}.");
}
}
|
Improve this Doc
View Source
GetAvatarDecorationUrl()
Gets the URL for user's avatar decoration.
Declaration
string GetAvatarDecorationUrl()
Returns
Type | Description |
---|---|
String |
Remarks
null if the user has no avatar decoration set.
GetAvatarUrl(ImageFormat, UInt16)
Gets the avatar URL for this user, if it is set.
Declaration
string GetAvatarUrl(ImageFormat format = ImageFormat.Auto, ushort size = null)
Parameters
Type | Name | Description |
---|---|---|
ImageFormat | format | The format of the image. |
UInt16 | size | The size of the image that matches any power of two, ranging from 16 to 2048. |
Returns
Type | Description |
---|---|
String | A string representing the user's avatar URL; null if the user has no avatar set. |
Remarks
tip
If you wish to retrieve the display avatar for this user, consider using GetDisplayAvatarUrl(ImageFormat, UInt16).
GetDefaultAvatarUrl()
Gets the default avatar URL for this user.
Declaration
string GetDefaultAvatarUrl()
Returns
Type | Description |
---|---|
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, UInt16)
Gets the display avatar URL for this user.
Declaration
string GetDisplayAvatarUrl(ImageFormat format = ImageFormat.Auto, ushort size = null)
Parameters
Type | Name | Description |
---|---|---|
ImageFormat | format | The format of the image. |
UInt16 | size | The size of the image that matches any power of two, ranging from 16 to 2048. |
Returns
Type | Description |
---|---|
String | A string representing the user's display avatar URL. |
Remarks
This method will return GetDefaultAvatarUrl() if the user has no avatar set.