Package-level declarations

Types

Link copied to clipboard

Class representing a distinct set of functionality to be treated as a unit.

Link copied to clipboard

Extension states, which describe what state of loading/unloading an extension is currently in.

Functions

Link copied to clipboard

Function for registering a custom command object.

DSL function for easily registering a command, without arguments.

suspend fun <T : Arguments> Extension.chatCommand(arguments: () -> T, body: suspend ChatCommand<T>.() -> Unit): ChatCommand<T>

DSL function for easily registering a command.

Link copied to clipboard

Define a check which must pass for the command to be executed. This check will be applied to all commands in this extension.

Overloaded check function to allow for DSL syntax.

Link copied to clipboard

DSL function for easily registering a grouped command, without its own arguments.

suspend fun <T : Arguments> Extension.chatGroupCommand(arguments: () -> T, body: suspend ChatGroupCommand<T>.() -> Unit): ChatGroupCommand<T>

DSL function for easily registering a grouped command.

Link copied to clipboard

Register a custom instance of an ephemeral message command.

Register an ephemeral message command, DSL-style.

Link copied to clipboard

Function for registering a custom ephemeral slash command object.

DSL function for easily registering an ephemeral slash command, without arguments.

DSL function for easily registering an ephemeral slash command, with arguments.

@JvmName(name = "ephemeralSlashCommand1")
suspend fun <M : ModalForm> Extension.ephemeralSlashCommand(modal: () -> M, body: suspend EphemeralSlashCommand<Arguments, M>.() -> Unit): EphemeralSlashCommand<Arguments, M>
suspend fun <A : Arguments, M : ModalForm> Extension.ephemeralSlashCommand(arguments: () -> A, modal: () -> M, body: suspend EphemeralSlashCommand<A, M>.() -> Unit): EphemeralSlashCommand<A, M>

DSL function for easily registering an ephemeral slash command, with a modal form.

Link copied to clipboard

Register a custom instance of an ephemeral user command.

suspend fun <M : ModalForm> Extension.ephemeralUserCommand(modal: () -> M, body: suspend EphemeralUserCommand<M>.() -> Unit): EphemeralUserCommand<M>

Register an ephemeral user command, DSL-style.

Link copied to clipboard
inline suspend fun <T : Event> Extension.event(noinline constructor: (Extension) -> EventHandler<T> = ::EventHandler, noinline body: suspend EventHandler<T>.() -> Unit): EventHandler<T>

DSL function for easily registering an event handler.

Link copied to clipboard

Define a check which must pass for a message command to be executed. This check will be applied to all message commands in this extension.

Overloaded message command check function to allow for DSL syntax.

Link copied to clipboard

Register a custom instance of a public message command.

suspend fun <M : ModalForm> Extension.publicMessageCommand(modal: () -> M, body: suspend PublicMessageCommand<M>.() -> Unit): PublicMessageCommand<M>

Register a public message command, DSL-style.

Link copied to clipboard

Function for registering a custom public slash command object.

DSL function for easily registering a public slash command, without arguments.

suspend fun <T : Arguments> Extension.publicSlashCommand(arguments: () -> T, body: suspend PublicSlashCommand<T, ModalForm>.() -> Unit): PublicSlashCommand<T, ModalForm>

DSL function for easily registering a public slash command, with arguments.

@JvmName(name = "publicSlashCommand1")
suspend fun <M : ModalForm> Extension.publicSlashCommand(modal: () -> M, body: suspend PublicSlashCommand<Arguments, M>.() -> Unit): PublicSlashCommand<Arguments, M>

DSL function for easily registering a public slash command, with a modal form.

suspend fun <A : Arguments, M : ModalForm> Extension.publicSlashCommand(arguments: () -> A, modal: () -> M, body: suspend PublicSlashCommand<A, M>.() -> Unit): PublicSlashCommand<A, M>

DSL function for easily registering a public slash command, with arguments and a modal form.

Link copied to clipboard

Register a custom instance of a public user command.

suspend fun <M : ModalForm> Extension.publicUserCommand(modal: () -> M, body: suspend PublicUserCommand<M>.() -> Unit): PublicUserCommand<M>

Register a public user command, DSL-style.

Link copied to clipboard

Define a check which must pass for a slash command to be executed. This check will be applied to all slash commands in this extension.

Overloaded slash command check function to allow for DSL syntax.

Link copied to clipboard

Define a check which must pass for a user command to be executed. This check will be applied to all user commands in this extension.

Overloaded user command check function to allow for DSL syntax.