Поиск, получил ли кто-то новую роль на раздоре. js - PullRequest
1 голос
/ 07 апреля 2020

Я хотел бы дать суффикс каждому члену моего сервера. Псевдоним должен быть, например, Имя (роль) . Я попробовал простой

client.on("guildMemberUpdate", function(oldMember, newMember){
    //Here the setting
});

Но это было не хорошо. Вы можете помочь мне? Я думаю, это должно быть так: клиент на guildMemberUpdate: проверить, является ли кто-то роль xy: дать ему суффикс, например, имя (роль).

1 Ответ

1 голос
/ 07 апреля 2020

Если вы назначаете роль программно, было бы легче, если бы вы обрабатывали изменение имени роли в той же части кода, поскольку вы уже знаете, какая роль является новой, если это не так, вы правы. для использования события вам нужно найти новую роль, которая была добавлена, и изменить имя участника после

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})`)
})

См. Методы сбора

...