Discord.js音乐机器人排队系统-无法读取未定义的属性“活动”

时间:2019-10-10 16:19:50

标签: javascript node.js discord discord.js

我正在使用YouTube教程系列制作音乐机器人,现在正在尝试制作音乐队列系统。我在这里使用他的视频:https://www.youtube.com/watch?v=7lY8v9pzDMM&list=PL6guWYQhlpHEqYCgb21u6nVNDRawHIDsR&index=3

当我执行命令_play并在其后放置一个URL时,会出现错误:

  

无法读取未定义的属性“活动”   在我的bot.js文件中,我定义了“活动”。

查看此处:

const active = new Map();

let ops = {
    active: active
}

有人知道我为什么会出错吗? 要查看我的完整代码,请参见此处:https://hastebin.com/eluvuhocuy.js(在一个hastebin文件中是三个js文件-请参阅注释以查看文件从何处开始)

1 个答案:

答案 0 :(得分:1)

看起来ops变量仅存在于bot.js文件中。如果要从其他文件访问它,则可以使用

将其设置为全局
// NOT recommended; global variables are generally considered bad
global.ops = { active } 

或将其设置为bot对象的属性,该对象将传递给您的其他命令:

// in bot.js
bot.ops = { active }

,然后通过将ops.active更改为bot.ops.active在其他文件中访问它。 我希望这会有所帮助!