Skip to content

Node

Represents a Lavalink node

Extends

Constructors

new Node()

new Node(manager: Shoukaku, options: NodeOption): Node

Parameters

ParameterTypeDescription
managerShoukakuShoukaku instance
optionsNodeOptionOptions on creating this node

Returns

Node

Overrides

TypedEventEmitter<NodeEvents>.constructor

Defined in

shoukaku/src/node/Node.ts:162

Properties

group?

readonly optional group: string;

Group in which this node is contained

Defined in

shoukaku/src/node/Node.ts:112


info

info: null | NodeInfo;

Information about lavalink node

Defined in

shoukaku/src/node/Node.ts:136


manager

readonly manager: Shoukaku;

Shoukaku class

Defined in

shoukaku/src/node/Node.ts:100


name

readonly name: string;

Name of this node

Defined in

shoukaku/src/node/Node.ts:108


reconnects

reconnects: number;

The number of reconnects to Lavalink

Defined in

shoukaku/src/node/Node.ts:124


rest

readonly rest: Rest;

Lavalink rest API

Defined in

shoukaku/src/node/Node.ts:104


sessionId

sessionId: null | string;

SessionId of this Lavalink connection (not to be confused with Discord SessionId)

Defined in

shoukaku/src/node/Node.ts:144


state

state: State;

The state of this connection

Defined in

shoukaku/src/node/Node.ts:128


stats

stats: null | Stats;

Statistics from Lavalink

Defined in

shoukaku/src/node/Node.ts:132


ws

ws: null | WebSocket;

Websocket instance

Defined in

shoukaku/src/node/Node.ts:140

Methods

connect()

connect(): void

Connect to Lavalink

Returns

void

Defined in

shoukaku/src/node/Node.ts:211


disconnect()

disconnect(code: number, reason?: string): void

Disconnect from Lavalink

Parameters

ParameterTypeDescription
codenumberStatus code
reason?stringReason for disconnect

Returns

void

Defined in

shoukaku/src/node/Node.ts:245


emit()

emit<K>(eventName: K, ...args: NodeEvents[Extract<K, string>]): boolean

Synchronously calls each of the listeners registered for the event named eventName, in the order they were registered, passing the supplied arguments to each.

Returns true if the event had listeners, false otherwise.

import { EventEmitter } from 'node:events';
const myEmitter = new EventEmitter();
// First listener
myEmitter.on('event', function firstListener() {
console.log('Helloooo! first listener');
});
// Second listener
myEmitter.on('event', function secondListener(arg1, arg2) {
console.log(`event with parameters ${arg1}, ${arg2} in second listener`);
});
// Third listener
myEmitter.on('event', function thirdListener(...args) {
const parameters = args.join(', ');
console.log(`event with parameters ${parameters} in third listener`);
});
console.log(myEmitter.listeners('event'));
myEmitter.emit('event', 1, 2, 3, 4, 5);
// Prints:
// [
// [Function: firstListener],
// [Function: secondListener],
// [Function: thirdListener]
// ]
// Helloooo! first listener
// event with parameters 1, 2 in second listener
// event with parameters 1, 2, 3, 4, 5 in third listener

Type Parameters

Type Parameter
K extends symbol | keyof ShoukakuEvents

Parameters

ParameterType
eventNameK
argsNodeEvents[Extract<K, string>]

Returns

boolean

Inherited from

TypedEventEmitter.emit

Since

v0.1.26

Defined in

shoukaku/src/Utils.ts:21


error()

error(error: Error): void

To emit error events easily

Parameters

ParameterTypeDescription
errorErrorerror message

Returns

void

Defined in

shoukaku/src/node/Node.ts:342


off()

off<K>(eventName: K, listener: (...args: NodeEvents[Extract<K, string>]) => void): this

Alias for emitter.removeListener().

Type Parameters

Type Parameter
K extends symbol | keyof ShoukakuEvents

Parameters

ParameterType
eventNameK
listener(…args: NodeEvents[Extract<K, string>]) => void

Returns

this

Inherited from

TypedEventEmitter.off

Since

v10.0.0

Defined in

shoukaku/src/Utils.ts:17


on()

on<K>(eventName: K, listener: (...args: NodeEvents[Extract<K, string>]) => void): this

Adds the listener function to the end of the listeners array for the event named eventName. No checks are made to see if the listener has already been added. Multiple calls passing the same combination of eventName and listener will result in the listener being added, and called, multiple times.

server.on('connection', (stream) => {
console.log('someone connected!');
});

Returns a reference to the EventEmitter, so that calls can be chained.

By default, event listeners are invoked in the order they are added. The emitter.prependListener() method can be used as an alternative to add the event listener to the beginning of the listeners array.

import { EventEmitter } from 'node:events';
const myEE = new EventEmitter();
myEE.on('foo', () => console.log('a'));
myEE.prependListener('foo', () => console.log('b'));
myEE.emit('foo');
// Prints:
// b
// a

Type Parameters

Type Parameter
K extends symbol | keyof ShoukakuEvents

Parameters

ParameterTypeDescription
eventNameKThe name of the event.
listener(…args: NodeEvents[Extract<K, string>]) => voidThe callback function

Returns

this

Inherited from

TypedEventEmitter.on

Since

v0.1.101

Defined in

shoukaku/src/Utils.ts:9


once()

once<K>(eventName: K, listener: (...args: NodeEvents[Extract<K, string>]) => void): this

Adds a one-time listener function for the event named eventName. The next time eventName is triggered, this listener is removed and then invoked.

server.once('connection', (stream) => {
console.log('Ah, we have our first user!');
});

Returns a reference to the EventEmitter, so that calls can be chained.

By default, event listeners are invoked in the order they are added. The emitter.prependOnceListener() method can be used as an alternative to add the event listener to the beginning of the listeners array.

import { EventEmitter } from 'node:events';
const myEE = new EventEmitter();
myEE.once('foo', () => console.log('a'));
myEE.prependOnceListener('foo', () => console.log('b'));
myEE.emit('foo');
// Prints:
// b
// a

Type Parameters

Type Parameter
K extends symbol | keyof ShoukakuEvents

Parameters

ParameterTypeDescription
eventNameKThe name of the event.
listener(…args: NodeEvents[Extract<K, string>]) => voidThe callback function

Returns

this

Inherited from

TypedEventEmitter.once

Since

v0.3.0

Defined in

shoukaku/src/Utils.ts:13