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

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): PersistentButtonBuilder
@CheckReturnValue
abstract fun addFilter(filterType: Class<out ComponentInteractionFilter>): PersistentButtonBuilder

Applies a filter to this component.

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

Adds permissions to the constraints

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

Adds role IDs to the constraints

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

Adds role IDs to the constraints

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

Adds user IDs to the constraints

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

Adds user IDs to the constraints

Link copied to clipboard
@CheckReturnValue
open fun bindTo(handlerName: String, vararg data: Any?): PersistentButtonBuilder
@CheckReturnValue
abstract fun bindTo(handlerName: String, data: List<Any?>): PersistentButtonBuilder

Binds the given handler name with its arguments 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): PersistentButtonBuilder

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(): PersistentButtonBuilder

Removes the timeout from this component.

Link copied to clipboard

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

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

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

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

Sets this component as being usable once.

Link copied to clipboard
@CheckReturnValue
open fun timeout(timeout: Duration, handlerName: String, vararg data: Any?): PersistentButtonBuilder
abstract fun timeout(timeout: Duration, handlerName: String, vararg data: Any?): PersistentButtonBuilder
@CheckReturnValue
open fun timeout(timeout: Long, timeoutUnit: TimeUnit, handlerName: String, vararg data: Any?): PersistentButtonBuilder

Sets the timeout on this component, invalidating the component on expiration, and running the timeout handler with the given name and its arguments.

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

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