为了账号安全,请及时绑定邮箱和手机立即绑定

discord.js | 无法读取未定义的属性“集”

discord.js | 无法读取未定义的属性“集”

慕运维8079593 2023-03-10 16:41:08
我在 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()


查看完整回答
反对 回复 2023-03-10
  • 1 回答
  • 0 关注
  • 91 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号