A Clash of clans API wrapper written in rust!
add this in your Cargo.toml
coc-rs = "0.1.1"
Alternatively with cargo add
$ cargo add coc-rs
```rust
async fn main() { let credentials = CredentialsBuilder::new() .add_credential(env::var("username").unwrap(), env::var("password").unwrap()) .build(); let client = Client::new(credentials).await;
let player = client.get_player("#2PP".to_string()).await.unwrap();
println!("Player: {:?}", player);
} ```
```rust
async fn main() { let credentials = CredentialsBuilder::new() .add_credential(env::var("username").unwrap(), env::var("password").unwrap()) .build(); let client = Client::new(credentials).await;
let clan = match client.get_clan("#IncorrectTag".to_string()).await {
Ok(c) => {
println!("Clan: {:?}", clan);
}
Err(err) => {
match err {
APIError::BadRequest(err) => {} // caused when a BadRequest is made, such as invalid url parameters
APIError::RequestFailed(err) => {} // Request never made it to the API
APIError::BadResponse(msg, code) => {
match code {
StatusCode::NOT_FOUND => {
println!("Player Not found")
},
_ => {
//There are other status code that the api can return in case of error.
}
}
} // this is common error you will face and will be expected to handle it almost everytime
APIError::InvalidParameters(err) => {}
}
}
};
} ```
400 -> BadRequestException
403 -> AuthException
404 -> NotFoundException
429 -> RateLimitException
503 -> MaintenanceException
src/test.rs
contains examples for every endpoint in more detail.
Contributing is fantastic and much welcomed! If you have an issue, feel free to open an issue and start working on it.
This content is not affiliated with, endorsed, sponsored, or specifically approved by Supercell and Supercell is not responsible for it. For more information see Supercell's Fan Content Policy.