#node.js #discord.js
Вопрос:
если еще не работает со мной
const filter = (reaction, user) => {
return ['🇦', '🇧', '🇨', '🇩'].includes(reaction.emoji.name) amp;amp; !user.bot;}
message.awaitReactions(filter, {max: 1, time: 20000, errors: ["time", "max"]})
.then(collected => {
console.log(random_question.correct)
var reaction = collected.first().emoji.name
console.log(reaction)
if (reaction == '🇦') {
if(random_question.correct == "0")
return message.channel.send("bạn vừa trả lời đúng rồi đấy")
else message.channel.send(`bạn vừa trả lời sai`)
}
else if (reaction == 'B') {
if(random_question.correct == "1")
return message.channel.send("bạn vừa trả lời đúng rồi đấy")
else message.channel.send(`bạn vừa trả lời sai`)
}
else if (reaction == 'C') {
if(random_question.correct == "2")
return message.channel.send("bạn vừa trả lời đúng rồi đấy")
else message.channel.send(`bạn vừa trả lời sai`)
}
else if (reaction == 'D') {
if(random_question.correct == "3")
return message.channel.send("bạn vừa trả lời đúng rồi đấy")
else message.channel.send(`bạn vừa trả lời sai`)
}
})
.catch (errors => {
message.channel.send(` hết giờ! `);
});
})
это выводится в консоль:
{
correct: 0,
content: [ 'Orissa', 'Tamil nadu', 'Andhra Pradesh', 'Kerala' ],
question: 'Heavy Water Project (Talcher) and Fertilizer plant (Paradeep) are famous industries of'
}
когда я выбираю «A», он будет отвечать правильно, но когда я выбираю B, C, D, я не могу получить ответ
, может ли кто-нибудь мне помочь?
Ответ №1:
У вас не может быть никаких условных операторов (или чего — либо еще) после return
ключевого слова-поместите код следующим образом:
const filter = (reaction, user) => {
return ['🇦', '🇧', '🇨', '🇩'].includes(reaction.emoji.name) amp;amp; !user.bot;}
message.awaitReactions(filter, {max: 1, time: 20000, errors: ["time", "max"]})
.then(collected => {
console.log(random_question.correct)
var reaction = collected.first().emoji.name
console.log(reaction)
if (reaction == '🇦') {
if(random_question.correct == "0")
return message.channel.send("bạn vừa trả lời đúng rồi đấy")
} else {
message.channel.send(`bạn vừa trả lời sai`)
}
else if (reaction == 'B') {
if(random_question.correct == "1")
return message.channel.send("bạn vừa trả lời đúng rồi đấy")
} else {
message.channel.send(`bạn vừa trả lời sai`)
}
else if (reaction == 'C') {
if(random_question.correct == "2")
return message.channel.send("bạn vừa trả lời đúng rồi đấy")
} else {
message.channel.send(`bạn vừa trả lời sai`)}
else if (reaction == 'D') {
if(random_question.correct == "3")
return message.channel.send("bạn vừa trả lời đúng rồi đấy")
} else {
message.channel.send(`bạn vừa trả lời sai`)
}
})
.catch (errors => {
message.channel.send(` hết giờ! `);
});
})
(Извините за плохой отступ)
Пояснение: возврат приводит к тому, что код после него не запускается. Кроме того, оператор else должен быть после окончания оператора if.