Discord.js 找不到公会的角色

Discord.js cannot find role from guild

我正在使用 discord.js 制作 Discord 机器人,但是,它不允许我获取公会的角色并找到特定的角色。这有点令人困惑,所以这是代码:

//Note: this is inside a messageReactionAdd event
let guild = reaction.message.guild;
console.log(guild.id);
console.log(guild.roles);
let role = guild.roles.cache.find(r => r.name == "Member");
reaction.member.roles.add(role);

控制台显示公会 ID 和一长串角色和信息映射,但它在定义 role 的行中显示 roles is not a property of undefined。我不知道为什么要这样做。

您的问题不在角色本身,您的问题在 reaction.member。反应没有成员 属性.

只需更改此->

reaction.member.roles.add(role);

至(messageReactionAdd有用户参数)->

guild.members.cache.get(user.id).roles.add(role)