Class SocketManager
Hierarchy
- EventBasedManager<SocketEvents>
- SocketManager (view full)
Accessors
connected
- get connected(): boolean
Returns
true
if currently connected to a websocket server.Returns boolean
url
- get url(): string
Returns the current connection's URL or an empty string, if not connected.
Returns string
Methods
connect
- connect(url): Promise<RoomInfoPacket>
Establish a connection to an Archipelago server before authenticating; useful if there might be tasked that are needed to be performed before authenticating, but after connecting (e.g., DataPackage).
Parameters
- url: string | URL
The url of the server, including the protocol (e.g.,
wss://archipelago.gg:38281
).
Returns Promise<RoomInfoPacket>
The RoomInfoPacket received on initial connection.
Throws
SocketError if failed to connect or no websocket API is available.
- url: string | URL
disconnect
off
- off<Event>(event, listener): this
Removes an existing event listener.
Type Parameters
Parameters
- event: Event
The event name associated with this listener to remove.
- listener: ((...args: SocketEvents[Event]) => void)
The callback function to remove.
- (...args): void
Parameters
Rest
...args: SocketEvents[Event]
Returns void
Returns this
This object.
- event: Event
on
- on<Event>(event, listener): this
Add an event listener for a specific event.
Type Parameters
Parameters
- event: Event
The event name to listen for.
- listener: ((...args: SocketEvents[Event]) => void)
The callback function to fire when this event is received.
- (...args): void
Parameters
Rest
...args: SocketEvents[Event]
Returns void
Returns this
This object.
- event: Event
send
- send(...packets): SocketManager
Send a list of raw client packets to the server.
Parameters
Rest
...packets: ClientPacket[]List of client packets to send.
Returns SocketManager
This SocketManager.
Throws
SocketError if not connected to a server.
wait
- wait<Event>(event, clearPredicate?): Promise<SocketEvents[Event]>
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
Parameters
- event: Event
The event name to listen for.
- clearPredicate: ((...args: SocketEvents[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.
- (...args): boolean
Parameters
Rest
...args: SocketEvents[Event]
Returns boolean
Returns Promise<SocketEvents[Event]>
- event: Event
Manages socket-level communication and exposes helper methods/events for interacting with the Archipelago API directly.