Package net.dv8tion.jda.api.entities
Interface User
- All Superinterfaces:
Formattable,IMentionable,ISnowflake
- All Known Subinterfaces:
SelfUser
Represents a Discord User.
Contains all publicly available information about a specific Discord User.
Formattable
This interface extendsFormattable and can be used with a Formatter
such as used by String.format(String, Object...)
or PrintStream.printf(String, Object...).
This will use IMentionable.getAsMention() rather than Object.toString()!
Supported Features:
- Alternative
- Uses the Discord Tag (Username#Discriminator) instead (Example:%#s- results in)getName()#getDiscriminator()-> Minn#6688 - Width/Left-Justification
- Ensures the size of a format (Example:%20s- uses at minimum 20 chars;%-10s- uses left-justified padding) - Precision
- Cuts the content to the specified size (Example:%.20s)
More information on formatting syntax can be found in the format syntax documentation!
-
Nested Class Summary
Nested ClassesModifier and TypeInterfaceDescriptionstatic classRepresents the information contained in aUser's profile.static enumRepresents the bit offsets used by Discord for public flags -
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final StringTemplate forgetAvatarUrl().static final StringTemplate forUser.Profile.getBannerUrl()static final intUsed to keep consistency between color values used in the APIstatic final StringTemplate forgetDefaultAvatarUrl()static final PatternCompiled pattern for a Discord Tag:(.{2,32})#(\d{4}) -
Method Summary
Modifier and TypeMethodDescriptionstatic UserfromId(long id) Creates a User instance which only wraps an ID.static UserCreates a User instance which only wraps an ID.getAsTag()The "tag" for this userThe Discord Id for this user's avatar image.default StringThe URL for the user's avatar image.The Discord Id for this user's default avatar image.default StringThe URL for the for the user's default avatar image.
The discriminator of theUser.default StringThe URL for the user's avatar image.getFlags()Returns theUserFlagsof this user.intReturns the bitmask representation of theUserFlagsof this user.getJDA()Returns theJDAinstance of this UsergetName()The username of theUser.booleanWhether or not the currently logged in user and this user have a currently openPrivateChannelor not.booleanisBot()Returns whether or not the given user is a Bot-Account (special badge in client, some different behaviour)booleanisSystem()Returns whether or not the given user is a System account, which includes the urgent message account and the community updates bot.Opens aPrivateChannelwith this User.Loads the user'sUser.Profiledata.Methods inherited from interface net.dv8tion.jda.api.entities.IMentionable
formatTo, getAsMentionMethods inherited from interface net.dv8tion.jda.api.entities.ISnowflake
getId, getIdLong, getTimeCreated
-
Field Details
-
USER_TAG
Compiled pattern for a Discord Tag:(.{2,32})#(\d{4}) -
AVATAR_URL
Template forgetAvatarUrl().- See Also:
-
DEFAULT_AVATAR_URL
Template forgetDefaultAvatarUrl()- See Also:
-
BANNER_URL
Template forUser.Profile.getBannerUrl()- See Also:
-
DEFAULT_ACCENT_COLOR_RAW
static final int DEFAULT_ACCENT_COLOR_RAWUsed to keep consistency between color values used in the API- See Also:
-
-
Method Details
-
fromId
Creates a User instance which only wraps an ID.
All other methods besideISnowflake.getIdLong()andISnowflake.getId()will throwUnsupportedOperationException.- Parameters:
id- The user id- Returns:
- A user instance
- Since:
- 4.2.1
- See Also:
-
fromId
Creates a User instance which only wraps an ID.
All other methods besideISnowflake.getIdLong()andISnowflake.getId()will throwUnsupportedOperationException.- Parameters:
id- The user id- Returns:
- A user instance
- Throws:
IllegalArgumentException- If the provided ID is not a valid snowflake- Since:
- 4.2.1
- See Also:
-
getName
The username of theUser. Length is between 2 and 32 characters (inclusive).- Returns:
- Never-null String containing the
User's username. - Throws:
UnsupportedOperationException- If this User was created withfromId(long)
-
getDiscriminator
The discriminator of theUser. Used to differentiate between users with the same usernames.
This only contains the 4 digits after the username and the #.- Returns:
- Never-null String containing the
Userdiscriminator. - Throws:
UnsupportedOperationException- If this User was created withfromId(long)Ex: 6297
-
getAvatarId
The Discord Id for this user's avatar image. If the user has not set an image, this will return null.- Returns:
- Possibly-null String containing the
Useravatar id. - Throws:
UnsupportedOperationException- If this User was created withfromId(long)
-
getAvatarUrl
The URL for the user's avatar image. If the user has not set an image, this will return null.- Returns:
- Possibly-null String containing the
Useravatar url. - Throws:
UnsupportedOperationException- If this User was created withfromId(long)
-
getDefaultAvatarId
The Discord Id for this user's default avatar image.- Returns:
- Never-null String containing the
Userdefault avatar id. - Throws:
UnsupportedOperationException- If this User was created withfromId(long)
-
getDefaultAvatarUrl
The URL for the for the user's default avatar image.- Returns:
- Never-null String containing the
Userdefault avatar url. - Throws:
UnsupportedOperationException- If this User was created withfromId(long)
-
getEffectiveAvatarUrl
The URL for the user's avatar image. If they do not have an avatar set, this will return the URL of their default avatar- Returns:
- Never-null String containing the
Usereffective avatar url. - Throws:
UnsupportedOperationException- If this User was created withfromId(long)
-
retrieveProfile
Loads the user'sUser.Profiledata. Returns a completed RestAction if this User has been retrieved usingJDA.retrieveUserById(long).- Returns:
RestAction- Type:User.Profile- Throws:
UnsupportedOperationException- If this User was created withfromId(long)- Since:
- 4.3.0
-
getAsTag
The "tag" for this userThis is the equivalent of calling
String.format("%#s", user)- Returns:
- Never-null String containing the tag for this user, for example DV8FromTheWorld#6297
- Throws:
UnsupportedOperationException- If this User was created withfromId(long)
-
hasPrivateChannel
boolean hasPrivateChannel()Whether or not the currently logged in user and this user have a currently openPrivateChannelor not.- Returns:
- True if the logged in account shares a PrivateChannel with this user.
- Throws:
UnsupportedOperationException- If this User was created withfromId(long)
-
openPrivateChannel
Opens aPrivateChannelwith this User.
If a channel has already been opened with this user, it is immediately returned in the RestAction's success consumer without contacting the Discord API.Examples
// Send message without response handling public void sendMessage(User user, String content) { user.openPrivateChannel() .flatMap(channel -> channel.sendMessage(content)) .queue(); } // Send message and delete 30 seconds later public RestAction<Void> sendSecretMessage(User user, String content) { return user.openPrivateChannel() // RestAction<PrivateChannel> .flatMap(channel -> channel.sendMessage(content)) // RestAction<Message> .delay(30, TimeUnit.SECONDS) // RestAction<Message> with delayed response .flatMap(Message::delete); // RestAction<Void> (executed 30 seconds after sending) }- Returns:
RestAction- Type:PrivateChannel
Retrieves the PrivateChannel to use to directly message this User.- Throws:
UnsupportedOperationException- If the recipient User is the currently logged in account (represented bySelfUser) or if the user was created withfromId(long)- See Also:
-
getMutualGuilds
Finds and collects allGuildinstances that contain thisUserwithin the currentJDAinstance.
This method is a shortcut for
JDA.getMutualGuilds(User).- Returns:
- Immutable list of all
Guildsthat this user is a member of. - Throws:
UnsupportedOperationException- If this User was created withfromId(long)
-
isBot
boolean isBot()Returns whether or not the given user is a Bot-Account (special badge in client, some different behaviour)- Returns:
- If the User's Account is marked as Bot
- Throws:
UnsupportedOperationException- If this User was created withfromId(long)
-
isSystem
boolean isSystem()Returns whether or not the given user is a System account, which includes the urgent message account and the community updates bot.- Returns:
- Whether the User's account is marked as System
- Throws:
UnsupportedOperationException- If this User was created withfromId(long)
-
getJDA
Returns theJDAinstance of this User- Returns:
- the corresponding JDA instance
- Throws:
UnsupportedOperationException- If this User was created withfromId(long)
-
getFlags
Returns theUserFlagsof this user.- Returns:
- EnumSet containing the flags of the user.
- Throws:
UnsupportedOperationException- If this User was created withfromId(long)
-
getFlagsRaw
int getFlagsRaw()Returns the bitmask representation of theUserFlagsof this user.- Returns:
- bitmask representation of the user's flags.
- Throws:
UnsupportedOperationException- If this User was created withfromId(long)
-