UNPKG

brawl-api

Version:

<p align="center"> <img width="50%" height="50%" src="https://media.discordapp.net/attachments/683788192628867140/969077412853841970/BrawlAPI.png"> </p>

308 lines (299 loc) 7.06 kB
/// <reference types="node" file="./main.js"/> /** * TYPES * */ export type Brawler = { "id": Number, "avatarId": Number, "name": string, "hash": string, "path": string, "released": boolean, "version": Number, "link": string, "imageUrl": string, "imageUrl2": string, "imageUrl3": string, "class": { "id": Number, "name": string }, "rarity": { "id": Number, "name": string, "color": string }, "unlock": null, "description": string, "starPowers": [ { "id": Number, "name": string, "path": string, "version": Number, "description": string, "imageUrl": string, "released": boolean }, { "id": Number, "name": string, "path": string, "version": Number, "description": string, "imageUrl": string, "released": boolean } ], "gadgets": [ { "id": Number, "name": string, "path": string, "version": Number, "description": string, "imageUrl": string, "released": boolean }, { "id": Number, "name": string, "path": string, "version": Number, "description": string, "imageUrl": string, "released": boolean } ], "videos": [ { "type": Number, "name": string, "description": string, "duration": string, "videoUrl": string, "previewUrl": string, "uploadDate": string }, { "type": Number, "name": string, "description": string, "duration": string, "videoUrl": string, "previewUrl": string, "uploadDate": string } ] } export type Club = { club: { tag: string, name: string, trophies: Number, requiredTrophies: Number, memberCount: Number, description: string, updated: { data: Number, history: Number } }, history: [ { type: string, data: { joined: boolean, player: { tag: string, name: string } }, timestamp: Number } ] } export type BrawnEvents = { active: BrawnEvent[] upcoming: BrawnEvent[] } export type BrawnEventStat = { name: string, hash: string, brawler1: number, brawler2: number, brawler3: number, data: { winRate: number, useRate: number, wins: number, losses: number, draws: number, total: number } } export type BrawnEventTeamStat = { name: string, hash: string, brawler1: number, brawler2: number, brawler3: number, data: { winRate: number, useRate: number, wins: number, losses: number, draws: number, total: number } } export type BrawnEvent = { slot: { id: number, name: string, hash: string, listAlone: boolean, hideable: boolean, hideForSlot: null, background: string }, startTime: string, endTime: string, reward: number, map: { id: number, new: boolean, disabled: boolean, name: string, hash: string, version: number, link: string, imageUrl: string, credit: null, environment: { id: number, name: string, hash: string, path: string, version: number, imageUrl: string }, gameMode: { id: number, name: string, hash: string, version: number, color: string, link: string, imageUrl: string }, lastActive: number, dataUpdated: number, stats: BrawnEventStat[] }, teamStats: BrawnEventTeamStat[] modifier: null } export type GameMode = { id: Number, name: string, hash: string, scHash: string, disabled: boolean, color: string, version: Number, title: string, tutorial: string, description: string, shortDescription: string, sort1: Number, sort2: Number, link: string, imageUrl: string, imageUrl2: string } export type IconsResponse = { player: Icon[] club: Icon[] } export type Icon = { id: Number, imageUrl: string, imageUrl2: string brawler: Number | null } export type BrawlMap = { id: Number, new: boolean, disabled: boolean, name: string, hash: string, version: Number, link: string, imageUrl: string, credit: null, environment: { id: Number, name: string, hash: string, path: string, version: Number, imageUrl: string }, gameMode: { id: 1, name: string, hash: string, version: Number, color: string, link: string, imageUrl: string }, lastActive: Number, dataUpdated: null, stats: [], teamStats: [] } /** * CLASSES * */ export class Brawlers { public getAllBrawlers(): Promise<Brawler[]> getBrawlerById(id: string | Number):Promise<Brawler> } export class ClubLogs { getClub(id: string | Number):Promise<Club> } export class Events { getAllEvents(): Promise<BrawnEvents[]> getActiveEvents(): Promise<BrawnEvent[]> getUpcomingEvents(): Promise<BrawnEvent[]> getEventsFromTrophyRange(range: "0-299" | "300-599" | "600+"): Promise<BrawnEvents[]> } export class GameModes { getGameModes(): Promise<GameMode[]> getGameModeById(id: string | Number):Promise<GameMode> } export class Icons { getAllIcons(): Promise<IconsResponse> getPlayerIcons():Promise<Icon[]> getClubIcons():Promise<Icon[]> getPlayerIconsById (id: string | Number):Promise<Icon> getClubIconsById(id: string | Number):Promise<Icon> } export class Maps { getAllMaps(): Promise<BrawlMap[]> getMapById(id: string | Number):Promise<BrawlMap> getMapByTrophy(id: string | Number, range: "0-299" | "300-599" | "600+"):Promise<BrawlMap> } /** * MAIN EXPORT * */ export class BrawlAPI { Brawlers: Brawlers ClubLogs: ClubLogs Events:Events GameModes:GameModes Icons:Icons Maps:Maps }