所以,我尝试用discord.js做一个ytdl的事情。我收到错误说
(node:6796)UnhandledPromiseRejectionWarning:未处理的promise promise(拒绝id:1):TypeError:Parameter" url"必须是一个字符串,而不是未定义"。
这是机器人应该玩的东西。 ((是的ytdl已定义))
const dispatcher = connection.playStream(ytdl(args[1]))
.on("end", () => {
console.log("song end");
})
.on("error", () => {
console.error(error);
});
答案 0 :(得分:0)
这基本上意味着"没有任何内容可以用于' url'或ytdl()
的参数。你应该检查它是否为空。
答案 1 :(得分:0)
尝试实现此功能:
function Play(connection, message)
{
var server = servers[message.guild.id];
server.dispatcher = connection.playStream(YTDL(server.queue[0], {filter: "audioonly"}));
server.queue.shift();
server.dispatcher.on("end", function(){
if(server.queue[0])
{
Play(connection, message);
}
else
{
connection.disconnect();
}
});
}
这实际上意味着当函数运行时,它将创建歌曲队列并按顺序播放。没有歌曲时,它将与语音通道断开连接。