Class MessageManager

    Manages and stores PrintJSONPacket messages, notifies subscribers of new messages, and exposes helper methods to interact with the chat system.

    Hierarchy

    Accessors

    Methods

    Accessors

    Methods

    • Removes an existing event listener.

      Type Parameters

      • Event extends
            | "disconnected"
            | "connected"
            | "message"
            | "itemSent"
            | "itemCheated"
            | "itemHinted"
            | "chat"
            | "serverChat"
            | "tutorial"
            | "tagsUpdated"
            | "userCommand"
            | "adminCommand"
            | "goaled"
            | "released"
            | "collected"
            | "countdown"

      Parameters

      • event: Event

        The event name associated with this listener to remove.

      • listener: ((...args: MessageEvents[Event]) => void)

        The callback function to remove.

      Returns this

      This object.

    • Add an event listener for a specific event.

      Type Parameters

      • Event extends
            | "disconnected"
            | "connected"
            | "message"
            | "itemSent"
            | "itemCheated"
            | "itemHinted"
            | "chat"
            | "serverChat"
            | "tutorial"
            | "tagsUpdated"
            | "userCommand"
            | "adminCommand"
            | "goaled"
            | "released"
            | "collected"
            | "countdown"

      Parameters

      • event: Event

        The event name to listen for.

      • listener: ((...args: MessageEvents[Event]) => void)

        The callback function to fire when this event is received.

      Returns this

      This object.

    • Sends a chat message to the server.

      Parameters

      • text: string

        The textual message to broadcast to all connected clients.

      Returns Promise<void>

      A promise that resolves when the server has broadcast the chat message.

      UnauthenticatedError if attempting to send a chat message when not connected or authenticated.

    • Returns a promise that waits for a single specified event to be received. Resolves with the list of arguments dispatched with the event.

      Type Parameters

      • Event extends
            | "disconnected"
            | "connected"
            | "message"
            | "itemSent"
            | "itemCheated"
            | "itemHinted"
            | "chat"
            | "serverChat"
            | "tutorial"
            | "tagsUpdated"
            | "userCommand"
            | "adminCommand"
            | "goaled"
            | "released"
            | "collected"
            | "countdown"

      Parameters

      • event: Event

        The event name to listen for.

      • clearPredicate: ((...args: MessageEvents[Event]) => boolean) = ...

        An optional predicate to check on incoming events to validate if the correct event has been received. If omitted, will return immediately on next event type received.

      Returns Promise<MessageEvents[Event]>