Javascript 我的discord music机器人播放的音乐很好,1天后,没有任何变化,它给了我一个错误
我按照youtube的编码教程编写了一个音乐机器人,然后一点一点地升级了这个命令,我亲自测试了所有东西,直到它工作得非常完美。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]
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。