Properties

Link copied to clipboard
Link copied to clipboard
abstract override val context: BContext
Link copied to clipboard

List of filters applied to this component.

Link copied to clipboard
open var oneUse: Boolean

Sets this component as being usable once.

Link copied to clipboard

When true, resets the timeout duration everytime this component is used.

Link copied to clipboard
abstract var singleUse: Boolean

Sets this component as being usable once.

Functions

Link copied to clipboard
@CheckReturnValue
abstract fun addFilter(filter: ComponentInteractionFilter<*>): EphemeralButtonBuilder
@CheckReturnValue
abstract fun addFilter(filterType: Class<out ComponentInteractionFilter<*>>): EphemeralButtonBuilder

Applies a filter to this component.

Link copied to clipboard
@CheckReturnValue
open fun addPermissions(vararg permissions: Permission): EphemeralButtonBuilder
@CheckReturnValue
abstract fun addPermissions(permissions: Collection<Permission>): EphemeralButtonBuilder

Adds permissions to the constraints

Link copied to clipboard
@CheckReturnValue
open fun addRoleIds(vararg roleIds: Long): EphemeralButtonBuilder
@CheckReturnValue
abstract fun addRoleIds(roleIds: Collection<Long>): EphemeralButtonBuilder

Adds role IDs to the constraints

Link copied to clipboard
@CheckReturnValue
open fun addRoles(vararg roles: Role): EphemeralButtonBuilder
@CheckReturnValue
abstract fun addRoles(roles: Collection<Role>): EphemeralButtonBuilder

Adds role IDs to the constraints

Link copied to clipboard
@CheckReturnValue
open fun addUserIds(vararg userIds: Long): EphemeralButtonBuilder
@CheckReturnValue
abstract fun addUserIds(userIds: Collection<Long>): EphemeralButtonBuilder

Adds user IDs to the constraints

Link copied to clipboard
@CheckReturnValue
open fun addUsers(vararg users: UserSnowflake): EphemeralButtonBuilder
@CheckReturnValue
abstract fun addUsers(users: Collection<UserSnowflake>): EphemeralButtonBuilder

Adds user IDs to the constraints

Link copied to clipboard
@CheckReturnValue
open fun bindTo(handler: Consumer<ButtonEvent>): EphemeralButtonBuilder
open fun bindTo(handler: suspend (ButtonEvent) -> Unit): EphemeralButtonBuilder

Binds the given handler to this component.

Link copied to clipboard
@CheckReturnValue
abstract fun build(): Button
Link copied to clipboard

Allows manipulating the InteractionConstraints instance

@CheckReturnValue
abstract fun constraints(constraints: InteractionConstraints): EphemeralButtonBuilder

Replaces the current interaction constraints with the given ones.

Link copied to clipboard

Convenience extension to load an ComponentInteractionFilter service.

Link copied to clipboard
@CheckReturnValue
abstract fun noTimeout(): EphemeralButtonBuilder

Removes the timeout from this component.

Link copied to clipboard
@CheckReturnValue
open fun oneUse(oneUse: Boolean): EphemeralButtonBuilder

Sets this component as being usable once.

Link copied to clipboard
@CheckReturnValue
abstract fun rateLimitReference(reference: ComponentRateLimitReference): EphemeralButtonBuilder

Sets the rate limiter of this component to one declared by a RateLimitProvider.

Link copied to clipboard
abstract fun resetTimeoutOnUse(resetTimeoutOnUse: Boolean): EphemeralButtonBuilder

When true, resets the timeout duration everytime this component is used.

Link copied to clipboard
@CheckReturnValue
abstract fun singleUse(singleUse: Boolean): EphemeralButtonBuilder

Sets this component as being usable once.

Link copied to clipboard
@CheckReturnValue
open fun timeout(timeout: Duration, handler: Runnable): EphemeralButtonBuilder
abstract fun timeout(timeout: Duration, handler: suspend () -> Unit): EphemeralButtonBuilder
@CheckReturnValue
open fun timeout(timeout: Long, timeoutUnit: TimeUnit, handler: Runnable): EphemeralButtonBuilder

Sets the timeout on this component, invalidating the component on expiration, and running the given timeout handler.

@CheckReturnValue
open fun timeout(timeout: Duration): EphemeralButtonBuilder
abstract fun timeout(timeout: Duration): EphemeralButtonBuilder
@CheckReturnValue
open fun timeout(timeout: Long, timeoutUnit: TimeUnit): EphemeralButtonBuilder

Sets the timeout on this component, invalidating the component on expiration.