A client for Philomena (the software that powers boorus such as Furbooru and Derpibooru) written in Rust. The APIs for Philomena instances is near identical, so this crate can work with most of them; however it is optimized for mainline Philomena. Any time new Philomena versions change the API, this crate will follow these changes.
Usage is simple:
let user_agent = format!(
"{}/{} ({}, +{})",
env!("CARGO_PKG_NAME"),
env!("CARGO_PKG_VERSION"),
std::env::var("API_USERNAME").unwrap(),
env!("CARGO_PKG_REPOSITORY"),
);
let cli = philomena::Client::new(
"https://furbooru.org/",
user_agent,
std::env::var("API_TOKEN").unwrap(),
)?Set the environment variables API_USERNAME and API_TOKEN to your
username and API token respectively. Adding the username
associated with your bot to each request can help the booru staff when your bot
does unwanted things like violating rate limits.
See the examples for more ideas.