Discord bot, как проверить пользователя перед выполнением задачи

#discord #discord.js

#Discord #discord.js

Вопрос:

Итак, я пытаюсь создать персонального бота для severs, который выполняет мои действия, но я не могу проверить пользователя

Мой код находится в следующем :

        if(!message.author.username === ('>.<')) {
            message.channel.send('You aint my master! ._.');
            return;
        }else if(!mentionMember) {
            message.channel.send('You forgot to mention the user you idiot');
            return;
        };
  

Но при выполнении команды бот выполняет другую строку кода, и результат выглядит следующим образом :

 You forgot to mention the user you idiot
  

Это не предполагаемый результат, и я не знаю, что с ним не так

пожалуйста, помогите, спасибо 🙂

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

1. Как mentionMember определяется?

2. @Lioness100 я не понимаю, что ты имеешь в виду? я понятия не имею, как это определяется. пожалуйста, объясните

3. Я имею в виду, что ??? в const mentionMember === ???

4. я определил это по-другому: let mentionMember = message.mentions.members.first();

Ответ №1:

Какое у вас имя пользователя? Имейте в виду, что (‘>.<‘) анализируется как >.< , вы должны использовать «(‘>.<‘)», если эти скобки указаны в вашем имени пользователя,

Также вы использовали !message.author.username === ('>.<') , предположим, ваше имя пользователя >.< , !message.author.username было интерпретировано как false (поскольку отрицание строки равно false) и false и >.< не равны, поэтому первое утверждение было интерпретировано как false .

То, что вы ищете, это

 if(message.author.username !== '>.<') {
            message.channel.send('You aint my master! ._.');
            return;
        }else if(!mentionMember) {
            message.channel.send('You forgot to mention the user you idiot');
            return;
        };
  

Кроме того, использование имен пользователей — очень и очень ПЛОХАЯ идея, поскольку любой может изменить имя пользователя на ваше, используйте идентификаторы пользователей discord. Скопируйте свой идентификатор пользователя (для этого необходимо включить режим разработчика)

Скопируйте идентификатор пользователя

и используйте message.author.id === "1234567890" , где 1234567890 ваш идентификатор.

итак, наконец, это то, что вы должны делать:

 if(message.author.id!== "1234567890") {
            message.channel.send('You aint my master! ._.');
            return;
        }else if(!mentionMember) {
            message.channel.send('You forgot to mention the user you idiot');
            return;
        };
  

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

1. мое имя пользователя>.< но я попробую arthur id редактировать: к сожалению, arthur id не решает проблему, и если у вас есть какие-либо предложения, пожалуйста, объясните

2. О, кстати!»Any string» == false, я думаю, что вы не должны этого делать!(имя пользователя === «это») или лучше имя пользователя! == «это»

3. вы хотите, чтобы я изменил код? я не совсем понимаю, как это мне поможет. о, подождите, вы только что отредактировали это, неважно

4. пожалуйста, включите это в ответ, поскольку я не могу извлечь из этого много смысла, поскольку я новичок в discord.js или js в целом

5. позвольте добавить это к ответу