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

Javascript discord.js |无法读取未定义的属性“set”,javascript,node.js,discord.js,Javascript,Node.js,Discord.js,我正在discord.js v12中生成命令处理程序,并且不断出现以下错误: 无法读取未定义的属性“set” 这是我的代码,这段代码在一个名为handlers的文件夹中 const{readdirSync,readdir}=require'fs'; 常量ascii=需要“ascii表”; let table=新的ascii“命令”; 表.设置标题“命令”、“状态”; module.exports=客户端=>{ readdirSync'/commands/'.forEachdir=>{ const

我正在discord.js v12中生成命令处理程序,并且不断出现以下错误:

无法读取未定义的属性“set”

这是我的代码,这段代码在一个名为handlers的文件夹中

const{readdirSync,readdir}=require'fs'; 常量ascii=需要“ascii表”; let table=新的ascii“命令”; 表.设置标题“命令”、“状态”; module.exports=客户端=>{ readdirSync'/commands/'.forEachdir=>{ const commands=readdirSync`./commands/${dir}/`.filterfile=> 文件.endsWith'.js' ; 用于命令的let文件{ 让pull=require`../commands/${dir}/${file}`; 如果拉。名字{ client.commands.setpull.name,pull; table.addRowfile,'✅'; }否则{ table.addRow 文件 `❌ -> 在非字符串中缺少help.name或help.name` ; 持续 } 如果pull.alias&&Array.isArraypull.alias pull.alias.forEachalias=>client.alias.setAlias,pull.name; } }; console.logtable.toString; };
在我的入口点main.js中,我创建了一个新集合。

这里的问题是您在一个单独的文件中工作,因此无法访问另一个文件中定义的变量

要解决这个问题,在main.js文件中需要使用module.exports.client=client,在handler.js文件中可以使用const client=require../main.js.client


您还必须确保在定义client.commands时为其指定了正确的对象类型。必须是client.commands=new Discord.Collection

您定义了client.commands吗?嗯,client.commands没有定义,我认为您无法有效地向自定义属性添加内容我在我的入口点中定义了client.commands。