我在 discord.js v12 中创建我的命令处理程序,但我一直收到此错误,即:无法读取未定义的属性“集”这是我的代码,这段代码在一个名为handlersconst { readdirSync, readdir } = require('fs');const ascii = require('ascii-table');let table = new ascii('commands');table.setHeading('Commands', 'Status');module.exports = (client) => { readdirSync('./commands/').forEach((dir) => { const commands = readdirSync(`./commands/${dir}/`).filter((file) => file.endsWith('.js') ); for (let file of commands) { let pull = require(`../commands/${dir}/${file}`); if (pull.name) { client.commands.set(pull.name, pull); table.addRow(file, '✅'); } else { table.addRow( file, `❌ -> Missing a help.name, or help.name in not a string.` ); continue; } if (pull.aliases && Array.isArray(pull.aliases)) pull.aliases.forEach((alias) => client.aliases.set(aliases, pull.name)); } }); console.log(table.toString());};在我的切入点,即main.js,我制作了一个新系列。
1 回答
倚天杖
TA贡献1828条经验 获得超3个赞
这里的问题是你在一个单独的文件中工作,所以你无法访问另一个文件中定义的变量
为了解决这个问题,在你的 main.js 文件中你需要使用一个module.exports.client = client并且在 handler.js 文件中你可以做const client = require("../main.js").client
您还必须确保在定义时client.commands为其提供正确的对象类型。一定是client.commands = new Discord.Collection()
添加回答
举报
0/150
提交
取消
