fix/handle null lastConnectionDate
This commit is contained in:
3 files changed
+15
-9
No files matched your search
@@ -42,13 +42,15 @@ async function migrate() {
|
||||
guild.server.playerstats.map(stat => stat.bountiesLength = stat.bounties.length);
|
||||
|
||||
// write JSON to file
|
||||
fs.writeFileSync(`${dir}/player_stats_backup.json`, JSON.stringify(guild.server.playerstats, null, 2));
|
||||
console.log(`A backup of playerstats was successfully created in ./backup/player_stats_backup.json in case of a fatal error.`);
|
||||
// fs.writeFileSync(`${dir}/player_stats_backup.json`, JSON.stringify(guild.server.playerstats, null, 2));
|
||||
// console.log(`A backup of playerstats was successfully created in ./backup/player_stats_backup.json in case of a fatal error.`);
|
||||
|
||||
const result = await players.insertMany(guild.server.playerstats, { ordered: true });
|
||||
console.log(`${result.insertedCount} documents were inserted`);
|
||||
// const result = await players.insertMany(guild.server.playerstats, { ordered: true });
|
||||
// console.log(`${result.insertedCount} documents were inserted`);
|
||||
|
||||
// delete guild.server.playerstats;
|
||||
delete guild.server.playerstats;
|
||||
|
||||
await guilds.updateOne({"server.serverID": guildId}, {$set: guild});
|
||||
|
||||
} catch (err) {
|
||||
throw new Error(`An error occured while attempting to migrate player stats: ${err}`)
|
||||
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "dayzr-bot",
|
||||
"version": "12.0.2",
|
||||
"version": "12.0.3",
|
||||
"description": "A General Purpose Discord Bot for DayZ Nitrado Servers.",
|
||||
"main": "index.js",
|
||||
"nodemonConfig": {
|
||||
|
||||
+7
-3
@@ -75,11 +75,15 @@ module.exports = {
|
||||
|
||||
let playerStat = await client.dbo.collection("players").findOne({"playerID": info.playerID});
|
||||
if (!client.exists(playerStat)) playerStat = getDefaultPlayer(info.player, info.playerID, client.config.Nitrado.ServerID);
|
||||
|
||||
|
||||
let oldUnixTime;
|
||||
let sessionTimeSeconds;
|
||||
const newDt = await client.getDateEST(info.time);
|
||||
const unixTime = Math.round(newDt.getTime() / 1000); // Seconds
|
||||
const oldUnixTime = Math.round(playerStat.lastConnectionDate.getTime() / 1000); // Seconds
|
||||
const sessionTimeSeconds = unixTime - oldUnixTime;
|
||||
if (playerStat.lastConnectionDate != null) {
|
||||
oldUnixTime = Math.round(playerStat.lastConnectionDate.getTime() / 1000); // Seconds
|
||||
sessionTimeSeconds = unixTime - oldUnixTime;
|
||||
} else sessionTimeSeconds = 0;
|
||||
if (!client.exists(playerStat.longestSessionTime)) playerStat.longestSessionTime = 0;
|
||||
|
||||
playerStat.totalSessionTime = playerStat.totalSessionTime + sessionTimeSeconds;
|
||||
|
||||
Reference in new issue
Block a user