https://github.com/xe/furbooru
Furbooru API client in Rust
https://github.com/xe/furbooru
derpibooru furbooru furry rust
Last synced: 9 months ago
JSON representation
Furbooru API client in Rust
- Host: GitHub
- URL: https://github.com/xe/furbooru
- Owner: Xe
- License: mit
- Created: 2020-06-11T12:23:32.000Z (about 6 years ago)
- Default Branch: master
- Last Pushed: 2021-09-07T11:39:59.000Z (almost 5 years ago)
- Last Synced: 2025-04-04T11:52:11.794Z (about 1 year ago)
- Topics: derpibooru, furbooru, furry, rust
- Language: Rust
- Homepage:
- Size: 88.9 KB
- Stars: 11
- Watchers: 4
- Forks: 0
- Open Issues: 6
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# furbooru
[](https://builtwithnix.org)


[](https://crates.io/crates/furbooru)
[](https://docs.rs/furbooru)
A [Furbooru](https://furbooru.org) and [Derpibooru](https://derpibooru.org) client
written in Rust. The APIs for these two sites are near identical, so this crate
can work with both; however it is optimized for Furbooru. Any time Furbooru diverges
from Derpibooru, this crate will follow the Furbooru changes first.
Usage is simple:
```rust
let user_agent = format!(
"{}/{} ({}, +{})",
env!("CARGO_PKG_NAME"),
env!("CARGO_PKG_VERSION"),
std::env::var("API_USERNAME").unwrap(),
env!("CARGO_PKG_REPOSITORY"),
);
let cli = furbooru::Client::new(
user_agent,
std::env::var("API_TOKEN").unwrap(),
)?
```
Set the environment variables `API_USERNAME` and `API_TOKEN` to your
Furbooru/Derpibooru 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.