В основном мой код здесь говорит о том, что если пользователь отправляет сообщение !submit ___
, то файл leaderboard.json
увеличит их счет на единицу.
Это все работает отлично, однако, например, их количество изменяется от 0 до1, в следующий раз, когда тот же человек отправит !submit
, их счет должен увеличиться с 1 до 2 без необходимости перезапуска сценария каждый раз.К сожалению, этого не происходит ... Я отправляю !submit
, и мой счетчик меняется с 0 на 1, но затем я отправляю его снова, и он остается с 0 до 1.
Leaderboard.json:
{
"usercount<@386679122614681600>": 0
}
index.js:
client.on('message', msg => {
if (msg.content.startsWith("!submit ")){
var shoe = msg.content.substr("!submit ".length);
var fs = require('fs')
fs.readFile('leaderboard.json', 'utf8', function (err,data) {
if (err) {
return console.log(err);
}
var user = msg.member;
var usercount = 'usercount'+user
var username = 'usercount'+user
var LEADERBOARD = require('./leaderboard.json');
var countvalue = LEADERBOARD[username]
var countvalue2 = countvalue+1
var replacetext = ('"'+usercount+'": '+countvalue).toString()
var newtext = ('"'+usercount+'": '+(countvalue2)).toString()
fs.writeFile('leaderboard.json', data.replace(replacetext, newtext),
'utf8', function () {
if (err) return console.log(err);
});
console.log('NEW SUBMISSION: '+replacetext+' >>>> '+newtext)
});
}
Вот как выглядит моя консоль после отправки! Дважды отправьте:
Когда технически вторая строка должна переходить с 1 на 2, без необходимости закрывать и перезапускать скрипт.
Я знаю, что это может показатьсянемного сложно, но любая помощь будет оценена!