Discord.js v12 Пытается создать игру «угадай число»

#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(‘сообщение’).

Вы должны выбрать, использовать ли сборщик сообщений или базу данных, чтобы сохранить текущий номер для гильдии. У вас есть выбор