所以当我的机器人有人清除一个频道时,我想在清除量上添加一个,然后将第一个值分开,这样就不会清除它们的命令,但当我尝试将1添加到值时参数传递它只是把数字放在价值背后......任何帮助,我真的很蹩脚的JS所以你......
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 :(得分: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]);
答案 1 :(得分:-1)
FAILURE: Build failed with an exception.
* What went wrong:
Could not determine java version from '14'.
* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.