2017-07-02 98 views
0

因此,当我的机器人有人清除频道时,我想添加一个到清除量,然后将第一个值关闭,以便它不清除它们的命令,但是当我尝试1加入参数的值传递它只是把数字背后的价值...任何帮助,我在JS”实在太蹩脚了你们也如此......discord.js bot数学不正常

if (args[1]){ 
    var messagecount = args[1]; 
    var messagetotal = Math.floor(messagecount + 1); // Adding 1 to passed argument 
    console.log(messagetotal); // Outputting to console, Console is reading the argument with 1 on the end EX: arg: 2 | output: 21 
// message.channel.fetchMessages({limit: messagecount}).then(messages => message.channel.bulkDelete(messages).then(messages => message.channel.send("Purged `" + messages.size + "` messages."))); 
} else { 
// message.channel.send("Usage: !purge (Number)"); 
} 
+0

是messagecount一个字符串?也许尝试parseInt(messagecount)+ 1 –

+0

@KhauriMcClain是的,我个人不知道区别,因为我是JS新手,wigi帮助我。 – PMCJohn

回答

1

我不知道确切的args[1]的内容是,但关于您对错误的解释,似乎该值是一个格式为字符串的数字。

的区别:

字符串

args[1] = "1"; 
console.log(args[1] + 1); 

输出:"11"

整数

args[1] = 1; 
console.log(args[1] + 1); 

输出:2

如果您将一个数字添加到字符串中,它将被追加并且不会以数学方式添加。

要将数字字符串格式为整数,更换

var messagecount = args[1];

通过

var messagecount = parseInt(args[1]);

+0

非常感谢你<3 – PMCJohn