#javascript #node.js #discord.js
#javascript #node.js #discord.js
Вопрос:
Я пытаюсь закодировать игру «угадай число». Это мой код:
if (message.content === `${Math.floor(Math.random() * 6) 1}`) {
const channel = message.client.channels.cache.get('755124858744078468');
const Member = message.channel.guild.roles.cache.get('725350761751511061');
const rightEmbed = new Discord.MessageEmbed()
.setColor('DARK_GREEN')
.setTitle(`${message.author.username} got the right number!`)
.setTimestamp()
.setFooter('PlanetMc Development');
message.channel.send({ embed: rightEmbed });
console.log(`${message.author.username} got the right number!`);
channel.updateOverwrite(Member, { SEND_MESSAGES: false });
message.channel.send('amp;reload guess');
}
Но это не работает и не возвращает никаких ошибок. Я должен был получить сообщение, потому что я перепробовал все числа от 1 до 6.
Комментарии:
1. Вы получили какую-либо ошибку?
2. Нет. проблема, должно быть, в чем-то здесь:
if (message.content === `${Math.floor(Math.random() * 6) 1}`) {
3. @Zeroknights откуда ты знаешь, что проблема в
if
заявлении? Что он делает и что он должен делать?4. Я не настолько новичок в discord.js а другие «команды» являются базовыми. Так что я почти уверен, что все остальное работает.
if
Оператор должен получить вам случайное число от 1 до 6.5. Вы можете попробовать каждое число от одного до шести, и оно все равно не сработает, но все равно будет работать. Поскольку каждый раз это новое случайное число, оно могло просто генерировать числа, подобные этому, например:
6, 6, 6, 6, 6, 5
.
Ответ №1:
Дело в том, что при появлении сообщения Math.floor(Math.random() * 6) 1
происходит сброс.
Это означает, что он сгенерирует новый номер при отправке client.on(‘сообщение’).
Вы должны выбрать, использовать ли сборщик сообщений или базу данных, чтобы сохранить текущий номер для гильдии. У вас есть выбор