1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87
mod models; use crate::models::*; use reqwest::Client; use std::error::Error; pub struct Benbot { client: Client } impl Benbot { pub fn new() -> Self { Self { client: Client::new() } } pub async fn get_aes(&self) -> Result<AES, Box<dyn Error>> { let request = self.client.get("https://benbotfn.tk/api/v1/aes") .send().await?; let response = request.text().await?; Ok(serde_json::from_str(&response)?) } pub async fn get_added_files(&self) -> Result<Vec<String>, Box<dyn Error>> { let request = self.client.get("https://benbotfn.tk/api/v1/files/added") .send().await?; let response = request.text().await?; Ok(serde_json::from_str(&response)?) } pub async fn get_all_cosmetics(&self, _language: Language) -> Result<Vec<BrCosmetic>, Box<dyn Error>> { let request = self.client.get("https://benbotfn.tk/api/v1/cosmetics/br") .send().await?; let response = request.text().await?; println!("{}", &response); Ok(serde_json::from_str(&response)?) } pub async fn get_asset_properties(&self, path: &str, _language: Language) -> Result<AssetProperties, Box<dyn Error>> { let request = self.client.get("https://benbotfn.tk/api/v1/assetProperties") .query(&[("path", path)]) .send().await?; let response = request.text().await?; println!("{}", &response); Ok(serde_json::from_str(&response)?) } pub async fn get_dynamic_pak_files(&self, pak: &str) -> Result<Vec<String>, Box<dyn Error>> { let request = self.client.get("https://benbotfn.tk/api/v1/files/dynamic/") .send().await?; let response = request.text().await?; println!("{}", &response); Ok(serde_json::from_str(&response)?) } pub async fn get_files(&self) -> Result<Vec<String>, Box<dyn Error>> { let request = self.client.get("https://benbotfn.tk/api/v1/files") .send().await?; let response = request.text().await?; println!("{}", &response); Ok(serde_json::from_str(&response)?) } } #[derive(Debug)] pub enum Language { AR, DE, EN, ES, FR, IT, JA, KO, PL, TR } impl std::fmt::Display for Language { fn fmt(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { write!(formatter, "{:?}", self) } }