Link Search Menu Expand Document (external link)

Birb / BaseWebsocket

Class: BaseWebsocket

Hierarchy

Table of contents

Constructors

Properties

Methods

Constructors

constructor

• new BaseWebsocket(client, domain)

Parameters

Name Type
client Birb
domain string

Defined in

src/classes/ws/BaseWebsocket.ts:46

Properties

buffer

• Protected buffer: any

The internal erlpack buffer.

Defined in

src/classes/ws/BaseWebsocket.ts:44


client

• client: Birb

The Birb client.

Defined in

src/classes/ws/BaseWebsocket.ts:24


domain

• domain: string

The websocket domain to connect to.

Defined in

src/classes/ws/BaseWebsocket.ts:28


encoding

• encoding: string

The encoding to use.

Defined in

src/classes/ws/BaseWebsocket.ts:40


status

• status: GatewayStatus = Status.IDLE

The current websocket status.

Defined in

src/classes/ws/BaseWebsocket.ts:36


url

• url: URL

The URL to connect to.

Defined in

src/classes/ws/BaseWebsocket.ts:32

Methods

generateURL

▸ generateURL(): URL

Returns

URL

Defined in

src/classes/ws/BaseWebsocket.ts:151


init

▸ Protected init(): void

Initializes ZLib if supported.

Returns

void

Voids once ZLib is initialized.

Defined in

src/classes/ws/BaseWebsocket.ts:142


pack

▸ Protected pack(data): any

Packs data for sending to Discord. If the encoding is set to etf, this method will use the zlib-sync (npm install zlib-sync) library to pack its etf data. Otherwise, parses the JSON data to a string.

Parameters

Name Type Description
data any The data to pack.

Returns

any

Hopefully, the data’s packed form.

Defined in

src/classes/ws/BaseWebsocket.ts:132


processPacket

▸ Protected processPacket(data): any

Attempts to process a packet by using ZLib to let Discord send packets in chunks. If ZLib is not yet installed (npm install zlib-sync), this method will just pass the data through for unpacking (this.unpack()).

Parameters

Name Type Description
data any The packet’s data.

Returns

any

Hopefully, the packet’s JSON form.

Defined in

src/classes/ws/BaseWebsocket.ts:63


unpack

▸ Protected unpack(data, type?): any

Unpacks a packet using the current encoding. If the encoding is set to etf, this method will use the zlib-sync (npm install zlib-sync) library to unpack its etf data. Otherwise, parses the data to normal JSON.

Parameters

Name Type Description
data any The packet’s data.
type? string The packet’s encoding.

Returns

any

Hopefully, the packet’s JSON form.

Defined in

src/classes/ws/BaseWebsocket.ts:109