Interface RoleAction
- All Superinterfaces:
AuditableRestAction<Role>,RestAction<Role>
Extension of
RestAction specifically
designed to create a Role.
This extension allows setting properties before executing the action.- Since:
- 3.0
- See Also:
-
Field Summary
Fields inherited from interface net.dv8tion.jda.api.requests.restaction.AuditableRestAction
MAX_REASON_LENGTH -
Method Summary
Modifier and TypeMethodDescriptiondeadline(long timestamp) Similar toRestAction.timeout(long, TimeUnit)but schedules a deadline at which the request has to be completed.getGuild()The guild to create the role insetCheck(BooleanSupplier checks) Sets the last-second checks before finally executing the http request in the queue.default RoleActionSets the color which the new role should be displayed with.Sets the Color for the new role.setHoisted(Boolean hoisted) Sets whether or not the new role should be hoistedSets the Unicode Emoji of thisRoleinstead of a custom image.default RoleActionsetIcon(UnicodeEmoji emoji) Sets the Unicode Emoji of thisRoleinstead of a custom image.setMentionable(Boolean mentionable) Sets whether the new role should be mentionable by members of the parentGuild.Sets the name for new role (optional)setPermissions(Long permissions) Sets the Permissions the new Role should have.default RoleActionsetPermissions(Collection<Permission> permissions) Sets the Permissions the new Role should have.default RoleActionsetPermissions(Permission... permissions) Sets the Permissions the new Role should have.Timeout for this RestAction instance.Methods inherited from interface net.dv8tion.jda.api.requests.restaction.AuditableRestAction
reasonMethods inherited from interface net.dv8tion.jda.api.requests.RestAction
addCheck, and, and, complete, complete, completeAfter, delay, delay, delay, delay, flatMap, flatMap, getCheck, getJDA, map, mapToResult, onErrorFlatMap, onErrorFlatMap, onErrorMap, onErrorMap, onSuccess, queue, queue, queue, queueAfter, queueAfter, queueAfter, queueAfter, queueAfter, queueAfter, submit, submit, submitAfter, submitAfter, zip
-
Method Details
-
setCheck
Description copied from interface:AuditableRestActionSets the last-second checks before finally executing the http request in the queue.
If the provided supplier evaluates tofalseor throws an exception this will not be finished. When an exception is thrown from the supplier it will be provided to the failure callback.- Specified by:
setCheckin interfaceAuditableRestAction<Role>- Specified by:
setCheckin interfaceRestAction<Role>- Parameters:
checks- The checks to run before executing the request, ornullto run no checks- Returns:
- The current RestAction for chaining convenience
- See Also:
-
timeout
Description copied from interface:AuditableRestActionTimeout for this RestAction instance.
If the request doesn't get executed within the timeout it will fail.When a RestAction times out, it will fail with a
TimeoutException. This is the same asdeadline(System.currentTimeMillis() + unit.toMillis(timeout)).Example
action.timeout(10, TimeUnit.SECONDS) // 10 seconds from now .queueAfter(20, SECONDS); // request will not be executed within deadline and timeout immediately after 20 seconds- Specified by:
timeoutin interfaceAuditableRestAction<Role>- Specified by:
timeoutin interfaceRestAction<Role>- Parameters:
timeout- The timeout to useunit-Unitfor the timeout value- Returns:
- The same RestAction instance with the applied timeout
- See Also:
-
deadline
Description copied from interface:AuditableRestActionSimilar toRestAction.timeout(long, TimeUnit)but schedules a deadline at which the request has to be completed.
If the deadline is reached, the request will fail with aTimeoutException.This does not mean that the request will immediately timeout when the deadline is reached. JDA will check the deadline right before executing the request or within intervals in a worker thread. This only means the request will timeout if the deadline has passed.
Example
action.deadline(System.currentTimeMillis() + 10000) // 10 seconds from now .queueAfter(20, SECONDS); // request will not be executed within deadline and timeout immediately after 20 seconds- Specified by:
deadlinein interfaceAuditableRestAction<Role>- Specified by:
deadlinein interfaceRestAction<Role>- Parameters:
timestamp- Millisecond timestamp at which the request will timeout- Returns:
- The same RestAction with the applied deadline
- See Also:
-
getGuild
The guild to create the role in- Returns:
- The guild
-
setName
Sets the name for new role (optional)- Parameters:
name- The name for the new role, null to use default name- Returns:
- The current RoleAction, for chaining convenience
- Throws:
IllegalArgumentException- If the provided name is longer than 100 characters
-
setHoisted
Sets whether or not the new role should be hoisted- Parameters:
hoisted- Whether the new role should be hoisted (grouped). Default isfalse- Returns:
- The current RoleAction, for chaining convenience
-
setMentionable
Sets whether the new role should be mentionable by members of the parentGuild.- Parameters:
mentionable- Whether the new role should be mentionable. Default isfalse- Returns:
- The current RoleAction, for chaining convenience
-
setColor
Sets the color which the new role should be displayed with.- Parameters:
color- AnColorfor the new role, null to use default white/black- Returns:
- The current RoleAction, for chaining convenience
-
setColor
Sets the Color for the new role. This accepts colors from the range0x000to0xFFFFFF. The provided value will be ranged usingrbg & 0xFFFFFF- Parameters:
rgb- The color for the new role in integer form,nullto use default white/black- Returns:
- The current RoleAction, for chaining convenience
-
setPermissions
Sets the Permissions the new Role should have. This will only allow permissions that the current account already holds unless the account is owner oradminof the parentGuild.- Parameters:
permissions- The varargsPermissionsfor the new role- Returns:
- The current RoleAction, for chaining convenience
- Throws:
InsufficientPermissionException- If the currently logged in account does not hold one of the specified permissionsIllegalArgumentException- If any of the provided permissions isnull- See Also:
-
setPermissions
@Nonnull @CheckReturnValue default RoleAction setPermissions(@Nullable Collection<Permission> permissions) Sets the Permissions the new Role should have. This will only allow permissions that the current account already holds unless the account is owner oradminof the parentGuild.- Parameters:
permissions- ACollectionofPermissionsfor the new role- Returns:
- The current RoleAction, for chaining convenience
- Throws:
InsufficientPermissionException- If the currently logged in account does not hold one of the specified permissionsIllegalArgumentException- If any of the provided permissions isnull- See Also:
-
setPermissions
Sets the Permissions the new Role should have. This will only allow permissions that the current account already holds unless the account is owner oradminof the parentGuild.- Parameters:
permissions- The rawPermissionsvalue for the new role. To retrieve this usePermission.getRawValue()- Returns:
- The current RoleAction, for chaining convenience
- Throws:
InsufficientPermissionException- If the currently logged in account does not hold one of the specified permissions- See Also:
-
setIcon
Sets theIconof thisRole. This icon will be displayed next to the role's name in the members tab and in chat.- Parameters:
icon- The new icon for thisRoleornullto reset- Returns:
- The current RoleAction, for chaining convenience
-
setIcon
Sets the Unicode Emoji of thisRoleinstead of a custom image. This emoji will be displayed next to the role's name in the members tab and in chat.- Parameters:
emoji- The new Unicode emoji for thisRoleornullto reset- Returns:
- The current RoleAction, for chaining convenience
-
setIcon
Sets the Unicode Emoji of thisRoleinstead of a custom image. This emoji will be displayed next to the role's name in the members tab and in chat.- Parameters:
emoji- The new Unicode emoji for thisRoleornullto reset- Returns:
- The current RoleAction, for chaining convenience
- See Also:
-