Shoukaku
Main Shoukaku class
Extends
Constructors
new Shoukaku()
new Shoukaku( connector: Connector, nodes: NodeOption[], options: ShoukakuOptions): ShoukakuParameters
| Parameter | Type | Description |
|---|---|---|
connector | Connector | A Discord library connector |
nodes | NodeOption[] | An array that conforms to the NodeOption type that specifies nodes to connect to |
options | ShoukakuOptions | Options to pass to create this Shoukaku instance |
Returns
Overrides
TypedEventEmitter<ShoukakuEvents>.constructor
Defined in
Properties
connections
readonly connections: Map<string, Connection>;Voice connections being handled
Defined in
connector
readonly connector: Connector;Discord library connector
Defined in
id
id: null | string;Shoukaku instance identifier
Defined in
nodes
readonly nodes: Map<string, Node>;Connected Lavalink nodes
Defined in
options
readonly options: Required<ShoukakuOptions>;Shoukaku options
Defined in
players
readonly players: Map<string, Player>;Players being handled
Defined in
Methods
addNode()
addNode(options: NodeOption): voidAdd a Lavalink node to the pool of available nodes
Parameters
| Parameter | Type |
|---|---|
options | NodeOption |
Returns
void
Defined in
emit()
emit<K>(eventName: K, ...args: ShoukakuEvents[Extract<K, string>]): booleanSynchronously 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 listenermyEmitter.on('event', function firstListener() { console.log('Helloooo! first listener');});// Second listenermyEmitter.on('event', function secondListener(arg1, arg2) { console.log(`event with parameters ${arg1}, ${arg2} in second listener`);});// Third listenermyEmitter.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 listenerType Parameters
| Type Parameter |
|---|
K extends symbol | keyof ShoukakuEvents |
Parameters
| Parameter | Type |
|---|---|
eventName | K |
…args | ShoukakuEvents[Extract<K, string>] |
Returns
boolean
Inherited from
Since
v0.1.26
Defined in
getIdealNode()
getIdealNode(connection?: Connection): undefined | NodeGets an ideal node based on the nodeResolver you provided
Parameters
| Parameter | Type | Description |
|---|---|---|
connection? | Connection | Optional connection class for ideal node selection, if you use it |
Returns
undefined | Node
An ideal node for you to do things with
Defined in
joinVoiceChannel()
joinVoiceChannel(options: VoiceChannelOptions): Promise<Player>Joins a voice channel
Parameters
| Parameter | Type |
|---|---|
options | VoiceChannelOptions |
Returns
Promise<Player>
The created player
Defined in
leaveVoiceChannel()
leaveVoiceChannel(guildId: string): Promise<void>Leaves a voice channel
Parameters
| Parameter | Type | Description |
|---|---|---|
guildId | string | The id of the guild you want to delete |
Returns
Promise<void>
The destroyed / disconnected player or undefined if none
Defined in
off()
off<K>(eventName: K, listener: (...args: ShoukakuEvents[Extract<K, string>]) => void): thisAlias for emitter.removeListener().
Type Parameters
| Type Parameter |
|---|
K extends symbol | keyof ShoukakuEvents |
Parameters
| Parameter | Type |
|---|---|
eventName | K |
listener | (…args: ShoukakuEvents[Extract<K, string>]) => void |
Returns
this
Inherited from
Since
v10.0.0
Defined in
on()
on<K>(eventName: K, listener: (...args: ShoukakuEvents[Extract<K, string>]) => void): thisAdds 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// aType Parameters
| Type Parameter |
|---|
K extends symbol | keyof ShoukakuEvents |
Parameters
| Parameter | Type | Description |
|---|---|---|
eventName | K | The name of the event. |
listener | (…args: ShoukakuEvents[Extract<K, string>]) => void | The callback function |
Returns
this
Inherited from
Since
v0.1.101
Defined in
once()
once<K>(eventName: K, listener: (...args: ShoukakuEvents[Extract<K, string>]) => void): thisAdds 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// aType Parameters
| Type Parameter |
|---|
K extends symbol | keyof ShoukakuEvents |
Parameters
| Parameter | Type | Description |
|---|---|---|
eventName | K | The name of the event. |
listener | (…args: ShoukakuEvents[Extract<K, string>]) => void | The callback function |
Returns
this
Inherited from
Since
v0.3.0
Defined in
removeNode()
removeNode(name: string, reason: string): voidRemove a Lavalink node from the pool of available nodes
Parameters
| Parameter | Type | Default value | Description |
|---|---|---|---|
name | string | undefined | Name of the node |
reason | string | 'Remove node executed' | Reason of removing the node |
Returns
void