在 '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
});
因为 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
});