Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/spring-boot/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 查找是否有人在discord.js上获得了新角色_Node.js_Discord_Discord.js - Fatal编程技术网

Node.js 查找是否有人在discord.js上获得了新角色

Node.js 查找是否有人在discord.js上获得了新角色,node.js,discord,discord.js,Node.js,Discord,Discord.js,我想给我的服务器上的每个成员一个后缀。昵称应该是例如名称(角色)。 我试过简单的方法 client.on("guildMemberUpdate", function(oldMember, newMember){ //Here the setting }); 但这并不好。你能帮助我吗? 我觉得应该是这样的, guildMemberUpdate上的客户端: 检查某人的角色是否为xy: 给他一个后缀,比如name(role)。如果您是通过编程方式分配角色,那么如果您在代码的同一部分中处理角色

我想给我的服务器上的每个成员一个后缀。昵称应该是例如名称(角色)。 我试过简单的方法

client.on("guildMemberUpdate", function(oldMember, newMember){
    //Here the setting
});
但这并不好。你能帮助我吗? 我觉得应该是这样的, guildMemberUpdate上的客户端: 检查某人的角色是否为xy:
给他一个后缀,比如name(role)。

如果您是通过编程方式分配角色,那么如果您在代码的同一部分中处理角色的名称更改会更容易,因为您已经知道哪个角色是新角色,如果您不适合使用事件,您想要的是找到已添加的新角色,并在之后更改成员的名称

client.on(“guildMemberUpdate”,(旧会员、新会员)=>{
//获取已添加的角色
const newRole=newMember.roles.cache
.filter(r=>!oldMember.roles.cache.has(r.id))
.first()
//更改用户名
newMember.set昵称(`${newMember.displayName}(${newRole.name})`)
})

guildMemberUpdate事件在用户获得新昵称、删除角色等时也会发生。如果newRole为Null,请不要忘记返回。由于昵称限制为32个字符,此系统不会始终工作,当然这种情况很少发生,但可能不会发生。我认为这超出了问题的范围,还有很多事情需要记住,比如权限等等