NodeJS 如何在1个命令中随机化2个响应

j0pj023g  于 2023-03-29  发布在  Node.js
关注(0)|答案(1)|浏览(149)

我试图做一个不和谐的机器人,现在我在寻找一种方法来随机化同一命令上的两个或更多的响应,所以如果我说(例如)“苹果”,机器人可以用“橙子”或“梨”来响应
我试着这样做,但机器人总是回答“是”

if(command === 'caracola'){
  message.channel.send("Si", "No")
}
fae0ux8s

fae0ux8s1#

您可以使用Math.random()为选项生成一个随机数。
在您的情况下,有两个选择(是或否)。您可以使用以下方法暗示Math.random()

Math.floor(Math.random() * 2)

Math.random()给出0和1之间的随机数,而Math.floor()将自动将该数四舍五入到最接近的整数。
使用此引用,可以为可能的选项(Yes,No)创建数组

let ans = ["Yes", "No"];
if(command === 'caracola'){
  message.channel.send(ans[Math.floor(Math.random() * 2))]);
}

ans[0]; // returns "Yes";
ans[1]; // returns "No";

Array后面的[]中的数字表示其中项目的顺序。其中顺序从0开始

参考文献

ArrayMath.random()

相关问题