# imgdl-rs FORMER `boosty-rs`
A Rust library for downloading images from such services like Boosty and Gelbooru-powered sites
[![Rust](https://github.com/crptmem/imgdl-rs/actions/workflows/rust.yml/badge.svg)](https://github.com/crptmem/imgdl-rs/actions/workflows/rust.yml) # Installation ```sh $ cargo add imgdl-rs ``` # Examples ## Boosty ### Fetch all posts from blog ```rust use std::error::Error; use boosty_rs::boosty::request; #[tokio::main] async fn main() -> Result<(), Box> { let response = request::Client::fetch_posts("boosty".to_string(), None).await?; println!("{:?}", response); Ok(()) } ``` ### Fetch one post from blog ```rust use std::error::Error; use boosty_rs::boosty::request; #[tokio::main] async fn main() -> Result<(), Box> { let response = request::Client::fetch_post("boosty".to_string(), "a4dc61c8-4ff9-495b-946b-3982efef68fe".to_string(), None).await?; println!("{:?}", response); Ok(()) } ``` ### Fetch all posts from blog with authorization ```rust use std::error::Error; use boosty_rs::boosty::request; use boosty_rs::boosty::auth::Auth; #[tokio::main] async fn main() -> Result<(), Box> { let response = request::Client::fetch_posts("boosty".to_string(), Auth::new("access_token".to_string())).await?; println!("{:?}", response); Ok(()) } ``` ## Gelbooru ### Fetch posts from tags ```rust #[tokio::main] async fn main() -> Result<(), Box> { let client = imgdl_rs::gelbooru::request::Client::new(None); let posts = client.fetch_posts( "rating:general blue_sky", 3 ).await?; // Fetch all posts with tags `rating:general blue_sky` from page 3 println!("{:?}", posts); Ok(()) } ```