mirror of
https://github.com/blitzkit/blitzkit.git
synced 2026-10-22 03:07:04 +02:00
feat: added mightnight leaderboard cache
This commit is contained in:
1 parent
ed8bab7df8
commit
4f3e868367
7 files changed
+27
-11
No files matched your search
@@ -2,7 +2,7 @@ import { CacheType, ChatInputCommandInteraction } from 'discord.js';
|
||||
import markdownEscape from 'markdown-escape';
|
||||
import { Region } from '../../constants/regions';
|
||||
import searchPlayersAcrossRegions from '../../core/blitz/searchPlayersAcrossRegions';
|
||||
import { getBlitzFromDiscord } from '../cockroackdb/discordBlitz';
|
||||
import { getBlitzFromDiscord } from '../../core/blitzkrieg/discordBlitz';
|
||||
import throwError from '../node/throwError';
|
||||
|
||||
export const serverAndIdPattern = /(com|eu|asia)\/[0-9]+/;
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { discordBlitzDB } from '../cockroackdb/discordBlitz';
|
||||
import { discordBlitzDB } from '../../core/blitzkrieg/discordBlitz';
|
||||
import { client } from '../discord/client';
|
||||
|
||||
const EXIT_EVENTS = [
|
||||
|
||||
@@ -6,7 +6,6 @@ import {
|
||||
} from 'discord.js';
|
||||
import markdownEscape from 'markdown-escape';
|
||||
import discord from '../../discord.json' assert { type: 'json' };
|
||||
import { linkBlitzAndDiscord } from '../LEGACY_core/cockroackdb/discordBlitz';
|
||||
import addUsernameChoices from '../LEGACY_core/discord/addUsernameChoices';
|
||||
import autocompleteUsername from '../LEGACY_core/discord/autocompleteUsername';
|
||||
import embedNegative from '../LEGACY_core/discord/embedNegative';
|
||||
@@ -15,6 +14,7 @@ import Wrapper from '../components/Wrapper';
|
||||
import { REGION_NAMES_SHORT, Region } from '../constants/regions';
|
||||
import { getAccountInfo } from '../core/blitz/getAccountInfo';
|
||||
import { getClanAccountInfo } from '../core/blitz/getClanAccountInfo';
|
||||
import { linkBlitzAndDiscord } from '../core/blitzkrieg/discordBlitz';
|
||||
import { CommandRegistry } from '../events/interactionCreate';
|
||||
import { theme } from '../stitches.config';
|
||||
|
||||
|
||||
@@ -5,9 +5,6 @@ import {
|
||||
SlashCommandSubcommandGroupBuilder,
|
||||
} from 'discord.js';
|
||||
import { BlitzkriegRatingsLeaderboard } from '../../scripts/buildRatingsLeaderboard';
|
||||
import getMidnightLeaderboard, {
|
||||
DATABASE_REPO,
|
||||
} from '../LEGACY_core/database/getMidnightLeaderboard';
|
||||
import addRegionChoices from '../LEGACY_core/discord/addRegionChoices';
|
||||
import addUsernameChoices from '../LEGACY_core/discord/addUsernameChoices';
|
||||
import autocompleteUsername from '../LEGACY_core/discord/autocompleteUsername';
|
||||
@@ -24,6 +21,9 @@ import { getClanAccountInfo } from '../core/blitz/getClanAccountInfo';
|
||||
import getRatingsInfo from '../core/blitz/getRatingsInfo';
|
||||
import regionToRegionSubdomain from '../core/blitz/regionToRegionSubdomain';
|
||||
import getArchivedRatingsInfo from '../core/blitzkrieg/getArchivedRatingsInfo';
|
||||
import getMidnightLeaderboard, {
|
||||
DATABASE_REPO,
|
||||
} from '../core/blitzkrieg/getMidnightLeaderboard';
|
||||
import { CommandRegistryRaw } from '../events/interactionCreate';
|
||||
|
||||
export interface RatingsPlayer {
|
||||
|
||||
File renamed without changes.
@@ -1,8 +1,8 @@
|
||||
import { RatingsInfo } from '../../commands/ratings';
|
||||
import { Region } from '../../constants/regions';
|
||||
import { DATABASE_REPO } from '../../LEGACY_core/database/getMidnightLeaderboard';
|
||||
import { octokit } from '../../LEGACY_core/github/octokit';
|
||||
import throwError from '../../LEGACY_core/node/throwError';
|
||||
import { RatingsInfo } from '../../commands/ratings';
|
||||
import { Region } from '../../constants/regions';
|
||||
import { DATABASE_REPO } from './getMidnightLeaderboard';
|
||||
|
||||
const ARCHIVED_RATINGS_CACHE: Record<
|
||||
Region,
|
||||
|
||||
+18
-2
@@ -1,13 +1,26 @@
|
||||
import { BlitzkriegRatingsLeaderboard } from '../../../scripts/buildRatingsLeaderboard';
|
||||
import { Region } from '../../constants/regions';
|
||||
import { octokit } from '../github/octokit';
|
||||
import { octokit } from '../../LEGACY_core/github/octokit';
|
||||
|
||||
export const DATABASE_REPO = { owner: 'tresabhi', repo: 'blitzkrieg-db' };
|
||||
|
||||
const MIDNIGHT_LEADERBOARD_CACHE: Record<
|
||||
Region,
|
||||
Record<number, BlitzkriegRatingsLeaderboard>
|
||||
> = {
|
||||
com: {},
|
||||
eu: {},
|
||||
asia: {},
|
||||
};
|
||||
|
||||
export default async function getMidnightLeaderboard(
|
||||
region: Region,
|
||||
season: number,
|
||||
) {
|
||||
if (MIDNIGHT_LEADERBOARD_CACHE[region][season]) {
|
||||
return MIDNIGHT_LEADERBOARD_CACHE[region][season];
|
||||
}
|
||||
|
||||
try {
|
||||
const { data } = await octokit.repos.getContent({
|
||||
...DATABASE_REPO,
|
||||
@@ -16,8 +29,11 @@ export default async function getMidnightLeaderboard(
|
||||
|
||||
if (!Array.isArray(data) && data.type === 'file') {
|
||||
const response = await fetch(data.download_url!);
|
||||
const json = (await response.json()) as BlitzkriegRatingsLeaderboard;
|
||||
|
||||
return (await response.json()) as BlitzkriegRatingsLeaderboard;
|
||||
MIDNIGHT_LEADERBOARD_CACHE[region][season] = json;
|
||||
|
||||
return json;
|
||||
}
|
||||
} catch (error) {
|
||||
console.warn(
|
||||
Reference in new issue
Block a user