From 845b4ed3b13e92a942602ee6051207c0bf342145 Mon Sep 17 00:00:00 2001 From: Yuzu Date: Sun, 5 Mar 2023 14:48:50 +0700 Subject: [PATCH] Hotfix discord breaking changes --- src/providers/DiscordMusicPlayer.ts | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/src/providers/DiscordMusicPlayer.ts b/src/providers/DiscordMusicPlayer.ts index 82e1977..08bb25c 100644 --- a/src/providers/DiscordMusicPlayer.ts +++ b/src/providers/DiscordMusicPlayer.ts @@ -282,6 +282,24 @@ export class DiscordMusicPlayerInstance { }, 2000); } ); + + // Hotfix for VoiceConnection stuck in signalling state around a minute + // https://github.com/discordjs/discord.js/issues/9185 + this.voiceConnection.on('stateChange', (oldState: VoiceConnectionState, newState: VoiceConnectionState) => { + const oldNetworking = Reflect.get(oldState, 'networking'); + const newNetworking = Reflect.get(newState, 'networking'); + + const networkStateChangeHandler = ( + oldNetworkState: VoiceConnectionState, + newNetworkState: VoiceConnectionState + ) => { + const newUdp = Reflect.get(newNetworkState, 'udp'); + clearInterval(newUdp?.keepAliveInterval); + }; + + oldNetworking?.off('stateChange', networkStateChangeHandler); + newNetworking?.on('stateChange', networkStateChangeHandler); + }); } public async leaveVoiceChannel() {