fix: more imports

This commit is contained in:
TrèsAbhi committed 2024-09-08 10:11:24 -05:00
1 parent 25cfb7db74
commit 4f24db0956
182 files changed
+456 -452

No files matched your search

@@ -1,6 +1,5 @@
import { Region } from '@blitzkit/core'; import { getRatingInfo, Region } from '@blitzkit/core';
import { NextResponse } from 'next/server'; import { NextResponse } from 'next/server';
import getRatingInfo from '../../../../../../../website/src/core/blitz/getRatingInfo';
export async function GET( export async function GET(
request: Request, request: Request,
+1 -1
View File
@@ -1,4 +1,4 @@
import { blitzStarsTankAverages } from '@blitzkit/core/src/blitzstars/tankAverages'; import { blitzStarsTankAverages } from '@blitzkit/core';
import { NextResponse } from 'next/server'; import { NextResponse } from 'next/server';
export async function GET() { export async function GET() {
@@ -1,6 +1,5 @@
import { tankDefinitions, usersDatabase } from '@blitzkit/core'; import { tankDefinitions, TankVotes, usersDatabase } from '@blitzkit/core';
import { NextRequest, NextResponse } from 'next/server'; import { NextRequest, NextResponse } from 'next/server';
import { TankVotes } from '../../../../../../core/src/blitzkit/votes';
import { isValidBlitzId } from '../../../../../../website/src/core/blitz/isValidBlitzId'; import { isValidBlitzId } from '../../../../../../website/src/core/blitz/isValidBlitzId';
import { import {
BlitzkitResponse, BlitzkitResponse,
@@ -1,8 +1,9 @@
import { tankDefinitions, usersDatabase } from '@blitzkit/core';
import { import {
TANK_VOTE_CATEGORIES, TANK_VOTE_CATEGORIES,
tankDefinitions,
TankVoteCategory, TankVoteCategory,
} from '@blitzkit/core/src/blitzkit/votes'; usersDatabase,
} from '@blitzkit/core';
import { NextRequest, NextResponse } from 'next/server'; import { NextRequest, NextResponse } from 'next/server';
import { StarsInt } from '../../../../../../website/src/app/tools/tankopedia/[id]/components/Model/MetaSection/components/Stars'; import { StarsInt } from '../../../../../../website/src/app/tools/tankopedia/[id]/components/Model/MetaSection/components/Stars';
import { isValidBlitzId } from '../../../../../../website/src/core/blitz/isValidBlitzId'; import { isValidBlitzId } from '../../../../../../website/src/core/blitz/isValidBlitzId';
@@ -1,18 +1,18 @@
import { getBlitzStarsLinkButton } from '../../core/blitzstars/getBlitzStarsLinkButton'; import { getBlitzStarsLinkButton } from '../../core/blitzstars/getBlitzStarsLinkButton';
import addPeriodicFilterOptions from '../../core/discord/addPeriodicFilterOptions'; import { addPeriodicFilterOptions } from '../../core/discord/addPeriodicFilterOptions';
import addUsernameChoices from '../../core/discord/addUsernameChoices'; import { addUsernameChoices } from '../../core/discord/addUsernameChoices';
import autocompleteTanks from '../../core/discord/autocompleteTanks'; import { autocompleteTanks } from '../../core/discord/autocompleteTanks';
import autocompleteUsername from '../../core/discord/autocompleteUsername'; import { autocompleteUsername } from '../../core/discord/autocompleteUsername';
import { buttonRefresh } from '../../core/discord/buttonRefresh'; import { buttonRefresh } from '../../core/discord/buttonRefresh';
import commandToURL from '../../core/discord/commandToURL'; import { commandToURL } from '../../core/discord/commandToURL';
import { createLocalizedCommand } from '../../core/discord/createLocalizedCommand'; import { createLocalizedCommand } from '../../core/discord/createLocalizedCommand';
import { getCustomPeriodParams } from '../../core/discord/getCustomPeriodParams'; import { getCustomPeriodParams } from '../../core/discord/getCustomPeriodParams';
import { getFiltersFromButton } from '../../core/discord/getFiltersFromButton'; import { getFiltersFromButton } from '../../core/discord/getFiltersFromButton';
import { getFiltersFromCommand } from '../../core/discord/getFiltersFromCommand'; import { getFiltersFromCommand } from '../../core/discord/getFiltersFromCommand';
import resolvePeriodFromButton from '../../core/discord/resolvePeriodFromButton'; import { resolvePeriodFromButton } from '../../core/discord/resolvePeriodFromButton';
import resolvePeriodFromCommand from '../../core/discord/resolvePeriodFromCommand'; import { resolvePeriodFromCommand } from '../../core/discord/resolvePeriodFromCommand';
import resolvePlayerFromButton from '../../core/discord/resolvePlayerFromButton'; import { resolvePlayerFromButton } from '../../core/discord/resolvePlayerFromButton';
import resolvePlayerFromCommand from '../../core/discord/resolvePlayerFromCommand'; import { resolvePlayerFromCommand } from '../../core/discord/resolvePlayerFromCommand';
import { CommandRegistry } from '../../events/interactionCreate'; import { CommandRegistry } from '../../events/interactionCreate';
import { renderBreakdown } from './render'; import { renderBreakdown } from './render';
@@ -1,25 +1,25 @@
import { import {
blitzStarsTankAverages,
BlitzStats, BlitzStats,
calculateWN8,
filterStats, filterStats,
getWN8Percentile,
StatFilters, StatFilters,
TankDefinition, TankDefinition,
tankDefinitions, tankDefinitions,
} from '@blitzkit/core'; } from '@blitzkit/core';
import { blitzStarsTankAverages } from '@blitzkit/core/src/blitzstars/tankAverages';
import calculateWN8 from '@blitzkit/core/src/statistics/calculateWN8';
import getWN8Percentile from '@blitzkit/core/src/statistics/getWN8Percentile';
import { Locale } from 'discord.js'; import { Locale } from 'discord.js';
import { chunk } from 'lodash'; import { chunk } from 'lodash';
import { getAccountInfo } from '../../../../website/src/core/blitz/getAccountInfo'; import { getAccountInfo } from '../../../../website/src/core/blitz/getAccountInfo';
import { getClanAccountInfo } from '../../../../website/src/core/blitz/getClanAccountInfo'; import { getClanAccountInfo } from '../../../../website/src/core/blitz/getClanAccountInfo';
import getTankStats from '../../../../website/src/core/blitz/getTankStats'; import { getTankStats } from '../../../../website/src/core/blitz/getTankStats';
import { UserError } from '../../../../website/src/hooks/userError'; import { UserError } from '../../../../website/src/hooks/userError';
import * as Breakdown from '../../components/Breakdown'; import * as Breakdown from '../../components/Breakdown';
import CommandWrapper from '../../components/CommandWrapper'; import { CommandWrapper } from '../../components/CommandWrapper';
import NoData from '../../components/NoData'; import { NoData } from '../../components/NoData';
import TitleBar from '../../components/TitleBar'; import { TitleBar } from '../../components/TitleBar';
import { filtersToDescription } from '../../core/blitzkit/filtersToDescription'; import { filtersToDescription } from '../../core/blitzkit/filtersToDescription';
import getStatsInPeriod from '../../core/blitzstars/getStatsInPeriod'; import { getStatsInPeriod } from '../../core/blitzstars/getStatsInPeriod';
import { ResolvedPeriod } from '../../core/discord/resolvePeriodFromCommand'; import { ResolvedPeriod } from '../../core/discord/resolvePeriodFromCommand';
import { ResolvedPlayer } from '../../core/discord/resolvePlayerFromCommand'; import { ResolvedPlayer } from '../../core/discord/resolvePlayerFromCommand';
import { translator } from '../../core/localization/translator'; import { translator } from '../../core/localization/translator';
+17 -15
View File
@@ -2,31 +2,33 @@ import { Locale, SlashCommandSubcommandGroupBuilder } from 'discord.js';
import { getAccountInfo } from '../../../website/src/core/blitz/getAccountInfo'; import { getAccountInfo } from '../../../website/src/core/blitz/getAccountInfo';
import { getClanAccountInfo } from '../../../website/src/core/blitz/getClanAccountInfo'; import { getClanAccountInfo } from '../../../website/src/core/blitz/getClanAccountInfo';
import { emblemURL } from '../../../website/src/core/blitzkit/emblemURL'; import { emblemURL } from '../../../website/src/core/blitzkit/emblemURL';
import CommandWrapper from '../components/CommandWrapper'; import { CommandWrapper } from '../components/CommandWrapper';
import * as Graph from '../components/Graph'; import * as Graph from '../components/Graph';
import { LineColor } from '../components/Graph/components/Line/constants'; import { LineColor } from '../components/Graph/components/Line/constants';
import NoData from '../components/NoData'; import { NoData } from '../components/NoData';
import TitleBar from '../components/TitleBar'; import { TitleBar } from '../components/TitleBar';
import resolveTankId from '../core/blitz/resolveTankId'; import { resolveTankId } from '../core/blitz/resolveTankId';
import { getBlitzStarsLinkButton } from '../core/blitzstars/getBlitzStarsLinkButton'; import { getBlitzStarsLinkButton } from '../core/blitzstars/getBlitzStarsLinkButton';
import getPlayerHistories from '../core/blitzstars/getPlayerHistories'; import { getPlayerHistories } from '../core/blitzstars/getPlayerHistories';
import getTankHistories from '../core/blitzstars/getTankHistories'; import { getTankHistories } from '../core/blitzstars/getTankHistories';
import { addPeriodSubCommands } from '../core/discord/addPeriodSubCommands'; import { addPeriodSubCommands } from '../core/discord/addPeriodSubCommands';
import addTankChoices from '../core/discord/addTankChoices'; import { addTankChoices } from '../core/discord/addTankChoices';
import addUsernameChoices from '../core/discord/addUsernameChoices'; import { addUsernameChoices } from '../core/discord/addUsernameChoices';
import autocompleteTanks from '../core/discord/autocompleteTanks'; import { autocompleteTanks } from '../core/discord/autocompleteTanks';
import autocompleteUsername from '../core/discord/autocompleteUsername'; import { autocompleteUsername } from '../core/discord/autocompleteUsername';
import { buttonRefresh } from '../core/discord/buttonRefresh'; import { buttonRefresh } from '../core/discord/buttonRefresh';
import commandToURL from '../core/discord/commandToURL'; import { commandToURL } from '../core/discord/commandToURL';
import { createLocalizedCommand } from '../core/discord/createLocalizedCommand'; import { createLocalizedCommand } from '../core/discord/createLocalizedCommand';
import { getCustomPeriodParams } from '../core/discord/getCustomPeriodParams'; import { getCustomPeriodParams } from '../core/discord/getCustomPeriodParams';
import resolvePeriodFromButton from '../core/discord/resolvePeriodFromButton'; import { resolvePeriodFromButton } from '../core/discord/resolvePeriodFromButton';
import resolvePeriodFromCommand, { import {
ResolvedPeriod, ResolvedPeriod,
resolvePeriodFromCommand,
} from '../core/discord/resolvePeriodFromCommand'; } from '../core/discord/resolvePeriodFromCommand';
import resolvePlayerFromButton from '../core/discord/resolvePlayerFromButton'; import { resolvePlayerFromButton } from '../core/discord/resolvePlayerFromButton';
import resolvePlayerFromCommand, { import {
ResolvedPlayer, ResolvedPlayer,
resolvePlayerFromCommand,
} from '../core/discord/resolvePlayerFromCommand'; } from '../core/discord/resolvePlayerFromCommand';
import { CommandRegistry } from '../events/interactionCreate'; import { CommandRegistry } from '../events/interactionCreate';
+17 -15
View File
@@ -3,31 +3,33 @@ import { Locale } from 'discord.js';
import { getAccountInfo } from '../../../website/src/core/blitz/getAccountInfo'; import { getAccountInfo } from '../../../website/src/core/blitz/getAccountInfo';
import { getClanAccountInfo } from '../../../website/src/core/blitz/getClanAccountInfo'; import { getClanAccountInfo } from '../../../website/src/core/blitz/getClanAccountInfo';
import { emblemURL } from '../../../website/src/core/blitzkit/emblemURL'; import { emblemURL } from '../../../website/src/core/blitzkit/emblemURL';
import CommandWrapper from '../components/CommandWrapper'; import { CommandWrapper } from '../components/CommandWrapper';
import GenericAllStats from '../components/GenericAllStats'; import { GenericAllStats } from '../components/GenericAllStats';
import NoData from '../components/NoData'; import { NoData } from '../components/NoData';
import TierWeights from '../components/TierWeights'; import { TierWeights } from '../components/TierWeights';
import TitleBar from '../components/TitleBar'; import { TitleBar } from '../components/TitleBar';
import { filtersToDescription } from '../core/blitzkit/filtersToDescription'; import { filtersToDescription } from '../core/blitzkit/filtersToDescription';
import { getBlitzStarsLinkButton } from '../core/blitzstars/getBlitzStarsLinkButton'; import { getBlitzStarsLinkButton } from '../core/blitzstars/getBlitzStarsLinkButton';
import getStatsInPeriod from '../core/blitzstars/getStatsInPeriod'; import { getStatsInPeriod } from '../core/blitzstars/getStatsInPeriod';
import addPeriodicFilterOptions from '../core/discord/addPeriodicFilterOptions'; import { addPeriodicFilterOptions } from '../core/discord/addPeriodicFilterOptions';
import addUsernameChoices from '../core/discord/addUsernameChoices'; import { addUsernameChoices } from '../core/discord/addUsernameChoices';
import autocompleteTanks from '../core/discord/autocompleteTanks'; import { autocompleteTanks } from '../core/discord/autocompleteTanks';
import autocompleteUsername from '../core/discord/autocompleteUsername'; import { autocompleteUsername } from '../core/discord/autocompleteUsername';
import { buttonRefresh } from '../core/discord/buttonRefresh'; import { buttonRefresh } from '../core/discord/buttonRefresh';
import commandToURL from '../core/discord/commandToURL'; import { commandToURL } from '../core/discord/commandToURL';
import { createLocalizedCommand } from '../core/discord/createLocalizedCommand'; import { createLocalizedCommand } from '../core/discord/createLocalizedCommand';
import { getCustomPeriodParams } from '../core/discord/getCustomPeriodParams'; import { getCustomPeriodParams } from '../core/discord/getCustomPeriodParams';
import { getFiltersFromButton } from '../core/discord/getFiltersFromButton'; import { getFiltersFromButton } from '../core/discord/getFiltersFromButton';
import { getFiltersFromCommand } from '../core/discord/getFiltersFromCommand'; import { getFiltersFromCommand } from '../core/discord/getFiltersFromCommand';
import resolvePeriodFromButton from '../core/discord/resolvePeriodFromButton'; import { resolvePeriodFromButton } from '../core/discord/resolvePeriodFromButton';
import resolvePeriodFromCommand, { import {
ResolvedPeriod, ResolvedPeriod,
resolvePeriodFromCommand,
} from '../core/discord/resolvePeriodFromCommand'; } from '../core/discord/resolvePeriodFromCommand';
import resolvePlayerFromButton from '../core/discord/resolvePlayerFromButton'; import { resolvePlayerFromButton } from '../core/discord/resolvePlayerFromButton';
import resolvePlayerFromCommand, { import {
ResolvedPlayer, ResolvedPlayer,
resolvePlayerFromCommand,
} from '../core/discord/resolvePlayerFromCommand'; } from '../core/discord/resolvePlayerFromCommand';
import { CommandRegistry } from '../events/interactionCreate'; import { CommandRegistry } from '../events/interactionCreate';
+5 -5
View File
@@ -1,11 +1,11 @@
import { Locale } from 'discord.js'; import { Locale } from 'discord.js';
import { getAccountInfo } from '../../../website/src/core/blitz/getAccountInfo'; import { getAccountInfo } from '../../../website/src/core/blitz/getAccountInfo';
import { getClanInfo } from '../../../website/src/core/blitz/getClanInfo'; import { getClanInfo } from '../../../website/src/core/blitz/getClanInfo';
import CommandWrapper from '../components/CommandWrapper'; import { CommandWrapper } from '../components/CommandWrapper';
import GenericStats from '../components/GenericStats'; import { GenericStats } from '../components/GenericStats';
import NoData from '../components/NoData'; import { NoData } from '../components/NoData';
import TitleBar from '../components/TitleBar'; import { TitleBar } from '../components/TitleBar';
import addClanChoices from '../core/discord/addClanChoices'; import { addClanChoices } from '../core/discord/addClanChoices';
import autocompleteClan from '../core/discord/autocompleteClan'; import autocompleteClan from '../core/discord/autocompleteClan';
import { createLocalizedCommand } from '../core/discord/createLocalizedCommand'; import { createLocalizedCommand } from '../core/discord/createLocalizedCommand';
import { localizationObject } from '../core/discord/localizationObject'; import { localizationObject } from '../core/discord/localizationObject';
+5 -5
View File
@@ -3,12 +3,12 @@ import { getAccountInfo } from '../../../website/src/core/blitz/getAccountInfo';
import { getClanAccountInfo } from '../../../website/src/core/blitz/getClanAccountInfo'; import { getClanAccountInfo } from '../../../website/src/core/blitz/getClanAccountInfo';
import { linkBlitzAndDiscord } from '../../../website/src/core/blitzkit/linkBlitzAndDiscord'; import { linkBlitzAndDiscord } from '../../../website/src/core/blitzkit/linkBlitzAndDiscord';
import { Glow } from '../components/AllStatsOverview/components/HeroStat/components/Glow'; import { Glow } from '../components/AllStatsOverview/components/HeroStat/components/Glow';
import CommandWrapper from '../components/CommandWrapper'; import { CommandWrapper } from '../components/CommandWrapper';
import addUsernameChoices from '../core/discord/addUsernameChoices'; import { addUsernameChoices } from '../core/discord/addUsernameChoices';
import autocompleteUsername from '../core/discord/autocompleteUsername'; import { autocompleteUsername } from '../core/discord/autocompleteUsername';
import { createLocalizedCommand } from '../core/discord/createLocalizedCommand'; import { createLocalizedCommand } from '../core/discord/createLocalizedCommand';
import embedInfo from '../core/discord/embedInfo'; import { embedInfo } from '../core/discord/embedInfo';
import resolvePlayerFromCommand from '../core/discord/resolvePlayerFromCommand'; import { resolvePlayerFromCommand } from '../core/discord/resolvePlayerFromCommand';
import { translator } from '../core/localization/translator'; import { translator } from '../core/localization/translator';
import { CommandRegistry } from '../events/interactionCreate'; import { CommandRegistry } from '../events/interactionCreate';
import { theme } from '../stitches.config'; import { theme } from '../stitches.config';
+6 -6
View File
@@ -4,18 +4,18 @@ import {
TankDefinition, TankDefinition,
Tier, Tier,
flags, flags,
gameDefinitions,
tankDefinitions, tankDefinitions,
} from '@blitzkit/core'; } from '@blitzkit/core';
import { gameDefinitions } from '@blitzkit/core/src/blitzkit/gameDefinitions';
import { chunk } from 'lodash'; import { chunk } from 'lodash';
import markdownEscape from 'markdown-escape'; import markdownEscape from 'markdown-escape';
import { getAccountInfo } from '../../../website/src/core/blitz/getAccountInfo'; import { getAccountInfo } from '../../../website/src/core/blitz/getAccountInfo';
import getTankStats from '../../../website/src/core/blitz/getTankStats'; import { getTankStats } from '../../../website/src/core/blitz/getTankStats';
import addTierChoices from '../core/discord/addTierChoices'; import { addTierChoices } from '../core/discord/addTierChoices';
import addUsernameChoices from '../core/discord/addUsernameChoices'; import { addUsernameChoices } from '../core/discord/addUsernameChoices';
import autocompleteUsername from '../core/discord/autocompleteUsername'; import { autocompleteUsername } from '../core/discord/autocompleteUsername';
import { createLocalizedCommand } from '../core/discord/createLocalizedCommand'; import { createLocalizedCommand } from '../core/discord/createLocalizedCommand';
import resolvePlayerFromCommand from '../core/discord/resolvePlayerFromCommand'; import { resolvePlayerFromCommand } from '../core/discord/resolvePlayerFromCommand';
import { translator } from '../core/localization/translator'; import { translator } from '../core/localization/translator';
import { CommandRegistry } from '../events/interactionCreate'; import { CommandRegistry } from '../events/interactionCreate';
+5 -5
View File
@@ -1,11 +1,11 @@
import markdownEscape from 'markdown-escape'; import markdownEscape from 'markdown-escape';
import { getAccountInfo } from '../../../website/src/core/blitz/getAccountInfo'; import { getAccountInfo } from '../../../website/src/core/blitz/getAccountInfo';
import addUsernameChoices from '../core/discord/addUsernameChoices'; import { addUsernameChoices } from '../core/discord/addUsernameChoices';
import autocompleteUsername from '../core/discord/autocompleteUsername'; import { autocompleteUsername } from '../core/discord/autocompleteUsername';
import { createLocalizedCommand } from '../core/discord/createLocalizedCommand'; import { createLocalizedCommand } from '../core/discord/createLocalizedCommand';
import embedInfo from '../core/discord/embedInfo'; import { embedInfo } from '../core/discord/embedInfo';
import markdownTable from '../core/discord/markdownTable'; import { markdownTable } from '../core/discord/markdownTable';
import resolvePlayerFromCommand from '../core/discord/resolvePlayerFromCommand'; import { resolvePlayerFromCommand } from '../core/discord/resolvePlayerFromCommand';
import { translator } from '../core/localization/translator'; import { translator } from '../core/localization/translator';
import { CommandRegistry } from '../events/interactionCreate'; import { CommandRegistry } from '../events/interactionCreate';
+12 -9
View File
@@ -1,22 +1,25 @@
import { BkrlFormat, deltaBkrlBlitzStats } from '@blitzkit/core'; import {
BkrlFormat,
deltaBkrlBlitzStats,
getLeagueFromScore,
getRatingInfo,
} from '@blitzkit/core';
import { getArchivedRatingMidnightLeaderboard } from '@blitzkit/core/src/blitzkit/getArchivedRatingMidnightLeaderboard';
import { SlashCommandSubcommandBuilder } from 'discord.js'; import { SlashCommandSubcommandBuilder } from 'discord.js';
import markdownEscape from 'markdown-escape'; import markdownEscape from 'markdown-escape';
import { getAccountInfo } from '../../../website/src/core/blitz/getAccountInfo'; import { getAccountInfo } from '../../../website/src/core/blitz/getAccountInfo';
import { getClanAccountInfo } from '../../../website/src/core/blitz/getClanAccountInfo'; import { getClanAccountInfo } from '../../../website/src/core/blitz/getClanAccountInfo';
import { getLeagueFromScore } from '../../../website/src/core/blitz/getLeagueFromScore';
import getRatingInfo from '../../../website/src/core/blitz/getRatingInfo';
import { getRatingNeighbors } from '../../../website/src/core/blitz/getRatingNeighbors'; import { getRatingNeighbors } from '../../../website/src/core/blitz/getRatingNeighbors';
import { normalizeLeagueIcon } from '../../../website/src/core/blitz/normalizeLeagueIcon';
import { emblemURL } from '../../../website/src/core/blitzkit/emblemURL'; import { emblemURL } from '../../../website/src/core/blitzkit/emblemURL';
import getArchivedRatingMidnightLeaderboard from '../../../website/src/core/blitzkit/getArchivedRatingMidnightLeaderboard';
import { iconPng } from '../../../website/src/core/blitzkit/iconPng'; import { iconPng } from '../../../website/src/core/blitzkit/iconPng';
import { Glow } from '../components/AllStatsOverview/components/HeroStat/components/Glow'; import { Glow } from '../components/AllStatsOverview/components/HeroStat/components/Glow';
import CommandWrapper from '../components/CommandWrapper'; import { CommandWrapper } from '../components/CommandWrapper';
import { DeltaCaret } from '../components/DeltaCaret'; import { DeltaCaret } from '../components/DeltaCaret';
import TitleBar from '../components/TitleBar'; import { TitleBar } from '../components/TitleBar';
import addUsernameChoices from '../core/discord/addUsernameChoices'; import { normalizeLeagueIcon } from '../core/blitz/normalizeLeagueIcon';
import { addUsernameChoices } from '../core/discord/addUsernameChoices';
import { createLocalizedCommand } from '../core/discord/createLocalizedCommand'; import { createLocalizedCommand } from '../core/discord/createLocalizedCommand';
import resolvePlayerFromCommand from '../core/discord/resolvePlayerFromCommand'; import { resolvePlayerFromCommand } from '../core/discord/resolvePlayerFromCommand';
import { translator } from '../core/localization/translator'; import { translator } from '../core/localization/translator';
import { CommandRegistry } from '../events/interactionCreate'; import { CommandRegistry } from '../events/interactionCreate';
import { theme } from '../stitches.config'; import { theme } from '../stitches.config';
+11 -11
View File
@@ -1,10 +1,15 @@
import { import {
BkrlDiscriminatedEntries, BkrlDiscriminatedEntries,
FIRST_MINIMAL_ARCHIVED_RATING_SEASON, FIRST_MINIMAL_ARCHIVED_RATING_SEASON,
getArchivedLatestSeasonNumber,
getArchivedRatingInfo,
getArchivedRatingLeaderboard,
getRatingInfo,
LEAGUES, LEAGUES,
RatingInfo, RatingInfo,
Region, Region,
} from '@blitzkit/core'; } from '@blitzkit/core';
import { getArchivedRatingMidnightLeaderboard } from '@blitzkit/core/src/blitzkit/getArchivedRatingMidnightLeaderboard';
import { import {
APIApplicationCommandOptionChoice, APIApplicationCommandOptionChoice,
Locale, Locale,
@@ -14,24 +19,19 @@ import { range } from 'lodash';
import markdownEscape from 'markdown-escape'; import markdownEscape from 'markdown-escape';
import { getAccountInfo } from '../../../website/src/core/blitz/getAccountInfo'; import { getAccountInfo } from '../../../website/src/core/blitz/getAccountInfo';
import { getClanAccountInfo } from '../../../website/src/core/blitz/getClanAccountInfo'; import { getClanAccountInfo } from '../../../website/src/core/blitz/getClanAccountInfo';
import getRatingInfo from '../../../website/src/core/blitz/getRatingInfo';
import { getRatingLeague } from '../../../website/src/core/blitz/getRatingLeague'; import { getRatingLeague } from '../../../website/src/core/blitz/getRatingLeague';
import { getRatingNeighbors } from '../../../website/src/core/blitz/getRatingNeighbors'; import { getRatingNeighbors } from '../../../website/src/core/blitz/getRatingNeighbors';
import { isOnGoingRatingSeason } from '../../../website/src/core/blitz/isOnGoingRatingSeason'; import { isOnGoingRatingSeason } from '../../../website/src/core/blitz/isOnGoingRatingSeason';
import { getArchivedLatestSeasonNumber } from '../../../website/src/core/blitzkit/getArchivedLatestSeasonNumber';
import getArchivedRatingInfo from '../../../website/src/core/blitzkit/getArchivedRatingInfo';
import { getArchivedRatingLeaderboard } from '../../../website/src/core/blitzkit/getArchivedRatingLeaderboard';
import getArchivedRatingMidnightLeaderboard from '../../../website/src/core/blitzkit/getArchivedRatingMidnightLeaderboard';
import { UserError } from '../../../website/src/hooks/userError'; import { UserError } from '../../../website/src/hooks/userError';
import CommandWrapper from '../components/CommandWrapper'; import { CommandWrapper } from '../components/CommandWrapper';
import * as Leaderboard from '../components/Leaderboard'; import * as Leaderboard from '../components/Leaderboard';
import TitleBar from '../components/TitleBar'; import { TitleBar } from '../components/TitleBar';
import addRegionChoices from '../core/discord/addRegionChoices'; import { addRegionChoices } from '../core/discord/addRegionChoices';
import addUsernameChoices from '../core/discord/addUsernameChoices'; import { addUsernameChoices } from '../core/discord/addUsernameChoices';
import autocompleteUsername from '../core/discord/autocompleteUsername'; import { autocompleteUsername } from '../core/discord/autocompleteUsername';
import { createLocalizedCommand } from '../core/discord/createLocalizedCommand'; import { createLocalizedCommand } from '../core/discord/createLocalizedCommand';
import { localizationObject } from '../core/discord/localizationObject'; import { localizationObject } from '../core/discord/localizationObject';
import resolvePlayerFromCommand from '../core/discord/resolvePlayerFromCommand'; import { resolvePlayerFromCommand } from '../core/discord/resolvePlayerFromCommand';
import { translator } from '../core/localization/translator'; import { translator } from '../core/localization/translator';
import { CommandRegistry } from '../events/interactionCreate'; import { CommandRegistry } from '../events/interactionCreate';
+6 -6
View File
@@ -1,20 +1,20 @@
import { import {
blitzStarsTankAverages,
calculateWN8,
idToRegion, idToRegion,
tankDefinitions, tankDefinitions,
tankIcon,
TIER_ROMAN_NUMERALS, TIER_ROMAN_NUMERALS,
} from '@blitzkit/core'; } from '@blitzkit/core';
import { tankIcon } from '@blitzkit/core/src/blitzkit/tankIcon';
import { blitzStarsTankAverages } from '@blitzkit/core/src/blitzstars/tankAverages';
import calculateWN8 from '@blitzkit/core/src/statistics/calculateWN8';
import { clamp } from 'lodash'; import { clamp } from 'lodash';
import { getClanAccountInfo } from '../../../website/src/core/blitz/getClanAccountInfo'; import { getClanAccountInfo } from '../../../website/src/core/blitz/getClanAccountInfo';
import { emblemURL } from '../../../website/src/core/blitzkit/emblemURL'; import { emblemURL } from '../../../website/src/core/blitzkit/emblemURL';
import { iconPng } from '../../../website/src/core/blitzkit/iconPng'; import { iconPng } from '../../../website/src/core/blitzkit/iconPng';
import { mapDefinitions } from '../../../website/src/core/blitzkit/mapDefinitions'; import { mapDefinitions } from '../../../website/src/core/blitzkit/mapDefinitions';
import { RenderConfiguration } from '../../../website/src/core/blitzkit/renderConfiguration'; import { RenderConfiguration } from '../../../website/src/core/blitzkit/renderConfiguration';
import CommandWrapper from '../components/CommandWrapper'; import { CommandWrapper } from '../components/CommandWrapper';
import TitleBar from '../components/TitleBar'; import { TitleBar } from '../components/TitleBar';
import buttonLink from '../core/discord/buttonLink'; import { buttonLink } from '../core/discord/buttonLink';
import { createLocalizedCommand } from '../core/discord/createLocalizedCommand'; import { createLocalizedCommand } from '../core/discord/createLocalizedCommand';
import { CommandRegistry } from '../events/interactionCreate'; import { CommandRegistry } from '../events/interactionCreate';
import { theme } from '../stitches.config'; import { theme } from '../stitches.config';
+7 -7
View File
@@ -8,20 +8,20 @@ import {
import { escapeMarkdown, Locale } from 'discord.js'; import { escapeMarkdown, Locale } from 'discord.js';
import { getAccountInfo } from '../../../website/src/core/blitz/getAccountInfo'; import { getAccountInfo } from '../../../website/src/core/blitz/getAccountInfo';
import { getClanAccountInfo } from '../../../website/src/core/blitz/getClanAccountInfo'; import { getClanAccountInfo } from '../../../website/src/core/blitz/getClanAccountInfo';
import getTankStats from '../../../website/src/core/blitz/getTankStats'; import { getTankStats } from '../../../website/src/core/blitz/getTankStats';
import { buildTechTreeLine } from '../../../website/src/core/blitzkit/buildTechTreeLine'; import { buildTechTreeLine } from '../../../website/src/core/blitzkit/buildTechTreeLine';
import { emblemURL } from '../../../website/src/core/blitzkit/emblemURL'; import { emblemURL } from '../../../website/src/core/blitzkit/emblemURL';
import { iconPng } from '../../../website/src/core/blitzkit/iconPng'; import { iconPng } from '../../../website/src/core/blitzkit/iconPng';
import { resolveAncestry } from '../../../website/src/core/blitzkit/resolveAncestry'; import { resolveAncestry } from '../../../website/src/core/blitzkit/resolveAncestry';
import { tankIconPng } from '../../../website/src/core/blitzkit/tankIconPng'; import { tankIconPng } from '../../../website/src/core/blitzkit/tankIconPng';
import CommandWrapper from '../components/CommandWrapper'; import { CommandWrapper } from '../components/CommandWrapper';
import TitleBar from '../components/TitleBar'; import { TitleBar } from '../components/TitleBar';
import resolveTankId from '../core/blitz/resolveTankId'; import { resolveTankId } from '../core/blitz/resolveTankId';
import addUsernameChoices from '../core/discord/addUsernameChoices'; import { addUsernameChoices } from '../core/discord/addUsernameChoices';
import autocompleteTanks from '../core/discord/autocompleteTanks'; import { autocompleteTanks } from '../core/discord/autocompleteTanks';
import { createLocalizedCommand } from '../core/discord/createLocalizedCommand'; import { createLocalizedCommand } from '../core/discord/createLocalizedCommand';
import { localizationObject } from '../core/discord/localizationObject'; import { localizationObject } from '../core/discord/localizationObject';
import resolvePlayerFromCommand from '../core/discord/resolvePlayerFromCommand'; import { resolvePlayerFromCommand } from '../core/discord/resolvePlayerFromCommand';
import { translator } from '../core/localization/translator'; import { translator } from '../core/localization/translator';
import { CommandRegistry } from '../events/interactionCreate'; import { CommandRegistry } from '../events/interactionCreate';
import { theme } from '../stitches.config'; import { theme } from '../stitches.config';
+4 -4
View File
@@ -1,11 +1,11 @@
import { ClanList, Region } from '@blitzkit/core'; import { ClanList, Region } from '@blitzkit/core';
import { fetchBlitz } from '@blitzkit/core/src/blitz/fetchBlitz';
import { Locale } from 'discord.js'; import { Locale } from 'discord.js';
import markdownEscape from 'markdown-escape'; import markdownEscape from 'markdown-escape';
import fetchBlitz from '../../../website/src/core/blitz/fetchBlitz'; import { addClanChoices } from '../core/discord/addClanChoices';
import addClanChoices from '../core/discord/addClanChoices'; import { addRegionChoices } from '../core/discord/addRegionChoices';
import addRegionChoices from '../core/discord/addRegionChoices';
import { createLocalizedCommand } from '../core/discord/createLocalizedCommand'; import { createLocalizedCommand } from '../core/discord/createLocalizedCommand';
import embedInfo from '../core/discord/embedInfo'; import { embedInfo } from '../core/discord/embedInfo';
import { localizationObject } from '../core/discord/localizationObject'; import { localizationObject } from '../core/discord/localizationObject';
import { translator } from '../core/localization/translator'; import { translator } from '../core/localization/translator';
import { CommandRegistry } from '../events/interactionCreate'; import { CommandRegistry } from '../events/interactionCreate';
+1 -1
View File
@@ -1,7 +1,7 @@
import { Region } from '@blitzkit/core'; import { Region } from '@blitzkit/core';
import fetchBlitz from '@blitzkit/core/src/blitz/fetchBlitz';
import { Locale } from 'discord.js'; import { Locale } from 'discord.js';
import markdownEscape from 'markdown-escape'; import markdownEscape from 'markdown-escape';
import fetchBlitz from '../../../website/src/core/blitz/fetchBlitz';
import { AccountList } from '../../../website/src/core/blitz/searchPlayersAcrossRegions'; import { AccountList } from '../../../website/src/core/blitz/searchPlayersAcrossRegions';
import { usernamePattern } from '../../../website/src/core/blitz/searchPlayersAcrossRegions/constants'; import { usernamePattern } from '../../../website/src/core/blitz/searchPlayersAcrossRegions/constants';
import addRegionChoices from '../core/discord/addRegionChoices'; import addRegionChoices from '../core/discord/addRegionChoices';
+1 -1
View File
@@ -1,4 +1,4 @@
import { gameDefinitions } from '@blitzkit/core/src/blitzkit/gameDefinitions'; import { gameDefinitions } from '@blitzkit/core';
import { getBlitzStarsLinkButton } from '../core/blitzstars/getBlitzStarsLinkButton'; import { getBlitzStarsLinkButton } from '../core/blitzstars/getBlitzStarsLinkButton';
import { addFilterOptions } from '../core/discord/addFilterOptions'; import { addFilterOptions } from '../core/discord/addFilterOptions';
import addUsernameChoices from '../core/discord/addUsernameChoices'; import addUsernameChoices from '../core/discord/addUsernameChoices';
@@ -1,14 +1,13 @@
import { Percentile } from '@blitzkit/core/src/statistics/percentiles'; import { getWN8Percentile, Percentile } from '@blitzkit/core';
import { Locale } from 'discord.js'; import { Locale } from 'discord.js';
import { SupplementaryStats } from '../../../../website/src/core/blitz/getAccountInfo'; import { SupplementaryStats } from '../../../../website/src/core/blitz/getAccountInfo';
import { translator } from '../../core/localization/translator';
import { PERCENTILE_COLORS } from '../PercentileIndicator/constants'; import { PERCENTILE_COLORS } from '../PercentileIndicator/constants';
import { HeroStat } from './components/HeroStat'; import { HeroStat } from './components/HeroStat';
import { import {
WN8SurroundingStat, WN8SurroundingStat,
WN8SurroundingStatAlign, WN8SurroundingStatAlign,
} from './components/WN8SurroundingStat'; } from './components/WN8SurroundingStat';
import { translator } from '../../core/localization/translator';
import getWN8Percentile from '@blitzkit/core/src/statistics/getWN8Percentile';
export interface AllStatsOverviewProps { export interface AllStatsOverviewProps {
stats: { stats: {
@@ -25,7 +24,7 @@ export interface AllStatsOverviewProps {
locale: Locale; locale: Locale;
} }
export default function AllStatsOverview({ export function AllStatsOverview({
stats, stats,
locale, locale,
supplementaryStats, supplementaryStats,
@@ -1,6 +1,9 @@
import { TankClass, TreeType } from '@blitzkit/core'; import {
import { TREE_TYPE_ICONS } from '@blitzkit/core/src/blitzkit/tankDefinitions/constants'; Percentile,
import { Percentile } from '@blitzkit/core/src/statistics/percentiles'; TankClass,
TREE_TYPE_ICONS,
TreeType,
} from '@blitzkit/core';
import { createColors } from 'bepaint'; import { createColors } from 'bepaint';
import { import {
AccentColor, AccentColor,
@@ -1,4 +1,4 @@
import { Percentile } from '@blitzkit/core/src/statistics/percentiles'; import { Percentile } from '@blitzkit/core';
import { createColors } from 'bepaint'; import { createColors } from 'bepaint';
import { import {
AccentColor, AccentColor,
@@ -6,7 +6,7 @@ interface CommandWrapperProps {
fat?: boolean; fat?: boolean;
} }
export default function CommandWrapper({ children, fat }: CommandWrapperProps) { export function CommandWrapper({ children, fat }: CommandWrapperProps) {
return ( return (
<div <div
style={{ style={{
+1 -1
View File
@@ -1,4 +1,4 @@
import { asset } from '@blitzkit/core/src/blitzkit/asset'; import { asset } from '@blitzkit/core';
interface FlagProps { interface FlagProps {
nation: string; nation: string;
@@ -1,6 +1,6 @@
import { Percentile } from '@blitzkit/core/src/statistics/percentiles'; import { Percentile } from '@blitzkit/core';
import { theme } from '../../../stitches.config'; import { theme } from '../../../stitches.config';
import PercentileIndicator from '../../PercentileIndicator'; import { PercentileIndicator } from '../../PercentileIndicator';
interface CardItem { interface CardItem {
label: string; label: string;
@@ -1,6 +1,4 @@
import { BlitzStats } from '@blitzkit/core'; import { BlitzStats, getWN8Percentile, isNumber } from '@blitzkit/core';
import isNumber from '@blitzkit/core/src/math/isNumber';
import getWN8Percentile from '@blitzkit/core/src/statistics/getWN8Percentile';
import { Locale } from 'discord.js'; import { Locale } from 'discord.js';
import { SupplementaryStats } from '../../../../website/src/core/blitz/getAccountInfo'; import { SupplementaryStats } from '../../../../website/src/core/blitz/getAccountInfo';
import { translator } from '../../core/localization/translator'; import { translator } from '../../core/localization/translator';
@@ -14,7 +12,7 @@ interface GenericAllStatsProps {
locale: Locale; locale: Locale;
} }
export default function GenericAllStats({ export function GenericAllStats({
stats, stats,
supplementaryStats, supplementaryStats,
locale, locale,
@@ -1,11 +1,11 @@
import { GenericStat } from '..'; import { GenericStat } from '..';
import GenericStatsRow from './GenericStatsRow'; import { GenericStatsRow } from './GenericStatsRow';
interface GenericStatsColumnProps { interface GenericStatsColumnProps {
stats: GenericStat[]; stats: GenericStat[];
} }
export default function GenericStatsColumn({ stats }: GenericStatsColumnProps) { export function GenericStatsColumn({ stats }: GenericStatsColumnProps) {
return ( return (
<div style={{ flex: 1, display: 'flex', flexDirection: 'column', gap: 8 }}> <div style={{ flex: 1, display: 'flex', flexDirection: 'column', gap: 8 }}>
{stats.map((stat) => ( {stats.map((stat) => (
@@ -1,12 +1,12 @@
import { GenericStat } from '..'; import { GenericStat } from '..';
import { theme } from '../../../stitches.config'; import { theme } from '../../../stitches.config';
import PercentileIndicator from '../../PercentileIndicator'; import { PercentileIndicator } from '../../PercentileIndicator';
interface GenericStatsRowProps { interface GenericStatsRowProps {
stat: GenericStat; stat: GenericStat;
} }
export default function GenericStatsRow({ stat }: GenericStatsRowProps) { export function GenericStatsRow({ stat }: GenericStatsRowProps) {
return ( return (
<div <div
style={{ style={{
@@ -1,5 +1,5 @@
import { Percentile } from '@blitzkit/core/src/statistics/percentiles'; import { Percentile } from '@blitzkit/core';
import GenericStatsColumn from './components/GenericStatsColumn'; import { GenericStatsColumn } from './components/GenericStatsColumn';
export type GenericStat = export type GenericStat =
| [string, string | number | undefined] | [string, string | number | undefined]
@@ -10,10 +10,7 @@ export interface GenericStatsProps {
columnCount?: number; columnCount?: number;
} }
export default function GenericStats({ export function GenericStats({ stats, columnCount = 2 }: GenericStatsProps) {
stats,
columnCount = 2,
}: GenericStatsProps) {
const filteredStats = stats.filter(([, value]) => value !== undefined); const filteredStats = stats.filter(([, value]) => value !== undefined);
const itemsPerRow = Math.ceil(filteredStats.length / columnCount); const itemsPerRow = Math.ceil(filteredStats.length / columnCount);
const columns: GenericStat[][] = []; const columns: GenericStat[][] = [];
+1 -1
View File
@@ -11,7 +11,7 @@ interface NoDataProps {
locale: Locale; locale: Locale;
} }
export default function NoData({ type, locale }: NoDataProps) { export function NoData({ type, locale }: NoDataProps) {
const { translate } = translator(locale); const { translate } = translator(locale);
return ( return (
@@ -1,4 +1,4 @@
import { Percentile } from '@blitzkit/core/src/statistics/percentiles'; import { Percentile } from '@blitzkit/core';
import { import {
amber, amber,
blue, blue,
@@ -1,13 +1,11 @@
import { Percentile } from '@blitzkit/core/src/statistics/percentiles'; import { Percentile } from '@blitzkit/core';
import { PERCENTILE_COLORS } from './constants'; import { PERCENTILE_COLORS } from './constants';
interface PercentileIndicatorProps { interface PercentileIndicatorProps {
percentile: Percentile; percentile: Percentile;
} }
export default function PercentileIndicator({ export function PercentileIndicator({ percentile }: PercentileIndicatorProps) {
percentile,
}: PercentileIndicatorProps) {
return ( return (
<div <div
style={{ style={{
@@ -1,5 +1,4 @@
import { TankClass, TreeType } from '@blitzkit/core'; import { TankClass, TREE_TYPE_ICONS, TreeType } from '@blitzkit/core';
import { TREE_TYPE_ICONS } from '@blitzkit/core/src/blitzkit/tankDefinitions/constants';
import { theme } from '../../../../stitches.config'; import { theme } from '../../../../stitches.config';
export interface ItemProps { export interface ItemProps {
+2 -2
View File
@@ -1,11 +1,11 @@
import { TierWeightsRecord } from '@blitzkit/core/src/statistics/getTierWeights'; import { TierWeightsRecord } from '@blitzkit/core';
import { theme } from '../stitches.config'; import { theme } from '../stitches.config';
interface TierWeightsProps { interface TierWeightsProps {
weights: TierWeightsRecord; weights: TierWeightsRecord;
} }
export default function TierWeights({ weights }: TierWeightsProps) { export function TierWeights({ weights }: TierWeightsProps) {
return ( return (
<div style={{ display: 'flex', gap: 8 }}> <div style={{ display: 'flex', gap: 8 }}>
{Object.entries(weights).map(([tier, weight]) => ( {Object.entries(weights).map(([tier, weight]) => (
+1 -1
View File
@@ -6,7 +6,7 @@ interface TitleBarProps {
description?: string; description?: string;
} }
export default function TitleBar({ title, image, description }: TitleBarProps) { export function TitleBar({ title, image, description }: TitleBarProps) {
return ( return (
<div <div
style={{ style={{
+1 -1
View File
@@ -6,7 +6,7 @@ import { UserError } from '../../../../website/src/hooks/userError';
import { tankNamesTechTreeOnly } from '../discord/autocompleteTanks'; import { tankNamesTechTreeOnly } from '../discord/autocompleteTanks';
import { translator } from '../localization/translator'; import { translator } from '../localization/translator';
export default async function resolveTankId( export async function resolveTankId(
tank: string | number, tank: string | number,
locale: Locale, locale: Locale,
techTreeOnly = false, techTreeOnly = false,
@@ -1,3 +1,3 @@
export default function getPeriodNow() { export function getPeriodNow() {
return Date.now() / 1000; return Date.now() / 1000;
} }
@@ -2,7 +2,7 @@ import { Region } from '@blitzkit/core';
import getTimeDaysAgo from '../../../../website/src/core/blitzkit/getTimeDaysAgo'; import getTimeDaysAgo from '../../../../website/src/core/blitzkit/getTimeDaysAgo';
import { PeriodSize } from '../discord/addPeriodSubCommands'; import { PeriodSize } from '../discord/addPeriodSubCommands';
export default function getPeriodStart(region: Region, period: PeriodSize) { export function getPeriodStart(region: Region, period: PeriodSize) {
if (period === 'career') return 0; if (period === 'career') return 0;
if (period === 'today') return getTimeDaysAgo(region, 1); if (period === 'today') return getTimeDaysAgo(region, 1);
return getTimeDaysAgo(region, parseInt(period)); return getTimeDaysAgo(region, parseInt(period));
+3 -3
View File
@@ -1,7 +1,7 @@
import jsxToSvg from './jsxToSvg'; import { jsxToSvg } from './jsxToSvg';
import svgToPng from './svgToPng'; import { svgToPng } from './svgToPng';
export default async function jsxToPng(jsx: JSX.Element) { export async function jsxToPng(jsx: JSX.Element) {
const svg = await jsxToSvg(jsx); const svg = await jsxToSvg(jsx);
const png = svgToPng(svg); const png = svgToPng(svg);
@@ -1,8 +1,8 @@
import { RenderConfiguration } from '../../../../website/src/core/blitzkit/renderConfiguration'; import { RenderConfiguration } from '../../../../website/src/core/blitzkit/renderConfiguration';
import jsxToSvg from './jsxToSvg'; import { jsxToSvg } from './jsxToSvg';
import { svgToPngThreaded } from './svgToPngThreaded'; import { svgToPngThreaded } from './svgToPngThreaded';
export default async function jsxToPngThreaded( export async function jsxToPngThreaded(
jsx: JSX.Element, jsx: JSX.Element,
renderConfiguration: RenderConfiguration, renderConfiguration: RenderConfiguration,
) { ) {
@@ -14,7 +14,7 @@ const fontsPromise = [
return { name: 'Roboto', weight, data }; return { name: 'Roboto', weight, data };
}); });
export default async function jsxToSvg( export async function jsxToSvg(
jsx: JSX.Element, jsx: JSX.Element,
renderConfiguration = new RenderConfiguration(), renderConfiguration = new RenderConfiguration(),
) { ) {
+1 -1
View File
@@ -1,5 +1,5 @@
import { Resvg } from '@resvg/resvg-js'; import { Resvg } from '@resvg/resvg-js';
export default function svgToPng(svg: string) { export function svgToPng(svg: string) {
return new Resvg(svg).render().asPng(); return new Resvg(svg).render().asPng();
} }
@@ -8,7 +8,7 @@ import {
} from '../../types/histories'; } from '../../types/histories';
import { PlayerStats } from './getPlayerStats'; import { PlayerStats } from './getPlayerStats';
export default async function getPlayerHistories( export async function getPlayerHistories(
server: Region, server: Region,
id: number, id: number,
options?: Partial<GetHistoriesOptions>, options?: Partial<GetHistoriesOptions>,
@@ -1,7 +1,12 @@
import { BlitzStats, emptyAllStats, Region } from '@blitzkit/core'; import {
import { DiffedTankStats } from '@blitzkit/core/src/statistics/filterStats'; BlitzStats,
DiffedTankStats,
emptyAllStats,
Region,
} from '@blitzkit/core';
import { Locale } from 'discord.js'; import { Locale } from 'discord.js';
import getTankHistories, { import {
getTankHistories,
TankHistories, TankHistories,
TankHistoryRaw, TankHistoryRaw,
} from './getTankHistories'; } from './getTankHistories';
@@ -16,7 +21,7 @@ const emptyTankHistoryNode: TankHistoryRaw = {
}; };
// BIG TODO: merge this neatly with diffNormalizedTankStats // BIG TODO: merge this neatly with diffNormalizedTankStats
export default async function getStatsInPeriod( export async function getStatsInPeriod(
server: Region, server: Region,
id: number, id: number,
start: number, start: number,
@@ -1,6 +1,6 @@
import { Region, emptyAllStats } from '@blitzkit/core'; import { Region, emptyAllStats } from '@blitzkit/core';
import { Locale } from 'discord.js'; import { Locale } from 'discord.js';
import getTankStats from '../../../../website/src/core/blitz/getTankStats'; import { getTankStats } from '../../../../website/src/core/blitz/getTankStats';
import { UserError } from '../../../../website/src/hooks/userError'; import { UserError } from '../../../../website/src/hooks/userError';
import { import {
GetHistoriesOptions, GetHistoriesOptions,
@@ -33,7 +33,7 @@ const getTankHistoriesDefaultOptions: GetTankHistoriesOptions = {
tankId: undefined, tankId: undefined,
}; };
export default async function getTankHistories( export async function getTankHistories(
server: Region, server: Region,
id: number, id: number,
locale: Locale, locale: Locale,
@@ -52,7 +52,7 @@ export default async function getTankHistories(
all: history.all, all: history.all,
last_battle_time: history.last_battle_time, last_battle_time: history.last_battle_time,
tank_id: history.tank_id, tank_id: history.tank_id,
} satisfies TankHistory), }) satisfies TankHistory,
); );
const compliantTanks: number[] = []; const compliantTanks: number[] = [];
const lastBattles: Record<number, number> = {}; const lastBattles: Record<number, number> = {};
@@ -2,7 +2,7 @@ import { Locale, SlashCommandStringOption } from 'discord.js';
import { translator } from '../localization/translator'; import { translator } from '../localization/translator';
import { localizationObject } from './localizationObject'; import { localizationObject } from './localizationObject';
export default function addClanChoices(option: SlashCommandStringOption) { export function addClanChoices(option: SlashCommandStringOption) {
const { translate } = translator(Locale.EnglishUS); const { translate } = translator(Locale.EnglishUS);
return option return option
@@ -6,8 +6,8 @@ import {
SlashCommandSubcommandBuilder, SlashCommandSubcommandBuilder,
} from 'discord.js'; } from 'discord.js';
import { translator } from '../localization/translator'; import { translator } from '../localization/translator';
import addTankChoices from './addTankChoices'; import { addTankChoices } from './addTankChoices';
import addTierChoices from './addTierChoices'; import { addTierChoices } from './addTierChoices';
import { localizationObject } from './localizationObject'; import { localizationObject } from './localizationObject';
export function addFilterOptions< export function addFilterOptions<
@@ -38,7 +38,7 @@ export function addFilterOptions<
name_localizations: localizationObject( name_localizations: localizationObject(
`common.nations.${nation}`, `common.nations.${nation}`,
), ),
} satisfies APIApplicationCommandOptionChoice), }) satisfies APIApplicationCommandOptionChoice,
), ),
) )
.setRequired(false), .setRequired(false),
@@ -67,7 +67,7 @@ export function addFilterOptions<
name_localizations: localizationObject( name_localizations: localizationObject(
`common.tank_class_short.${tankType}`, `common.tank_class_short.${tankType}`,
), ),
} satisfies APIApplicationCommandOptionChoice), }) satisfies APIApplicationCommandOptionChoice,
), ),
) )
.setRequired(false), .setRequired(false),
@@ -95,7 +95,7 @@ export function addFilterOptions<
name_localizations: localizationObject( name_localizations: localizationObject(
`common.tree_type.${treeType}`, `common.tree_type.${treeType}`,
), ),
} satisfies APIApplicationCommandOptionChoice), }) satisfies APIApplicationCommandOptionChoice,
), ),
) )
.setRequired(false), .setRequired(false),
@@ -1,4 +1,4 @@
import { gameDefinitions } from '@blitzkit/core/src/blitzkit/gameDefinitions'; import { gameDefinitions } from '@blitzkit/core';
import { import {
SlashCommandBuilder, SlashCommandBuilder,
SlashCommandSubcommandBuilder, SlashCommandSubcommandBuilder,
@@ -7,7 +7,7 @@ import {
import { addFilterOptions } from './addFilterOptions'; import { addFilterOptions } from './addFilterOptions';
import { addPeriodSubCommands } from './addPeriodSubCommands'; import { addPeriodSubCommands } from './addPeriodSubCommands';
export default async function addPeriodicFilterOptions< export async function addPeriodicFilterOptions<
OptionType extends SlashCommandBuilder | SlashCommandSubcommandGroupBuilder, OptionType extends SlashCommandBuilder | SlashCommandSubcommandGroupBuilder,
>( >(
option: OptionType, option: OptionType,
@@ -7,7 +7,7 @@ import {
import { translator } from '../localization/translator'; import { translator } from '../localization/translator';
import { localizationObject } from './localizationObject'; import { localizationObject } from './localizationObject';
export default function addRegionChoices(option: SlashCommandStringOption) { export function addRegionChoices(option: SlashCommandStringOption) {
const { t, translate } = translator(Locale.EnglishUS); const { t, translate } = translator(Locale.EnglishUS);
return option return option
@@ -26,7 +26,7 @@ export default function addRegionChoices(option: SlashCommandStringOption) {
name_localizations: localizationObject( name_localizations: localizationObject(
`common.regions.normal.${region}`, `common.regions.normal.${region}`,
), ),
} satisfies APIApplicationCommandOptionChoice), }) satisfies APIApplicationCommandOptionChoice,
), ),
) )
.setRequired(true); .setRequired(true);
@@ -2,7 +2,7 @@ import { Locale, SlashCommandStringOption } from 'discord.js';
import { translator } from '../localization/translator'; import { translator } from '../localization/translator';
import { localizationObject } from './localizationObject'; import { localizationObject } from './localizationObject';
export default function addTankChoices(option: SlashCommandStringOption) { export function addTankChoices(option: SlashCommandStringOption) {
const { translate } = translator(Locale.EnglishUS); const { translate } = translator(Locale.EnglishUS);
return option return option
@@ -1,4 +1,4 @@
import numberToRomanNumeral from '@blitzkit/core/src/math/numberToRomanNumeral'; import { numberToRomanNumeral } from '@blitzkit/core';
import { import {
APIApplicationCommandOptionChoice, APIApplicationCommandOptionChoice,
Locale, Locale,
@@ -8,7 +8,7 @@ import { range } from 'lodash';
import { translator } from '../localization/translator'; import { translator } from '../localization/translator';
import { localizationObject } from './localizationObject'; import { localizationObject } from './localizationObject';
export default function addTierChoices(option: SlashCommandStringOption) { export function addTierChoices(option: SlashCommandStringOption) {
const { t, translate } = translator(Locale.EnglishUS); const { t, translate } = translator(Locale.EnglishUS);
return option return option
@@ -31,7 +31,7 @@ export default function addTierChoices(option: SlashCommandStringOption) {
'bot.common.options.tier.choices.tier', 'bot.common.options.tier.choices.tier',
[`${tier}`, numberToRomanNumeral(tier)], [`${tier}`, numberToRomanNumeral(tier)],
), ),
} satisfies APIApplicationCommandOptionChoice), }) satisfies APIApplicationCommandOptionChoice,
), ),
) )
.setRequired(true); .setRequired(true);
@@ -2,7 +2,7 @@ import { Locale, SlashCommandStringOption } from 'discord.js';
import { translator } from '../localization/translator'; import { translator } from '../localization/translator';
import { localizationObject } from './localizationObject'; import { localizationObject } from './localizationObject';
export default function addUsernameChoices(option: SlashCommandStringOption) { export function addUsernameChoices(option: SlashCommandStringOption) {
const { t } = translator(Locale.EnglishUS); const { t } = translator(Locale.EnglishUS);
return option return option
@@ -1,4 +1,4 @@
import searchClansAcrossRegions from '@blitzkit/core/src/blitz/searchClansAcrossRegions'; import { searchClansAcrossRegions } from '@blitzkit/core';
import { import {
ApplicationCommandOptionChoiceData, ApplicationCommandOptionChoiceData,
AutocompleteInteraction, AutocompleteInteraction,
@@ -7,7 +7,7 @@ import {
import { translator } from '../../localization/translator'; import { translator } from '../../localization/translator';
import { DISCORD_CHOICES_MAX_NAME_SIZE, OVERFLOW_SUFFIX } from './constants'; import { DISCORD_CHOICES_MAX_NAME_SIZE, OVERFLOW_SUFFIX } from './constants';
export default async function autocompleteClan( export async function autocompleteClan(
interaction: AutocompleteInteraction<CacheType>, interaction: AutocompleteInteraction<CacheType>,
) { ) {
const { translate } = translator(interaction.locale); const { translate } = translator(interaction.locale);
@@ -1,3 +1,4 @@
import { tankNames } from '@blitzkit/core';
import { import {
ApplicationCommandOptionChoiceData, ApplicationCommandOptionChoiceData,
AutocompleteInteraction, AutocompleteInteraction,
@@ -8,13 +9,12 @@ import {
DISCORD_CHOICES_MAX_NAME_SIZE, DISCORD_CHOICES_MAX_NAME_SIZE,
OVERFLOW_SUFFIX, OVERFLOW_SUFFIX,
} from './autocompleteClan/constants'; } from './autocompleteClan/constants';
import { tankNames } from '@blitzkit/core';
export const tankNamesTechTreeOnly = tankNames.then((names) => export const tankNamesTechTreeOnly = tankNames.then((names) =>
names.filter((tank) => tank.treeType === 'researchable'), names.filter((tank) => tank.treeType === 'researchable'),
); );
export default async function autocompleteTanks( export async function autocompleteTanks(
interaction: AutocompleteInteraction<CacheType>, interaction: AutocompleteInteraction<CacheType>,
techTreeOnly = false, techTreeOnly = false,
fields = ['tank'], fields = ['tank'],
@@ -1,16 +1,16 @@
import { searchPlayersAcrossRegions } from '@blitzkit/core';
import { import {
ApplicationCommandOptionChoiceData, ApplicationCommandOptionChoiceData,
AutocompleteInteraction, AutocompleteInteraction,
CacheType, CacheType,
} from 'discord.js'; } from 'discord.js';
import searchPlayersAcrossRegions from '../../../../website/src/core/blitz/searchPlayersAcrossRegions';
import { translator } from '../localization/translator'; import { translator } from '../localization/translator';
import { import {
DISCORD_CHOICES_MAX_NAME_SIZE, DISCORD_CHOICES_MAX_NAME_SIZE,
OVERFLOW_SUFFIX, OVERFLOW_SUFFIX,
} from './autocompleteClan/constants'; } from './autocompleteClan/constants';
export default async function autocompleteUsername( export async function autocompleteUsername(
interaction: AutocompleteInteraction<CacheType>, interaction: AutocompleteInteraction<CacheType>,
) { ) {
const { translate } = translator(interaction.locale); const { translate } = translator(interaction.locale);
+1 -1
View File
@@ -4,7 +4,7 @@ import {
ComponentEmojiResolvable, ComponentEmojiResolvable,
} from 'discord.js'; } from 'discord.js';
export default function buttonLink( export function buttonLink(
url: string, url: string,
label: string, label: string,
emoji?: ComponentEmojiResolvable, emoji?: ComponentEmojiResolvable,
@@ -4,7 +4,7 @@ import {
ComponentEmojiResolvable, ComponentEmojiResolvable,
} from 'discord.js'; } from 'discord.js';
export default function buttonPrimary( export function buttonPrimary(
id: string, id: string,
label: string, label: string,
emoji?: ComponentEmojiResolvable, emoji?: ComponentEmojiResolvable,
@@ -1,6 +1,6 @@
import { ChatInputCommandInteraction } from 'discord.js'; import { ChatInputCommandInteraction } from 'discord.js';
import { translator } from '../localization/translator'; import { translator } from '../localization/translator';
import buttonPrimary from './buttonPrimary'; import { buttonPrimary } from './buttonPrimary';
export function buttonRefresh( export function buttonRefresh(
interaction: ChatInputCommandInteraction, interaction: ChatInputCommandInteraction,
+2 -2
View File
@@ -1,6 +1,6 @@
import { Client, GatewayIntentBits } from 'discord.js'; import { Client, GatewayIntentBits } from 'discord.js';
import interactionCreate from '../../events/interactionCreate'; import { interactionCreate } from '../../events/interactionCreate';
import ready from '../../events/ready'; import { ready } from '../../events/ready';
export const client = new Client({ export const client = new Client({
intents: [GatewayIntentBits.Guilds, GatewayIntentBits.GuildMembers], intents: [GatewayIntentBits.Guilds, GatewayIntentBits.GuildMembers],
@@ -7,7 +7,7 @@ export interface Parameters {
// TODO: automatically infer command options??? // TODO: automatically infer command options???
// but how would that work with the region and id options? // but how would that work with the region and id options?
export default function commandToURL( export function commandToURL(
interaction: ChatInputCommandInteraction<CacheType>, interaction: ChatInputCommandInteraction<CacheType>,
parameters?: Parameters, parameters?: Parameters,
) { ) {
+1 -1
View File
@@ -1,7 +1,7 @@
import { EmbedBuilder } from 'discord.js'; import { EmbedBuilder } from 'discord.js';
import { ACCENT_COLOR } from './colors'; import { ACCENT_COLOR } from './colors';
export default function embedInfo(title: string, description: string) { export function embedInfo(title: string, description: string) {
const embed = new EmbedBuilder() const embed = new EmbedBuilder()
.setColor(ACCENT_COLOR) .setColor(ACCENT_COLOR)
.setDescription(description); .setDescription(description);
@@ -1,7 +1,7 @@
import { EmbedBuilder } from 'discord.js'; import { EmbedBuilder } from 'discord.js';
import { NEGATIVE_COLOR } from './colors'; import { NEGATIVE_COLOR } from './colors';
export default function embedNegative(title: string, description: string) { export function embedNegative(title: string, description: string) {
return new EmbedBuilder() return new EmbedBuilder()
.setColor(NEGATIVE_COLOR) .setColor(NEGATIVE_COLOR)
.setTitle(title) .setTitle(title)
@@ -1,7 +1,7 @@
import { EmbedBuilder } from 'discord.js'; import { EmbedBuilder } from 'discord.js';
import { POSITIVE_COLOR } from './colors'; import { POSITIVE_COLOR } from './colors';
export default function embedPositive(title: string, description: string) { export function embedPositive(title: string, description: string) {
return new EmbedBuilder() return new EmbedBuilder()
.setColor(POSITIVE_COLOR) .setColor(POSITIVE_COLOR)
.setTitle(title) .setTitle(title)
@@ -1,7 +1,7 @@
import { EmbedBuilder } from 'discord.js'; import { EmbedBuilder } from 'discord.js';
import { WARNING_COLOR } from './colors'; import { WARNING_COLOR } from './colors';
export default function embedWarning(title: string, description: string) { export function embedWarning(title: string, description: string) {
return new EmbedBuilder() return new EmbedBuilder()
.setColor(WARNING_COLOR) .setColor(WARNING_COLOR)
.setTitle(title) .setTitle(title)
@@ -1,6 +1,6 @@
import { StatFilters, TreeType } from '@blitzkit/core'; import { StatFilters, TreeType } from '@blitzkit/core';
import { ChatInputCommandInteraction } from 'discord.js'; import { ChatInputCommandInteraction } from 'discord.js';
import resolveTankId from '../blitz/resolveTankId'; import { resolveTankId } from '../blitz/resolveTankId';
export async function getFiltersFromCommand( export async function getFiltersFromCommand(
interaction: ChatInputCommandInteraction, interaction: ChatInputCommandInteraction,
@@ -1,7 +1,7 @@
export type TableInputEntry = [string, string | number] | []; export type TableInputEntry = [string, string | number] | [];
export type TableInput = TableInputEntry[]; export type TableInput = TableInputEntry[];
export default function markdownTable(input: TableInput) { export function markdownTable(input: TableInput) {
return input return input
.filter((array) => array[1] !== undefined) .filter((array) => array[1] !== undefined)
.map((array) => (array.length === 0 ? '' : `**${array[0]}**: ${array[1]}`)) .map((array) => (array.length === 0 ? '' : `**${array[0]}**: ${array[1]}`))
@@ -10,9 +10,9 @@ import {
import { RenderConfiguration } from '../../../../website/src/core/blitzkit/renderConfiguration'; import { RenderConfiguration } from '../../../../website/src/core/blitzkit/renderConfiguration';
import { InteractionReturnable } from '../../events/interactionCreate'; import { InteractionReturnable } from '../../events/interactionCreate';
import { Writeable } from '../../types/writable'; import { Writeable } from '../../types/writable';
import jsxToPngThreaded from '../blitzkit/jsxToPngThreaded'; import { jsxToPngThreaded } from '../blitzkit/jsxToPngThreaded';
export default async function normalizeInteractionReturnable( export async function normalizeInteractionReturnable(
returnable: InteractionReturnable, returnable: InteractionReturnable,
) { ) {
const images: [number, Buffer][] = []; const images: [number, Buffer][] = [];
@@ -1,12 +1,11 @@
import { Region } from '@blitzkit/core'; import { Region, searchClansAcrossRegions } from '@blitzkit/core';
import searchClansAcrossRegions from '@blitzkit/core/src/blitz/searchClansAcrossRegions';
import { ChatInputCommandInteraction } from 'discord.js'; import { ChatInputCommandInteraction } from 'discord.js';
import markdownEscape from 'markdown-escape'; import markdownEscape from 'markdown-escape';
import { UserError } from '../../../../website/src/hooks/userError'; import { UserError } from '../../../../website/src/hooks/userError';
import { translator } from '../localization/translator'; import { translator } from '../localization/translator';
import { serverAndIdPattern } from './resolvePlayerFromCommand/constants'; import { serverAndIdPattern } from './resolvePlayerFromCommand/constants';
export default async function resolveClanFromCommand( export async function resolveClanFromCommand(
interaction: ChatInputCommandInteraction, interaction: ChatInputCommandInteraction,
) { ) {
const { translate } = translator(interaction.locale); const { translate } = translator(interaction.locale);
@@ -1,13 +1,13 @@
import { Region } from '@blitzkit/core'; import { Region } from '@blitzkit/core';
import { ButtonInteraction } from 'discord.js'; import { ButtonInteraction } from 'discord.js';
import getTimeDaysAgo from '../../../../website/src/core/blitzkit/getTimeDaysAgo'; import { getTimeDaysAgo } from '../../../../website/src/core/blitzkit/getTimeDaysAgo';
import getPeriodNow from '../blitzkit/getPeriodNow'; import { getPeriodNow } from '../blitzkit/getPeriodNow';
import getPeriodStart from '../blitzkit/getPeriodStart'; import { getPeriodStart } from '../blitzkit/getPeriodStart';
import { PeriodType } from './addPeriodSubCommands'; import { PeriodType } from './addPeriodSubCommands';
import { getPeriodOptionName } from './getPeriodOptionName'; import { getPeriodOptionName } from './getPeriodOptionName';
import { ResolvedPeriod } from './resolvePeriodFromCommand'; import { ResolvedPeriod } from './resolvePeriodFromCommand';
export default function resolvePeriodFromButton( export function resolvePeriodFromButton(
region: Region, region: Region,
interaction: ButtonInteraction, interaction: ButtonInteraction,
) { ) {
@@ -1,8 +1,8 @@
import { Region } from '@blitzkit/core'; import { Region } from '@blitzkit/core';
import { CacheType, ChatInputCommandInteraction } from 'discord.js'; import { CacheType, ChatInputCommandInteraction } from 'discord.js';
import getTimeDaysAgo from '../../../../website/src/core/blitzkit/getTimeDaysAgo'; import { getTimeDaysAgo } from '../../../../website/src/core/blitzkit/getTimeDaysAgo';
import getPeriodNow from '../blitzkit/getPeriodNow'; import { getPeriodNow } from '../blitzkit/getPeriodNow';
import getPeriodStart from '../blitzkit/getPeriodStart'; import { getPeriodStart } from '../blitzkit/getPeriodStart';
import { translator } from '../localization/translator'; import { translator } from '../localization/translator';
import { PeriodType } from './addPeriodSubCommands'; import { PeriodType } from './addPeriodSubCommands';
import { getPeriodOptionName } from './getPeriodOptionName'; import { getPeriodOptionName } from './getPeriodOptionName';
@@ -13,7 +13,7 @@ export interface ResolvedPeriod {
end: number; end: number;
} }
export default function resolvePeriodFromCommand( export function resolvePeriodFromCommand(
region: Region, region: Region,
interaction: ChatInputCommandInteraction<CacheType>, interaction: ChatInputCommandInteraction<CacheType>,
forcedPeriod?: PeriodType, forcedPeriod?: PeriodType,
@@ -2,9 +2,7 @@ import { Region } from '@blitzkit/core';
import { ButtonInteraction } from 'discord.js'; import { ButtonInteraction } from 'discord.js';
import { ResolvedPlayer } from './resolvePlayerFromCommand'; import { ResolvedPlayer } from './resolvePlayerFromCommand';
export default async function resolvePlayerFromButton( export async function resolvePlayerFromButton(interaction: ButtonInteraction) {
interaction: ButtonInteraction,
) {
const url = new URL(`https://exmaple.com/${interaction.customId}`); const url = new URL(`https://exmaple.com/${interaction.customId}`);
return { return {
@@ -1,7 +1,6 @@
import { Region } from '@blitzkit/core'; import { Region, searchPlayersAcrossRegions } from '@blitzkit/core';
import { CacheType, ChatInputCommandInteraction } from 'discord.js'; import { CacheType, ChatInputCommandInteraction } from 'discord.js';
import markdownEscape from 'markdown-escape'; import markdownEscape from 'markdown-escape';
import searchPlayersAcrossRegions from '../../../../../website/src/core/blitz/searchPlayersAcrossRegions';
import { UserError } from '../../../../../website/src/hooks/userError'; import { UserError } from '../../../../../website/src/hooks/userError';
import { getBlitzFromDiscord } from '../../blitzkit/getBlitzFromDiscord'; import { getBlitzFromDiscord } from '../../blitzkit/getBlitzFromDiscord';
import { translator } from '../../localization/translator'; import { translator } from '../../localization/translator';
@@ -12,7 +11,7 @@ export interface ResolvedPlayer {
id: number; id: number;
} }
export default async function resolvePlayerFromCommand( export async function resolvePlayerFromCommand(
interaction: ChatInputCommandInteraction<CacheType>, interaction: ChatInputCommandInteraction<CacheType>,
) { ) {
const { t, translate } = translator(interaction.locale); const { t, translate } = translator(interaction.locale);
+1 -1
View File
@@ -1,8 +1,8 @@
import { ReadStream } from '@blitzkit/core';
import AdmZip from 'adm-zip'; import AdmZip from 'adm-zip';
import { readFile, writeFile } from 'fs/promises'; import { readFile, writeFile } from 'fs/promises';
import { Parser } from 'pickleparser'; import { Parser } from 'pickleparser';
import protobuf from 'protobufjs'; import protobuf from 'protobufjs';
import { ReadStream } from '../../../../core/src/streams/buffer';
interface WotbReplayMetaJson { interface WotbReplayMetaJson {
version: string; version: string;
@@ -1,7 +1,7 @@
import { AutocompleteInteraction, CacheType } from 'discord.js'; import { AutocompleteInteraction, CacheType } from 'discord.js';
import { commands } from '..'; import { commands } from '..';
export default async function handleAutocomplete( export async function handleAutocomplete(
interaction: AutocompleteInteraction<CacheType>, interaction: AutocompleteInteraction<CacheType>,
) { ) {
const command = (await commands)[interaction.commandName]; const command = (await commands)[interaction.commandName];
@@ -2,9 +2,7 @@ import { ButtonInteraction, CacheType } from 'discord.js';
import { commands } from '..'; import { commands } from '..';
import normalizeInteractionReturnable from '../../../core/discord/normalizeInteractionReturnable'; import normalizeInteractionReturnable from '../../../core/discord/normalizeInteractionReturnable';
export default async function handleButton( export async function handleButton(interaction: ButtonInteraction<CacheType>) {
interaction: ButtonInteraction<CacheType>,
) {
await interaction.deferUpdate(); await interaction.deferUpdate();
const url = new URL(`https://example.com/${interaction.customId}`); const url = new URL(`https://example.com/${interaction.customId}`);
@@ -9,14 +9,14 @@ import {
} from 'discord.js'; } from 'discord.js';
import { InteractionRawReturnable, commands } from '..'; import { InteractionRawReturnable, commands } from '..';
import { UserError } from '../../../../../website/src/hooks/userError'; import { UserError } from '../../../../../website/src/hooks/userError';
import buttonLink from '../../../core/discord/buttonLink'; import { buttonLink } from '../../../core/discord/buttonLink';
import embedWarning from '../../../core/discord/embedWarning'; import { embedWarning } from '../../../core/discord/embedWarning';
import normalizeInteractionReturnable from '../../../core/discord/normalizeInteractionReturnable'; import { normalizeInteractionReturnable } from '../../../core/discord/normalizeInteractionReturnable';
import { psa } from '../../../core/discord/psa'; import { psa } from '../../../core/discord/psa';
import { translator } from '../../../core/localization/translator'; import { translator } from '../../../core/localization/translator';
import { Writeable } from '../../../types/writable'; import { Writeable } from '../../../types/writable';
export default async function handleChatInputCommand( export async function handleChatInputCommand(
interaction: ChatInputCommandInteraction<CacheType>, interaction: ChatInputCommandInteraction<CacheType>,
) { ) {
const awaitedCommands = await commands; const awaitedCommands = await commands;
@@ -34,9 +34,9 @@ import { searchClansCommand } from '../../commands/searchClans';
import { searchPlayersCommand } from '../../commands/searchPlayers'; import { searchPlayersCommand } from '../../commands/searchPlayers';
import { statsCommand } from '../../commands/stats'; import { statsCommand } from '../../commands/stats';
import { todayCommand } from '../../commands/today'; import { todayCommand } from '../../commands/today';
import handleAutocomplete from './handlers/autocomplete'; import { handleAutocomplete } from './handlers/autocomplete';
import handleButton from './handlers/button'; import { handleButton } from './handlers/button';
import handleChatInputCommand from './handlers/chatInputCommand'; import { handleChatInputCommand } from './handlers/chatInputCommand';
export type InteractionRawReturnable = export type InteractionRawReturnable =
| string | string
@@ -130,9 +130,7 @@ commands.then((awaitedCommands) => {
); );
}); });
export default async function interactionCreate( export async function interactionCreate(interaction: Interaction<CacheType>) {
interaction: Interaction<CacheType>,
) {
if (interaction.isAutocomplete()) { if (interaction.isAutocomplete()) {
handleAutocomplete(interaction); handleAutocomplete(interaction);
} else if (interaction.isChatInputCommand()) { } else if (interaction.isChatInputCommand()) {
+1 -1
View File
@@ -1,6 +1,6 @@
import { ActivityType, Client } from 'discord.js'; import { ActivityType, Client } from 'discord.js';
export default function ready(client: Client<true>) { export function ready(client: Client<true>) {
console.log(`🟢 Launched bot ${client.shard?.ids[0] ?? 'default'}`); console.log(`🟢 Launched bot ${client.shard?.ids[0] ?? 'default'}`);
const activities: (() => string)[] = [ const activities: (() => string)[] = [
+1 -1
View File
@@ -1,5 +1,5 @@
import { parentPort, threadId } from 'worker_threads'; import { parentPort, threadId } from 'worker_threads';
import svgToPng from '../core/blitzkit/svgToPng'; import { svgToPng } from '../core/blitzkit/svgToPng';
console.log(`🟢 Launched render worker ${threadId}`); console.log(`🟢 Launched render worker ${threadId}`);
+1 -1
View File
@@ -1,4 +1,4 @@
{ {
"extends": "../../tsconfig.json", "extends": "../../tsconfig.json",
"include": ["src/**/*"] "include": ["src/**/*", "../core/src/blitz/getRatingInfo.ts"]
} }
@@ -1,6 +1,5 @@
import { assertSecret, Region } from '@blitzkit/core'; import { assertSecret, EventManager, Region } from '@blitzkit/core';
import { EventManager } from '@blitzkit/core/src/blitzkit/eventManager'; import { patientFetch } from '../../../website/src/core/blitzkit/patientFetch';
import { patientFetch } from '../blitzkit/patientFetch';
const RETRY_ERRORS = ['REQUEST_LIMIT_EXCEEDED', 'SOURCE_NOT_AVAILABLE']; const RETRY_ERRORS = ['REQUEST_LIMIT_EXCEEDED', 'SOURCE_NOT_AVAILABLE'];
@@ -64,7 +63,7 @@ async function manageQueue() {
export type FetchBlitzParams = Record<string, string | number | undefined>; export type FetchBlitzParams = Record<string, string | number | undefined>;
export default function fetchBlitz<Data extends object>( export function fetchBlitz<Data extends object>(
region: Region, region: Region,
path: string, path: string,
params: FetchBlitzParams = {}, params: FetchBlitzParams = {},
@@ -1,11 +1,11 @@
import { RatingInfo, Region } from '@blitzkit/core'; import { RatingInfo, Region } from '@blitzkit/core';
import { context } from '../blitzkit/context'; import { regionToRegionSubdomain } from '../../../website/src/core/blitz/regionToRegionSubdomain';
import { patientFetch } from '../blitzkit/patientFetch'; import { context } from '../../../website/src/core/blitzkit/context';
import regionToRegionSubdomain from './regionToRegionSubdomain'; import { patientFetch } from '../../../website/src/core/blitzkit/patientFetch';
const cache: Partial<Record<Region, RatingInfo>> = {}; const cache: Partial<Record<Region, RatingInfo>> = {};
export default async function getRatingInfo(region: Region) { export async function getRatingInfo(region: Region) {
if (cache[region]) return cache[region]!; if (cache[region]) return cache[region]!;
const response = await patientFetch( const response = await patientFetch(
+5
View File
@@ -1,10 +1,15 @@
export * from './clans'; export * from './clans';
export * from './constants'; export * from './constants';
export * from './equipmentPrice'; export * from './equipmentPrice';
export * from './fetchBlitz';
export * from './getLeagueFromScore';
export * from './getRatingInfo';
export * from './idToRegion'; export * from './idToRegion';
export * from './nations'; export * from './nations';
export * from './permanentSkills'; export * from './permanentSkills';
export * from './rating'; export * from './rating';
export * from './regions'; export * from './regions';
export * from './regionSubdomainToRegion';
export * from './resolveNearPenetration'; export * from './resolveNearPenetration';
export * from './searchClansAcrossRegions'; export * from './searchClansAcrossRegions';
export * from './searchPlayersAcrossRegions';
@@ -0,0 +1,5 @@
import { Region, RegionSubdomain } from '@blitzkit/core';
export function regionSubdomainToRegion(regionDomain: RegionSubdomain): Region {
return regionDomain === 'na' ? 'com' : regionDomain;
}
@@ -1,11 +1,7 @@
import { Region } from '@blitzkit/core'; import { fetchBlitz, Region } from '@blitzkit/core';
import fetchBlitz from '../../../website/src/core/blitz/fetchBlitz';
import { ClanList } from './clans'; import { ClanList } from './clans';
export default async function searchClansAcrossRegions( export async function searchClansAcrossRegions(search: string, limit = 25) {
search: string,
limit = 25,
) {
const trimmed = search.trim(); const trimmed = search.trim();
if (trimmed.length < 3 && trimmed.length > 100) return []; if (trimmed.length < 3 && trimmed.length > 100) return [];
const normalizedLimit = Math.floor(limit / 3); const normalizedLimit = Math.floor(limit / 3);
@@ -1,5 +1,5 @@
import { Region } from '@blitzkit/core'; import { Region } from '@blitzkit/core';
import fetchBlitz from '../fetchBlitz'; import { fetchBlitz } from '@blitzkit/core/src/blitz/fetchBlitz';
import { usernamePattern } from './constants'; import { usernamePattern } from './constants';
export interface AccountListItem { export interface AccountListItem {
@@ -11,10 +11,7 @@ export type AccountListWithServer = (AccountListItem & {
region: Region; region: Region;
})[]; })[];
export default async function searchPlayersAcrossRegions( export async function searchPlayersAcrossRegions(search: string, limit = 25) {
search: string,
limit = 25,
) {
const trimmedSearch = search.trim(); const trimmedSearch = search.trim();
const normalizedLimit = Math.floor(limit / 3); const normalizedLimit = Math.floor(limit / 3);
@@ -1,4 +1,4 @@
import { ProvisionDefinitions } from '@blitzkit/core/src/blitzkit/provisionDefinitions'; import { ProvisionDefinitions } from '@blitzkit/core';
import { checkConsumableProvisionInclusivity } from './checkConsumableProvisionInclusivity'; import { checkConsumableProvisionInclusivity } from './checkConsumableProvisionInclusivity';
import { GunDefinition, TankDefinition } from './tankDefinitions'; import { GunDefinition, TankDefinition } from './tankDefinitions';
@@ -1,5 +1,4 @@
import { asset } from '@blitzkit/core/src/blitzkit/asset'; import { asset, fetchCdonLz4 } from '@blitzkit/core';
import { fetchCdonLz4 } from '@blitzkit/core/src/blitzkit/fetchCdonLz4';
export type CamouflageDefinitions = Record< export type CamouflageDefinitions = Record<
number, number,
@@ -1,5 +1,4 @@
import { ConsumableEntry } from '@blitzkit/core/src/blitzkit/consumableDefinitions'; import { ConsumableEntry, ProvisionEntry } from '@blitzkit/core';
import { ProvisionEntry } from '@blitzkit/core/src/blitzkit/provisionDefinitions';
import { GunDefinition, TankDefinition } from './tankDefinitions'; import { GunDefinition, TankDefinition } from './tankDefinitions';
export function checkConsumableProvisionInclusivity( export function checkConsumableProvisionInclusivity(
@@ -1,4 +1,4 @@
import { SkillDefinitions } from '@blitzkit/core/src/blitzkit/skillDefinitions'; import { SkillDefinitions } from '@blitzkit/core';
import { permanentSkills } from '../blitz/permanentSkills'; import { permanentSkills } from '../blitz/permanentSkills';
export function createDefaultSkills(skillDefinitions: SkillDefinitions) { export function createDefaultSkills(skillDefinitions: SkillDefinitions) {
+1 -1
View File
@@ -1,4 +1,4 @@
import { superDecompress } from '@blitzkit/core/src/blitzkit/superDecompress'; import { superDecompress } from '@blitzkit/core';
export async function fetchCdonLz4<Type>(url: string) { export async function fetchCdonLz4<Type>(url: string) {
return await fetch(url, { cache: 'no-store' }) return await fetch(url, { cache: 'no-store' })
@@ -1,5 +1,5 @@
import { assertSecret } from '@blitzkit/core'; import { assertSecret } from '@blitzkit/core';
import getRatingInfo from '../blitz/getRatingInfo'; import { getRatingInfo } from '@blitzkit/core/src/blitz/getRatingInfo';
interface GitHubTrees { interface GitHubTrees {
tree: { path: string; url: string }[]; tree: { path: string; url: string }[];
@@ -1,5 +1,4 @@
import { RatingInfo, Region, asset } from '@blitzkit/core'; import { RatingInfo, Region, asset, superDecompress } from '@blitzkit/core';
import { superDecompress } from '@blitzkit/core/src/blitzkit/superDecompress';
const cache: Record< const cache: Record<
Region, Region,
@@ -15,10 +14,7 @@ const cache: Record<
asia: {}, asia: {},
}; };
export default async function getArchivedRatingInfo( export async function getArchivedRatingInfo(region: Region, season: number) {
region: Region,
season: number,
) {
if (!cache[region][season]) { if (!cache[region][season]) {
const info = await fetch( const info = await fetch(
asset(`regions/${region}/rating/${season}/info.cdon.lz4`), asset(`regions/${region}/rating/${season}/info.cdon.lz4`),
@@ -11,7 +11,7 @@ const cache: Record<Region, Record<number, BkrlDiscriminatedEntries | null>> = {
asia: {}, asia: {},
}; };
export default async function getArchivedRatingMidnightLeaderboard( export async function getArchivedRatingMidnightLeaderboard(
region: Region, region: Region,
season: number, season: number,
) { ) {
+4
View File
@@ -13,6 +13,10 @@ export * from './eventManager';
export * from './fetchCdonLz4'; export * from './fetchCdonLz4';
export * from './filterTank'; export * from './filterTank';
export * from './gameDefinitions'; export * from './gameDefinitions';
export * from './getArchivedLatestSeasonNumber';
export * from './getArchivedRatingInfo';
export * from './getArchivedRatingLeaderboard';
export * from './getArchivedRatingMidnightLeaderboard';
export * from './isExplosive'; export * from './isExplosive';
export * from './modelDefinitions'; export * from './modelDefinitions';
export * from './normalizeBoundingBox'; export * from './normalizeBoundingBox';
@@ -1,4 +1,4 @@
import { TankFilterDefinition } from '@blitzkit/core/src/blitzkit/consumableDefinitions'; import { TankFilterDefinition } from '@blitzkit/core';
import { asset } from './asset'; import { asset } from './asset';
import { fetchCdonLz4 } from './fetchCdonLz4'; import { fetchCdonLz4 } from './fetchCdonLz4';
Loaded 100 of 182 files, more files were not shown because too many files have changed in this diff. Show more