mirror of
https://github.com/blitzkit/blitzkit.git
synced 2026-10-24 03:59:50 +02:00
feat: core chunk 6
This commit is contained in:
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,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
@@ -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';
|
||||||
|
|
||||||
|
|||||||
@@ -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();
|
||||||
|
|||||||
@@ -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';
|
||||||
|
|||||||
@@ -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
@@ -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,
|
||||||
|
|||||||
@@ -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;
|
||||||
|
|||||||
@@ -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';
|
||||||
|
|
||||||
|
|||||||
@@ -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 = {
|
||||||
|
|||||||
@@ -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';
|
||||||
|
|||||||
@@ -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 = {
|
||||||
|
|||||||
@@ -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 {
|
||||||
|
|||||||
@@ -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';
|
||||||
|
|
||||||
|
|||||||
@@ -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 = {
|
||||||
|
|||||||
@@ -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
@@ -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,
|
||||||
|
|||||||
@@ -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,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.
+2
-2
@@ -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.
File renamed without changes.
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
|
||||||
File renamed without changes.
@@ -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>,
|
||||||
+1
-1
@@ -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>,
|
||||||
+1
-1
@@ -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.
File renamed without changes.
+1
-1
@@ -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}`);
|
||||||
+2
-2
@@ -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>,
|
||||||
|
|||||||
Reference in new issue
Block a user