Как исключить что-то из forEach по раздору. js - PullRequest
0 голосов
/ 30 апреля 2020

так что я в раздоре. js и делал команду, которая пинала всех с сервера. Дело в том, что я хотел пнуть всех, кроме себя, и я не знаю, как это сделать, и я не нашел никакого учебника по этому вопросу. Вот мой код:

bot.on("message", async message => {
    if(message.content.startsWith(`${prefix}gone`)) {
      message.guild.members.cache.forEach(member => member.ban())
    }

}
)

Я бы хотел, чтобы кто-то помог. Заранее спасибо +

Ответы [ 2 ]

1 голос
/ 30 апреля 2020

В вашем .forEach() l oop вам нужно добавить проверку, чтобы увидеть, имеет ли member тот же идентификатор, что и вы, чтобы вы могли сделать это двумя способами:

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

message.guild.members.cache.forEach(member => {
  if (member.id !== message.author.id) member.ban()
})

Или, если вы хотите просто сделать так, чтобы вас не забанили, то:

message.guild.members.cache.forEach(member => {
  if (member.id !== 'USER_ID') member.ban()
})

Вы также можете написать эти проверки внутри .filter() вроде так:

message.guild.members.cache.filter(member => member.id !== 'USER_ID').forEach(member => member.ban())
1 голос
/ 30 апреля 2020

Попробуйте что-то вроде этого:

const MY_USER_ID = 'your user id'
bot.on("message", async message => {
  if(message.content.startsWith(`${prefix}gone`)) {
    message.guild.members.cache.forEach(member => {
      if (member.id !== MY_USER_ID) {
        member.ban()
      }
    })
  }
})
...