feature/hidden stats
This commit is contained in:
1 file changed
+31
@@ -16,6 +16,11 @@ module.exports = {
|
|||||||
description: 'download the Nitrado logs and run checks now',
|
description: 'download the Nitrado logs and run checks now',
|
||||||
value: 'sync-logs',
|
value: 'sync-logs',
|
||||||
type: CommandOptions.SubCommand,
|
type: CommandOptions.SubCommand,
|
||||||
|
}, {
|
||||||
|
name: 'server-connection-stats',
|
||||||
|
description: 'view player connection stats',
|
||||||
|
value: 'server-connection-stats',
|
||||||
|
type: CommandOptions.SubCommand,
|
||||||
}],
|
}],
|
||||||
SlashCommand: {
|
SlashCommand: {
|
||||||
/**
|
/**
|
||||||
@@ -33,6 +38,32 @@ module.exports = {
|
|||||||
interaction.send({ content: 'Downloading and processing Nitrado logs now...', flags: (1 << 6) });
|
interaction.send({ content: 'Downloading and processing Nitrado logs now...', flags: (1 << 6) });
|
||||||
return client.logsUpdateTimer(client);
|
return client.logsUpdateTimer(client);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (args[0].name == 'server-connection-stats') {
|
||||||
|
let stats = GuildDB.playerstats;
|
||||||
|
|
||||||
|
let statsEmbed = new EmbedBuilder()
|
||||||
|
.setColor(client.config.Colors.Default)
|
||||||
|
.setDescription(`Server connection stats`);
|
||||||
|
|
||||||
|
let month3 = new Date().setMonth(new Date().getMonth() - 3);
|
||||||
|
let month3Players = stats.filter((stat) => stat.lastConnectionDate > month3);
|
||||||
|
statsEmbed.addFields({ name: 'Unique connections in the last 3 months', value: `${month3Players.length}`, inline: false });
|
||||||
|
|
||||||
|
let month = new Date().setMonth(new Date().getMonth() - 1);
|
||||||
|
let monthlyPlayers = stats.filter((stat) => stat.lastConnectionDate > month);
|
||||||
|
statsEmbed.addFields({ name: 'Unique connections in the last month', value: `${monthlyPlayers.length}`, inline: false });
|
||||||
|
|
||||||
|
let week = new Date(new Date().getTime() - 7 * 24 * 60 * 60 * 1000)
|
||||||
|
let weeklyPlayers = stats.filter((stat) => stat.lastConnectionDate > week);
|
||||||
|
statsEmbed.addFields({ name: 'Unique connections in the last week', value: `${weeklyPlayers.length}`, inline: false });
|
||||||
|
|
||||||
|
let today = new Date(new Date().getTime() - 1 * 24 * 60 * 60 * 1000)
|
||||||
|
let dailyPlayers = stats.filter((stat) => stat.lastConnectionDate > today);
|
||||||
|
statsEmbed.addFields({ name: 'Unique connections in the last 24 hours', value: `${dailyPlayers.length}`, inline: false });
|
||||||
|
|
||||||
|
return interaction.send({ embeds: [statsEmbed] });
|
||||||
|
}
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
Interactions: {}
|
Interactions: {}
|
||||||
|
|||||||
Reference in new issue
Block a user