pub struct Player {Show 17 fields
pub club: Option<PlayerClub>,
pub is_qualified_from_championship_challenge: bool,
pub tvt_victories: usize,
pub tag: String,
pub name: String,
pub trophies: usize,
pub highest_trophies: usize,
pub exp_level: usize,
pub exp_points: usize,
pub power_play_points: usize,
pub highest_power_play_points: usize,
pub solo_victories: usize,
pub duo_victories: usize,
pub best_robo_rumble_time: usize,
pub best_time_as_big_brawler: usize,
pub brawlers: Vec<PlayerBrawlerStat>,
pub name_color: u64,
}Expand description
A struct representing a Brawl Stars player, with all of its data.
Use Player::fetch to fetch one based on tag. (Make sure the PropFetchable trait
is imported - in general, it is recommended to at least use brawl_api::traits::*, or,
even, use brawl_api::prelude::* to bring the models into scope as well.)
Fields§
§club: Option<PlayerClub>The club the Player is in (as a PlayerClub instance), or None if none.
is_qualified_from_championship_challenge: boolWhether or not the Player was qualified from the Championship challenge (2020).
tvt_victories: usizeAmount of 3v3 victories the Player has earned.
tag: StringThe player’s tag. Note: this includes the initial ‘#’.
name: StringThe player’s name.
trophies: usizeThe player’s current trophies.
highest_trophies: usizeThe player’s highest trophies amount.
exp_level: usizeThe player’s experience level.
exp_points: usizeThe player’s experience points.
power_play_points: usizeThe player’s current power play points.
highest_power_play_points: usizeThe player’s highest power play points.
solo_victories: usizeThe player’s victories in solo showdown (how many times ranked #1).
duo_victories: usizeThe player’s victories in duo showdown (how many times ranked #1).
best_robo_rumble_time: usizeThe player’s best Robo Rumble time, in seconds.
best_time_as_big_brawler: usizeThe player’s best time as a Big Brawler, in seconds.
brawlers: Vec<PlayerBrawlerStat>The player’s brawlers.
name_color: u64The player’s name color, as an integer (Default is 0xffffff = 16777215 - this is used when the data is not available).
Trait Implementations§
Source§impl<'de> Deserialize<'de> for Player
impl<'de> Deserialize<'de> for Player
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
impl Eq for Player
Source§impl FetchFrom<BattlePlayer> for Player
impl FetchFrom<BattlePlayer> for Player
Source§fn fetch_from(client: &Client, b_player: &BattlePlayer) -> Result<Player>
fn fetch_from(client: &Client, b_player: &BattlePlayer) -> Result<Player>
(Async) Fetches a Player instance, given a preexisting BattlePlayer instance.
§Errors
See Player::fetch.
§Examples
use brawl_api::{
Client, Player, BattleLog, Battle, BattleResultInfo, BattlePlayer,
traits::*
};
let my_client = Client::new("my auth token");
let battlelog = BattleLog::fetch(&my_client, "#PLAYER_TAG_HERE")?;
let most_recent_battle: Option<&Battle> = battlelog.get(0);
if let Some(battle) = most_recent_battle {
if let Some(ref teams) = &battle.result.teams {
let some_b_player: &BattlePlayer = &teams[0][0];
let some_player = Player::fetch_from(&my_client, some_b_player)?;
// now `some_b_player`'s full data, as a Player, is available for use.
}
}
Source§fn a_fetch_from<'life0, 'life1, 'async_trait>(
client: &'life0 Client,
b_player: &'life1 BattlePlayer,
) -> Pin<Box<dyn Future<Output = Result<Player>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
fn a_fetch_from<'life0, 'life1, 'async_trait>(
client: &'life0 Client,
b_player: &'life1 BattlePlayer,
) -> Pin<Box<dyn Future<Output = Result<Player>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
(Async) Fetches a Player instance, given a preexisting BattlePlayer instance.
§Errors
See Player::fetch.
§Examples
use brawl_api::{
Client, Player, BattleLog, Battle, BattleResultInfo, BattlePlayer,
traits::*
};
let my_client = Client::new("my auth token");
let battlelog = BattleLog::a_fetch(&my_client, "#PLAYER_TAG_HERE").await?;
let most_recent_battle: Option<&Battle> = battlelog.get(0);
if let Some(battle) = most_recent_battle {
if let Some(ref teams) = &battle.result.teams {
let some_b_player: &BattlePlayer = &teams[0][0];
let some_player = Player::a_fetch_from(&my_client, some_b_player).await?;
// now `some_b_player`'s full data, as a Player, is available for use.
}
}
Source§impl FetchFrom<ClubMember> for Player
impl FetchFrom<ClubMember> for Player
Source§fn fetch_from(client: &Client, member: &ClubMember) -> Result<Player>
fn fetch_from(client: &Client, member: &ClubMember) -> Result<Player>
(Sync) Fetches a Player instance, given a preexisting ClubMember instance.
§Errors
See Player::fetch.
§Examples
use brawl_api::{Client, Player, Club, traits::*};
let my_client = Client::new("my auth token");
let club = Club::fetch(&my_client, "#CLUB_TAG_HERE")?;
let some_member = &club.members[0];
let some_player = Player::fetch_from(&my_client, some_member)?;
// now `some_member`'s full data, as a Player, is available for use.
Source§fn a_fetch_from<'life0, 'life1, 'async_trait>(
client: &'life0 Client,
member: &'life1 ClubMember,
) -> Pin<Box<dyn Future<Output = Result<Player>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
fn a_fetch_from<'life0, 'life1, 'async_trait>(
client: &'life0 Client,
member: &'life1 ClubMember,
) -> Pin<Box<dyn Future<Output = Result<Player>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
(Async) Fetches a Player instance, given a preexisting ClubMember instance.
§Errors
See Player::fetch.
§Examples
use brawl_api::{Client, Player, Club, traits::*};
let my_client = Client::new("my auth token");
let club = Club::a_fetch(&my_client, "#CLUB_TAG_HERE").await?;
let some_member = &club.members[0];
let some_player = Player::a_fetch_from(&my_client, some_member).await?;
// now `some_member`'s full data, as a Player, is available for use.
Source§impl FetchFrom<Player> for BattleLog
impl FetchFrom<Player> for BattleLog
Source§fn fetch_from(client: &Client, player: &Player) -> Result<BattleLog>
fn fetch_from(client: &Client, player: &Player) -> Result<BattleLog>
(Sync) Fetches a given player’s battlelog (a BattleLog instance) by using data from
an existing Player instance. (See BattleLog::fetch for more details.)
Note that this is simply to minimize efforts when a player was already fetched. If
no Player instance was previously present, it is recommended to simply BattleLog::fetch
with the specific player’s tag.
§Examples
use brawl_api::{Client, Player, BattleLog, traits::*};
let my_client = Client::new("my auth token");
let player = Player::fetch(&my_client, "#PLAYERTAGHERE")?;
// do stuff with player...
let player_battlelog = BattleLog::fetch_from(&my_client, &player)?;
// now the player's battlelog is available for use
Source§fn a_fetch_from<'life0, 'life1, 'async_trait>(
client: &'life0 Client,
player: &'life1 Player,
) -> Pin<Box<dyn Future<Output = Result<BattleLog>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
fn a_fetch_from<'life0, 'life1, 'async_trait>(
client: &'life0 Client,
player: &'life1 Player,
) -> Pin<Box<dyn Future<Output = Result<BattleLog>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
(Async) Fetches a given player’s battlelog (a BattleLog instance) by using data from
an existing Player instance. (See BattleLog::fetch for more details.)
Note that this is simply to minimize efforts when a player was already fetched. If
no Player instance was previously present, it is recommended to simply BattleLog::fetch
with the specific player’s tag.
§Examples
use brawl_api::{Client, Player, BattleLog, traits::*};
let my_client = Client::new("my auth token");
let player = Player::a_fetch(&my_client, "#PLAYERTAGHERE").await?;
// do stuff with player...
let player_battlelog = BattleLog::a_fetch_from(&my_client, &player).await?;
// now the player's battlelog is available for use
Source§impl FetchFrom<PlayerRanking> for Player
impl FetchFrom<PlayerRanking> for Player
Source§fn fetch_from(client: &Client, p_ranking: &PlayerRanking) -> Result<Player>
fn fetch_from(client: &Client, p_ranking: &PlayerRanking) -> Result<Player>
(Sync) Fetches a Player using data from a PlayerRanking object.
Source§fn a_fetch_from<'life0, 'life1, 'async_trait>(
client: &'life0 Client,
p_ranking: &'life1 PlayerRanking,
) -> Pin<Box<dyn Future<Output = Result<Player>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
fn a_fetch_from<'life0, 'life1, 'async_trait>(
client: &'life0 Client,
p_ranking: &'life1 PlayerRanking,
) -> Pin<Box<dyn Future<Output = Result<Player>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
(Async) Fetches a Player using data from a PlayerRanking object.
Source§impl GetFetchProp for Player
impl GetFetchProp for Player
Source§impl PropFetchable for Player
impl PropFetchable for Player
Source§fn fetch(client: &Client, tag: &str) -> Result<Player>
fn fetch(client: &Client, tag: &str) -> Result<Player>
(Sync) Fetches a player from its tag.
§Errors
This function may error:
- While requesting (will return an
Error::Request); - After receiving a bad status code (API or other error - returns an
Error::Status); - After a ratelimit is indicated by the API, while also specifying when it is lifted (
Error::Ratelimited); - While parsing incoming JSON (will return an
Error::Json).
(All of those, of course, wrapped inside an Err.)
§Examples
use brawl_api::{Client, Player, traits::*};
let my_client = Client::new("my auth token");
let player = Player::fetch(&my_client, "#PLAYERTAGHERE")?;
// now the data for the given player is available for use
Source§fn a_fetch<'life0, 'async_trait>(
client: &'life0 Client,
tag: &'async_trait str,
) -> Pin<Box<dyn Future<Output = Result<Player>> + Send + 'async_trait>>where
Self: 'async_trait,
Self::Property: 'async_trait,
'life0: 'async_trait,
fn a_fetch<'life0, 'async_trait>(
client: &'life0 Client,
tag: &'async_trait str,
) -> Pin<Box<dyn Future<Output = Result<Player>> + Send + 'async_trait>>where
Self: 'async_trait,
Self::Property: 'async_trait,
'life0: 'async_trait,
(Async) Fetches a player from its tag.
§Errors
This function may error:
- While requesting (will return an
Error::Request); - After receiving a bad status code (API or other error - returns an
Error::Status); - After a ratelimit is indicated by the API, while also specifying when it is lifted (
Error::Ratelimited); - While parsing incoming JSON (will return an
Error::Json).
(All of those, of course, wrapped inside an Err.)
§Examples
use brawl_api::{Client, Player, traits::*};
let my_client = Client::new("my auth token");
let player = Player::a_fetch(&my_client, "#PLAYERTAGHERE").await?;
// now the data for the given player is available for use
type Property = str
impl StructuralPartialEq for Player
Auto Trait Implementations§
impl Freeze for Player
impl RefUnwindSafe for Player
impl Send for Player
impl Sync for Player
impl Unpin for Player
impl UnsafeUnpin for Player
impl UnwindSafe for Player
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.Source§impl<T> FetchFrom<T> for T
impl<T> FetchFrom<T> for T
Source§fn fetch_from(_: &Client, t: &T) -> Result<T, Error>
fn fetch_from(_: &Client, t: &T) -> Result<T, Error>
(Sync) Returns a copy of the current instance when attempting to fetch from itself.
In order to re-fetch, see Refetchable.
§Errors
Never errors; is only a Result in order to match the trait signature.
Source§fn a_fetch_from<'life0, 'life1, 'async_trait>(
_: &'life0 Client,
t: &'life1 T,
) -> Pin<Box<dyn Future<Output = Result<T, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
T: 'async_trait,
fn a_fetch_from<'life0, 'life1, 'async_trait>(
_: &'life0 Client,
t: &'life1 T,
) -> Pin<Box<dyn Future<Output = Result<T, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
T: 'async_trait,
(Async) Returns a copy of the current instance when attempting to fetch from itself.
In order to re-fetch, see Refetchable.
§Errors
Never errors; is only a Result in order to match the trait signature.