Код игрового автомата, который еще не работает, не содержит сообщения об ошибке?

#javascript #node.js #bots #discord #discord.js

#javascript #node.js #боты #Discord #discord.js

Вопрос:

Я новичок в кодировании и пытаюсь закодировать Discord bot. Последние несколько дней я пытался запустить код игрового автомата. Кажется, что я ничего не делаю, чтобы запустить код, и даже когда он запускается, он не будет работать, но не выдает кода ошибки. Я пытался найти его в Google, но довольно сложно что-то найти в Google, когда нет (предположительно) проблемы.

Я попытался изменить кодировку, я попытался поместить туда «message.channel.send» или запустить его с префиксом «слоты», я пробовал разные смайлики и вместо этого использовал пользовательские с нашего тестового сервера, и я пробовал со скобками / фигурными скобками и без них.

Код, который я использую для игры в слоты:

 exports.run = (client, message, args) => {
  let slots = [":Dratini:", ":Mankey:", ":Snorlax:"];
  let result1 = Math.floor((Math.random() * slots.length));
  let result2 = Math.floor((Math.random() * slots.length));
  let result3 = Math.floor((Math.random() * slots.length));
  let name = message.author.displayName;
  let icon = message.author.displayAvatarURL;

  if (slots[result1] === slots[result2] amp;amp; slots[result3]) {
    let embed = new Discord.RichEmbed()
       .setFooter('You won!', icon)
       .setTitle(':slot_machine: Slots :slot_machine:')
       .addField('Result:', slots[result1]   slots[result2]   slots[result3], true)
       .setColor(0xF4E842)
    message.channel.send(embed);

  } else {
    let embed2 = new Discord.RichEmbed()
       .setFooter('You lost!', icon)
       .setTitle(':slot_machine: Slots :slot_machine:')
       .addField('Result:', slots[result1]   slots[result2]   slots[result3], true)
       .setColor(0xF4E842)
    message.channel.send(embed2);
  }
}
  

Я ожидаю, что слот-игра рандомизирует смайлики, и когда все 3 из них совпадут, опубликуйте встроенное сообщение в Discord о том, что они выиграли (или опубликуйте его, если они проиграли). Вместо этого я даже не получаю сообщение об ошибке, и бот не играет в игру. («: Dratini», «: Mankey:», amp; «: Snorlax:» являются пользовательскими смайликами для сервера.)

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

1. как вы импортируете и вызываете функцию?

2. Честно говоря, я не уверен, что я вообще. Я следил за найденным руководством (которое, вероятно, больше не работает)… Вот оно, если это поможет: youtube.com/watch?v=VUf1wScwGF0 (Я только начинаю программировать, извините!)

3. Да, ошибка есть в руководстве. С инструментальной музыкой в фоновом режиме вместо каких-либо объяснений. Я бы не рекомендовал учиться на ретро-разработке.

4. Хорошо, я буду избегать их (мой плохой, я прочитал это неправильно). Кстати, я пробовал эти настройки, и они не сработали, но спасибо, я ценю помощь!

Ответ №1:

Здесь:

   if (slots[result1] === slots[result2] amp;amp; slots[result3]) {
  

это неправильный синтаксис. Должно быть что-то вроде:

   if (slots[result1] === slots[result2] amp;amp; slots[result1] === slots[result3]) {
  

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

   if (result1 === result2 amp;amp; result1 === result3) {