Skip to content

Client

Defined in: package/src/classes/Client.ts:27

Class representing a Discord client

new Client(props): Client

Defined in: package/src/classes/Client.ts:83

Instantiate a new client

ClientProps

Options such as token and intents

Client

EventHandler.constructor

cache: object

Defined in: package/src/classes/Client.ts:73

Internal cache for API structures

readonly guilds: CacheManager<Guild>

readonly messages: CacheManager<Message>

readonly users: CacheManager<User>


destroyed: boolean = false

Defined in: package/src/classes/Client.ts:34

Whether the client has been destroyed, used to prevent false reconnect attempts


optional heartbeatInterval: Timeout

Defined in: package/src/classes/Client.ts:40

Heartbeat interval provided by Discord’s gateway, cleared and recreated upon reconnecting


intents: number

Defined in: package/src/classes/Client.ts:43

Parsed client intents bitfield


lastHeartbeatAck: boolean = true

Defined in: package/src/classes/Client.ts:46

Whether the last heartbeat was acknowledged by Discord


presence: ClientPresence = defaultClientPresence

Defined in: package/src/classes/Client.ts:49

The client’s current presence configuration


ready: boolean = false

Defined in: package/src/classes/Client.ts:52

Whether the Dispatch (i.e., ready) event was received


rest: RESTManager

Defined in: package/src/classes/Client.ts:55

REST manager used for API requests


sequenceNumber: number | null = null

Defined in: package/src/classes/Client.ts:61

Last sequence number provided by Discord’s gateway, used for heartbeats and session resuming


optional sessionId: string

Defined in: package/src/classes/Client.ts:64

Active session ID for resuming connection


user: ClientUser | null

Defined in: package/src/classes/Client.ts:67

Represents the client’s Discord user


optional ws: WebSocket

Defined in: package/src/classes/Client.ts:70

The WebSocket connected to Discord’s gateway

get token(): string

Defined in: package/src/classes/Client.ts:131

Formatted bot token accessor, starting with “Bot ” and used for authentication

string

connect(): Promise<Client>

Defined in: package/src/classes/Client.ts:139

Fetches Discord’s gateway information then connects to it, and fetches the bot’s user before identifying

Promise<Client>


createMessage(channelId, props): Promise<void>

Defined in: package/src/classes/Client.ts:281

Sends a message to a specified channel

string

ID of the channel to send the message to

CreateMessageProps

Message data, such as content

Promise<void>


disconnect(): void

Defined in: package/src/classes/Client.ts:392

Disconnects from Discord’s gateway and closes the WebSocket connection

void


emit<K>(event, …args): Promise<boolean>

Defined in: package/src/classes/EventHandler.ts:72

Calls all registered listeners for an event

K extends keyof ClientEvents

K

Event name

ClientEvents[K]

Event arguments

Promise<boolean>

EventHandler.emit


fetchGuild(id, options?): Promise<Guild | null>

Defined in: package/src/classes/Client.ts:304

Fetches a guild by its ID

string

ID of the guild to fetch

Fetch options

boolean

Promise<Guild | null>

Guild object or null


fetchUser(id?, options?): Promise<User | null>

Defined in: package/src/classes/Client.ts:333

Fetches a user by their ID

string = "@me"

ID of the user to fetch (default: “@me”)

Fetch options

boolean

Promise<User | null>

User object or null


off<K>(event, listener): Client

Defined in: package/src/classes/EventHandler.ts:52

Remove an event listener

K extends keyof ClientEvents

K

Event name

(…args) => any

Listener callback

Client

EventHandler.off


on<K>(event, listener): Client

Defined in: package/src/classes/EventHandler.ts:17

Add a new listener for a specified event

K extends keyof ClientEvents

K

Event name

(…args) => any

Listener callback

Client

EventHandler.on


once<K>(event, listener): Client

Defined in: package/src/classes/EventHandler.ts:34

Add a new listener for a specified event that only runs one time

K extends keyof ClientEvents

K

Event name

(…args) => any

Listener callback

Client

EventHandler.once


setPresence(presence): Client

Defined in: package/src/classes/Client.ts:361

Updates the client’s presence and over the Gateway if connected

ClientPresenceProps

New presence information

Client

Client instance