-
Notifications
You must be signed in to change notification settings - Fork 18
v2.users.details_v3
ck edited this page Oct 6, 2024
·
2 revisions
async Retrieves a user by given parameters.
const { auth, v2 } = require('osu-api-extended');
async function main() {
try {
await auth.login({
type: 'v2',
client_id: CLIENT_ID,
client_secret: CLIENT_SECRET,
cachedTokenPath: './test.json' // path to the file your auth token will be saved (to prevent osu!api spam)
});
const result = await v2.users.details({ user: 9893708, mode: 'osu', key: 'id' });
if (result.error != null) {
console.log(result.error);
return;
};
console.log(result);
} catch (error) {
console.log(error);
};
};
main();| Parameter | Type | Description |
|---|---|---|
| params.user? | number | string |
| params.mode? | Modes_names | |
| params.key? | 'id' | 'username' |
| addons.legacy_only? | boolean | |
| addons.apiVersion? | '20240130' | '99999999' |
| addons.authKey? | string | |
| addons.timeout_ms? | number | |
| addons.ignoreSessionRefresh? | boolean |
export interface UsersDetailsResponse {
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
cover_url: string
discord?: string
has_supported: boolean
interests: string
join_date: string
location: string
max_blocks: number
max_friends: number
occupation?: string
playmode: string
playstyle: string[]
post_count: number
profile_hue: number
profile_order: string[]
title?: string
title_url: any
twitter?: string
website: string
country: Country
cover: Cover
kudosu: Kudosu
account_history: any[]
active_tournament_banner: any
active_tournament_banners: any[]
badges: Badge[]
beatmap_playcounts_count: number
comments_count: number
daily_challenge_user_stats: DailyChallengeUserStats
favourite_beatmapset_count: number
follower_count: number
graveyard_beatmapset_count: number
groups: Group[]
guest_beatmapset_count: number
loved_beatmapset_count: number
mapping_follower_count: number
monthly_playcounts: MonthlyPlaycount[]
nominated_beatmapset_count: number
page: Page
pending_beatmapset_count: number
previous_usernames: string[]
rank_highest: RankHighest
ranked_beatmapset_count: number
replays_watched_counts: ReplaysWatchedCount[]
scores_best_count: number
scores_first_count: number
scores_pinned_count: number
scores_recent_count: number
statistics: Statistics
support_level: number
user_achievements: UserAchievement[]
rank_history: RankHistory
rankHistory: RankHistory2
ranked_and_approved_beatmapset_count: number
unranked_beatmapset_count: number
is_restricted?: boolean
}
export interface UserAuth extends UsersDetailsResponse {
access_token: string;
refresh_token: string;
expires_in: number;
}
export interface Country {
code: string
name: string
}
export interface Cover {
custom_url: string
url: string
id?: string
}
export interface Kudosu {
available: number
total: number
}
export interface Badge {
awarded_at: string
description: string
"image@2x_url": string
image_url: string
url: string
}
export interface Group {
colour: string
has_listing: boolean
has_playmodes: boolean
id: number
identifier: string
is_probationary: boolean
name: string
short_name: string
playmodes: any
}
export interface DailyChallengeUserStats {
daily_streak_best: number
daily_streak_current: number
last_update?: string
last_weekly_streak?: string
playcount: number
top_10p_placements: number
top_50p_placements: number
user_id: number
weekly_streak_best: number
weekly_streak_current: number
}
export interface MonthlyPlaycount {
start_date: string
count: number
}
export interface Page {
html: string
raw: string
}
export interface RankHighest {
rank: number
updated_at: string
}
export interface ReplaysWatchedCount {
start_date: string
count: number
}
export interface Statistics {
count_100: number
count_300: number
count_50: number
count_miss: number
level: Level
global_rank: number
global_rank_exp: any
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: GradeCounts
country_rank: number
rank: Rank
variants?: Variant[]
}
export interface Level {
current: number
progress: number
}
export interface GradeCounts {
ss: number
ssh: number
s: number
sh: number
a: number
}
export interface Rank {
country: number
}
export interface Variant {
mode: string
variant: string
country_rank: number
global_rank: number
pp: number
}
export interface UserAchievement {
achieved_at: string
achievement_id: number
}
export interface RankHistory {
mode: string
data: number[]
}
export interface RankHistory2 {
mode: string
data: number[]
}