Discord.js 加入服务器时不协调自动角色
我正在使用v12,这是我迄今为止尝试过的: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
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)
也可以。我不知道使用这两种方法是否有优势,但我认为有选择是很好的