ytdl-core:“文件”参数必须为字符串类型。收到对象的实例

时间:2020-03-03 12:59:08

标签: javascript node.js discord.js

我想创建一个discord.js Discrod机器人。现在我正在使用ffmpeg和ytdl-core创建一个音乐模块,当我运行命令时它会响应: https://pastebin.com/6GwkRfSA。我该如何运作?

const Discord = require('discord.js');
const client = new Discord.Client();

const YTDL = require("ytdl-core");

var servers = {

}

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

client.on('ready', () => {
    console.log(`Logged in as ${client.user.tag}!`);
});

client.on('message', msg => {
    const args = msg.content.trim().split(/ +/g);
    const cmd = args.shift().toLowerCase();
        if (cmd == "$play") {
        if (!args[0]) {
            msg.channel.send("Forgot about link!");
            return;
        }
        if (!msg.member.voiceChannel) {
            msg.channel.send("Join a voica channel first!");
            return;
        }
        if (!servers[msg.guild.id]) servers[msg.guild.id] = {
            queue: []
        };

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

        server.queue.push(args[0])

        if(!msg.guild.voiceConnection) ( msg.member.voiceChannel.join())
        .then(function(connection) {
            play(connection, msg);
        })
    }
});

client.login(MYTOKEN);

0 个答案:

没有答案