Javascript 使用随机变量定义生成的最大数量
我正在尝试制作一个discord机器人,它允许用户与用户掷骰子,并设定一个用户定义的最大数量Javascript 使用随机变量定义生成的最大数量,javascript,Javascript,我正在尝试制作一个discord机器人,它允许用户与用户掷骰子,并设定一个用户定义的最大数量 if(cmd === `${prefix}roll`|| cmd === `${prefix}Roll`){ let ag = cmd.slice(5); message.channel.send("Roll The Dice!"); var roll = Math.floor((Math.random()* ag) + 1); message.c
if(cmd === `${prefix}roll`|| cmd === `${prefix}Roll`){
let ag = cmd.slice(5);
message.channel.send("Roll The Dice!");
var roll = Math.floor((Math.random()* ag) + 1);
message.channel.send(roll);
}
将“Math.random()*ag”中的ag替换为类似于10的东西会起作用,我只是不知道如何让它使用var
这不起作用,也不会返回终端中的任何错误问题在于
ag
的值。如果滑动cmd
我假设您想要创建一个介于1-6
在这种情况下,你可以这样做
if(cmd === `${prefix}roll`|| cmd === `${prefix}Roll`){
var ag = 6; // slice returns a string and the random generator works with a number.
message.channel.send("Roll The Dice!");
var roll = Math.floor((Math.random()* ag) + 1);
message.channel.send(roll);
}
更新
如果用户在cmd中指定一个数字为!roll20
由于if(cmd==${prefix}roll
)检查,上述代码根本不会执行
因此,如果用户剂量!Roll 20我怎样才能把20变成一个整数如果它解决了你的问题,考虑接受答案我会试试这个给我一点时间
cmd
的样本值是多少?它是否进入if
块?
if(cmd.startsWith(`${prefix}roll`) || cmd.startsWith(`${prefix}Roll`)){
var ag = /\d+/g.exec(cmd); // get the digits in the value
ag = ag ? ag[0] : 6 // check if there is a value or default to 6
message.channel.send("Roll The Dice!");
var roll = Math.floor((Math.random()* ag) + 1);
message.channel.send(roll);
}