Discord.js TypeError[ERR_INVALID_ARG_TYPE]:该;url";参数的类型必须为字符串

Discord.js TypeError[ERR_INVALID_ARG_TYPE]:该;url";参数的类型必须为字符串,discord.js,Discord.js,我正在使我的音乐机器人不和谐,这个错误出现了,我不知道如何修复它 错误:(节点:4484)未经处理的PromisejectionWarning:TypeError[ERR\u INVALID\u ARG\u TYPE]:“url”参数的类型必须为string。接收到数组的一个实例 代码: 在play函数中,您将整个data.fila数组提供给ytdl,但您应该只提供第一个对象的URL data.dispatcher=wait data.conectar.play(ytdl(data.fila[0

我正在使我的音乐机器人不和谐,这个错误出现了,我不知道如何修复它

错误:(节点:4484)未经处理的PromisejectionWarning:TypeError[ERR\u INVALID\u ARG\u TYPE]:“url”参数的类型必须为string。接收到数组的一个实例

代码:


play
函数中,您将整个
data.fila
数组提供给
ytdl
,但您应该只提供第一个对象的URL

data.dispatcher=wait data.conectar.play(ytdl(data.fila[0].url))

play
函数中,您向
ytdl
提供整个
数据.fila
数组,但您应该只提供第一个对象的URL

data.dispatcher=wait data.conectar.play(ytdl(data.fila[0].url))
module.exports.run = async (bot,message,args) => {
    if(!message.member.voice.channel) return message.reply("entra numa call ae para eu entra")
    if(!args[0]) return message.reply("tu pois o link para eu tocar um batidão ae?")

    let validade = await ytdl.validateURL(args[0])
    if (!validade) return message.reply("poe um link ae que e valido");

    let data = active.get(message.guild.id) || {};
    let info = await ytdl.getInfo(args[0])


    if(!data.conectar) data.conectar = await message.member.voice.channel.join();
    if(!data.fila) data.fila = [];
    data.guildID = message.guild.id;

    data.fila.push({
        songTitle: info.tile,
        requester: message.author.tag,
        url: args[0],
        announceChannel: message.channel.id
    });

    if(!data.dispatcher) play(bot, data);
    else {
        message.channel.send(`Adicionado na fila: ${info.title} | quem pois a música foi o: ${message.author.id}`);
    }

    active.set(message.guild.id, data);
}

async function play(bot, data) {
    bot.channels.cache.get(data.fila[0].announceChannel).send(`está tocando agora: ${data.fila[0].songTitle} | quem colocou a música foi o: ${data.fila[0].requester}`)

    data.dispatcher = await data.conectar.play(ytdl(data.fila))
    data.dispatcher.guildID = data.guildID;

    data.dispatcher.once('end', function() {
        end(bot, this);
    })
}

function end (bot, dispatcher) {
    let fetched = active.get(dispatcher.guildID);

    fetched.fila.shift()

    if(fetched.fila.length > 0) {
        active.get(dispatcher.guildID, fetched);

        play(bot, fetched);
    } else {
        active.delete(dispatcher.guildID);

        let vc = bot.guilds.set(dispatcher.guildID).me.voice.channel;
        if (vc) vc.leave();
    }
}