[英]TypeError: Cannot read property 'roles' of undefined || Discord.js
[英]Discord.JS:TypeError: Cannot read property 'roles' of undefined
这是代码。
case 'updatesrole' :
msg.react("✔️")
msg.reply("✔️ Added updates role!, to remove, do !removeupdatesrole")
let role = msg.guild.roles.cache.find(r => r.name === "Updates");
var member1 = msg.author
member1.roles.add(role)
case 'removeupdatesrole' :
member1.roles.remove(role)
}
})
我收到这个错误。
类型错误:无法读取未定义的属性“角色”
如果我正确阅读代码(格式有点奇怪),您将拥有一个 switch 语句并在其中一种情况下定义一个变量。 如果触发了不同的情况(在这种情况下(哈哈),“removeupdatesrole”),则永远不会创建该变量并抛出错误。 为了使用该变量,您需要在 case 中创建它,如下所示:
case 'removeupdatesrole' :
var member1 = msg.member
member1.roles.remove(role)
}
或者,如果多个情况使用它,则在整个 switch 语句之前创建它。
或者,您可以将代码简化为:
case 'removeupdatesrole' :
msg.member.roles.remove(role)
}
并且根本不必处理变量。
PS:修复此问题后,您必须对角色变量执行相同操作。 也在'removeupdatesrole' case 语句中声明它。
编辑:正如 Lioness100 在评论中指出的那样,应该使用 msg.member 而不是 msg.author 以使用户处于 Guild 而不是 Discord 的上下文中。 我已经相应地更新了代码片段。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.