不能让discord.js用ytdl-core播放歌曲

时间:2017-11-25 18:01:26

标签: javascript discord discord.js

所以,我尝试用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); 
});

2 个答案:

答案 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();
        }
    });

}

这实际上意味着当函数运行时,它将创建歌曲队列并按顺序播放。没有歌曲时,它将与语音通道断开连接。