Код:
async function play(connection, songs, guild_queue) {
guild_queue.play = true;
const music = await ytdld(songs[0], { filter: 'opus audioonly', format: 'mp3' });
const play = connection.playOpusStream(music, { voulme: 0.5 });
play.on('end', end => {
console.log(end);
songs.shift();
if (songs.length > 0) {
play(connection, songs, guild_queue);
} else {
connection.disconnect();
guild_queue.play = true;
}
});
}
async function play(connection,songs,guild_queue) {
guild_queue.play = true;
let music = await ytdld(songs[0],{filter: 'opus audioonly',format: "mp3"});
let play = connection.playOpusStream(music,{voulme: 0.5});
play.on('end', (end) =>{
console.log(end);
songs.shift();
if(songs.length > 0) {
// вы уже переписали play
// там сейчас хранится результат connection.playOpusStream(music,{voulme: 0.5});
// который не является функцией, поэтому и ошибка
play(connection,songs,guild_queue);
} else {
connection.disconnect();
guild_queue.play = true;
}
})
}
Просто поменяйте название переменной внутри функции play, что бы не было оверрайда
Продвижение своими сайтами как стратегия роста и независимости