@tanzanite/discord-akairo
    Preparing search index...

    Class ListenerHandler

    Loads listeners and registers them with EventEmitters.

    Hierarchy (View Summary)

    Index

    Constructors

    Properties

    "[brandSymbol]": ListenerHandlerEvents

    This field doesn't actually exist, it's just a way to make TS properly infer the events from classes that extend AsyncEventEmitter

    automateCategories: boolean

    Whether or not to automate category names.

    categories: Collection<string, Category<string, Listener>>

    Categories, mapped by ID to Category.

    classToHandle: Class<Listener>

    Class to handle.

    client: AkairoClient

    The Akairo client.

    directory: string

    The main directory to modules.

    emitters: Collection<string, EventEmitter<DefaultEventMap>>

    EventEmitters for use, mapped by name to EventEmitter. By default, 'client' is set to the given client.

    extensions: Set<string>

    File extensions to load.

    loadFilter: LoadPredicate

    Function that filters files when loading.

    modules: Collection<string, Listener>

    Modules loaded, mapped by ID to AkairoModule.

    Methods

    • Type Parameters

      • K extends "remove" | "load" | "removeListener" | "newListener"

      Parameters

      • eventName: K
      • listener: Exclude<
            InternalAsyncEventEmitterInternalListenerForEvent<
                AsyncEventEmitter<ListenerHandlerEvents>,
                K,
                ListenerHandlerEvents,
            >["listener"],
            undefined,
        >

      Returns this

    • Type Parameters

      • K extends string | symbol

      Parameters

      • eventName: K
      • listener: Exclude<
            InternalAsyncEventEmitterInternalListenerForEvent<
                AsyncEventEmitter<ListenerHandlerEvents>,
                K,
                ListenerHandlerEvents,
            >["listener"],
            undefined,
        >

      Returns this

    • Type Parameters

      • K extends "remove" | "load" | "removeListener" | "newListener"

      Parameters

      • eventName: K
      • ...args: InternalGetAsyncEventEmitterEventParameters<
            AsyncEventEmitter<ListenerHandlerEvents>,
            K,
        >

      Returns boolean

    • Type Parameters

      • K extends string | symbol

      Parameters

      • eventName: K
      • ...args: InternalGetAsyncEventEmitterEventParameters<
            AsyncEventEmitter<ListenerHandlerEvents>,
            K,
        >

      Returns boolean

    • Returns (string | symbol)[] & (keyof AsyncEventEmitterPredefinedEvents)[] & (
          keyof ListenerHandlerEvents
      )[]

    • Returns number

    • Type Parameters

      • K extends "remove" | "load" | "removeListener" | "newListener"

      Parameters

      • eventName: K

      Returns number

    • Parameters

      • eventName: string | symbol

      Returns number

    • Type Parameters

      • K extends "remove" | "load" | "removeListener" | "newListener"

      Parameters

      • eventName: K

      Returns Exclude<
          InternalAsyncEventEmitterInternalListenerForEvent<
              AsyncEventEmitter<ListenerHandlerEvents>,
              K,
              ListenerHandlerEvents,
          >["listener"],
          undefined,
      >[]

    • Type Parameters

      • K extends string | symbol

      Parameters

      • eventName: K

      Returns Exclude<
          InternalAsyncEventEmitterInternalListenerForEvent<
              AsyncEventEmitter<ListenerHandlerEvents>,
              K,
              ListenerHandlerEvents,
          >["listener"],
          undefined,
      >[]

    • Type Parameters

      • K extends "remove" | "load" | "removeListener" | "newListener"

      Parameters

      • eventName: K
      • listener: Exclude<
            InternalAsyncEventEmitterInternalListenerForEvent<
                AsyncEventEmitter<ListenerHandlerEvents>,
                K,
                ListenerHandlerEvents,
            >["listener"],
            undefined,
        >

      Returns this

    • Type Parameters

      • K extends string | symbol

      Parameters

      • eventName: K
      • listener: Exclude<
            InternalAsyncEventEmitterInternalListenerForEvent<
                AsyncEventEmitter<ListenerHandlerEvents>,
                K,
                ListenerHandlerEvents,
            >["listener"],
            undefined,
        >

      Returns this

    • Type Parameters

      • K extends "remove" | "load" | "removeListener" | "newListener"

      Parameters

      • eventName: K
      • listener: Exclude<
            InternalAsyncEventEmitterInternalListenerForEvent<
                AsyncEventEmitter<ListenerHandlerEvents>,
                K,
                ListenerHandlerEvents,
            >["listener"],
            undefined,
        >

      Returns this

    • Type Parameters

      • K extends string | symbol

      Parameters

      • eventName: K
      • listener: Exclude<
            InternalAsyncEventEmitterInternalListenerForEvent<
                AsyncEventEmitter<ListenerHandlerEvents>,
                K,
                ListenerHandlerEvents,
            >["listener"],
            undefined,
        >

      Returns this

    • Type Parameters

      • K extends "remove" | "load" | "removeListener" | "newListener"

      Parameters

      • eventName: K
      • listener: Exclude<
            InternalAsyncEventEmitterInternalListenerForEvent<
                AsyncEventEmitter<ListenerHandlerEvents>,
                K,
                ListenerHandlerEvents,
            >["listener"],
            undefined,
        >

      Returns this

    • Type Parameters

      • K extends string | symbol

      Parameters

      • eventName: K
      • listener: Exclude<
            InternalAsyncEventEmitterInternalListenerForEvent<
                AsyncEventEmitter<ListenerHandlerEvents>,
                K,
                ListenerHandlerEvents,
            >["listener"],
            undefined,
        >

      Returns this

    • Type Parameters

      • K extends "remove" | "load" | "removeListener" | "newListener"

      Parameters

      • eventName: K
      • listener: Exclude<
            InternalAsyncEventEmitterInternalListenerForEvent<
                AsyncEventEmitter<ListenerHandlerEvents>,
                K,
                ListenerHandlerEvents,
            >["listener"],
            undefined,
        >

      Returns this

    • Type Parameters

      • K extends string | symbol

      Parameters

      • eventName: K
      • listener: Exclude<
            InternalAsyncEventEmitterInternalListenerForEvent<
                AsyncEventEmitter<ListenerHandlerEvents>,
                K,
                ListenerHandlerEvents,
            >["listener"],
            undefined,
        >

      Returns this

    • Type Parameters

      • K extends "remove" | "load" | "removeListener" | "newListener"

      Parameters

      • eventName: K
      • listener: Exclude<
            InternalAsyncEventEmitterInternalListenerForEvent<
                AsyncEventEmitter<ListenerHandlerEvents>,
                K,
                ListenerHandlerEvents,
            >["listener"],
            undefined,
        >

      Returns this

    • Type Parameters

      • K extends string | symbol

      Parameters

      • eventName: K
      • listener: Exclude<
            InternalAsyncEventEmitterInternalListenerForEvent<
                AsyncEventEmitter<ListenerHandlerEvents>,
                K,
                ListenerHandlerEvents,
            >["listener"],
            undefined,
        >

      Returns this

    • Type Parameters

      • K extends "remove" | "load" | "removeListener" | "newListener"

      Parameters

      • eventName: K

      Returns InternalAsyncEventEmitterInternalListenerForEvent<
          AsyncEventEmitter<ListenerHandlerEvents>,
          K,
          ListenerHandlerEvents,
      >[]

    • Type Parameters

      • K extends string | symbol

      Parameters

      • eventName: K

      Returns InternalAsyncEventEmitterInternalListenerForEvent<
          AsyncEventEmitter<ListenerHandlerEvents>,
          K,
          ListenerHandlerEvents,
      >[]

    • Type Parameters

      • K extends "remove" | "load" | "removeListener" | "newListener"

      Parameters

      • event: K

      Returns this

    • Type Parameters

      • K extends "remove" | "load" | "removeListener" | "newListener"

      Parameters

      • Optionalevent: K

      Returns this

    • Parameters

      • event: string | symbol

      Returns this

    • Parameters

      • Optionalevent: string | symbol

      Returns this

    • Type Parameters

      • K extends "remove" | "load" | "removeListener" | "newListener"

      Parameters

      • eventName: K
      • listener: Exclude<
            InternalAsyncEventEmitterInternalListenerForEvent<
                AsyncEventEmitter<ListenerHandlerEvents>,
                K,
                ListenerHandlerEvents,
            >["listener"],
            undefined,
        >

      Returns this

    • Type Parameters

      • K extends string | symbol

      Parameters

      • eventName: K
      • listener: Exclude<
            InternalAsyncEventEmitterInternalListenerForEvent<
                AsyncEventEmitter<ListenerHandlerEvents>,
                K,
                ListenerHandlerEvents,
            >["listener"],
            undefined,
        >

      Returns this

    • Parameters

      • n: number

      Returns this

    • Type Parameters

      • EventMap extends {}
      • EventName extends PropertyKey = (keyof AsyncEventEmitterPredefinedEvents) | keyof EventMap

      Parameters

      • emitter: AsyncEventEmitter<EventMap>
      • eventName: (keyof AsyncEventEmitterPredefinedEvents) | EventName

      Returns number

    • Parameters

      • emitter: AsyncEventEmitter<any>
      • eventName: string | symbol

      Returns number

    • Type Parameters

      • EventMap extends {}
      • EventName extends PropertyKey = (keyof AsyncEventEmitterPredefinedEvents) | keyof EventMap

      Parameters

      • emitter: AsyncEventEmitter<EventMap>
      • eventName: EventName
      • Optionaloptions: AbortableMethods

      Returns AsyncGenerator<
          InternalGetAsyncEventEmitterEventParameters<
              AsyncEventEmitter<EventMap>,
              EventName,
              EventMap,
          >,
          void,
      >

    • Parameters

      • emitter: AsyncEventEmitter<any>
      • eventName: string | symbol
      • Optionaloptions: AbortableMethods

      Returns AsyncGenerator<any[], void>

    • Type Parameters

      • EventMap extends {}
      • EventName extends PropertyKey = (keyof AsyncEventEmitterPredefinedEvents) | keyof EventMap

      Parameters

      • emitter: AsyncEventEmitter<EventMap>
      • eventName: EventName
      • Optionaloptions: AbortableMethods

      Returns Promise<
          InternalGetAsyncEventEmitterEventParameters<
              AsyncEventEmitter<EventMap>,
              EventName,
              EventMap,
          >,
      >

    • Parameters

      • emitter: AsyncEventEmitter<any>
      • eventName: string | symbol
      • Optionaloptions: AbortableMethods

      Returns Promise<any[]>