Javascript Discord JS clearTimeout未重置setTimeout
我没有按计划工作。如果我跳过歌曲或停止队列,计时器将继续,但不会用clearTimeout重置Javascript Discord JS clearTimeout未重置setTimeout,javascript,discord,discord.js,cleartimeout,Javascript,Discord,Discord.js,Cleartimeout,我没有按计划工作。如果我跳过歌曲或停止队列,计时器将继续,但不会用clearTimeout重置 function play(guild, song) { const serverQueue = queue.get(guild.id); if (!song) { clearTimeout(timeoutID); timeoutID = null; var timeoutID = setTimeout(function() {serverQueue.voiceCha
function play(guild, song) {
const serverQueue = queue.get(guild.id);
if (!song) {
clearTimeout(timeoutID);
timeoutID = null;
var timeoutID = setTimeout(function() {serverQueue.voiceChannel.leave();}, 10000);
queue.delete(guild.id);
return;
}
options = {
quality: 'highestaudio'
};
const dispatcher = serverQueue.connection
.play(ytdl(song.url), { quality: 'highestaudio'})
.on("finish", () => {
serverQueue.songs.shift();
play(guild, serverQueue.songs[0]);
})
.on("error", error => console.error(error));
dispatcher.setVolumeLogarithmic(serverQueue.volume / 5);
serverQueue.textChannel.send(":musical_note: Started Playing: " + `**${song.title}**`);
}
您正在访问引用之前的
timeoutID
,我尝试在timeoutID之后放置clearTimeout,但当我再次跳过或停止一首歌曲时,计时器不会再次启动,并且bot会停留在服务器上,不会断开连接