经过一些调试后,它确实找到了角色。但是,当我运行它时,它将输出到控制台:
people.user1.roles.add(redRole); ^
TypeError:无法读取未定义的属性“ add”
这是为什么?
const people = {
user1: String = "123456789101112131",
user2: String = "123456789101112132",
}
let redRole = message.guild.roles.cache.find(role => role.name === "Red");
let blueRole = message.guild.roles.cache.find(role => role.name === "Blue");
people.user1.roles.add(redRole);
people.user2.roles.add(blueRole);
console.log("Roles added.")
答案 0 :(得分:0)
首先从API获取要向其中添加角色的成员。就像找到角色对象一样,您还需要找到成员对象。在您的代码中,您尝试访问的是字符串的roles
属性,而不是真正的member
对象。
作为示例,假设您有一个id
和一个role-object
。您可以在message
事件中将该角色添加到成员,如下所示:
const member = message.guild.members.cache.get('id'); // get the member
member.roles.add('role-object or its id'); // add a role to the member you got above
还请记住,user
和member
是discord.js
中的两件事。您可以向member
添加角色,但不能向用户添加角色。