receiver end event not triggering

Hello, does anyone know why my end event is never triggering? (last line)
const receiver = connection.receiver;

const audioStream = receiver.subscribe(user, {
end: {
behavior: 'after-silence',
duration: 50
}});

audioStream.on('data', (data) => {
const decoded = opusEncoder.decode(data);
audioData = Buffer.concat([audioData, decoded]);
});

audioStream.on('end', () => {
console.log("User stopped speaking");
});
const receiver = connection.receiver;

const audioStream = receiver.subscribe(user, {
end: {
behavior: 'after-silence',
duration: 50
}});

audioStream.on('data', (data) => {
const decoded = opusEncoder.decode(data);
audioData = Buffer.concat([audioData, decoded]);
});

audioStream.on('end', () => {
console.log("User stopped speaking");
});
Data is received correctly, but the end never happens. Any suggestions, please?
2 Replies
d.js toolkit
d.js toolkit4mo ago
- What's your exact discord.js npm list discord.js and node node -v version? - Not a discord.js issue? Check out #other-js-ts. - Consider reading #how-to-get-help to improve your question! - Explain what exactly your issue is. - Post the full error stack trace, not just the top part! - Show your code! - Issue solved? Press the button! - Marked as resolved by OP
desi
desi4mo ago
Solution (2 changes to my code): const { joinVoiceChannel, VoiceConnectionStatus,EndBehaviorType } = require('@discordjs/voice'); then use behavior: EndBehaviorType.AfterSilence