6.13.0 track time played
This commit is contained in:
4 files changed
+25
-5
No files matched your search
@@ -18,6 +18,7 @@ module.exports = {
|
|||||||
required: true,
|
required: true,
|
||||||
choices: [
|
choices: [
|
||||||
{ name: "money", value: "money" },
|
{ name: "money", value: "money" },
|
||||||
|
{ name: "time_played", value: "time_played" },
|
||||||
{ name: "kills", value: "kills" },
|
{ name: "kills", value: "kills" },
|
||||||
{ name: "killstreak", value: "killstreak" },
|
{ name: "killstreak", value: "killstreak" },
|
||||||
{ name: "best_killstreak", value: "best_killstreak" },
|
{ name: "best_killstreak", value: "best_killstreak" },
|
||||||
@@ -65,6 +66,7 @@ module.exports = {
|
|||||||
if (category == 'deathstreak') return b.deathStreak - a.deathSreak;
|
if (category == 'deathstreak') return b.deathStreak - a.deathSreak;
|
||||||
if (category == 'worst_deathstreak') return b.worstDeathStreak - a.worstDeathStreak;
|
if (category == 'worst_deathstreak') return b.worstDeathStreak - a.worstDeathStreak;
|
||||||
if (category == 'longest_kill') return b.longestKill - a.longestKill;
|
if (category == 'longest_kill') return b.longestKill - a.longestKill;
|
||||||
|
if (category == 'time_played') return b.totalSessionTime - a.totalSessionTime;
|
||||||
});
|
});
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -81,7 +83,8 @@ module.exports = {
|
|||||||
category == 'deathstreak' ? "Current Deathstreak Leaderboard" :
|
category == 'deathstreak' ? "Current Deathstreak Leaderboard" :
|
||||||
category == 'worst_deathstreak' ? "Worst Deathstreak Leaderboard" :
|
category == 'worst_deathstreak' ? "Worst Deathstreak Leaderboard" :
|
||||||
category == 'longest_kill' ? "Longest Kill Leaderboard" :
|
category == 'longest_kill' ? "Longest Kill Leaderboard" :
|
||||||
category == 'money' ? "Money Leaderboard" : 'N/A Error';
|
category == 'money' ? "Money Leaderboard" :
|
||||||
|
category == 'time_played' ? "Time Played" : 'N/A Error';
|
||||||
|
|
||||||
leaderboardEmbed.setTitle(`**${title} - DayZ Reforger**`);
|
leaderboardEmbed.setTitle(`**${title} - DayZ Reforger**`);
|
||||||
|
|
||||||
@@ -94,13 +97,14 @@ module.exports = {
|
|||||||
category == 'deathstreak' ? `${leaderboard[i].deathStreak} Deathstreak` :
|
category == 'deathstreak' ? `${leaderboard[i].deathStreak} Deathstreak` :
|
||||||
category == 'worst_deathstreak' ? `${leaderboard[i].worstDeathStreak} Deathstreak` :
|
category == 'worst_deathstreak' ? `${leaderboard[i].worstDeathStreak} Deathstreak` :
|
||||||
category == 'longest_kill' ? `${leaderboard[i].longestKill}m` :
|
category == 'longest_kill' ? `${leaderboard[i].longestKill}m` :
|
||||||
category == 'money' ? `$${(leaderboard[i].user.guilds[GuildDB.serverID].balance).toLocaleString(undefined, {minimumFractionDigits: 2, maximumFractionDigits: 2})}` : 'N/A Error';
|
category == 'money' ? `$${(leaderboard[i].user.guilds[GuildDB.serverID].balance).toLocaleString(undefined, {minimumFractionDigits: 2, maximumFractionDigits: 2})}` :
|
||||||
|
category == 'time_played' ? `Total: ${client.secondsToDhms(leaderboard[i].totalSessionTime)}\nLast Session: ${leaderboard[i].lastSessionTime}` : 'N/A Error';
|
||||||
|
|
||||||
if (category == 'money') des += `**${i+1}.** <@${leaderboard[i].user.userID}> - **${stats}**\n`
|
if (category == 'money' || category == 'time_played') des += `**${i+1}.** <@${leaderboard[i].user.userID}> - **${stats}**\n`
|
||||||
else leaderboardEmbed.addFields({ name: `**${i+1}. ${leaderboard[i].gamertag}**`, value: `**${stats}**`, inline: true });
|
else leaderboardEmbed.addFields({ name: `**${i+1}. ${leaderboard[i].gamertag}**`, value: `**${stats}**`, inline: true });
|
||||||
}
|
}
|
||||||
|
|
||||||
if (category == 'money') leaderboardEmbed.setDescription(des);
|
if (category == 'money' || category == 'time_played') leaderboardEmbed.setDescription(des);
|
||||||
|
|
||||||
return interaction.send({ embeds: [leaderboardEmbed] });
|
return interaction.send({ embeds: [leaderboardEmbed] });
|
||||||
},
|
},
|
||||||
|
|||||||
+1
-1
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "dayz-armbands",
|
"name": "dayz-armbands",
|
||||||
"version": "6.12.4",
|
"version": "6.13.0",
|
||||||
"description": "A General Purpose Discord Bot for DayZ Servers.",
|
"description": "A General Purpose Discord Bot for DayZ Servers.",
|
||||||
"main": "index.js",
|
"main": "index.js",
|
||||||
"nodemonConfig": {
|
"nodemonConfig": {
|
||||||
|
|||||||
@@ -383,6 +383,8 @@ class DayzArmbands extends Client {
|
|||||||
lastDeathDate: null,
|
lastDeathDate: null,
|
||||||
lastHitBy: null,
|
lastHitBy: null,
|
||||||
connected: false,
|
connected: false,
|
||||||
|
totalSessionTime: 0,
|
||||||
|
lastSessionTime: "",
|
||||||
bounties: [],
|
bounties: [],
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -58,7 +58,21 @@ module.exports = {
|
|||||||
if (!client.exists(info.player) || !client.exists(info.playerID)) return stats;
|
if (!client.exists(info.player) || !client.exists(info.playerID)) return stats;
|
||||||
|
|
||||||
let playerStat = stats.find(stat => stat.playerID == info.playerID)
|
let playerStat = stats.find(stat => stat.playerID == info.playerID)
|
||||||
|
let playerStatIndex = stats.indexOf(playerStat);
|
||||||
if (playerStat == undefined) playerStat = client.getDefaultPlayerStats(info.player, info.playerID);
|
if (playerStat == undefined) playerStat = client.getDefaultPlayerStats(info.player, info.playerID);
|
||||||
|
if (!client.exists(playerStat.totalSessionTime)) playerStat.totalSessionTime = 0;
|
||||||
|
|
||||||
|
let newDt = await client.getDateEST(info.time);
|
||||||
|
let unixTime = Math.floor(newDt.getTime()/1000);
|
||||||
|
let oldUnixTime = Math.floor(data.lastConnectionDate.getTime()/1000);
|
||||||
|
let seconds = unixTime - oldUnixTime;
|
||||||
|
let sessionTime = client.secondsToDhms(seconds);
|
||||||
|
|
||||||
|
playerStat.totalSessionTime = playerStat.totalSessionTime + seconds;
|
||||||
|
playerStat.lastSessionTime = sessionTime;
|
||||||
|
|
||||||
|
if (playerStatIndex == -1) stats.push(playerStat);
|
||||||
|
else stats[playerStatIndex] = playerStat;
|
||||||
|
|
||||||
SendConnectionLogs(client, guildId, {
|
SendConnectionLogs(client, guildId, {
|
||||||
time: info.time,
|
time: info.time,
|
||||||
|
|||||||
Reference in new issue
Block a user