Все еще отправляет сообщение о сбое, даже когда у меня есть роль

#javascript #discord.js

#javascript #discord.js

Вопрос:

 if(!host || !Sadmin){
    msg.delete({ timeout: 5000 })
    msg.channel.send(hostmsg).then(hostmsg => hostmsg.delete({ timeout: 5000 }))
}else {
    msg.channel.send(suc)
    msg.guild.channels.create(name, {type: 'text'})  
}
  

итак, у меня есть роль хоста, но она по-прежнему отправляет hostmsg, а не сообщение об успехе

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

1. Что такое host и Sadmin ?

2. Вы проверили свои переменные host и Sadmin ? Попробуйте отправить их и посмотрите, что внутри. Например, перед этим if вы можете попробовать: msg.channel.send(JSON.stringify({host: !!host, Sadmin: !!Sadmin}))

Ответ №1:

Контекста не так много, так что это в некоторой степени предположение. Но я думаю, что вы хотите, чтобы hostMsg было отправлено, если у пользователя нет роли хоста или Садмина.

Однако if оператор, который у вас есть, проверяет, есть ли у вас host роль Или нет Sadmin роли. Поэтому, если у вас нет КАК host роли, так И Sadmin роли, он отправит hostmsg . Изменение || на amp;amp; сделает так, что если у вас есть host или Sadmin роль, оно отправит suc сообщение.