diff options
Diffstat (limited to 'bot/src/commands/stats.js')
| -rw-r--r-- | bot/src/commands/stats.js | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/bot/src/commands/stats.js b/bot/src/commands/stats.js new file mode 100644 index 0000000..9504386 --- /dev/null +++ b/bot/src/commands/stats.js @@ -0,0 +1,24 @@ +import { EmbedBuilder, SlashCommandBuilder } from 'discord.js'; +import { commandUsages } from '../models/command-usages.js'; +import { abEmbedColour } from '../storage/consts.js'; + +export default { + data: new SlashCommandBuilder() + .setName('stats') + .setDescription('Shows how many times you executed a command.'), + async execute(interaction) { + let cmdUsage = await commandUsages.findAll({ where: { userID: interaction.user.id } }); + const totalCommands = cmdUsage.length; + const guildCommands = cmdUsage.filter(cmd => cmd.guildID === interaction.guild.id).length; + + const statsEmbed = new EmbedBuilder() + .setAuthor({ name: `Stats for ${interaction.user.username}`, iconURL: interaction.client.user.avatarURL() }) + .addFields( + { name: 'Total Commands Executed', value: totalCommands.toString() }, + { name: 'Total Commands Executed in this Guild', value: guildCommands.toString() } + ) + .setColor(abEmbedColour); + + return await interaction.reply({ embeds: [statsEmbed] }); + } +}; |
