TypeError:无法读取未定义 Discord.js javascript 的属性“添加”

Posted

技术标签:

【中文标题】TypeError:无法读取未定义 Discord.js javascript 的属性“添加”【英文标题】:TypeError: Cannot read property 'add' of undefined Discord.js javascript 【发布时间】:2020-12-14 20:42:59 【问题描述】:

我正在处理静音命令并收到此错误

TypeError: Cannot read property 'add' of undefined

这是我的代码

const person = message.mentions.users.first() 
person.roles.add(muterole.id)

我尝试过: person.addRole 但它也不起作用 和 person.roles.add(muterole) 但它也不起作用

知道为什么吗?谢谢

【问题讨论】:

您必须在使用person.roles 的任何方法之前定义它。 @Teemu 怎么做?对不起,我是编码新手 @KhairaDenisa 最好找到您必须手动完成的提到的用户。来源:discordjs.guide/miscellaneous/… 【参考方案1】:

您必须使用message.mentions.members.first()User 没有任何角色,因为它代表 Discord 上的用户,而 Member 有角色,它代表 Guild (another answer) 中的 User

const person = message.mentions.members.first() 
person.roles.add(muterole.id)

【讨论】:

好的,但是现在出现了这个错误:UnhandledPromiseRejectionWarning: TypeError [INVALID_TYPE]: Supplied roles is not an Array or Collection of Roles or Snowflakes. 尝试记录您的 muterole 变量,并确保它不是未定义的

以上是关于TypeError:无法读取未定义 Discord.js javascript 的属性“添加”的主要内容,如果未能解决你的问题,请参考以下文章

(Discord.js)TypeError:无法读取未定义的属性“添加”

Discord.js:TypeError:无法读取未定义的属性“删除”

discord.js UnhandledPromiseRejectionWarning:TypeError:无法读取未定义的属性“可踢”

discord.js v13 TypeError:无法读取未定义的属性“createMessageCollector”

Discord.JS UnhandledPromiseRejectionWarning:TypeError:无法读取未定义的属性“startsWith”

“TypeError:无法读取未定义的属性‘split’” discord.js v12