Как я могу создать четно-нечетную команду для моего Discord.js бот?

#javascript #discord.js

#javascript #discord.js

Вопрос:

В настоящее время я создаю discord-бота. Я пытаюсь создать команду, которая определяет, является ли число четным или нечетным, evenodd . Однако мой бот ничего не отправляет, когда я отправляю «$ betterfly evenodd ‘number'».

Вот мой код:

 if (msg.content === '$betterfly evenodd') {
    if (msg.content.endsWith("0") || msg.content.endsWith("2") || msg.content.endsWith("4") || msg.content.endsWith("6") || msg.content.endsWith("8")) {
        msg.channel.send('Even');
    } else {
        msg.channel.send('Odd')
    }
}
  

Ответ №1:

Ну, для начала используйте по модулю ‘%’, чтобы получить остаток от деления на 2, если это 0, тогда число четное, если это не так, тогда оно нечетное.

Приведенный выше код ничего не возвращает, потому что он проверяет, равно ли отправленное сообщение ‘$ betterfly evenodd’ или нет, а затем снова проверяет, заканчивается ли оно цифрами, и это определенно не так, поэтому он не возвращает никаких сообщений.

Сделайте это вместо

 client.on('message', message => {
 
    var div_list = message.content.split(" "); 
    if (div_list.length == 3) {
        if(div_list[0] == "$betterfly" amp;amp; div_list[1] == 'evenodd')
        {
            var integer = parseInt(div_list[2], 10);
 
            if (integer % 2) {
                  message.channel.send('Odd');
            }
            else {
                  message.channel.send('Even');
            }
        } 
    }
});
  

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

1. спасибо за быстрый ответ, но теперь он рассылает спам, а не повторяет его один раз

2. @alexdev_ Я обновил и протестировал код, теперь он должен работать должным образом.