mirror of
https://github.com/blitzkit/blitzkit.git
synced 2026-10-24 12:09:51 +02:00
feat: cleaned blitzstars
This commit is contained in:
1 parent
c7821d03d2
commit
169588a211
13 files changed
+13
-65
No files matched your search
@@ -5,7 +5,7 @@ import sumStats from '../core/blitz/sumStats.js';
|
|||||||
import { tankopedia } from '../core/blitz/tankopedia.js';
|
import { tankopedia } from '../core/blitz/tankopedia.js';
|
||||||
import getPeriodNow from '../core/blitzstars/getPeriodNow.js';
|
import getPeriodNow from '../core/blitzstars/getPeriodNow.js';
|
||||||
import getPeriodStart from '../core/blitzstars/getPeriodStart.js';
|
import getPeriodStart from '../core/blitzstars/getPeriodStart.js';
|
||||||
import getTankStatsOverTime from '../core/blitzstars/getTankStatsOverTime.js';
|
import getTankStatsDiffed from '../core/blitzstars/getTankStatsDiffed.js';
|
||||||
import { tankAverages } from '../core/blitzstars/tankAverages.js';
|
import { tankAverages } from '../core/blitzstars/tankAverages.js';
|
||||||
import addUsernameOption from '../core/discord/addUsernameOption.js';
|
import addUsernameOption from '../core/discord/addUsernameOption.js';
|
||||||
import cleanTable, { TableInput } from '../core/discord/cleanTable.js';
|
import cleanTable, { TableInput } from '../core/discord/cleanTable.js';
|
||||||
@@ -58,7 +58,7 @@ export default {
|
|||||||
let body = '';
|
let body = '';
|
||||||
|
|
||||||
if (clan === 'SKLLD') {
|
if (clan === 'SKLLD') {
|
||||||
const tankStatsOverTime = await getTankStatsOverTime(
|
const tankStatsOverTime = await getTankStatsDiffed(
|
||||||
server,
|
server,
|
||||||
id,
|
id,
|
||||||
getPeriodStart('30'),
|
getPeriodStart('30'),
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
import { AllStats } from '../../types/accountInfo.js';
|
import { AllStats } from '../../types/accountInfo.js';
|
||||||
import { emptyAllStats } from '../blitzstars/getTankStatsOverTime.js';
|
import { emptyAllStats } from '../blitzstars/getTankStatsDiffed.js';
|
||||||
|
|
||||||
export default function sumStats(allStatsCollection: AllStats[]) {
|
export default function sumStats(allStatsCollection: AllStats[]) {
|
||||||
return allStatsCollection.reduce((accumulated, current) => {
|
return allStatsCollection.reduce((accumulated, current) => {
|
||||||
|
|||||||
@@ -1,28 +0,0 @@
|
|||||||
import {
|
|
||||||
CacheType,
|
|
||||||
ChatInputCommandInteraction,
|
|
||||||
EmbedBuilder,
|
|
||||||
} from 'discord.js';
|
|
||||||
import { client } from '../../bot.js';
|
|
||||||
import { NEGATIVE_COLOR } from '../../constants/colors.js';
|
|
||||||
import { handleError } from '../../events/error.js';
|
|
||||||
|
|
||||||
export default async function blitzStarsError(
|
|
||||||
interaction: ChatInputCommandInteraction<CacheType>,
|
|
||||||
error: Error,
|
|
||||||
command: string,
|
|
||||||
) {
|
|
||||||
await interaction.editReply({
|
|
||||||
embeds: [
|
|
||||||
new EmbedBuilder()
|
|
||||||
.setColor(NEGATIVE_COLOR)
|
|
||||||
.setTitle(`${client.user?.username} ran into an issue`)
|
|
||||||
.setDescription(
|
|
||||||
'BlitzStars returned an error. Please try again later.',
|
|
||||||
),
|
|
||||||
],
|
|
||||||
});
|
|
||||||
|
|
||||||
console.log(`BlitzStars returned an error`);
|
|
||||||
handleError(error, command);
|
|
||||||
}
|
|
||||||
@@ -1,5 +0,0 @@
|
|||||||
import { BlitzServer } from '../../constants/servers.js';
|
|
||||||
|
|
||||||
export default function blitzStarsLinks(server: BlitzServer, nickname: string) {
|
|
||||||
return `[View full stats](https://www.blitzstars.com/player/${server}/${nickname}) • [Support BlitzStars](https://www.blitzstars.com/supporters)`;
|
|
||||||
}
|
|
||||||
@@ -8,7 +8,7 @@ import {
|
|||||||
} from '../../types/histories.js';
|
} from '../../types/histories.js';
|
||||||
import getWargamingResponse from '../blitz/getWargamingResponse.js';
|
import getWargamingResponse from '../blitz/getWargamingResponse.js';
|
||||||
import { WARGAMING_APPLICATION_ID } from '../node/args.js';
|
import { WARGAMING_APPLICATION_ID } from '../node/args.js';
|
||||||
import { emptyAllStats } from './getTankStatsOverTime.js';
|
import { emptyAllStats } from './getTankStatsDiffed.js';
|
||||||
|
|
||||||
export interface PlayerHistoryRaw {
|
export interface PlayerHistoryRaw {
|
||||||
clan: { clan_id: number; name: string; tag: string };
|
clan: { clan_id: number; name: string; tag: string };
|
||||||
|
|||||||
@@ -6,7 +6,7 @@ import {
|
|||||||
getHistoriesDefaultOptions,
|
getHistoriesDefaultOptions,
|
||||||
} from '../../types/histories.js';
|
} from '../../types/histories.js';
|
||||||
import getTankStats from '../blitz/getTankStats.js';
|
import getTankStats from '../blitz/getTankStats.js';
|
||||||
import { emptyAllStats } from './getTankStatsOverTime.js';
|
import { emptyAllStats } from './getTankStatsDiffed.js';
|
||||||
|
|
||||||
export interface TankHistory extends History {
|
export interface TankHistory extends History {
|
||||||
tank_id: number;
|
tank_id: number;
|
||||||
|
|||||||
+1
-1
@@ -34,7 +34,7 @@ export const emptyTankHistoryNode: TankHistoryRaw = {
|
|||||||
all: emptyAllStats,
|
all: emptyAllStats,
|
||||||
};
|
};
|
||||||
|
|
||||||
export default async function getTankStatsOverTime(
|
export default async function getTankStatsDiffed(
|
||||||
server: BlitzServer,
|
server: BlitzServer,
|
||||||
id: number,
|
id: number,
|
||||||
start: number,
|
start: number,
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
export default function getTimeDaysAgo(period: number) {
|
export default function getTimeDaysAgo(daysAgo: number) {
|
||||||
const now = new Date();
|
const now = new Date();
|
||||||
now.setHours(5, 0, 0, 0);
|
now.setHours(5, 0, 0, 0);
|
||||||
|
|
||||||
@@ -6,7 +6,7 @@ export default function getTimeDaysAgo(period: number) {
|
|||||||
if (now.getTime() > Date.now()) now.setDate(now.getDate() - 1);
|
if (now.getTime() > Date.now()) now.setDate(now.getDate() - 1);
|
||||||
|
|
||||||
// subtract the period number of days from now
|
// subtract the period number of days from now
|
||||||
now.setDate(now.getDate() - period);
|
now.setDate(now.getDate() - daysAgo);
|
||||||
|
|
||||||
return now.getTime() / 1000;
|
return now.getTime() / 1000;
|
||||||
}
|
}
|
||||||
@@ -1,11 +0,0 @@
|
|||||||
export default function last5AM() {
|
|
||||||
const fiveAM = new Date();
|
|
||||||
fiveAM.setHours(5, 0, 0, 0); // Set the time to 5:00 AM today
|
|
||||||
|
|
||||||
if (fiveAM > new Date()) {
|
|
||||||
// If it's now before 5:00 AM, go back one day
|
|
||||||
fiveAM.setDate(fiveAM.getDate() - 1);
|
|
||||||
}
|
|
||||||
|
|
||||||
return fiveAM;
|
|
||||||
}
|
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
import sumStats from '../blitz/sumStats.js';
|
import sumStats from '../blitz/sumStats.js';
|
||||||
import { emptyAllStats } from './getTankStatsOverTime.js';
|
import { emptyAllStats } from './getTankStatsDiffed.js';
|
||||||
import { tankAverages } from './tankAverages.js';
|
import { tankAverages } from './tankAverages.js';
|
||||||
|
|
||||||
console.log('Calculating player average...');
|
console.log('Calculating player average...');
|
||||||
|
|||||||
@@ -1,8 +0,0 @@
|
|||||||
import { EmbedBuilder } from 'discord.js';
|
|
||||||
|
|
||||||
export default function poweredByBlitzStars(embed: EmbedBuilder) {
|
|
||||||
return embed.setTimestamp().setFooter({
|
|
||||||
text: 'Powered by BlitzStars',
|
|
||||||
iconURL: 'https://www.blitzstars.com/assets/images/TankyMcPewpew.png',
|
|
||||||
});
|
|
||||||
}
|
|
||||||
@@ -10,7 +10,7 @@ import getWargamingResponse from '../core/blitz/getWargamingResponse.js';
|
|||||||
import resolveTankName from '../core/blitz/resolveTankName.js';
|
import resolveTankName from '../core/blitz/resolveTankName.js';
|
||||||
import sumStats from '../core/blitz/sumStats.js';
|
import sumStats from '../core/blitz/sumStats.js';
|
||||||
import { Tier, tankopedia } from '../core/blitz/tankopedia.js';
|
import { Tier, tankopedia } from '../core/blitz/tankopedia.js';
|
||||||
import getTankStatsOverTime from '../core/blitzstars/getTankStatsOverTime.js';
|
import getTankStatsDiffed from '../core/blitzstars/getTankStatsDiffed.js';
|
||||||
import { tankAverages } from '../core/blitzstars/tankAverages.js';
|
import { tankAverages } from '../core/blitzstars/tankAverages.js';
|
||||||
import { ResolvedPeriod } from '../core/discord/resolvePeriodFromCommand.js';
|
import { ResolvedPeriod } from '../core/discord/resolvePeriodFromCommand.js';
|
||||||
import { ResolvedPlayer } from '../core/discord/resolvePlayerFromCommand.js';
|
import { ResolvedPlayer } from '../core/discord/resolvePlayerFromCommand.js';
|
||||||
@@ -49,7 +49,7 @@ export default async function stats<Type extends StatType>(
|
|||||||
image = tankopedia[tankId].images.normal;
|
image = tankopedia[tankId].images.normal;
|
||||||
}
|
}
|
||||||
|
|
||||||
const tankStats = await getTankStatsOverTime(server, id, start, end);
|
const tankStats = await getTankStatsDiffed(server, id, start, end);
|
||||||
let stats: AllStats;
|
let stats: AllStats;
|
||||||
let supplementaryStats: SupplementaryStats;
|
let supplementaryStats: SupplementaryStats;
|
||||||
let tierWeights: TierWeightsRecord;
|
let tierWeights: TierWeightsRecord;
|
||||||
|
|||||||
@@ -11,7 +11,7 @@ import resolveTankName from '../core/blitz/resolveTankName.js';
|
|||||||
import sumStats from '../core/blitz/sumStats.js';
|
import sumStats from '../core/blitz/sumStats.js';
|
||||||
import { tankopedia } from '../core/blitz/tankopedia.js';
|
import { tankopedia } from '../core/blitz/tankopedia.js';
|
||||||
import getPeriodNow from '../core/blitzstars/getPeriodNow.js';
|
import getPeriodNow from '../core/blitzstars/getPeriodNow.js';
|
||||||
import getTankStatsOverTime from '../core/blitzstars/getTankStatsOverTime.js';
|
import getTankStatsDiffed from '../core/blitzstars/getTankStatsDiffed.js';
|
||||||
import getTimeDaysAgo from '../core/blitzstars/getTimeDaysAgo.js';
|
import getTimeDaysAgo from '../core/blitzstars/getTimeDaysAgo.js';
|
||||||
import { tankAverages } from '../core/blitzstars/tankAverages.js';
|
import { tankAverages } from '../core/blitzstars/tankAverages.js';
|
||||||
import { ResolvedPlayer } from '../core/discord/resolvePlayerFromCommand.js';
|
import { ResolvedPlayer } from '../core/discord/resolvePlayerFromCommand.js';
|
||||||
@@ -20,7 +20,7 @@ import { AccountInfo, AllStats } from '../types/accountInfo.js';
|
|||||||
import { PlayerClanData } from '../types/playerClanData.js';
|
import { PlayerClanData } from '../types/playerClanData.js';
|
||||||
|
|
||||||
export default async function today({ server, id }: ResolvedPlayer) {
|
export default async function today({ server, id }: ResolvedPlayer) {
|
||||||
const tankStatsOverTime = await getTankStatsOverTime(
|
const tankStatsOverTime = await getTankStatsDiffed(
|
||||||
server,
|
server,
|
||||||
id,
|
id,
|
||||||
getTimeDaysAgo(0),
|
getTimeDaysAgo(0),
|
||||||
|
|||||||
Reference in new issue
Block a user