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

Hierarchy (view full)

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]>