【发布时间】:2020-09-19 19:29:03
【问题描述】:
我在 discord.js v12 中创建了我的命令处理程序,但我不断收到此错误,即:
无法读取未定义的属性“集合”
这是我的代码,此代码位于名为 handlers 的文件夹中
const { 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 中,我创建了一个新集合。
【问题讨论】:
-
你定义
client.commands了吗? -
好吧,client.commands 是未定义的,我认为您不能有效地向自定义属性添加一些东西
-
我确实在入口点定义了 client.command。
标签: javascript node.js discord.js