Discord js удаляет, если в сообщении много заглавных букв

#javascript #discord.js

#javascript #discord.js

Вопрос:

Я хочу, чтобы, если в сообщении много заглавных букв, бот обнаружил это и удалил.

Вот мой код:

 if (msg.content.length >= 10 amp;amp; msg.content.toUpperCase()) {
        msg.delete();
    }
 

Но этот код удаляйте, если в сообщении 11 слов. Пожалуйста, помогите мне. Заранее благодарю

Ответ №1:

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

В этом примере я создал функцию для удаления сообщения, если сообщение содержит более 10 прописных букв.

 const msg = "This Is a MESSAGE"
const msg2 = "THIS IS A MESSAGE"
const allowedAmount = 10

function deleteIfManyUppercase(msg) {
  const uppercaseLetters = msg.match(/[A-Z]/g)
  if (uppercaseLetters.length > allowedAmount) {
    console.log("Delete Msg", msg)
    // msg.delete()
  }
}

deleteIfManyUppercase(msg)
deleteIfManyUppercase(msg2)