From fd75f692d59a2950626f7cdd682cdb14bd0b7481 Mon Sep 17 00:00:00 2001 From: neru Date: Thu, 15 Jan 2026 12:50:30 -0300 Subject: [PATCH] fix: cleanup streams on disconnection --- src/modules/audioStreams.ts | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/src/modules/audioStreams.ts b/src/modules/audioStreams.ts index ca69883..1533b1f 100644 --- a/src/modules/audioStreams.ts +++ b/src/modules/audioStreams.ts @@ -3,7 +3,8 @@ import { createAudioPlayer, createAudioResource, StreamType, - VoiceConnection + VoiceConnection, + VoiceConnectionStatus } from '@discordjs/voice'; import { AudioMixer } from 'node-audio-mixer'; import { PassThrough, Readable } from 'stream'; @@ -171,6 +172,16 @@ export class AudioStreamManager { stream = new MixedStream(); this.streams.set(conn, stream); conn.subscribe(stream.player); + + conn.on('stateChange', (_, newState) => { + if ( + newState.status === VoiceConnectionStatus.Disconnected || + newState.status === VoiceConnectionStatus.Destroyed + ) { + this.destroyStream(conn); + } + }); + return stream; }