-1

我正在尝试制作一个机器人,如果您输入命令,它会给出随机响应,但我做得不太好:它说命令未定义?

这是代码:

const PREFIX = 'ly?';
if (command === 'topic') {
  function randomMessage() {
    var randomNumber = Math.round(Math.random() * 2); // 0, 1, 2, 3, 4 or 5
    switch (randomNumber) {
      case 0:
        return 'Helfdlo!';
      case 1:
        return 'Byfde!';
      case 2:
        return 'Ranfddom';
      case 3:
        return 'Hefdllo!';
      case 4:
        return 'Bfdye!';
      case 5:
        return 'Ranfddom';
    }
  }
}

我究竟做错了什么?谢谢

4

1 回答 1

0
if(command === 'topic')

命令没有预先定义。你必须自己做。在您的 PREFIX = 'ly?' 正下方添加此代码;

  const args = message.content.slice(PREFIX.length).trim().split(/ +/g);
  const command = args.shift().toLowerCase();

那应该这样做。

而且,Math.round(Math.random()*2) 不输出0-5 之间的数字,它输出 0-2 之间的数字。如果您想要 0-5 之间的数字,请使用 "Math.round(Math.random()*5)" 或 Math.floor"Math.random()*6"

于 2020-05-14T08:38:50.103 回答