feature/hidden stats

This commit is contained in:
SowinskiBraeden committed 2023-10-22 10:53:54 -07:00
1 parent e1d300e172
commit 65f58c3a47
1 file changed
+31
+31
View File
@@ -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: {}