在Discord.js上使用8ball命令遇到问题

时间:2020-10-26 23:19:05

标签: javascript discord discord.js

如果用户说出“ 8ball”(问题)可以正常工作,但是如果他们只说出“ 8ball”而没有问题,则它不会回答询问“ Escriba una pregunta”的问题。


  function doMagic8BallVoodoo() {
    var rand = ['Si?', 'No me digas :0', 'nose, espero haberte ayudado', 'No >:)', 'Si tu lo crees', '._.', 'Si!'];

    return rand[Math.floor(Math.random()*rand.length)];
}

// Later in the code:
if(command === "8ball")
 if (!args) return message.reply(`Escriba una pregunta.`);
{
    message.channel.send('**La respuesta a tu pregunta es** ' + doMagic8BallVoodoo());
}

1 个答案:

答案 0 :(得分:1)

即使args是一个空数组,您的if语句也永远不会返回true。这是因为![]不等于true

相反,您应该检查args.lengthargs[0]是否虚假。如果数组为空,则args.length将返回0,这是一个虚假值(!0等于true),而args[0]将返回undefined,这也是一个虚假值(!undefined等于true)。

另外,您将括号放在if语句后的 后面,。

function doMagic8BallVoodoo() {
 var rand = [
  'Si?',
  'No me digas :0',
  'nose, espero haberte ayudado',
  'No >:)',
  'Si tu lo crees',
  '._.',
  'Si!',
 ];

 return rand[Math.floor(Math.random() * rand.length)];
}

// Later in the code:
if (command === '8ball') {
 if (!args.length) return message.reply(`Escriba una pregunta.`);
 message.channel.send(
  '**La respuesta a tu pregunta es** ' + doMagic8BallVoodoo()
 );
}

console.log(![]); // false
console.log(!0); // true
console.log(!undefined); // true