Skip to main content

player/
player.rs

1// Example: Fetch Player Information
2// To run: cargo run --example player
3
4use brawl_rs::prelude::*;
5use std::env::var;
6
7#[tokio::main]
8#[cfg(feature = "player")]
9async fn main() -> Result<(), Box<dyn std::error::Error>> {
10    let client = BrawlClient::new(var("BRAWL_TOKEN")?);
11
12    // Fetch player information
13    // Note: Replace with a valid player tag
14    match Player::get(&client, "20YY0G9L0").await {
15        Ok(mut player) => {
16            println!("=== Player Information ===");
17            println!("Name: {}", player.name);
18            println!("Trophies: {}", player.trophies);
19            println!("Highest Trophies: {}", player.highest_trophies);
20            println!("Level: {}", player.exp_level);
21            println!("Prestige: {}", player.total_prestige_level);
22            println!("Experience Points: {}", player.exp_points);
23            println!("\n=== Victories ===");
24            println!("3v3: {}", player.victories_3v3);
25            println!("Solo: {}", player.solo_victories);
26            println!("Duo: {}", player.duo_victories);
27
28            if let Some(club_name) = &player.club.name {
29                println!("\n=== Club ===");
30                println!("Name: {}", club_name);
31                println!("Tag: {}", player.club.tag.as_deref().unwrap_or("N/A"));
32            }
33
34            println!("\n=== Brawlers ({} total) ===", player.brawlers.len());
35            player
36                .brawlers
37                .sort_by(|x, x1| x1.trophies.cmp(&x.trophies));
38
39            for brawler in player.brawlers.iter().take(10) {
40                println!(
41                    "{}: Power {}, Trophies {}, Rank {}",
42                    brawler.name, brawler.power, brawler.trophies, brawler.rank
43                );
44            }
45        }
46        Err(e) => eprintln!("Error fetching player: {:?}", e),
47    }
48
49    Ok(())
50}