InteractionHandler
Shared base the typed interaction handlers extend.
Not a public entry point. Extend SlashHandler, ButtonHandler, ModalHandler, or SelectMenuHandler instead. This class adds showModal on top of the reply members those bases share.
abstract class InteractionHandler<
Repliable extends Repliables
> extends RepliableHandler<Repliable>Member visibility
Filter class members by access level.
InteractionHandler(
event: Repliable,
core: Core,
dispatch?: DispatchContext
)Showing members with Protected visibility and higher.
Repliable
The interaction type this handler processes
Repliable extends Repliablescore
readonly core: TCoreInherited from:BaseHandler
- optional
dispatch
protected readonly dispatch: DispatchContext | undefinedInherited from:BaseHandler
event
protected readonly event: EventInherited from:BaseHandler
logger
protected readonly logger: LoggerInherited from:BaseHandler
routeId
protected readonly routeId: stringInherited from:RepliableHandler
sender
The reply surface for this interaction. Pass the handler to reply from outside its class.
readonly sender: TSenderInherited from:RepliableHandler
buildSender()
protected buildSender(
event: Event,
core: Core,
routeId: string
): ReplySenderInherited from:RepliableHandler
defer()
Show a "thinking" placeholder, then fill it later with edit.
Inherited from:RepliableHandler
delete()
Delete the initial reply or deferred placeholder. Pass a target to delete a message a prior send returned.
Inherited from:RepliableHandler
edit()
Rewrite the initial reply or deferred placeholder. The targeted form rewrites a message a prior send returned.
protected async edit(
response: ReplyResponse<TNative> | string
): Promise<TMessage>Inherited from:RepliableHandler
execute()
Holds the main logic of your handler. The dispatcher calls it after the handler's gates pass, so a gate that refuses stops execute() from running.
Inherited from:BaseHandler
followUp()
Send a new message once the interaction is acknowledged.
protected async followUp(
response: ReplyResponse<TNative> | string,
opts?: SendOpts
): Promise<TMessage>Inherited from:RepliableHandler
reply()
Send the initial response, exactly once.
protected async reply(
response: ReplyResponse<TNative> | string,
opts?: SendOpts
): Promise<TMessage>Inherited from:RepliableHandler
send()
Routes to reply, followUp, or edit based on the current ack state.
protected async send(
response: ReplyResponse<TNative> | string,
opts?: SendOpts
): Promise<TMessage>Inherited from:RepliableHandler
protected async showModal(
this: InteractionHandler<NonModalInteraction>,
modal: ModalLike
): Promise<void>