Discord.js 加入服务器时不协调自动角色

Discord.js 加入服务器时不协调自动角色,discord.js,Discord.js,我正在使用v12,这是我迄今为止尝试过的: client.on('guildMemberAdd',(guildMember)=>{ guildMember.roles.add( guildMember.guild.roles.find((r)=>r.name=='Newbie') ); }); Discord JS v12引入了管理者的概念,您将不再能够直接使用收集方法,例如GuildMember.roles.find。在尝试使用收集方法之前,您现在必须直接请求管理器上的缓存。(GuildMem

我正在使用v12,这是我迄今为止尝试过的:

client.on('guildMemberAdd',(guildMember)=>{
guildMember.roles.add(
guildMember.guild.roles.find((r)=>r.name=='Newbie')
);
});

Discord JS v12引入了管理者的概念,您将不再能够直接使用收集方法,例如
GuildMember.roles.find
。在尝试使用收集方法之前,您现在必须直接请求管理器上的缓存。(
GuildMember.roles.cache.find


client.on(“guildMemberAdd”,guildMember=>{//检测guildMember何时加入公会。
const Role=guildMember.guild.roles.cache.find(Role=>Role.name==“Newbie”);//按名称获取角色。
if(!Role)返回console.log(“无效角色”);//检查角色是否存在。
guildMember.roles.add(Role.id).catch(error=>console.log(error));//将角色添加到guildMember。
});

一点提示;GuildMemberRoleManager上的
add
方法接受RoleResolution作为参数,该参数可以是雪花或角色。这意味着您不一定需要
.add(Role.id)
,但是
.add(Role)
也可以。我不知道使用这两种方法是否有优势,但我认为有选择是很好的