我的Discord
机器人
似乎我的脚本没有产生随机结果。
它在我把它放在embed
function doanswer() {
var answers = ["Yes", "No", Maybe ]
return answers[Math.floor(Math.random()*answers.length)];
}
var otazka = new Discord.RichEmbed()
.setColor(0x88f9ed)
.addField("Answer", ("your answer is: " + doanswer()));
答案 0 :(得分:0)
您可以这样做,而不是将答案放在嵌入中:
"```" + "Answer \n" + "your answer is: " + doanswer() + "```"
你可能无法获得自定义颜色,除非有一种我不了解的方式,但无论如何这都会很好看。
答案 1 :(得分:0)
尝试一下:
function doanswer() {
var answers = ["Yes", "No", "Maybe" ]
i = Math.floor(math.random()*answers.length);
return answers[i];
}
var otazka = new Discord.RichEmbed()
.setColor(0x88f9ed)
.addField("Answer", ("your answer is: " + doanswer()));
答案 2 :(得分:-1)
好像你的代码有2个问题:
你需要拥有"或者'围绕数组内的每个值。这意味着第一个代码块应如下所示:
function doanswer() {
var answers = ["Yes","No","Maybe"]
return answers[Math.floor(Math.random()*answers.length)];
}
answers.length
可能会导致你得到很多未定义的答案。这是因为您的数组只包含3个值。如果输入答案的长度(answers.length
)大于2,那么随机数发生器可能会得到一个数字,例如5.如果随机数发生器要求输入5,那么答案中的值不存在= [&# 39;是','否','可能'然后代码会自动将其指定为未定义。
摘要/提示:用"覆盖您的价值观或者'并且不要将数字放在大于数组值的随机数发生器中,定义函数外的变量/数组,var可以用var或const替换(https://medium.com/javascript-scene/javascript-es6-var-let-or-const-ba58b8dcde75以获取更多信息)
我建议您将代码更改为:
function doAnswer() {
var answers = ['Yes','No','Maybe'];
message.reply(answers[Math.floor(Math.random()*2)]);
}