UNPKG

osu-api-extended

Version:

Advanced osu! api wrapper for v1 and v2, with extra stuff

193 lines (192 loc) 5.95 kB
export interface response { cursor: { page: number; }; ranking: { count_100?: number; count_300?: number; count_50?: number; count_miss?: number; level: { current: number; progress: number; }; global_rank?: number; global_rank_exp?: number; pp?: number; pp_exp?: number; ranked_score: number; hit_accuracy?: number; play_count: number; play_time?: number; total_score?: number; total_hits?: number; maximum_combo?: number; replays_watched_by_others?: number; is_ranked?: boolean; grade_counts: { ss: number; ssh: number; s: number; sh: number; a: number; }; rank_change_since_30_days?: number; user: { avatar_url: string; country_code: string; default_group: string; id: number; is_active: boolean; is_bot: boolean; is_deleted: boolean; is_online: boolean; is_supporter: boolean; last_visit: string; pm_friends_only: boolean; profile_colour: string; username: string; country: { code: string; name: string; }; cover: { custom_url: string; url: string; id: number; }; }; code?: string; active_users?: number; performance?: number; country: { code: string; name: string; }; }[]; total: number; beatmapsets: { artist: string; artist_unicode: string; covers: { cover: string; 'cover@2x': string; card: string; 'card@2x': string; list: string; 'list@2x': string; slimcover: string; 'slimcover@2x': string; }; creator: string; favourite_count: number; hype?: string; id: number; nsfw: boolean; offset: number; play_count: number; preview_url: string; source: string; spotlight: boolean; status: string; title: string; title_unicode: string; track_id?: string; user_id: number; video: boolean; bpm: number; can_be_hyped: boolean; deleted_at?: string; discussion_enabled: boolean; discussion_locked: boolean; is_scoreable: boolean; last_updated: string; legacy_thread_url: string; nominations_summary: { current: number; required: number; }; ranked: number; ranked_date: string; storyboard: boolean; submitted_date: string; tags: string; availability: { download_disabled: boolean; more_information: string; }; has_favourited: boolean; beatmaps: { beatmapset_id: number; difficulty_rating: number; id: number; mode: string; status: string; total_length: number; user_id: number; version: string; accuracy: number; ar: number; bpm: number; convert: boolean; count_circles: number; count_sliders: number; count_spinners: number; cs: number; deleted_at?: string; drain: number; hit_length: number; is_scoreable: boolean; last_updated: string; mode_int: number; passcount: number; playcount: number; ranked: number; url: string; checksum: string; }[]; }[]; spotlight: { end_date: string; id: number; mode_specific: boolean; name: string; start_date: string; type: string; participant_count: number; }; } export interface types { /** * Gets the current ranking leaderboard for the specified type and game mode * * ## Example * * ```js * const { v2, auth } = require('osu-api-extended'); * * const main = async () => { * await auth.login(CLIENT_ID, CLIENT_SECRET); * * const v2_site_ranking_details = await v2.site.ranking.details(mode, type, object); * console.log(v2_site_ranking_details); * }; * * main(); * ``` * @param {string} mode ```osu``` or ```fruits``` or ```mania``` or ```taiko``` * @param {string} type ```charts``` or ```country``` or ```performance``` or ```score``` * @param {number} object.country Filter ranking by country code. Only available for ```type``` of ```performance``` * @param {number} object.cursor[page] Page number * @param {string} object.filter ```all``` or ```friends``` * @param {string} object.spotlight The id of the spotlight if type is charts. Ranking for latest spotlight will be returned if not specified * @param {string} object.variant Filter ranking to specified mode variant. For ```mode``` of ```mania```, it's either ```4k``` or ```7k```. Only available for ```type``` of ```performance``` */ (mode: 'osu' | 'fruits' | 'mania' | 'taiko', type: 'charts' | 'country' | 'performance' | 'score', object?: { country?: string; "cursor[page]"?: number; filter?: 'all' | 'friends'; spotlight?: string; variant?: string; }): Promise<response>; }