что является противоположностью .has в javascript?

#javascript #discord #discord.js

Вопрос:

Здравствуйте, я новичок в javascript и пытаюсь закодировать бота discord. Все, что я делал, шло хорошо, пока я не попытался заставить своего бота дать кому-то роль. Я хотел, чтобы бот отправил сообщение, если у кого-то нет нужной ему роли администратора, он просто наберет одну команду, и она передаст ее ему.

Мой код для бота, чтобы дать роль «Администратор»:

 module.exports = {
    name: 'admin',
    description: "this is a role giving command!",
    execute(message, args){

        if(message.member.roles.cache.has('861973430189162538')){
            message.channel.send('You already have the role that you have requested!');


            
        }else if(message.member.roles.cache.has('861675046095028225')){  
            message.member.roles.add('861973430189162538').catch(console.error);
            message.channel.send('Here you go');

        }else if(message.member.roles.cache.not.has('861675046095028225')) {
            message.channel.send('You do not have the permissions to get this role!');

        }
    }
}
 

Комментарии:

1. Нет, вы должны отрицать всю ценность: if (!message.member.roles.cache.has(...)) . Однако в данном конкретном случае вам вообще не нужно второе условие.

2. Предположительно, вам не нужно условие if в вашем окончательном варианте, так как это было бы верно по конструкции?

3. Попробовал это ложкой, но не получилось

4. Теему, не могли бы вы перефразировать свой комментарий, потому что я его неправильно понял

5. Для этого нет возможности .has . Вместо этого прочитайте значение и отмените его с помощью логического оператора NOT ( ! ). Но, как также заявил Спунмейстер, вам не нужно это второе условие в этом коде, потому что это отрицательное условие всегда будет true при выполнении else части.