It just gives the two variables put together instead of the sum of the two
Ex. 1 + 2 = 12 instead of 1 + 2 = 3 or args[1] + money = args[1]money instead of new value
x
const { RichEmbed } = require('discord.js');
module.exports = {
name: 'givemoney',
description: 'Gives User Money',
usage: '<username | id | mention | amount>',
run: (client, message, args, con) => {
const target = message.mentions.users.first() || message.guild.members.get(args[1]) || message.author;
if (!args[0]) {
return message.channel.send('This is args 1');
}
if (!args[1]) {
return message.channel.send('This is args 2');
}
con.query(`SELECT money FROM account WHERE id = '${target.id}'`, (err, rows) => {
if(err) throw err;
const money = rows[0].money;
parseInt(args[1].value, 10) + money;
const sql = `UPDATE account SET money = '${money}' WHERE id = '${target.id}'`;
con.query(sql);
message.channel.send(`You have given ${target} $${args[1]}, They now have $${money}`);
});
},
};
Advertisement
Answer
I can’t see where you are doing this operation and assigning it to a variable, maybe you mean this line parseInt(args[1].value, 10) + money;
? this line is not assigned to a variable, but anyway the issue you are face seems to be related to string concatenation instead of sum numbers just add a +
sign just right before your variables like this
let args = ["1", "2", "3"];
let money = "3";
let newVal = (+args[1]) + (+money);
console.log(newVal);