discord.js bot数学不正常
问题描述:
因此,当我的机器人有人清除频道时,我想添加一个到清除量,然后将第一个值关闭,以便它不清除它们的命令,但是当我尝试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)");
}
答
我不知道确切的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
非常感谢你 PMCJohn
是messagecount一个字符串?也许尝试parseInt(messagecount)+ 1 –
@KhauriMcClain是的,我个人不知道区别,因为我是JS新手,wigi帮助我。 – PMCJohn