From 378f56598d4aff6664a600f73ef48cfd340af208 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tr=C3=A8sAbhi?= <43380238+tresabhi@users.noreply.github.com> Date: Thu, 6 Jun 2024 19:31:53 -0500 Subject: [PATCH] feat: seasonal stats --- src/commands/rating.tsx | 24 ++++++++++++++++++++---- src/lang/en-US.json | 16 +++++++++++++++- 2 files changed, 35 insertions(+), 5 deletions(-) diff --git a/src/commands/rating.tsx b/src/commands/rating.tsx index da1d03914..ce5b919b5 100644 --- a/src/commands/rating.tsx +++ b/src/commands/rating.tsx @@ -1,3 +1,4 @@ +import { SlashCommandSubcommandBuilder } from 'discord.js'; import markdownEscape from 'markdown-escape'; import { Glow } from '../components/AllStatsOverview/components/HeroStat/components/Glow'; import CommandWrapper from '../components/CommandWrapper'; @@ -31,13 +32,28 @@ const LEAGUE_ACCENT = [ export const ratingCommand = new Promise((resolve) => { resolve({ - command: - createLocalizedCommand('rating').addStringOption(addUsernameChoices), + command: createLocalizedCommand('rating', [ + { + subcommand: 'today', + modify(option: SlashCommandSubcommandBuilder) { + option.addStringOption(addUsernameChoices); + }, + }, + { + subcommand: 'season', + modify(option: SlashCommandSubcommandBuilder) { + option.addStringOption(addUsernameChoices); + }, + }, + ]), inProduction: true, inPublic: true, async handler(interaction) { + const subcommand = interaction.options.getSubcommand(true) as + | 'season' + | 'today'; const { t, translate } = translator(interaction.locale); const { id, region } = await resolvePlayerFromCommand(interaction); const clan = (await getClanAccountInfo(region, id, ['clan']))?.clan; @@ -51,7 +67,7 @@ export const ratingCommand = new Promise((resolve) => { const leaderboard = await getArchivedRatingMidnightLeaderboard( region, - ratingInfo.current_season, + ratingInfo.current_season - (subcommand === 'today' ? 0 : 1), ); if (leaderboard?.format === BkrlFormat.Base) { @@ -101,7 +117,7 @@ export const ratingCommand = new Promise((resolve) => { diff --git a/src/lang/en-US.json b/src/lang/en-US.json index a3f3bb1f5..bd88ee6da 100644 --- a/src/lang/en-US.json +++ b/src/lang/en-US.json @@ -562,8 +562,22 @@ "$": "rating-session", "description": "Rating player's statistics", + "subcommands": { + "today": { + "$": "today", + "description": "Today's rating statistics" + }, + "season": { + "$": "season", + "description": "This season's rating statistics" + } + }, + "body": { - "subtitle": "Today's rating statistics" + "subtitle": { + "today": "Today's rating statistics", + "season": "This season's rating statistics" + } }, "errors": {