Javascript 我的discord music机器人播放的音乐很好,1天后,没有任何变化,它给了我一个错误

Javascript 我的discord music机器人播放的音乐很好,1天后,没有任何变化,它给了我一个错误,javascript,discord,discord.js,Javascript,Discord,Discord.js,我按照youtube的编码教程编写了一个音乐机器人,然后一点一点地升级了这个命令,我亲自测试了所有东西,直到它工作得非常完美。1天后,当我尝试播放音乐时,我出现了错误,我不知道发生了什么 我试图删除代码中可能存在问题的一些内容,但最终没有一个是真正的问题 const YTDL = require('ytdl-core') function play(connection, message) { var server = servers[message.guild.id]

我按照youtube的编码教程编写了一个音乐机器人,然后一点一点地升级了这个命令,我亲自测试了所有东西,直到它工作得非常完美。1天后,当我尝试播放音乐时,我出现了错误,我不知道发生了什么

我试图删除代码中可能存在问题的一些内容,但最终没有一个是真正的问题

const YTDL = require('ytdl-core')

function play(connection, message)
    {
        var server = servers[message.guild.id]

        server.dispatcher = connection.playStream(YTDL(server.queue[0], {filter: "audioonly"}))

        server.dispatcher.on("end", function() {
            if(server.queue[0]) 
            {
                play(connection, message)




                const args = server.queue[0]
                YTDL.getInfo(args, function(err, info) {
                    const title = info.title
                    message.channel.send(`:musical_note: **${title}** is now playing!`)
                })
                server.queue.shift()
            }
            else 
            {
                connection.disconnect()
                message.channel.send(":warning: There are no more songs in the queue!")
            }
        })
    }



class playCommand extends commando.Command

    {   
        constructor(client)
        {
            super(client, {
                name: 'play',
                group: 'simple',
                memberName: 'play',
                description: 'idfl'
            })
        }

        async run(message, args)
        {
            if(!args[0])
            {
                message.channel.send("Please provide a link")
                return;
            }
            if(!message.member.voiceChannel)
            {
                message.channel.send("You must be in a voice channel")
                return;
            }
            if (message.content.includes("http://") || message.content.includes("https://")) {
                if (message.content.includes("youtube") || message.content.includes("youtu.be")) {

            if(!servers[message.guild.id]) servers[message.guild.id] = {queue: []}
            var server = servers[message.guild.id]
            server.queue.push(args)

            if(!message.guild.voiceConnection) message.member.voiceChannel.join().then(function(connection) {
                play(connection, message)
                const args = message.content.split(" ").slice(1);
                YTDL.getInfo(args.join(" "), function(err, info) {
                    const title = info.title
                message.channel.send(`:musical_note: **${title}** is now playing!`)
                    })
                    server.queue.shift()
                })

            }
            else
            {
                message.reply("Only youtube links!")
            }
        }
        else
        {
            message.reply("Only youtube links!")
        }
    }
}

module.exports = playCommand;
应该发生的事情是:机器人播放音乐并用他正在播放的歌曲发送消息,而就在1天前,这一切还非常顺利。这就是我犯的错误

C:\Users\Nume\Desktop\Bot\node_modules\opusscript\build\opusscript_native_wasm.js:8
var Module=typeof Module!=="undefined"?Module:{};var moduleOverrides={};var key;for(key in Module){if(Module.hasOwnProperty(key)){moduleOverrides[key]=Module[key]}}Module["arguments"]=[];Module["thisProgram"]="./this.program";Module["quit"]=function(status,toThrow){throw toThrow};Module["preRun"]=[];Module["postRun"]=[];var ENVIRONMENT_IS_WEB=false;var ENVIRONMENT_IS_WORKER=false;var ENVIRONMENT_IS_NODE=false;var ENVIRONMENT_HAS_NODE=false;var ENVIRONMENT_IS_SHELL=false;ENVIRONMENT_IS_WEB=typeof window==="object";ENVIRONMENT_IS_WORKER=typeof importScripts==="function";ENVIRONMENT_HAS_NODE=typeof process==="object"&&typeof process.versions==="object"&&typeof process.versions.node==="string";ENVIRONMENT_IS_NODE=ENVIRONMENT_HAS_NODE&&!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_WORKER;ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER;var scriptDirectory="";function locateFile(path){if(Module["locate

Error: This video is unavailable
    at C:\Users\Nume\Desktop\Bot\node_modules\ytdl-core\lib\info.js:255:16
    at Object.exports.<computed> [as getBasicInfo] (C:\Users\Nume\Desktop\Bot\node_modules\ytdl-core\lib\info.js:367:7)
    at exports.getFullInfo (C:\Users\Nume\Desktop\Bot\node_modules\ytdl-core\lib\info.js:211:18)
    at Function.exports.<computed> [as getInfo] (C:\Users\Nume\Desktop\Bot\node_modules\ytdl-core\lib\info.js:369:7)
    at ytdl (C:\Users\Nume\Desktop\Bot\node_modules\ytdl-core\lib\index.js:17:8)
    at play (C:\Users\Nume\Desktop\Bot\commands\simple\play.js:8:51)
    at StreamDispatcher.<anonymous> (C:\Users\Nume\Desktop\Bot\commands\simple\play.js:13:17)
    at StreamDispatcher.emit (events.js:209:13)
    at StreamDispatcher.destroy (C:\Users\Nume\Desktop\Bot\node_modules\discord.js\src\client\voice\dispatcher\StreamDispatcher.js:294:10)
    at AudioPlayer.destroyCurrentStream (C:\Users\Nume\Desktop\Bot\node_modules\discord.js\src\client\voice\player\AudioPlayer.js:77:18)
Emitted 'error' event on PassThrough instance at:
    at C:\Users\Nume\Desktop\Bot\node_modules\ytdl-core\lib\index.js:19:14
    at C:\Users\Nume\Desktop\Bot\node_modules\ytdl-core\lib\info.js:370:25
    at C:\Users\Nume\Desktop\Bot\node_modules\ytdl-core\lib\info.js:255:7
    at Object.exports.<computed> [as getBasicInfo] (C:\Users\Nume\Desktop\Bot\node_modules\ytdl-core\lib\info.js:367:7)
    [... lines matching original stack trace ...]
    at StreamDispatcher.emit (events.js:209:13)
C:\Users\Nume\Desktop\Bot\node\u modules\opusscript\build\opusscript\u native\u wasm.js:8
var模块=模块类型==“未定义”?模块:{};var moduleOverrides={};var键;对于(模块中的键){if(Module.hasOwnProperty(key)){moduleOverrides[key]=Module[key]}}Module[“arguments”]=[];模块[“thisProgram”]=“/this.program”;模块[“退出”]=函数(状态,toThrow){throw toThrow};模块[“预运行”]=[];模块[“后期运行”]=[];var环境_为_WEB=false;var环境_为_WORKER=false;var环境_为_节点=false;var环境_有_节点=false;var-ENVIRONMENT_是_SHELL=false;环境_IS_WEB=typeof window==“object”;环境_IS_WORKER=typeof importScripts==“函数”;环境_有_节点=进程类型==“对象”和进程类型。版本==“对象”和进程类型。版本。节点==“字符串”;环境\u是\u节点=环境\u有\u节点&!环境是网络&!环境是工人;环境是外壳=!环境是网络&!环境是节点&!环境是工人;var scriptDirectory=“”;函数locateFile(path){if(Module[“locate
错误:此视频不可用
在C:\Users\Nume\Desktop\Bot\node\u modules\ytdl core\lib\info.js:255:16
在Object.exports。[作为getBasicInfo](C:\Users\Nume\Desktop\Bot\node\U modules\ytdl core\lib\info.js:367:7)
在exports.getFullInfo(C:\Users\Nume\Desktop\Bot\node\u modules\ytdl core\lib\info.js:211:18)
在Function.exports.[as getInfo](C:\Users\Nume\Desktop\Bot\node\u modules\ytdl core\lib\info.js:369:7)
在ytdl(C:\Users\Nume\Desktop\Bot\node\u modules\ytdl core\lib\index.js:17:8)
播放时(C:\Users\Nume\Desktop\Bot\commands\simple\play.js:8:51)
在StreamDispatcher。(C:\Users\Nume\Desktop\Bot\commands\simple\play.js:13:17)
在StreamDispatcher.emit上(events.js:209:13)
在StreamDispatcher.destroy(C:\Users\Nume\Desktop\Bot\node\u modules\discord.js\src\client\voice\dispatcher\StreamDispatcher.js:294:10)
在AudioPlayer.destroyCurrentStream(C:\Users\Nume\Desktop\Bot\node\u modules\discord.js\src\client\voice\player\AudioPlayer.js:77:18)
在以下位置的PassThrough实例上发出了“error”事件:
在C:\Users\Nume\Desktop\Bot\node\u modules\ytdl core\lib\index.js:19:14
在C:\Users\Nume\Desktop\Bot\node\u modules\ytdl core\lib\info.js:370:25
位于C:\Users\Nume\Desktop\Bot\node\u modules\ytdl core\lib\info.js:255:7
在Object.exports。[作为getBasicInfo](C:\Users\Nume\Desktop\Bot\node\U modules\ytdl core\lib\info.js:367:7)
[…与原始堆栈跟踪匹配的行…]
在StreamDispatcher.emit上(events.js:209:13)

更新了ytdl core,之后运行良好

更新了ytdl core,之后运行良好

请参见
ytdl
包的GitHub。请参见
ytdl
包的GitHub。