Interface RoleAction
-
- All Superinterfaces:
AuditableRestAction<Role>
,RestAction<Role>
public interface RoleAction extends AuditableRestAction<Role>
Extension ofRestAction
specifically designed to create aRole
. This extension allows setting properties before executing the action.- Since:
- 3.0
- See Also:
Guild
,Guild.createRole()
,Role.createCopy()
,Role.createCopy(Guild)
-
-
Method Summary
All Methods Instance Methods Abstract Methods Default Methods Modifier and Type Method Description RoleAction
deadline(long timestamp)
Similar toRestAction.timeout(long, TimeUnit)
but schedules a deadline at which the request has to be completed.Guild
getGuild()
The guild to create the role inRoleAction
setCheck(java.util.function.BooleanSupplier checks)
Sets the last-second checks before finally executing the http request in the queue.default RoleAction
setColor(java.awt.Color color)
Sets the color which the new role should be displayed with.RoleAction
setColor(java.lang.Integer rgb)
Sets the Color for the new role.RoleAction
setHoisted(java.lang.Boolean hoisted)
Sets whether or not the new role should be hoistedRoleAction
setIcon(java.lang.String emoji)
Sets the Unicode Emoji of thisRole
instead of a custom image.RoleAction
setIcon(Icon icon)
RoleAction
setMentionable(java.lang.Boolean mentionable)
Sets whether the new role should be mentionable by members of the parentGuild
.RoleAction
setName(java.lang.String name)
Sets the name for new role (optional)RoleAction
setPermissions(java.lang.Long permissions)
Sets the Permissions the new Role should have.default RoleAction
setPermissions(java.util.Collection<Permission> permissions)
Sets the Permissions the new Role should have.default RoleAction
setPermissions(Permission... permissions)
Sets the Permissions the new Role should have.RoleAction
timeout(long timeout, java.util.concurrent.TimeUnit unit)
Timeout for this RestAction instance.-
Methods inherited from interface net.dv8tion.jda.api.requests.restaction.AuditableRestAction
reason
-
Methods 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, queue, queue, queue, queueAfter, queueAfter, queueAfter, queueAfter, queueAfter, queueAfter, submit, submit, submitAfter, submitAfter, zip
-
-
-
-
Method Detail
-
setCheck
@Nonnull RoleAction setCheck(@Nullable java.util.function.BooleanSupplier checks)
Description copied from interface:AuditableRestAction
Sets the last-second checks before finally executing the http request in the queue.
If the provided supplier evaluates tofalse
or 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:
setCheck
in interfaceAuditableRestAction<Role>
- Specified by:
setCheck
in interfaceRestAction<Role>
- Parameters:
checks
- The checks to run before executing the request, ornull
to run no checks- Returns:
- The current RestAction for chaining convenience
- See Also:
RestAction.getCheck()
,RestAction.addCheck(BooleanSupplier)
-
timeout
@Nonnull RoleAction timeout(long timeout, @Nonnull java.util.concurrent.TimeUnit unit)
Description copied from interface:AuditableRestAction
Timeout 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:
timeout
in interfaceAuditableRestAction<Role>
- Specified by:
timeout
in interfaceRestAction<Role>
- Parameters:
timeout
- The timeout to useunit
-Unit
for the timeout value- Returns:
- The same RestAction instance with the applied timeout
- See Also:
RestAction.setDefaultTimeout(long, TimeUnit)
-
deadline
@Nonnull RoleAction deadline(long timestamp)
Description copied from interface:AuditableRestAction
Similar 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:
deadline
in interfaceAuditableRestAction<Role>
- Specified by:
deadline
in interfaceRestAction<Role>
- Parameters:
timestamp
- Millisecond timestamp at which the request will timeout- Returns:
- The same RestAction with the applied deadline
- See Also:
RestAction.timeout(long, TimeUnit)
,RestAction.setDefaultTimeout(long, TimeUnit)
-
getGuild
@Nonnull Guild getGuild()
The guild to create the role in- Returns:
- The guild
-
setName
@Nonnull @CheckReturnValue RoleAction setName(@Nullable java.lang.String name)
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:
java.lang.IllegalArgumentException
- If the provided name is longer than 100 characters
-
setHoisted
@Nonnull @CheckReturnValue RoleAction setHoisted(@Nullable java.lang.Boolean hoisted)
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
@Nonnull @CheckReturnValue RoleAction setMentionable(@Nullable java.lang.Boolean mentionable)
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
@Nonnull @CheckReturnValue default RoleAction setColor(@Nullable java.awt.Color color)
Sets the color which the new role should be displayed with.- Parameters:
color
- AnColor
for the new role, null to use default white/black- Returns:
- The current RoleAction, for chaining convenience
-
setColor
@Nonnull @CheckReturnValue RoleAction setColor(@Nullable java.lang.Integer rgb)
Sets the Color for the new role. This accepts colors from the range0x000
to0xFFFFFF
. The provided value will be ranged usingrbg & 0xFFFFFF
- Parameters:
rgb
- The color for the new role in integer form,null
to use default white/black- Returns:
- The current RoleAction, for chaining convenience
-
setPermissions
@Nonnull @CheckReturnValue default RoleAction setPermissions(@Nullable 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 oradmin
of the parentGuild
.- Parameters:
permissions
- The varargsPermissions
for 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 permissionsjava.lang.IllegalArgumentException
- If any of the provided permissions isnull
- See Also:
Permission.getRaw(Permission...)
-
setPermissions
@Nonnull @CheckReturnValue default RoleAction setPermissions(@Nullable java.util.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 oradmin
of the parentGuild
.- Parameters:
permissions
- ACollection
ofPermissions
for 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 permissionsjava.lang.IllegalArgumentException
- If any of the provided permissions isnull
- See Also:
Permission.getRaw(Collection)
,EnumSet
-
setPermissions
@Nonnull @CheckReturnValue RoleAction setPermissions(@Nullable java.lang.Long 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 oradmin
of the parentGuild
.- Parameters:
permissions
- The rawPermissions
value 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:
Permission.getRawValue()
,Permission.getRaw(java.util.Collection)
,Permission.getRaw(net.dv8tion.jda.api.Permission...)
-
setIcon
@Nonnull @CheckReturnValue RoleAction setIcon(@Nullable Icon icon)
Sets theIcon
of 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 thisRole
ornull
to reset- Returns:
- RoleManager for chaining convenience
-
setIcon
@Nonnull @CheckReturnValue RoleAction setIcon(@Nullable java.lang.String emoji)
Sets the Unicode Emoji of thisRole
instead 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 thisRole
ornull
to reset- Returns:
- RoleManager for chaining convenience
-
-