我想给服务器上的每个成员都加一个后缀。昵称应为名称(角色)。 我尝试了简单的
client.on("guildMemberUpdate", function(oldMember, newMember){
//Here the setting
});
但这不是很好。你能帮助我吗? 我认为应该是这样的: 客户端在guildMemberUpdate上: 检查某人的角色是否为xy: 给他一个后缀,例如名字(角色)。
答案 0 :(得分:1)
如果您以编程方式分配角色,则在代码的同一部分中处理角色的名称更改会更容易,因为您已经知道哪个角色是新角色,如果不是,那么您是对的要使用该事件,您想要的是找到已添加的新角色并在此后更改成员的名称。
client.on("guildMemberUpdate", (oldMember, newMember) => {
// Get the role which has been added
const newRole = newMember.roles.cache
.filter(r => !oldMember.roles.cache.has(r.id))
.first()
// Change username
newMember.setNickname(`${newMember.displayName} (${newRole.name})`)
})