SentryExtension

Extension providing a feedback command for use with the Sentry integration.

Even if you add this extension manually, it won't do anything unless you've set up the Sentry integration.

Constructors

Link copied to clipboard
constructor()

Types

Link copied to clipboard

Arguments for the feedback command.

Link copied to clipboard

Arguments for the feedback command.

Properties

Link copied to clipboard

Whether ApplicationCommands should be allowed in DMs by default.

Link copied to clipboard
Link copied to clipboard
open val bot: ExtensibleBot

The ExtensibleBot instance that this extension is installed to.

Link copied to clipboard
Link copied to clipboard

List of chat command checks.

Link copied to clipboard

Message command registry.

Link copied to clipboard

List of registered commands.

Link copied to clipboard
open val eventHandlers: MutableList<EventHandler<out Event>>

List of registered event handlers.

Link copied to clipboard
open val intents: MutableSet<Intent>

Set of intents required by this extension's event handlers and commands.

Link copied to clipboard
open val kord: Kord

Current Kord instance powering the bot.

Link copied to clipboard
open val loaded: Boolean

Check whether this extension's state is ExtensionState.LOADED.

Link copied to clipboard

List of message command checks.

Link copied to clipboard

List of registered slash commands.

Link copied to clipboard
open override val name: String

The name of this extension.

Link copied to clipboard

Sentry adapter, for easy access to Sentry functions.

Link copied to clipboard

Sentry extension settings, from the bot builder.

Link copied to clipboard

List of slash command checks.

Link copied to clipboard

List of registered slash commands.

Link copied to clipboard

The current loading/unloading state of the extension.

Link copied to clipboard

List of user command checks.

Link copied to clipboard

List of registered slash commands.

Functions

Link copied to clipboard
suspend fun Extension.addHealthCheck(id: String, interval: Duration = 30.seconds, body: suspend HealthCheckResult.() -> Unit): HealthCheck
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
open override fun getKoin(): Koin

Get the associated Koin instance.

Link copied to clipboard
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
open suspend fun setState(state: ExtensionState)

Update this extension's state, firing the extension state change event.

Link copied to clipboard
open suspend override fun setup()

Override this in your subclass and use it to register your commands and event handlers.

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
open suspend fun unload()

If you need to, override this function and use it to clean up your extension when it's unloaded.

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.