@TipoImya

Если пользователь написал сообщение и в нем есть упоминание пользователя, который есть в массиве в БД. Как сделать?

Допустим, пользователь написал сообщение: "<@упоминание>, тест тест". Если пользователь указал человека, который есть в массиве в бд, то бот, допустим, - пишет: "Принял."

как выглядит это в бд:
I2aHw
я пытался сделать так:
bot.on("message", message => {
  if(message.channel.name === "reports") {
    Guild.findOne({guildID: message.guild.id}, async(err, guild) => {
      if(err) console.log(err);
      if(!guild) {
        let NewGuild = new Guild({guildID: message.guild.id})
        NewGuild.save()
      }
      if(guild.ModersOnline.includes(message.content)) {
        message.channel.send("Принял.")
        console.log(message.content)
        console.log(message.content.includes(guild.ModersOnline))
      }
    })
  }
})
  • Вопрос задан
  • 51 просмотр
Пригласить эксперта
Ответы на вопрос 1
Alexandre888
@Alexandre888 Куратор тега Боты
Javascript-разработчик
var input = "Ruby" // ввод пользователя

var array = ["JavaScript", "Objective-C", "Ruby", "Python", "Haskell", "Clojure", "PHP", "C++"] // массив

var check = () => {
  if (array.includes(input)) { // если в массиве находится элемент "Ruby" (ввод пользователя), вернуть истину
    return true
  } else {
    return false // если нет - ложь
  }
}

console.log(check()) // true, в массиве есть элемент "Ruby"

input = input.replace("Ruby", "Swift") // заменили ввод пользователя на Swift

console.log(check()) // false, в массиве нету такого элемента
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы