diff options
Diffstat (limited to 'src/commands/moulberry-bush/level.ts')
-rw-r--r-- | src/commands/moulberry-bush/level.ts | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/src/commands/moulberry-bush/level.ts b/src/commands/moulberry-bush/level.ts index 6dda91a..a70ebf1 100644 --- a/src/commands/moulberry-bush/level.ts +++ b/src/commands/moulberry-bush/level.ts @@ -1,4 +1,5 @@ import { Message } from 'discord.js'; +import { CommandInteraction } from 'discord.js'; import { User } from 'discord.js'; import { BotCommand } from '../../lib/extensions/BotCommand'; import { Level } from '../../lib/models'; @@ -23,6 +24,14 @@ export default class LevelCommand extends BotCommand { optional: true } } + ], + slashCommandOptions: [ + { + type: 6, + name: 'user', + description: 'The user to get the level of', + required: false + } ] }); } @@ -43,4 +52,22 @@ export default class LevelCommand extends BotCommand { ); } } + async execSlash(message: CommandInteraction): Promise<void> { + const user = + message.options.find((o) => o.name === 'user')?.user || message.user; + const userLevelRow = await Level.findByPk(user.id); + if (userLevelRow) { + await message.reply( + `${user.id !== message.user.id ? `${user.tag}'s` : 'Your'} level is ${ + userLevelRow.level + } (${userLevelRow.xp} XP)` + ); + } else { + await message.reply( + `${ + user.id !== message.user.id ? `${user.tag} does` : 'You do' + } not have a level yet!` + ); + } + } } |