VoiceConnection

export declare class VoiceConnection extends EventEmitter
export declare class VoiceConnection extends EventEmitter
A connection to the voice server of a Guild, can be used to play audio in voice channels.

Extends

EventEmitter
constructor(joinConfig, options)
Creates a new voice connection.
NameTypeOptionalDescription
joinConfigJoinConfigNoThe data required to establish the voice connection
optionsCreateVoiceConnectionOptionsNoThe options used to create this voice connection
Readonly
ping:{ ws: number | undefined; udp: number | undefined; }
The latest ping (in milliseconds) for the WebSocket connection and audio playback for this voice connection, if this data is available.
Remarks
For this data to be available, the VoiceConnection must be in the Ready state, and its underlying WebSocket connection and UDP socket must have had at least one ping-pong exchange.
Readonly
receiver:VoiceReceiver
The receiver of this voice connection. You should join the voice channel with selfDeaf set to false for this feature to work properly.
rejoinAttempts:number
The number of consecutive rejoin attempts. Initially 0, and increments for each rejoin. When a connection is successfully established, it resets to 0.
The current state of the voice connection.
configureNetworking():void
Attempts to configure a networking instance for this voice connection using the received packets. Both packets are required, and any existing networking instance will be destroyed.
Remarks
This is called when the voice server of the connection changes, e.g. if the bot is moved into a different channel in the same guild but has a different voice server. In this instance, the connection needs to be re-established to the new voice server.The connection will transition to the Connecting state when this is called.
destroy(adapterAvailable?):void
Destroys the VoiceConnection, preventing it from connecting to voice again. This method should be called when you no longer require the VoiceConnection to prevent memory leaks.
NameTypeOptionalDescription
adapterAvailablebooleanYesWhether the adapter can be used
disconnect():boolean
Disconnects the VoiceConnection, allowing the possibility of rejoining later on.
Returns
true if the connection was successfully disconnected
dispatchAudio():boolean | undefined
Dispatches the previously prepared audio packet (if any)
Protected
onSubscriptionRemoved(subscription):void
Called when a subscription of this voice connection to an audio player is removed.
NameTypeOptionalDescription
subscriptionPlayerSubscriptionNoThe removed subscription
playOpusPacket(buffer):boolean | undefined
Prepares an audio packet and dispatches it immediately.
NameTypeOptionalDescription
bufferBufferNoThe Opus packet to play
prepareAudioPacket(buffer):Buffer | undefined
Prepares an audio packet for dispatch.
NameTypeOptionalDescription
bufferBufferNoThe Opus packet to prepare
rejoin(joinConfig?):boolean
Attempts to rejoin (better explanation soon:tm:)
Remarks
Calling this method successfully will automatically increment the rejoinAttempts counter, which you can use to inform whether or not you'd like to keep attempting to reconnect your voice connection.A state transition from Disconnected to Signalling will be observed when this is called.
NameTypeOptionalDescription
joinConfigOmit<JoinConfig, 'group' | 'guildId'>YesNone
setSpeaking(enabled):false | void
Updates the speaking status of the voice connection. This is used when audio players are done playing audio, and need to signal that the connection is no longer playing audio.
NameTypeOptionalDescription
enabledbooleanNoWhether or not to show as speaking
subscribe(player):PlayerSubscription | undefined
Subscribes to an audio player, allowing the player to play audio on this voice connection.
Returns
The created subscription
NameTypeOptionalDescription
playerAudioPlayerNoThe audio player to subscribe to
on(event, listener):this
Emitted when there is an error emitted from the voice connection
NameTypeOptionalDescription
event'error'NoNone
listener(error: Error) => voidNoNone