1use brawl_rs::prelude::*;
5use std::env::var;
6
7#[tokio::main]
8#[cfg(feature = "battle_log")]
9async fn main() -> Result<(), Box<dyn std::error::Error>> {
10 let client = BrawlClient::new(var("BRAWL_TOKEN")?);
11
12 println!("=== Battle Log ===\n");
17 match BattleLog::get(&client, "20YY0G9L0").await {
18 Ok(battle_log) => {
19 println!("Found {} battles:\n", battle_log.items.len());
20
21 for (i, battle) in battle_log.items.iter().enumerate().take(3) {
22 println!("=== Battle #{} ===", i + 1);
23
24 println!("Battle Time: {}", battle.battle_time);
26
27 println!("Event ID: {}", battle.event.id);
29 println!("Event Mode ID: {}", battle.event.mode_id);
30 if let Some(map) = &battle.event.map {
31 println!("Event Map: {}", map);
32 }
33
34 println!("Battle Mode: {}", battle.battle.mode);
36 println!("Battle Type: {}", battle.battle.kind);
37
38 if let Some(result) = &battle.battle.result {
39 println!("Result: {}", result);
40 }
41
42 if let Some(rank) = battle.battle.rank {
43 println!("Rank: {}", rank);
44 }
45
46 if let Some(trophy_change) = battle.battle.trophy_change {
47 println!("Trophy Change: {}", trophy_change);
48 }
49
50 if let Some(star_player) = &battle.battle.star_player {
52 println!("Star Player:");
53 println!(" Tag: {}", star_player.tag);
54 println!(" Name: {}", star_player.name);
55 println!(" Brawler ID: {}", star_player.brawler.id);
56 println!(" Brawler Name: {}", star_player.brawler.name);
57 println!(" Brawler Power: {}", star_player.brawler.power);
58 println!(" Brawler Trophies: {}", star_player.brawler.trophies);
59 }
60
61 println!("Players ({}):", battle.battle.players.len());
63 for (j, player) in battle.battle.players.iter().enumerate() {
64 println!(" Player {}:", j + 1);
65 println!(" Tag: {}", player.tag);
66 println!(" Name: {}", player.name);
67 println!(" Brawler ID: {}", player.brawler.id);
68 println!(" Brawler Name: {}", player.brawler.name);
69 println!(" Brawler Power: {}", player.brawler.power);
70 println!(" Brawler Trophies: {}", player.brawler.trophies);
71 }
72
73 if let Some(teams) = &battle.battle.teams {
75 println!("Teams ({} teams):", teams.len());
76 for (team_idx, team) in teams.iter().enumerate() {
77 println!(" Team {} ({} players):", team_idx + 1, team.len());
78 for (player_idx, player) in team.iter().enumerate() {
79 println!(
80 " Player {}: {} ({})",
81 player_idx + 1,
82 player.name,
83 player.brawler.name
84 );
85 }
86 }
87 }
88
89 println!("\n");
90 }
91 }
92 Err(e) => eprintln!("Error fetching battle log: {}", e),
93 }
94
95 Ok(())
96}