EventMiddleware
Base class for Discord event middleware.
Middleware runs before event handlers and can stop the event by throwing a SilenceSilence. Unlike EventHandlerEventHandler, it runs the SAME for every event it is registered for, so it has no matchmatch. Specify a single event in the generic and { events }{ events } to read this.eventthis.event fully typed. Span several events (or omit { events }{ events } for a catchall) and this.eventthis.event narrows to nevernever, read this.eventNamethis.eventName and do work that does not depend on the payload shape. A middleware that needs each event's payload is written one event per class.
abstract class EventMiddleware<
EventName extends ValidNonInteractionKeys = ValidNonInteractionKeys
>
extends BaseHandler<ClientEvents[EventName]>
implements Handlerabstract class EventMiddleware<
EventName extends ValidNonInteractionKeys = ValidNonInteractionKeys
>
extends BaseHandler<ClientEvents[EventName]>
implements HandlerMember visibility
Filter class members by access level.
EventMiddleware(
event: ClientEvents[EventName],
core: Core,
eventName?: EventName
)EventMiddleware(
event: ClientEvents[EventName],
core: Core,
eventName?: EventName
)EventName
One or more ClientEventsClientEvents keys. Defaults to every event (catchall).
EventName extends ValidNonInteractionKeys = ValidNonInteractionKeysEventName extends ValidNonInteractionKeys = ValidNonInteractionKeyscore
Inherited from:BaseHandler
protected readonly event: SingleEventPayload<EventName>protected readonly event: SingleEventPayload<EventName>protected eventName: EventNameprotected eventName: EventNamelogger
Inherited from:BaseHandler
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()execute() from running.
Inherited from:BaseHandler