Added Basic Leveling System and QoL Updates

This commit is contained in:
Ahmad 2025-03-09 15:52:10 -04:00
parent 7af6d5914d
commit b5ce514397
No known key found for this signature in database
GPG key ID: 8FD8A93530D182BF
15 changed files with 970 additions and 39 deletions

View file

@ -0,0 +1,36 @@
import { PermissionsBitField, SlashCommandBuilder } from 'discord.js';
import { Command } from '../../types/CommandTypes.js';
import { recalculateUserLevels } from '../../util/levelingSystem.js';
const command: Command = {
data: new SlashCommandBuilder()
.setName('recalculatelevels')
.setDescription('(Admin Only) Recalculate all user levels'),
execute: async (interaction) => {
if (
!interaction.memberPermissions?.has(
PermissionsBitField.Flags.Administrator,
)
) {
await interaction.reply({
content: 'You do not have permission to use this command.',
flags: ['Ephemeral'],
});
return;
}
await interaction.deferReply();
await interaction.editReply('Recalculating levels...');
try {
await recalculateUserLevels();
await interaction.editReply('Levels recalculated successfully!');
} catch (error) {
console.error('Error recalculating levels:', error);
await interaction.editReply('Failed to recalculate levels.');
}
},
};
export default command;