How do I take points? I only have a give

How do I add the ability to take points rather than just give?

client.on('ready', () => {
  console.log(`Logged in as ${client.user.tag}!`);
});

fs.readFile(__dirname + "/auth.txt", function(err, buff) {
	if(err && err.code !== 'EEXIST') {
		console.log(err);
	} else client.login(buff.toString())
});

fs.mkdir(__dirname + USER_DIR, function(err) {
	if(err && err.code !== 'EEXIST') {
		console.log(err);
	}
});

client.on('message', msg => {
  if (msg.content.startsWith("!s")) {
    var contents = msg.content.split(" ");
	if(typeof contents[1] == 'undefined') {
		msg.reply(CMD_HELP_ALL);
		msg.reply("debug1");
	} else {
		if(equalsIgnoreCase(contents[1], "give")) {
			if(!msg.member.hasPermission("MANAGE ROLES")) return;
			var ARGS_CHECK_VALIDITY = 3;
			for(var i = 0; i <= ARGS_CHECK_VALIDITY; i++) {
				var arrayIndex = (i + 1), arg = contents[arrayIndex];
				if(!arg || !arg.trim()) {
					bundleMessages(msg, [TOO_FEW_ARGS, CMD_HELP_ALL]);
					return;
				}
			}
			var tagged = msg.mentions.users;
			if(tagged.size != 1) {
				bundleMessages(msg, ["You silly Giga you must tag one user!", CMD_HELP_ALL]);
				return;
			}
			if(isNaN(contents[3])) {
				msg.reply("Gigawatt needs a real number! :(");
				return;
			}
			var points = contents[3];
			/* shift first 4 args */
			var SHIFT_ARGS = 3;
			for(var i = 0; i <= SHIFT_ARGS; i++) {
				contents.shift();
			}
			addPoint(tagged.get(tagged.firstKey()).tag, points, contents.join(" "));
		} else if(equalsIgnoreCase(contents[1], "list")) {
			msg.reply("Fetching data...");
			var membersCollection = msg.guild.members;
			var stringBuilder = SCOREBOARD_PREFIX;
			var map = new Map();
			membersCollection.forEach(function(member) {
				filePath = __dirname + USER_DIR + member.user.tag + ".json";
				if(!fs.existsSync(filePath)) {
					return;
				}
				fs.readFile(filePath, 'utf8', function callback(err, data) {
					if(err) {
						console.log(err);
					} else {
						dataFromJSON = JSON.parse(data);
						var total = 0;
						for(var date in dataFromJSON) {
							var pts = Number.parseInt(dataFromJSON[date].pts);
							total += pts;
						}
						map.set(member.user.tag, total);
					}
				});
			});
			setTimeout(function callback() {
				let sortMap = new Map([...map].sort(([user, pts], [user2, pts2]) => {
					if(pts < pts2) {
						return 1;
					} else if(pts > pts2) {
						return -1;
					} else return 0;
				}));
				let place = 1;
				sortMap.forEach(function callback(value, key) {
					stringBuilder += (place + ". **" + key.substring(0, (key.length - 5)) + "** - " + value.toString() + "\n");
					place++;
				});
				msg.reply(stringBuilder);
			}, 1000);
		} else if(equalsIgnoreCase(contents[1], "log")) {
			if(typeof contents[2] === 'undefined') {
				bundleMessages(msg, [TOO_FEW_ARGS, CMD_HELP_ALL]);
				return;
			}
			var tagged = msg.mentions.users;
			if(tagged.size != 1) {
				bundleMessages(msg, ["You silly Giga, you must tag one user!", CMD_HELP_ALL]);
				return;
			}
			var username = tagged.get(tagged.firstKey()).tag;
			filePath = __dirname + USER_DIR + username + ".json";
			if(!fs.existsSync(filePath)) {
				msg.reply("User has not recieved any spotlights! :o");
				return;
			}
			fs.readFile(filePath, 'utf8', function callback(err, data) {
				if(err) {
					console.log(err);
				} else {
					dataFromJSON = JSON.parse(data);
					var stringBuilder = POINTS_LOG_PREFIX;
					var total = 0;
					for(var date in dataFromJSON) {
						var d = new Date(date);
						var reason = dataFromJSON[date].reason, pts = Number.parseInt(dataFromJSON[date].pts);
						total += pts;
						stringBuilder += ( "*[" + d.toString() + "] Points: " + pts + " - Reason: " + reason + "*\n")
					}
					stringBuilder = stringBuilder.substr(0, (stringBuilder.length - 1)); //snip the break
					stringBuilder = stringBuilder.replace(new RegExp("%user%", 'g'), username);
					stringBuilder = stringBuilder.replace(new RegExp("%pts%", 'g'), total);
					msg.reply(stringBuilder);
				}
			});
		} else {
			bundleMessages(msg, {UNKNOWN_CMD, CMD_HELP_ALL});
		}
	}
  }
});

function bundleMessages(msg, array) {
	for(i = 0; i <= (array.length - 1); i++) {
		msg.reply(array[i]);
	}
}

function equalsIgnoreCase(a, b) {
    return a.toUpperCase() === b.toUpperCase();
}

function addPoint(username, amt, reason) {
	console.log("calling");
	var date = new Date();
	filePath = __dirname + USER_DIR + username + ".json";
	var passedData = {"pts":amt, "reason":reason};
	if(!fs.existsSync(filePath)) {
		var obj = {};
		obj[date.toJSON()] = passedData;
		fs.writeFile(filePath, JSON.stringify(obj, null, 4), function(err) {
			if(err) {
				console.log(err)
			}
		});
	} else {
		fs.readFile(filePath, 'utf8', function callback(err, data) {
			if(err) {
				console.log(err);
			} else {
				dataFromJSON = JSON.parse(data);
				dataFromJSON[date.toJSON()] = passedData;
				writableJSON = JSON.stringify(dataFromJSON, null, 4);
				fs.writeFile(filePath, writableJSON, function(err) {
					if(err) {
						console.log(err);
					}
				});
			}
		});
	}
}