gpt4 book ai didi

javascript - 如何从一系列youtube视频链接中获取一系列youtube视频名称?

转载 作者:行者123 更新时间:2023-12-03 06:13:44 26 4
gpt4 key购买 nike

我正在制作一个不和谐的音乐机器人(我在这些问题中已经说了很多遍了),并且我正在专门研究queue命令,到目前为止,我遇到的唯一问题是从音乐队列中已有的YouTube链接数组。我想出的最好的方法来显示类似队列的内容是这样的

var server = servers[message.guild.id];
console.log('QUEUE:')

if(server === undefined || !server.queue[i]){
message.channel.send("No songs in the queue");
return;
}
for(let i = 0; i < server.queue.length; i++) {
YTDL.getInfo(server.queue[i], function(err,info) {
message.channel.send(info.title)
console.log(info.title)
})
}

唯一的问题是,它在发送队列时可能会被打断,而且看起来不太好。如果任何人可以帮助我,将不胜感激

最佳答案

在“The Coding Den”不和谐服务器上有人帮助我。他告诉我的解决方案是异步等待。

var server = servers[message.guild.id];

var queueTitles = []
function queueCheck(queueSpot) {
return new Promise((resolve, reject) => {
YTDL.getInfo(server.queue[queueSpot], (err, info) => {
if (err) reject(err);
resolve(info);
});
});
}
async function queueWait(queueWaitSpot) {
let info = await queueCheck(queueWaitSpot);
queueTitles.push(info.title)
}
console.log('QUEUE:')
if(server === undefined) {
console.log("No songs in the queue");
messagesend("No songs in the queue");
return;
}
for(let i = 0; i < server.queue.length; i++) {
await queueWait(i)
}
if(queueTitles.length === 0) {
console.log("No songs in the queue")
messagesend("No songs in the queue");
return;
}
console.log("```\n" + queueTitles.join('\n') + "\n```");
message.channel.send(queueTitles.join('\n'));

关于javascript - 如何从一系列youtube视频链接中获取一系列youtube视频名称?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47186151/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com