Properties

Link copied to clipboard
override val componentType: ComponentType
Link copied to clipboard
Link copied to clipboard
open override val context: BContext
Link copied to clipboard

List of filters applied to this component.

Link copied to clipboard
open override val handler: ComponentHandler?
Link copied to clipboard
Link copied to clipboard
open override val lifetimeType: LifetimeType
Link copied to clipboard
open override var oneUse: Boolean

Sets this component as being usable once.

Link copied to clipboard
open override val rateLimitGroup: String?
Link copied to clipboard
open override var resetTimeoutOnUse: Boolean

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

Link copied to clipboard
open override var singleUse: Boolean

Sets this component as being usable once.

Link copied to clipboard
open override val timeout: ComponentTimeout?
Link copied to clipboard
open override val timeoutDuration: Duration?

Functions

Link copied to clipboard
@CheckReturnValue
open override fun addFilter(filter: ComponentInteractionFilter<*>): PersistentButtonBuilder
@CheckReturnValue
open override fun addFilter(filterType: Class<out ComponentInteractionFilter<*>>): PersistentButtonBuilder

Applies a filter to this component.

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

Adds permissions to the constraints

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

Adds role IDs to the constraints

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

Adds role IDs to the constraints

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

Adds user IDs to the constraints

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

Adds user IDs to the constraints

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

Binds the given handler name with its arguments to this component.

Link copied to clipboard
@CheckReturnValue
fun build(): Button
Link copied to clipboard
@CheckReturnValue
open override fun constraints(block: ReceiverConsumer<InteractionConstraints>): PersistentButtonBuilder

Allows manipulating the InteractionConstraints instance

@CheckReturnValue
open override 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
open override fun noTimeout(): PersistentButtonBuilder

Removes the timeout from this component.

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

Sets this component as being usable once.

Link copied to clipboard
@CheckReturnValue
open override fun rateLimitReference(group: String): PersistentButtonBuilder

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

Link copied to clipboard
open override fun resetTimeoutOnUse(resetTimeoutOnUse: Boolean): PersistentButtonBuilder

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

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

Sets this component as being usable once.

Link copied to clipboard
@CheckReturnValue
open override fun timeout(timeout: Duration, handlerName: String, vararg data: Any?): PersistentButtonBuilder
open override fun timeout(timeout: Duration, handlerName: String, vararg data: Any?): PersistentButtonBuilder
@CheckReturnValue
open override 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 override fun timeout(timeout: Duration): PersistentButtonBuilder
open override fun timeout(timeout: Duration): PersistentButtonBuilder
@CheckReturnValue
open override fun timeout(timeout: Long, timeoutUnit: TimeUnit): PersistentButtonBuilder

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