Как проверить роль участника в Discord.js 12: методы и примеры

Чтобы проверить роль участника в Discord.js (версия 12), вы можете использовать следующие методы:

  1. Использование свойства GuildMember.roles: вы можете получить доступ к свойству rolesобъекта GuildMember, который возвращает RoleManagerколлекция, содержащая все роли, которые имеет участник. Затем вы можете перебирать коллекцию или использовать такие методы, как RoleManager.cache, чтобы получить роли и проверить, существует ли определенная роль.
const member = message.guild.member(user); // Assuming 'user' is the member you want to check
const roleId = '1234567890'; // Replace with the actual role ID you want to check
if (member.roles.cache.has(roleId)) {
  // The member has the specified role
} else {
  // The member does not have the specified role
}

<старый старт="2">

  • Использование свойства GuildMember.roles.cache: аналогично описанному выше методу вы можете напрямую получить доступ к свойству cacheGuildMember.rolesдля получения коллекции ролей. Затем вы можете использовать такие методы, как Collection.has(), чтобы проверить, существует ли роль.
  • const member = message.guild.member(user); // Assuming 'user' is the member you want to check
    const roleId = '1234567890'; // Replace with the actual role ID you want to check
    if (member.roles.cache.has(roleId)) {
      // The member has the specified role
    } else {
      // The member does not have the specified role
    }
    1. Использование метода GuildMember.roles.cache.some(): этот метод позволяет вам проверить, удовлетворяет ли хотя бы одна роль в коллекции ролей участника условию. Вы можете передать функцию обратного вызова, которая проверяет каждую роль на соответствие указанному вами условию.
    const member = message.guild.member(user); // Assuming 'user' is the member you want to check
    const roleId = '1234567890'; // Replace with the actual role ID you want to check
    if (member.roles.cache.some(role => role.id === roleId)) {
      // The member has the specified role
    } else {
      // The member does not have the specified role
    }