20 lines
794 B
TypeScript
20 lines
794 B
TypeScript
import { SlashCommandBuilder, ChatInputCommandInteraction } from 'discord.js';
|
|
import { SlashCommand } from '../../utils/types';
|
|
import { context } from '../../config/context';
|
|
|
|
const command: SlashCommand = {
|
|
guildOnly: true,
|
|
data: new SlashCommandBuilder()
|
|
.setName('rank')
|
|
.setDescription('Zeigt deinen XP-Status an.')
|
|
.addUserOption((opt) => opt.setName('user').setDescription('Nutzer (optional)')),
|
|
async execute(interaction: ChatInputCommandInteraction) {
|
|
if (!interaction.guildId) return;
|
|
const user = interaction.options.getUser('user') ?? interaction.user;
|
|
const level = context.leveling.getLevel(user.id, interaction.guildId);
|
|
await interaction.reply({ content: `${user.tag}: Level ${level.level}, XP ${level.xp}` });
|
|
}
|
|
};
|
|
|
|
export default command;
|