mirror of
https://github.com/blitzkit/blitzkit.git
synced 2026-10-24 12:09:51 +02:00
feat: better wargaming error typing
This commit is contained in:
1 parent
c37b90caac
commit
c494331470
8 files changed
+134
-119
No files matched your search
@@ -29,6 +29,6 @@ export interface ClanDetailsData {
|
|||||||
description: string;
|
description: string;
|
||||||
}
|
}
|
||||||
|
|
||||||
export interface ClanDetails extends WargamingResponse {
|
export type ClanDetails = WargamingResponse<{
|
||||||
data: { [accountId: number]: ClanDetailsData };
|
[accountId: number]: ClanDetailsData;
|
||||||
}
|
}>;
|
||||||
@@ -8,6 +8,4 @@ export interface Clan {
|
|||||||
name: string;
|
name: string;
|
||||||
}
|
}
|
||||||
|
|
||||||
export interface ClanList extends WargamingResponse {
|
export type ClanList = WargamingResponse<Clan[]>;
|
||||||
data: Clan[];
|
|
||||||
}
|
|
||||||
+15
-17
@@ -1,22 +1,20 @@
|
|||||||
import { WargamingResponse } from './wargamingResponse.js';
|
import { WargamingResponse } from './wargamingResponse.js';
|
||||||
|
|
||||||
export interface PlayerClanData extends WargamingResponse {
|
export type PlayerClanData = WargamingResponse<{
|
||||||
data: {
|
[accountId: number]: {
|
||||||
[accountId: number]: {
|
account_id: number;
|
||||||
account_id: number;
|
joined_at: number;
|
||||||
joined_at: number;
|
clan_id: number;
|
||||||
clan_id: number;
|
role: string;
|
||||||
role: string;
|
account_name: string;
|
||||||
account_name: string;
|
|
||||||
|
|
||||||
clan?: {
|
clan?: {
|
||||||
members_count: number;
|
members_count: number;
|
||||||
name: string;
|
name: string;
|
||||||
created_at: number;
|
created_at: number;
|
||||||
tag: string;
|
tag: string;
|
||||||
clan_id: number;
|
clan_id: number;
|
||||||
emblem_set_id: number;
|
emblem_set_id: number;
|
||||||
};
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}>;
|
||||||
@@ -1,59 +1,57 @@
|
|||||||
import { WargamingResponse } from './wargamingResponse.js';
|
import { WargamingResponse } from './wargamingResponse.js';
|
||||||
|
|
||||||
export interface PlayerPersonalData extends WargamingResponse {
|
export type PlayerPersonalData = WargamingResponse<{
|
||||||
data: {
|
[accountId: number]: {
|
||||||
[accountId: number]: {
|
statistics: {
|
||||||
statistics: {
|
clan: {
|
||||||
clan: {
|
spotted: number;
|
||||||
spotted: number;
|
max_frags_tank_id: number;
|
||||||
max_frags_tank_id: number;
|
hits: number;
|
||||||
hits: number;
|
frags: number;
|
||||||
frags: number;
|
max_xp: number;
|
||||||
max_xp: number;
|
max_xp_tank_id: number;
|
||||||
max_xp_tank_id: number;
|
wins: number;
|
||||||
wins: number;
|
losses: number;
|
||||||
losses: number;
|
capture_points: number;
|
||||||
capture_points: number;
|
battles: number;
|
||||||
battles: number;
|
damage_dealt: number;
|
||||||
damage_dealt: number;
|
damage_received: number;
|
||||||
damage_received: number;
|
max_frags: number;
|
||||||
max_frags: number;
|
shots: number;
|
||||||
shots: number;
|
frags8p: number;
|
||||||
frags8p: number;
|
xp: number;
|
||||||
xp: number;
|
win_and_survived: number;
|
||||||
win_and_survived: number;
|
survived_battles: number;
|
||||||
survived_battles: number;
|
dropped_capture_points: number;
|
||||||
dropped_capture_points: number;
|
|
||||||
};
|
|
||||||
all: {
|
|
||||||
spotted: number;
|
|
||||||
max_frags_tank_id: number;
|
|
||||||
hits: number;
|
|
||||||
frags: number;
|
|
||||||
max_xp: number;
|
|
||||||
max_xp_tank_id: number;
|
|
||||||
wins: number;
|
|
||||||
losses: number;
|
|
||||||
capture_points: number;
|
|
||||||
battles: number;
|
|
||||||
damage_dealt: number;
|
|
||||||
damage_received: number;
|
|
||||||
max_frags: number;
|
|
||||||
shots: number;
|
|
||||||
frags8p: number;
|
|
||||||
xp: number;
|
|
||||||
win_and_survived: number;
|
|
||||||
survived_battles: number;
|
|
||||||
dropped_capture_points: number;
|
|
||||||
};
|
|
||||||
frags: null;
|
|
||||||
};
|
};
|
||||||
account_id: number;
|
all: {
|
||||||
created_at: number;
|
spotted: number;
|
||||||
updated_at: number;
|
max_frags_tank_id: number;
|
||||||
private: null;
|
hits: number;
|
||||||
last_battle_time: number;
|
frags: number;
|
||||||
nickname: string;
|
max_xp: number;
|
||||||
|
max_xp_tank_id: number;
|
||||||
|
wins: number;
|
||||||
|
losses: number;
|
||||||
|
capture_points: number;
|
||||||
|
battles: number;
|
||||||
|
damage_dealt: number;
|
||||||
|
damage_received: number;
|
||||||
|
max_frags: number;
|
||||||
|
shots: number;
|
||||||
|
frags8p: number;
|
||||||
|
xp: number;
|
||||||
|
win_and_survived: number;
|
||||||
|
survived_battles: number;
|
||||||
|
dropped_capture_points: number;
|
||||||
|
};
|
||||||
|
frags: null;
|
||||||
};
|
};
|
||||||
|
account_id: number;
|
||||||
|
created_at: number;
|
||||||
|
updated_at: number;
|
||||||
|
private: null;
|
||||||
|
last_battle_time: number;
|
||||||
|
nickname: string;
|
||||||
};
|
};
|
||||||
}
|
}>;
|
||||||
@@ -5,6 +5,4 @@ export interface Player {
|
|||||||
account_id: number;
|
account_id: number;
|
||||||
}
|
}
|
||||||
|
|
||||||
export interface Players extends WargamingResponse {
|
export type Players = WargamingResponse<Player[]>;
|
||||||
data: Player[];
|
|
||||||
}
|
|
||||||
+33
-36
@@ -1,38 +1,35 @@
|
|||||||
import { WargamingResponse } from './wargamingResponse.js';
|
import { WargamingResponse } from './wargamingResponse.js';
|
||||||
|
|
||||||
export interface TanksStats extends WargamingResponse {
|
export type TanksStats = WargamingResponse<{
|
||||||
data: {
|
[accountId: number]: {
|
||||||
[accountId: number]:
|
all: {
|
||||||
| {
|
spotted: number;
|
||||||
all: {
|
hits: number;
|
||||||
spotted: number;
|
frags: number;
|
||||||
hits: number;
|
max_xp: number;
|
||||||
frags: number;
|
wins: number;
|
||||||
max_xp: number;
|
losses: number;
|
||||||
wins: number;
|
capture_points: number;
|
||||||
losses: number;
|
battles: number;
|
||||||
capture_points: number;
|
damage_dealt: number;
|
||||||
battles: number;
|
damage_received: number;
|
||||||
damage_dealt: number;
|
max_frags: number;
|
||||||
damage_received: number;
|
shots: number;
|
||||||
max_frags: number;
|
frags8p: number;
|
||||||
shots: number;
|
xp: number;
|
||||||
frags8p: number;
|
win_and_survived: number;
|
||||||
xp: number;
|
survived_battles: number;
|
||||||
win_and_survived: number;
|
dropped_capture_points: number;
|
||||||
survived_battles: number;
|
};
|
||||||
dropped_capture_points: number;
|
last_battle_time: number;
|
||||||
};
|
account_id: number;
|
||||||
last_battle_time: number;
|
max_xp: number;
|
||||||
account_id: number;
|
in_garage_updated: number;
|
||||||
max_xp: number;
|
max_frags: number;
|
||||||
in_garage_updated: number;
|
frags: number | null;
|
||||||
max_frags: number;
|
mark_of_mastery: number;
|
||||||
frags: number | null;
|
battle_life_time: number;
|
||||||
mark_of_mastery: number;
|
in_garage: number | null;
|
||||||
battle_life_time: number;
|
tank_id: number;
|
||||||
in_garage: number | null;
|
}[];
|
||||||
tank_id: number;
|
}>;
|
||||||
}[];
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@@ -1,3 +1,8 @@
|
|||||||
export interface WargamingResponse {
|
export type WargamingResponse<Data extends object> =
|
||||||
status: string;
|
| {
|
||||||
}
|
status: 'error';
|
||||||
|
}
|
||||||
|
| {
|
||||||
|
status: 'ok';
|
||||||
|
data: Data;
|
||||||
|
};
|
||||||
@@ -0,0 +1,21 @@
|
|||||||
|
import {
|
||||||
|
CacheType,
|
||||||
|
ChatInputCommandInteraction,
|
||||||
|
EmbedBuilder,
|
||||||
|
} from 'discord.js';
|
||||||
|
import { NEGATIVE_COLOR } from '../constants/colors.js';
|
||||||
|
|
||||||
|
export default async function wargamingError(
|
||||||
|
interaction: ChatInputCommandInteraction<CacheType>,
|
||||||
|
) {
|
||||||
|
await interaction.reply({
|
||||||
|
embeds: [
|
||||||
|
new EmbedBuilder()
|
||||||
|
.setColor(NEGATIVE_COLOR)
|
||||||
|
.setTitle('Skilled Bot ran into an issue')
|
||||||
|
.setDescription('Wargaming returned an error. Please try again later.'),
|
||||||
|
],
|
||||||
|
});
|
||||||
|
|
||||||
|
console.log('Wargaming returned an error.');
|
||||||
|
}
|
||||||
Reference in new issue
Block a user