feat: core chunk 6

This commit is contained in:
TrèsAbhi committed 2023-10-14 11:32:02 -05:00
1 parent 4f3e868367
commit d726005c38
40 files changed
+83 -80

No files matched your search

@@ -3,7 +3,7 @@ import { Region } from '../../constants/regions';
import getPeriodNow from '../../core/blitzkrieg/getPeriodNow'; import getPeriodNow from '../../core/blitzkrieg/getPeriodNow';
import getPeriodStart from '../../core/blitzkrieg/getPeriodStart'; import getPeriodStart from '../../core/blitzkrieg/getPeriodStart';
import getTimeDaysAgo from '../../core/blitzkrieg/getTimeDaysAgo'; import getTimeDaysAgo from '../../core/blitzkrieg/getTimeDaysAgo';
import { PeriodType } from './addPeriodSubCommands'; import { PeriodType } from '../../core/discord/addPeriodSubCommands';
import { import {
ResolvedPeriod, ResolvedPeriod,
getPeriodOptionName, getPeriodOptionName,
@@ -3,7 +3,10 @@ import { Region } from '../../constants/regions';
import getPeriodNow from '../../core/blitzkrieg/getPeriodNow'; import getPeriodNow from '../../core/blitzkrieg/getPeriodNow';
import getPeriodStart from '../../core/blitzkrieg/getPeriodStart'; import getPeriodStart from '../../core/blitzkrieg/getPeriodStart';
import getTimeDaysAgo from '../../core/blitzkrieg/getTimeDaysAgo'; import getTimeDaysAgo from '../../core/blitzkrieg/getTimeDaysAgo';
import { PeriodSize, PeriodType } from '../discord/addPeriodSubCommands'; import {
PeriodSize,
PeriodType,
} from '../../core/discord/addPeriodSubCommands';
export function getPeriodOptionName(period: PeriodSize) { export function getPeriodOptionName(period: PeriodSize) {
if (period === 'career') return 'Career'; if (period === 'career') return 'Career';
+1 -1
View File
@@ -1,5 +1,5 @@
import { discordBlitzDB } from '../../core/blitzkrieg/discordBlitz'; import { discordBlitzDB } from '../../core/blitzkrieg/discordBlitz';
import { client } from '../discord/client'; import { client } from '../../core/discord/client';
const EXIT_EVENTS = [ const EXIT_EVENTS = [
'beforeExit', 'beforeExit',
+1 -1
View File
@@ -1,4 +1,4 @@
import { client } from './LEGACY_core/discord/client'; import { client } from './core/discord/client';
import { registerProcesses } from './LEGACY_core/node/processes'; import { registerProcesses } from './LEGACY_core/node/processes';
import { secrets } from './LEGACY_core/node/secrets'; import { secrets } from './LEGACY_core/node/secrets';
+2 -2
View File
@@ -1,11 +1,11 @@
import { SlashCommandBuilder } from 'discord.js'; import { SlashCommandBuilder } from 'discord.js';
import packageJSON from '../../package.json' assert { type: 'json' }; import packageJSON from '../../package.json' assert { type: 'json' };
import { client } from '../LEGACY_core/discord/client';
import embedInfo from '../LEGACY_core/discord/embedInfo';
import markdownTable from '../LEGACY_core/discord/markdownTable'; import markdownTable from '../LEGACY_core/discord/markdownTable';
import getClientId from '../LEGACY_core/node/getClientId'; import getClientId from '../LEGACY_core/node/getClientId';
import { tankAverages } from '../core/blitzstars/tankAverages'; import { tankAverages } from '../core/blitzstars/tankAverages';
import { tankopedia } from '../core/blitzstars/tankopedia'; import { tankopedia } from '../core/blitzstars/tankopedia';
import { client } from '../core/discord/client';
import embedInfo from '../core/discord/embedInfo';
import { CommandRegistry } from '../events/interactionCreate'; import { CommandRegistry } from '../events/interactionCreate';
const executionStart = new Date().getTime(); const executionStart = new Date().getTime();
+3 -3
View File
@@ -1,7 +1,4 @@
import { SlashCommandBuilder } from 'discord.js'; import { SlashCommandBuilder } from 'discord.js';
import addUsernameChoices from '../LEGACY_core/discord/addUsernameChoices';
import embedNegative from '../LEGACY_core/discord/embedNegative';
import embedPositive from '../LEGACY_core/discord/embedPositive';
import markdownTable, { import markdownTable, {
TableInput, TableInput,
} from '../LEGACY_core/discord/markdownTable'; } from '../LEGACY_core/discord/markdownTable';
@@ -12,6 +9,9 @@ import getTimeDaysAgo from '../core/blitzkrieg/getTimeDaysAgo';
import getStatsInPeriod from '../core/blitzstars/getStatsInPeriod'; import getStatsInPeriod from '../core/blitzstars/getStatsInPeriod';
import { tankAverages } from '../core/blitzstars/tankAverages'; import { tankAverages } from '../core/blitzstars/tankAverages';
import { tankopedia } from '../core/blitzstars/tankopedia'; import { tankopedia } from '../core/blitzstars/tankopedia';
import addUsernameChoices from '../core/discord/addUsernameChoices';
import embedNegative from '../core/discord/embedNegative';
import embedPositive from '../core/discord/embedPositive';
import calculateWN8 from '../core/statistics/calculateWN8'; import calculateWN8 from '../core/statistics/calculateWN8';
import sumStats from '../core/statistics/sumStats'; import sumStats from '../core/statistics/sumStats';
import { CommandRegistry } from '../events/interactionCreate'; import { CommandRegistry } from '../events/interactionCreate';
+8 -8
View File
@@ -2,13 +2,6 @@ import {
SlashCommandBuilder, SlashCommandBuilder,
SlashCommandSubcommandGroupBuilder, SlashCommandSubcommandGroupBuilder,
} from 'discord.js'; } from 'discord.js';
import addPeriodSubCommands from '../LEGACY_core/discord/addPeriodSubCommands';
import addTankChoices from '../LEGACY_core/discord/addTankChoices';
import addUsernameChoices from '../LEGACY_core/discord/addUsernameChoices';
import autocompleteTanks from '../LEGACY_core/discord/autocompleteTanks';
import autocompleteUsername from '../LEGACY_core/discord/autocompleteUsername';
import { getCustomPeriodParams } from '../LEGACY_core/discord/getCustomPeriodParams';
import interactionToURL from '../LEGACY_core/discord/interactionToURL';
import primaryButton from '../LEGACY_core/discord/primaryButton'; import primaryButton from '../LEGACY_core/discord/primaryButton';
import resolvePeriodFromButton from '../LEGACY_core/discord/resolvePeriodFromButton'; import resolvePeriodFromButton from '../LEGACY_core/discord/resolvePeriodFromButton';
import resolvePeriodFromCommand, { import resolvePeriodFromCommand, {
@@ -29,6 +22,13 @@ import { emblemIdToURL } from '../core/blitzkrieg/emblemIdToURL';
import getTankHistories from '../core/blitzkrieg/getTankHistories'; import getTankHistories from '../core/blitzkrieg/getTankHistories';
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 addPeriodSubCommands from '../core/discord/addPeriodSubCommands';
import addTankChoices from '../core/discord/addTankChoices';
import addUsernameChoices from '../core/discord/addUsernameChoices';
import autocompleteTanks from '../core/discord/autocompleteTanks';
import autocompleteUsername from '../core/discord/autocompleteUsername';
import commandToURL from '../core/discord/commandToURL';
import { getCustomPeriodParams } from '../core/discord/getCustomPeriodParams';
import { CommandRegistryRaw } from '../events/interactionCreate'; import { CommandRegistryRaw } from '../events/interactionCreate';
type EvolutionStatType = 'player' | 'tank'; type EvolutionStatType = 'player' | 'tank';
@@ -152,7 +152,7 @@ export const evolutionCommand = new Promise<CommandRegistryRaw>(
const tankIdRaw = interaction.options.getString('tank')!; const tankIdRaw = interaction.options.getString('tank')!;
const tankId = const tankId =
commandGroup === 'tank' ? await resolveTankId(tankIdRaw) : null; commandGroup === 'tank' ? await resolveTankId(tankIdRaw) : null;
const path = interactionToURL(interaction, { const path = commandToURL(interaction, {
...player, ...player,
...getCustomPeriodParams(interaction), ...getCustomPeriodParams(interaction),
tankId, tankId,
+10 -10
View File
@@ -1,12 +1,4 @@
import { SlashCommandBuilder } from 'discord.js'; import { SlashCommandBuilder } from 'discord.js';
import addStatTypeSubCommands from '../LEGACY_core/discord/addStatTypeSubCommands';
import addUsernameChoices from '../LEGACY_core/discord/addUsernameChoices';
import autocompleteTanks from '../LEGACY_core/discord/autocompleteTanks';
import autocompleteUsername from '../LEGACY_core/discord/autocompleteUsername';
import { getCustomPeriodParams } from '../LEGACY_core/discord/getCustomPeriodParams';
import { getFiltersFromButton } from '../LEGACY_core/discord/getFiltersFromButton';
import { getFiltersFromCommand } from '../LEGACY_core/discord/getFiltersFromCommand';
import interactionToURL from '../LEGACY_core/discord/interactionToURL';
import { refreshButton } from '../LEGACY_core/discord/refreshButton'; import { refreshButton } from '../LEGACY_core/discord/refreshButton';
import resolvePeriodFromButton from '../LEGACY_core/discord/resolvePeriodFromButton'; import resolvePeriodFromButton from '../LEGACY_core/discord/resolvePeriodFromButton';
import resolvePeriodFromCommand, { import resolvePeriodFromCommand, {
@@ -27,6 +19,14 @@ import { emblemIdToURL } from '../core/blitzkrieg/emblemIdToURL';
import { filtersToDescription } from '../core/blitzkrieg/filtersToDescription'; import { filtersToDescription } from '../core/blitzkrieg/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 addFilterOptions from '../core/discord/addFilterOptions';
import addUsernameChoices from '../core/discord/addUsernameChoices';
import autocompleteTanks from '../core/discord/autocompleteTanks';
import autocompleteUsername from '../core/discord/autocompleteUsername';
import commandToURL from '../core/discord/commandToURL';
import { getCustomPeriodParams } from '../core/discord/getCustomPeriodParams';
import { getFiltersFromButton } from '../core/discord/getFiltersFromButton';
import { getFiltersFromCommand } from '../core/discord/getFiltersFromCommand';
import { StatFilters, filterStats } from '../core/statistics/filterStats'; import { StatFilters, filterStats } from '../core/statistics/filterStats';
import { getTierWeights } from '../core/statistics/getTierWeights'; import { getTierWeights } from '../core/statistics/getTierWeights';
import { CommandRegistryRaw } from '../events/interactionCreate'; import { CommandRegistryRaw } from '../events/interactionCreate';
@@ -66,7 +66,7 @@ async function render(
export const fullStatsCommand = new Promise<CommandRegistryRaw>( export const fullStatsCommand = new Promise<CommandRegistryRaw>(
async (resolve) => { async (resolve) => {
const command = await addStatTypeSubCommands( const command = await addFilterOptions(
new SlashCommandBuilder() new SlashCommandBuilder()
.setName('full-stats') .setName('full-stats')
.setDescription('Full in-game statistics'), .setDescription('Full in-game statistics'),
@@ -83,7 +83,7 @@ export const fullStatsCommand = new Promise<CommandRegistryRaw>(
const player = await resolvePlayerFromCommand(interaction); const player = await resolvePlayerFromCommand(interaction);
const period = resolvePeriodFromCommand(player.region, interaction); const period = resolvePeriodFromCommand(player.region, interaction);
const filters = await getFiltersFromCommand(interaction); const filters = await getFiltersFromCommand(interaction);
const path = interactionToURL(interaction, { const path = commandToURL(interaction, {
...player, ...player,
...getCustomPeriodParams(interaction), ...getCustomPeriodParams(interaction),
...filters, ...filters,
+2 -2
View File
@@ -1,6 +1,4 @@
import { SlashCommandBuilder } from 'discord.js'; import { SlashCommandBuilder } from 'discord.js';
import addClanChoices from '../LEGACY_core/discord/addClanChoices';
import autocompleteClan from '../LEGACY_core/discord/autocompleteClan';
import resolveClanFromCommand from '../LEGACY_core/discord/resolveClanFromCommand'; import resolveClanFromCommand from '../LEGACY_core/discord/resolveClanFromCommand';
import GenericStats from '../components/GenericStats'; import GenericStats from '../components/GenericStats';
import NoData, { NoDataType } from '../components/NoData'; import NoData, { NoDataType } from '../components/NoData';
@@ -8,6 +6,8 @@ import TitleBar from '../components/TitleBar';
import Wrapper from '../components/Wrapper'; import Wrapper from '../components/Wrapper';
import { getAccountInfo } from '../core/blitz/getAccountInfo'; import { getAccountInfo } from '../core/blitz/getAccountInfo';
import { getClanInfo } from '../core/blitz/getClanInfo'; import { getClanInfo } from '../core/blitz/getClanInfo';
import addClanChoices from '../core/discord/addClanChoices';
import autocompleteClan from '../core/discord/autocompleteClan';
import { CommandRegistry } from '../events/interactionCreate'; import { CommandRegistry } from '../events/interactionCreate';
const DEFAULT_THRESHOLD = 7; const DEFAULT_THRESHOLD = 7;
+3 -3
View File
@@ -6,15 +6,15 @@ import {
} from 'discord.js'; } from 'discord.js';
import markdownEscape from 'markdown-escape'; import markdownEscape from 'markdown-escape';
import discord from '../../discord.json' assert { type: 'json' }; import discord from '../../discord.json' assert { type: 'json' };
import addUsernameChoices from '../LEGACY_core/discord/addUsernameChoices';
import autocompleteUsername from '../LEGACY_core/discord/autocompleteUsername';
import embedNegative from '../LEGACY_core/discord/embedNegative';
import { Glow } from '../components/AllStatsOverview/components/WN8Display/components/Glow'; import { Glow } from '../components/AllStatsOverview/components/WN8Display/components/Glow';
import Wrapper from '../components/Wrapper'; import Wrapper from '../components/Wrapper';
import { REGION_NAMES_SHORT, Region } from '../constants/regions'; import { REGION_NAMES_SHORT, Region } from '../constants/regions';
import { getAccountInfo } from '../core/blitz/getAccountInfo'; import { getAccountInfo } from '../core/blitz/getAccountInfo';
import { getClanAccountInfo } from '../core/blitz/getClanAccountInfo'; import { getClanAccountInfo } from '../core/blitz/getClanAccountInfo';
import { linkBlitzAndDiscord } from '../core/blitzkrieg/discordBlitz'; import { linkBlitzAndDiscord } from '../core/blitzkrieg/discordBlitz';
import addUsernameChoices from '../core/discord/addUsernameChoices';
import autocompleteUsername from '../core/discord/autocompleteUsername';
import embedNegative from '../core/discord/embedNegative';
import { CommandRegistry } from '../events/interactionCreate'; import { CommandRegistry } from '../events/interactionCreate';
import { theme } from '../stitches.config'; import { theme } from '../stitches.config';
+3 -3
View File
@@ -1,7 +1,4 @@
import { SlashCommandBuilder } from 'discord.js'; import { SlashCommandBuilder } from 'discord.js';
import addTierChoices from '../LEGACY_core/discord/addTierChoices';
import addUsernameChoices from '../LEGACY_core/discord/addUsernameChoices';
import autocompleteUsername from '../LEGACY_core/discord/autocompleteUsername';
import resolvePlayerFromCommand from '../LEGACY_core/discord/resolvePlayerFromCommand'; import resolvePlayerFromCommand from '../LEGACY_core/discord/resolvePlayerFromCommand';
import NoData, { NoDataType } from '../components/NoData'; import NoData, { NoDataType } from '../components/NoData';
import * as Tanks from '../components/Tanks'; import * as Tanks from '../components/Tanks';
@@ -20,6 +17,9 @@ import {
tankopedia, tankopedia,
tankopediaInfo, tankopediaInfo,
} from '../core/blitzstars/tankopedia'; } from '../core/blitzstars/tankopedia';
import addTierChoices from '../core/discord/addTierChoices';
import addUsernameChoices from '../core/discord/addUsernameChoices';
import autocompleteUsername from '../core/discord/autocompleteUsername';
import { CommandRegistry } from '../events/interactionCreate'; import { CommandRegistry } from '../events/interactionCreate';
export const ownedTanksCommand: CommandRegistry = { export const ownedTanksCommand: CommandRegistry = {
+3 -3
View File
@@ -1,15 +1,15 @@
import { SlashCommandBuilder } from 'discord.js'; import { SlashCommandBuilder } from 'discord.js';
import { startCase } from 'lodash'; import { startCase } from 'lodash';
import markdownEscape from 'markdown-escape'; import markdownEscape from 'markdown-escape';
import addUsernameChoices from '../LEGACY_core/discord/addUsernameChoices';
import autocompleteUsername from '../LEGACY_core/discord/autocompleteUsername';
import embedInfo from '../LEGACY_core/discord/embedInfo';
import markdownTable, { import markdownTable, {
TableInputEntry, TableInputEntry,
} from '../LEGACY_core/discord/markdownTable'; } from '../LEGACY_core/discord/markdownTable';
import resolvePlayerFromCommand from '../LEGACY_core/discord/resolvePlayerFromCommand'; import resolvePlayerFromCommand from '../LEGACY_core/discord/resolvePlayerFromCommand';
import { getAccountAchievements } from '../core/blitz/getAccountAchievements'; import { getAccountAchievements } from '../core/blitz/getAccountAchievements';
import { getAccountInfo } from '../core/blitz/getAccountInfo'; import { getAccountInfo } from '../core/blitz/getAccountInfo';
import addUsernameChoices from '../core/discord/addUsernameChoices';
import autocompleteUsername from '../core/discord/autocompleteUsername';
import embedInfo from '../core/discord/embedInfo';
import { CommandRegistry } from '../events/interactionCreate'; import { CommandRegistry } from '../events/interactionCreate';
type SortBy = 'name' | 'count'; type SortBy = 'name' | 'count';
+3 -3
View File
@@ -1,11 +1,11 @@
import { SlashCommandBuilder } from 'discord.js'; import { SlashCommandBuilder } from 'discord.js';
import markdownEscape from 'markdown-escape'; import markdownEscape from 'markdown-escape';
import addUsernameChoices from '../LEGACY_core/discord/addUsernameChoices';
import autocompleteUsername from '../LEGACY_core/discord/autocompleteUsername';
import embedInfo from '../LEGACY_core/discord/embedInfo';
import markdownTable from '../LEGACY_core/discord/markdownTable'; import markdownTable from '../LEGACY_core/discord/markdownTable';
import resolvePlayerFromCommand from '../LEGACY_core/discord/resolvePlayerFromCommand'; import resolvePlayerFromCommand from '../LEGACY_core/discord/resolvePlayerFromCommand';
import { getAccountInfo } from '../core/blitz/getAccountInfo'; import { getAccountInfo } from '../core/blitz/getAccountInfo';
import addUsernameChoices from '../core/discord/addUsernameChoices';
import autocompleteUsername from '../core/discord/autocompleteUsername';
import embedInfo from '../core/discord/embedInfo';
import { CommandRegistry } from '../events/interactionCreate'; import { CommandRegistry } from '../events/interactionCreate';
export const playerInfoCommand: CommandRegistry = { export const playerInfoCommand: CommandRegistry = {
+4 -4
View File
@@ -5,10 +5,6 @@ import {
SlashCommandSubcommandGroupBuilder, SlashCommandSubcommandGroupBuilder,
} from 'discord.js'; } from 'discord.js';
import { BlitzkriegRatingsLeaderboard } from '../../scripts/buildRatingsLeaderboard'; import { BlitzkriegRatingsLeaderboard } from '../../scripts/buildRatingsLeaderboard';
import addRegionChoices from '../LEGACY_core/discord/addRegionChoices';
import addUsernameChoices from '../LEGACY_core/discord/addUsernameChoices';
import autocompleteUsername from '../LEGACY_core/discord/autocompleteUsername';
import embedNegative from '../LEGACY_core/discord/embedNegative';
import resolvePlayerFromCommand from '../LEGACY_core/discord/resolvePlayerFromCommand'; import resolvePlayerFromCommand from '../LEGACY_core/discord/resolvePlayerFromCommand';
import { octokit } from '../LEGACY_core/github/octokit'; import { octokit } from '../LEGACY_core/github/octokit';
import throwError from '../LEGACY_core/node/throwError'; import throwError from '../LEGACY_core/node/throwError';
@@ -24,6 +20,10 @@ import getArchivedRatingsInfo from '../core/blitzkrieg/getArchivedRatingsInfo';
import getMidnightLeaderboard, { import getMidnightLeaderboard, {
DATABASE_REPO, DATABASE_REPO,
} from '../core/blitzkrieg/getMidnightLeaderboard'; } from '../core/blitzkrieg/getMidnightLeaderboard';
import addRegionChoices from '../core/discord/addRegionChoices';
import addUsernameChoices from '../core/discord/addUsernameChoices';
import autocompleteUsername from '../core/discord/autocompleteUsername';
import embedNegative from '../core/discord/embedNegative';
import { CommandRegistryRaw } from '../events/interactionCreate'; import { CommandRegistryRaw } from '../events/interactionCreate';
export interface RatingsPlayer { export interface RatingsPlayer {
+3 -3
View File
@@ -1,11 +1,11 @@
import { SlashCommandBuilder } from 'discord.js'; import { SlashCommandBuilder } from 'discord.js';
import markdownEscape from 'markdown-escape'; import markdownEscape from 'markdown-escape';
import addClanChoices from '../LEGACY_core/discord/addClanChoices';
import addRegionChoices from '../LEGACY_core/discord/addRegionChoices';
import embedInfo from '../LEGACY_core/discord/embedInfo';
import { REGION_NAMES, Region } from '../constants/regions'; import { REGION_NAMES, Region } from '../constants/regions';
import { WARGAMING_APPLICATION_ID } from '../constants/wargamingApplicationID'; import { WARGAMING_APPLICATION_ID } from '../constants/wargamingApplicationID';
import fetchBlitz from '../core/blitz/fetchWargaming'; import fetchBlitz from '../core/blitz/fetchWargaming';
import addClanChoices from '../core/discord/addClanChoices';
import addRegionChoices from '../core/discord/addRegionChoices';
import embedInfo from '../core/discord/embedInfo';
import { CommandRegistry } from '../events/interactionCreate'; import { CommandRegistry } from '../events/interactionCreate';
import { ClanList } from '../types/clanList'; import { ClanList } from '../types/clanList';
+3 -3
View File
@@ -1,8 +1,5 @@
import { SlashCommandBuilder } from 'discord.js'; import { SlashCommandBuilder } from 'discord.js';
import markdownEscape from 'markdown-escape'; import markdownEscape from 'markdown-escape';
import addRegionChoices from '../LEGACY_core/discord/addRegionChoices';
import addUsernameChoices from '../LEGACY_core/discord/addUsernameChoices';
import embedInfo from '../LEGACY_core/discord/embedInfo';
import { REGION_NAMES, Region } from '../constants/regions'; import { REGION_NAMES, Region } from '../constants/regions';
import { WARGAMING_APPLICATION_ID } from '../constants/wargamingApplicationID'; import { WARGAMING_APPLICATION_ID } from '../constants/wargamingApplicationID';
import fetchBlitz from '../core/blitz/fetchWargaming'; import fetchBlitz from '../core/blitz/fetchWargaming';
@@ -10,6 +7,9 @@ import {
AccountList, AccountList,
usernamePattern, usernamePattern,
} from '../core/blitz/searchPlayersAcrossRegions'; } from '../core/blitz/searchPlayersAcrossRegions';
import addRegionChoices from '../core/discord/addRegionChoices';
import addUsernameChoices from '../core/discord/addUsernameChoices';
import embedInfo from '../core/discord/embedInfo';
import { CommandRegistry } from '../events/interactionCreate'; import { CommandRegistry } from '../events/interactionCreate';
export const searchPlayersCommand: CommandRegistry = { export const searchPlayersCommand: CommandRegistry = {
+2 -2
View File
@@ -1,9 +1,9 @@
import { SlashCommandBuilder } from 'discord.js'; import { SlashCommandBuilder } from 'discord.js';
import { go } from 'fuzzysort'; import { go } from 'fuzzysort';
import markdownEscape from 'markdown-escape'; import markdownEscape from 'markdown-escape';
import addTankChoices from '../LEGACY_core/discord/addTankChoices';
import embedInfo from '../LEGACY_core/discord/embedInfo';
import { TANK_NAMES_DIACRITICS } from '../core/blitzstars/tankopedia'; import { TANK_NAMES_DIACRITICS } from '../core/blitzstars/tankopedia';
import addTankChoices from '../core/discord/addTankChoices';
import embedInfo from '../core/discord/embedInfo';
import { CommandRegistry } from '../events/interactionCreate'; import { CommandRegistry } from '../events/interactionCreate';
export const searchTanksCommand: CommandRegistry = { export const searchTanksCommand: CommandRegistry = {
+10 -10
View File
@@ -1,12 +1,4 @@
import { SlashCommandBuilder } from 'discord.js'; import { SlashCommandBuilder } from 'discord.js';
import addStatTypeSubCommands from '../LEGACY_core/discord/addStatTypeSubCommands';
import addUsernameChoices from '../LEGACY_core/discord/addUsernameChoices';
import autocompleteTanks from '../LEGACY_core/discord/autocompleteTanks';
import autocompleteUsername from '../LEGACY_core/discord/autocompleteUsername';
import { getCustomPeriodParams } from '../LEGACY_core/discord/getCustomPeriodParams';
import { getFiltersFromButton } from '../LEGACY_core/discord/getFiltersFromButton';
import { getFiltersFromCommand } from '../LEGACY_core/discord/getFiltersFromCommand';
import interactionToURL from '../LEGACY_core/discord/interactionToURL';
import { refreshButton } from '../LEGACY_core/discord/refreshButton'; import { refreshButton } from '../LEGACY_core/discord/refreshButton';
import resolvePeriodFromButton from '../LEGACY_core/discord/resolvePeriodFromButton'; import resolvePeriodFromButton from '../LEGACY_core/discord/resolvePeriodFromButton';
import resolvePeriodFromCommand, { import resolvePeriodFromCommand, {
@@ -26,6 +18,14 @@ import { emblemIdToURL } from '../core/blitzkrieg/emblemIdToURL';
import { filtersToDescription } from '../core/blitzkrieg/filtersToDescription'; import { filtersToDescription } from '../core/blitzkrieg/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 addFilterOptions from '../core/discord/addFilterOptions';
import addUsernameChoices from '../core/discord/addUsernameChoices';
import autocompleteTanks from '../core/discord/autocompleteTanks';
import autocompleteUsername from '../core/discord/autocompleteUsername';
import commandToURL from '../core/discord/commandToURL';
import { getCustomPeriodParams } from '../core/discord/getCustomPeriodParams';
import { getFiltersFromButton } from '../core/discord/getFiltersFromButton';
import { getFiltersFromCommand } from '../core/discord/getFiltersFromCommand';
import { StatFilters, filterStats } from '../core/statistics/filterStats'; import { StatFilters, filterStats } from '../core/statistics/filterStats';
import { CommandRegistryRaw } from '../events/interactionCreate'; import { CommandRegistryRaw } from '../events/interactionCreate';
@@ -58,7 +58,7 @@ async function render(
} }
export const statsCommand = new Promise<CommandRegistryRaw>(async (resolve) => { export const statsCommand = new Promise<CommandRegistryRaw>(async (resolve) => {
const command = await addStatTypeSubCommands( const command = await addFilterOptions(
new SlashCommandBuilder() new SlashCommandBuilder()
.setName('stats') .setName('stats')
.setDescription('Regular battles statistics'), .setDescription('Regular battles statistics'),
@@ -75,7 +75,7 @@ export const statsCommand = new Promise<CommandRegistryRaw>(async (resolve) => {
const player = await resolvePlayerFromCommand(interaction); const player = await resolvePlayerFromCommand(interaction);
const period = resolvePeriodFromCommand(player.region, interaction); const period = resolvePeriodFromCommand(player.region, interaction);
const filters = await getFiltersFromCommand(interaction); const filters = await getFiltersFromCommand(interaction);
const path = interactionToURL(interaction, { const path = commandToURL(interaction, {
...player, ...player,
...getCustomPeriodParams(interaction), ...getCustomPeriodParams(interaction),
...filters, ...filters,
+4 -4
View File
@@ -1,12 +1,12 @@
import { SlashCommandBuilder } from 'discord.js'; import { SlashCommandBuilder } from 'discord.js';
import addUsernameChoices from '../LEGACY_core/discord/addUsernameChoices';
import autocompleteUsername from '../LEGACY_core/discord/autocompleteUsername';
import interactionToURL from '../LEGACY_core/discord/interactionToURL';
import linkButton from '../LEGACY_core/discord/linkButton'; import linkButton from '../LEGACY_core/discord/linkButton';
import primaryButton from '../LEGACY_core/discord/primaryButton'; import primaryButton from '../LEGACY_core/discord/primaryButton';
import resolvePlayerFromButton from '../LEGACY_core/discord/resolvePlayerFromButton'; import resolvePlayerFromButton from '../LEGACY_core/discord/resolvePlayerFromButton';
import resolvePlayerFromCommand from '../LEGACY_core/discord/resolvePlayerFromCommand'; import resolvePlayerFromCommand from '../LEGACY_core/discord/resolvePlayerFromCommand';
import { getAccountInfo } from '../core/blitz/getAccountInfo'; import { getAccountInfo } from '../core/blitz/getAccountInfo';
import addUsernameChoices from '../core/discord/addUsernameChoices';
import autocompleteUsername from '../core/discord/autocompleteUsername';
import commandToURL from '../core/discord/commandToURL';
import { CommandRegistry } from '../events/interactionCreate'; import { CommandRegistry } from '../events/interactionCreate';
import today from '../renderers/today'; import today from '../renderers/today';
@@ -49,7 +49,7 @@ export const todayCommand: CommandRegistry = {
const maximized = interaction.options.getInteger('maximized') ?? undefined; const maximized = interaction.options.getInteger('maximized') ?? undefined;
const showTotal = interaction.options.getBoolean('show-total') ?? undefined; const showTotal = interaction.options.getBoolean('show-total') ?? undefined;
const { nickname } = await getAccountInfo(player.region, player.id); const { nickname } = await getAccountInfo(player.region, player.id);
const path = interactionToURL(interaction, { const path = commandToURL(interaction, {
...player, ...player,
cutoff, cutoff,
maximized, maximized,
+1 -1
View File
@@ -1,5 +1,5 @@
import { PeriodSize } from '../../LEGACY_core/discord/addPeriodSubCommands';
import { Region } from '../../constants/regions'; import { Region } from '../../constants/regions';
import { PeriodSize } from '../discord/addPeriodSubCommands';
import getTimeDaysAgo from './getTimeDaysAgo'; import getTimeDaysAgo from './getTimeDaysAgo';
export default function getPeriodStart(region: Region, period: PeriodSize) { export default function getPeriodStart(region: Region, period: PeriodSize) {
File renamed without changes.
@@ -4,12 +4,12 @@ import {
SlashCommandSubcommandGroupBuilder, SlashCommandSubcommandGroupBuilder,
} from 'discord.js'; } from 'discord.js';
import { TREE_TYPE_NAMES, TreeTypeString } from '../../components/Tanks'; import { TREE_TYPE_NAMES, TreeTypeString } from '../../components/Tanks';
import { tankopediaInfo } from '../../core/blitzstars/tankopedia'; import { tankopediaInfo } from '../blitzstars/tankopedia';
import addPeriodSubCommands from './addPeriodSubCommands'; import addPeriodSubCommands from './addPeriodSubCommands';
import addTankChoices from './addTankChoices'; import addTankChoices from './addTankChoices';
import addTierChoices from './addTierChoices'; import addTierChoices from './addTierChoices';
export default async function addStatTypeSubCommands< export default async function addFilterOptions<
OptionType extends SlashCommandBuilder | SlashCommandSubcommandGroupBuilder, OptionType extends SlashCommandBuilder | SlashCommandSubcommandGroupBuilder,
>( >(
option: OptionType, option: OptionType,
File renamed without changes.
@@ -1,6 +1,6 @@
import { SlashCommandStringOption } from 'discord.js'; import { SlashCommandStringOption } from 'discord.js';
import { range } from 'lodash'; import { range } from 'lodash';
import numberToRomanNumeral from '../../core/math/numberToRomanNumeral'; import numberToRomanNumeral from '../math/numberToRomanNumeral';
export default function addTierChoices(option: SlashCommandStringOption) { export default function addTierChoices(option: SlashCommandStringOption) {
return option return option
@@ -4,7 +4,7 @@ import {
CacheType, CacheType,
} from 'discord.js'; } from 'discord.js';
import { REGION_NAMES } from '../../constants/regions'; import { REGION_NAMES } from '../../constants/regions';
import searchClansAcrossRegions from '../../core/blitz/searchClansAcrossRegions'; import searchClansAcrossRegions from '../blitz/searchClansAcrossRegions';
export default async function autocompleteClan( export default async function autocompleteClan(
interaction: AutocompleteInteraction<CacheType>, interaction: AutocompleteInteraction<CacheType>,
@@ -4,7 +4,7 @@ import {
CacheType, CacheType,
} from 'discord.js'; } from 'discord.js';
import { go } from 'fuzzysort'; import { go } from 'fuzzysort';
import { TANK_NAMES_DIACRITICS } from '../../core/blitzstars/tankopedia'; import { TANK_NAMES_DIACRITICS } from '../blitzstars/tankopedia';
export default async function autocompleteTanks( export default async function autocompleteTanks(
interaction: AutocompleteInteraction<CacheType>, interaction: AutocompleteInteraction<CacheType>,
@@ -4,7 +4,7 @@ import {
CacheType, CacheType,
} from 'discord.js'; } from 'discord.js';
import { REGION_NAMES } from '../../constants/regions'; import { REGION_NAMES } from '../../constants/regions';
import searchPlayersAcrossRegions from '../../core/blitz/searchPlayersAcrossRegions'; import searchPlayersAcrossRegions from '../blitz/searchPlayersAcrossRegions';
export default async function autocompleteUsername( export default async function autocompleteUsername(
interaction: AutocompleteInteraction<CacheType>, interaction: AutocompleteInteraction<CacheType>,
File renamed without changes.
@@ -4,7 +4,7 @@ export interface Parameters {
[key: string]: string | number | boolean | undefined | null; [key: string]: string | number | boolean | undefined | null;
} }
export default function interactionToURL( export default function commandToURL(
interaction: ChatInputCommandInteraction<CacheType>, interaction: ChatInputCommandInteraction<CacheType>,
parameters?: Parameters, parameters?: Parameters,
) { ) {
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
@@ -1,6 +1,6 @@
import { ButtonInteraction } from 'discord.js'; import { ButtonInteraction } from 'discord.js';
import { TreeTypeString } from '../../components/Tanks'; import { TreeTypeString } from '../../components/Tanks';
import { StatFilters } from '../../core/statistics/filterStats'; import { StatFilters } from '../statistics/filterStats';
export function getFiltersFromButton(interaction: ButtonInteraction) { export function getFiltersFromButton(interaction: ButtonInteraction) {
const url = new URL(`https://example.com/${interaction.customId}`); const url = new URL(`https://example.com/${interaction.customId}`);
@@ -1,7 +1,7 @@
import { ChatInputCommandInteraction } from 'discord.js'; import { ChatInputCommandInteraction } from 'discord.js';
import { TreeTypeString } from '../../components/Tanks'; import { TreeTypeString } from '../../components/Tanks';
import resolveTankId from '../../core/blitz/resolveTankId'; import resolveTankId from '../blitz/resolveTankId';
import { StatFilters } from '../../core/statistics/filterStats'; import { StatFilters } from '../statistics/filterStats';
export async function getFiltersFromCommand( export async function getFiltersFromCommand(
interaction: ChatInputCommandInteraction, interaction: ChatInputCommandInteraction,
@@ -7,10 +7,10 @@ import {
} from 'discord.js'; } from 'discord.js';
import { commands } from '..'; import { commands } from '..';
import discord from '../../../../discord.json' assert { type: 'json' }; import discord from '../../../../discord.json' assert { type: 'json' };
import embedNegative from '../../../LEGACY_core/discord/embedNegative';
import embedWarning from '../../../LEGACY_core/discord/embedWarning';
import normalizeInteractionReturnable from '../../../LEGACY_core/discord/normalizeInteractionReturnable'; import normalizeInteractionReturnable from '../../../LEGACY_core/discord/normalizeInteractionReturnable';
import { psa } from '../../../LEGACY_core/discord/psa'; import { psa } from '../../../LEGACY_core/discord/psa';
import embedNegative from '../../../core/discord/embedNegative';
import embedWarning from '../../../core/discord/embedWarning';
export default async function handleChatInputCommand( export default async function handleChatInputCommand(
interaction: ChatInputCommandInteraction<CacheType>, interaction: ChatInputCommandInteraction<CacheType>,