From 6b175238b2543424e1c1c5a2e17d8bada2a0655e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tr=C3=A8sAbhi?= <43380238+tresabhi@users.noreply.github.com> Date: Sat, 27 Apr 2024 11:07:58 -0500 Subject: [PATCH] feat: subtitle --- src/commands/replay.tsx | 29 +++++++++++++++++++++++------ src/core/blitzkit/isDev.ts | 4 ++++ 2 files changed, 27 insertions(+), 6 deletions(-) diff --git a/src/commands/replay.tsx b/src/commands/replay.tsx index 019b99961..d7e95a4d8 100644 --- a/src/commands/replay.tsx +++ b/src/commands/replay.tsx @@ -1,7 +1,11 @@ import { clamp } from 'lodash'; import CommandWrapper from '../components/CommandWrapper'; import TitleBar from '../components/TitleBar'; +import { getClanAccountInfo } from '../core/blitz/getClanAccountInfo'; +import { idToRegion } from '../core/blitz/idToRegion'; +import { emblemURL } from '../core/blitzkit/emblemURL'; import { iconPng } from '../core/blitzkit/iconPng'; +import { mapDefinitions } from '../core/blitzkit/mapDefinitions'; import { RenderConfiguration } from '../core/blitzkit/renderConfiguration'; import { tankDefinitions } from '../core/blitzkit/tankDefinitions'; import { TIER_ROMAN_NUMERALS } from '../core/blitzkit/tankDefinitions/constants'; @@ -461,6 +465,7 @@ export const replayCommand = new Promise((resolve) => { ), async handler(interaction) { + const awaitedMapDefinitions = await mapDefinitions; const file = interaction.options.getAttachment('file')!; // const file = { // url: 'https://cdn.discordapp.com/ephemeral-attachments/1232434891652861972/1232781496016834581/20240328_1530__TresAbhi_M60_1157057448155406708.wotbreplay?ex=662ab4bc&is=6629633c&hm=c784cd10e80232350ddaf291fa987b879c4d0a8083b78298c9eee4fa0d507f6c&', @@ -479,20 +484,30 @@ export const replayCommand = new Promise((resolve) => { const replayData = (await fetch( `https://api.wotinspector.com/v2/blitz/replays/${replayId}/`, ).then((response) => response.json())) as WotInspectorReplay; - const protagonistTeamId = replayData.players_data.find( - (player) => player.dbid === replayData.protagonist, - )!.team; - const antagonistTeamId = 3 - protagonistTeamId; + const antagonistTeamId = 3 - replayData.protagonist_team; const players = replayData.players_data.sort( (a, b) => b.damage_made - a.damage_made, ); + const clan = ( + await getClanAccountInfo( + idToRegion(replayData.protagonist), + replayData.protagonist, + ['clan'], + ) + )?.clan; + const clanImage = clan ? emblemURL(clan.emblem_set_id) : undefined; return [ new RenderConfiguration({ width: 960 }),
((resolve) => { {await Promise.all( players - .filter((player) => player.team === protagonistTeamId) + .filter( + (player) => player.team === replayData.protagonist_team, + ) .map((player) => playerListing( player, diff --git a/src/core/blitzkit/isDev.ts b/src/core/blitzkit/isDev.ts index 701b97c13..d0a31f455 100644 --- a/src/core/blitzkit/isDev.ts +++ b/src/core/blitzkit/isDev.ts @@ -1,3 +1,7 @@ +import { config } from 'dotenv'; + +config(); + const devHostStartNames = [ 'blitzkrieg-', 'localhost',