An async Booru client for Rust
The client currently supports engine:
- Danbooru
- danbooru.donmai.us
- hijiribe.donmai.us
- sonohara.donmai.us
- danbooru v1
- behoimi.org
- Gelbooru
- gelbooru.com
- Gelbooru v0.2 (Gelbooru v0.1 no have api)
- safebooru.org
- realbooru.com
- rule34.xxx
- xbooru.com
- tbib.org
- hypnohub.net
- mspabooru.com
- Moebooru
- konachan.com
- konachan.net
- yande.re
- sakugabooru.com
- MyImouto Compatibly with Moebooru
- lolibooru.moe
- philomena
- derpibooru.org
- furbooru.org
- memebooru.com
- tantabus.art
- Zerochan (=lainchan = vichan)
- zerochan.net
- kpop.asiachan.com
- e621ng
- e621.net
- e926.net
- Hybooru
- jilkbooru.com
- so-fabulo.us
- booru.funmaker.moe
- beta.sankakucomplex.com
- chan.sankakucomplex.com
- booru.io
- anime-pictures.net
-
Shimmie!NO HAVE API!- shimmie.shishnet.org
- booru.soy
- (pokeplayer.com)[https://pokeplayer.com/shimmie/]
- booru.newblood.games
-
szurubooru!NO EXAMPLE SITE!
- Posts
- Post by id
- Tag list/search
- Async
use booru_rs::client::danbooru::{
DanbooruClient,
DanbooruRating, DanbooruSort, DanbooruPost
};
use booru_rs::client::generic::{BooruClient, BooruClientBuilder};
#[test]
fn get_posts_with_tag() {
let posts = DanbooruClient::builder()
.default_url("https://testbooru.donmai.us")
.tag("kafuu_chino")
.tag("2girls")
.rating(DanbooruRating::General)
.sort(DanbooruSort::Score)
.limit(5)
.build()
.get()
.unwrap();
assert!(!posts.is_empty());
}
#[test]
fn get_post_by_id() {
let post = DanbooruClient::builder()
.default_url("https://testbooru.donmai.us")
.build()
.get_by_id(9423)
.unwrap();
assert_eq!(
post.id, 9423
);
}