EventMiddleware
Base class for Discord event middleware.
Middleware runs before event handlers and can block execution with setBreak()setBreak(). 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 = ValidNonInteractionKeysprotected readonly event: SingleEventPayload<EventName>protected readonly event: SingleEventPayload<EventName>protected eventName: EventNameprotected eventName: EventName