在 'guildMemberAdd' 处理程序中按名称获取角色

Get roles by name in a 'guildMemberAdd' handler

因为 member.guild.roles.get('roleName') 不再有效。我想知道是否有其他选择。 message.guild.roles.cache.find(role => role.name == 'My Role Name') 不是一个选项,因为我无权访问 'guildMemberAdd' 处理程序中的消息对象。

我的代码使用角色 ID 工作正常,但我想让它可用于其他服务器。

** 更新我的问题 这是我的代码:

const role1 = 'the id number here'; ---> this one I'd like to be by name 
const role2 = 'the id number here'); 
if (collected.first().emoji.name === '') { 
  member.roles.add(role1); 
} if (collected.first().emoji.name === ''){ 
  member.roles.add(role2); 
} else { return}

您可以从GuildMember

访问公会
client.on('guildMemberAdd', member => {
   // member.guild.roles.cache.find(...) - Callback similar to Array#find()
   // member.guild.roles.cache.get(...) - string id parameter only
});