BooruSharp 1.4.4

BooruSharp is a C# library to browse Booru websites (Gelbooru, Konachan, etc...) easily

There is a newer version of this package available.
See the version list below for details.
Install-Package BooruSharp -Version 1.4.4
dotnet add package BooruSharp --version 1.4.4
<PackageReference Include="BooruSharp" Version="1.4.4" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add BooruSharp --version 1.4.4
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: BooruSharp, 1.4.4"
#r directive can be used in F# Interactive, C# scripting and .NET Interactive. Copy this into the interactive tool or source code of the script to reference the package.
// Install BooruSharp as a Cake Addin
#addin nuget:?package=BooruSharp&version=1.4.4

// Install BooruSharp as a Cake Tool
#tool nuget:?package=BooruSharp&version=1.4.4
The NuGet Team does not provide support for this client. Please contact its maintainers for support.

BooruSharp

BooruSharp is a C# library to browse Booru websites easily
BooruSharp currently handle the following websites:

  • danbooru.donmai.us
  • e621.net
  • e926.net
  • furry.booru.org
  • gelbooru.com
  • konachan.com
  • lolibooru.moe
  • realbooru.com
  • rule34.xxx
  • safebooru.org
  • sakugabooru.com
  • xbooru.com
  • yande.re

Basic examples

Random image:

BooruSharp.Booru.Gelbooru booru = new BooruSharp.Booru.Gelbooru();
BooruSharp.Search.Post.SearchResult result = await booru.GetRandomImage("hibiki_(kantai_collection)", "school_swimsuit");

Console.WriteLine("Image preview URL: " + result.previewUrl + Environment.NewLine +
                  "Image URL: " + result.fileUrl + Environment.NewLine +
                  "Image is safe: " + (result.rating == BooruSharp.Search.Post.Rating.Safe) + Environment.NewLine +
                  "Tags on the image: " + String.Join(", ", result.tags));

Get tag:

BooruSharp.Booru.Safebooru booru = new BooruSharp.Booru.Safebooru();
BooruSharp.Search.Tag.SearchResult result = await booru.GetTag("cirno");

Console.WriteLine("Tag type: " + result.type + Environment.NewLine +
                  "ID: " + result.id);

Get Wiki entry:

BooruSharp.Booru.Konachan booru = new BooruSharp.Booru.Konachan();
BooruSharp.Search.Wiki.SearchResult result = await booru.GetWiki("loli");

Console.WriteLine("Description: " + result.body + Environment.NewLine +
                  "ID: " + result.id + Environment.NewLine +
                  "Created at: " + result.creation.ToString("dd/MM/yy HH:mm:ss") + Environment.NewLine +
                  "Last update at: " + result.lastUpdate.ToString("dd/MM/yy HH:mm:ss"));

Get related tags:

BooruSharp.Booru.Yandere booru = new BooruSharp.Booru.Yandere();
BooruSharp.Search.Related.SearchResult[] results = await booru.GetRelated("see_through");

Console.WriteLine(String.Join(Environment.NewLine,
    results.Select(delegate (BooruSharp.Search.Related.SearchResult res) { return ("Name: " + res.name +" (" + res.count + ")"); })));

Get comments:

BooruSharp.Booru.Lolibooru booru = new BooruSharp.Booru.Lolibooru();
BooruSharp.Search.Comment.SearchResult[] results = await booru.GetComment(134097);

Console.WriteLine(String.Join(Environment.NewLine,
    results.Select(delegate (BooruSharp.Search.Comment.SearchResult res) { return ("Author: " + res.authorName + ", the " + res.creation.ToString("dd/MM/yy HH:mm:ss") + " - " + res.body); })));

Advanced examples

Get all character tags containing a string:

BooruSharp.Booru.Yandere yandere = new BooruSharp.Booru.Yandere();
BooruSharp.Search.Tag.SearchResult[] results = await yandere.GetTags("tsukiko");
Console.WriteLine(String.Join(Environment.NewLine,
	results.Where(delegate (BooruSharp.Search.Tag.SearchResult res) { return (res.type == BooruSharp.Search.Tag.TagType.Character); })
           .Select(delegate (BooruSharp.Search.Tag.SearchResult res) { return (res.name); })));

BooruSharp

BooruSharp is a C# library to browse Booru websites easily
BooruSharp currently handle the following websites:

  • danbooru.donmai.us
  • e621.net
  • e926.net
  • furry.booru.org
  • gelbooru.com
  • konachan.com
  • lolibooru.moe
  • realbooru.com
  • rule34.xxx
  • safebooru.org
  • sakugabooru.com
  • xbooru.com
  • yande.re

Basic examples

Random image:

BooruSharp.Booru.Gelbooru booru = new BooruSharp.Booru.Gelbooru();
BooruSharp.Search.Post.SearchResult result = await booru.GetRandomImage("hibiki_(kantai_collection)", "school_swimsuit");

Console.WriteLine("Image preview URL: " + result.previewUrl + Environment.NewLine +
                  "Image URL: " + result.fileUrl + Environment.NewLine +
                  "Image is safe: " + (result.rating == BooruSharp.Search.Post.Rating.Safe) + Environment.NewLine +
                  "Tags on the image: " + String.Join(", ", result.tags));

Get tag:

BooruSharp.Booru.Safebooru booru = new BooruSharp.Booru.Safebooru();
BooruSharp.Search.Tag.SearchResult result = await booru.GetTag("cirno");

Console.WriteLine("Tag type: " + result.type + Environment.NewLine +
                  "ID: " + result.id);

Get Wiki entry:

BooruSharp.Booru.Konachan booru = new BooruSharp.Booru.Konachan();
BooruSharp.Search.Wiki.SearchResult result = await booru.GetWiki("loli");

Console.WriteLine("Description: " + result.body + Environment.NewLine +
                  "ID: " + result.id + Environment.NewLine +
                  "Created at: " + result.creation.ToString("dd/MM/yy HH:mm:ss") + Environment.NewLine +
                  "Last update at: " + result.lastUpdate.ToString("dd/MM/yy HH:mm:ss"));

Get related tags:

BooruSharp.Booru.Yandere booru = new BooruSharp.Booru.Yandere();
BooruSharp.Search.Related.SearchResult[] results = await booru.GetRelated("see_through");

Console.WriteLine(String.Join(Environment.NewLine,
    results.Select(delegate (BooruSharp.Search.Related.SearchResult res) { return ("Name: " + res.name +" (" + res.count + ")"); })));

Get comments:

BooruSharp.Booru.Lolibooru booru = new BooruSharp.Booru.Lolibooru();
BooruSharp.Search.Comment.SearchResult[] results = await booru.GetComment(134097);

Console.WriteLine(String.Join(Environment.NewLine,
    results.Select(delegate (BooruSharp.Search.Comment.SearchResult res) { return ("Author: " + res.authorName + ", the " + res.creation.ToString("dd/MM/yy HH:mm:ss") + " - " + res.body); })));

Advanced examples

Get all character tags containing a string:

BooruSharp.Booru.Yandere yandere = new BooruSharp.Booru.Yandere();
BooruSharp.Search.Tag.SearchResult[] results = await yandere.GetTags("tsukiko");
Console.WriteLine(String.Join(Environment.NewLine,
	results.Where(delegate (BooruSharp.Search.Tag.SearchResult res) { return (res.type == BooruSharp.Search.Tag.TagType.Character); })
           .Select(delegate (BooruSharp.Search.Tag.SearchResult res) { return (res.name); })));

Release Notes

Fix bug with negative amount of post

Dependencies

This package has no dependencies.

NuGet packages (1)

Showing the top 1 NuGet packages that depend on BooruSharp:

Package Downloads
BooruSharp.Others
Extension of BooruSharp to handle non-booru websites and handle them like the others

GitHub repositories

This package is not used by any popular GitHub repositories.

Version History

Version Downloads Last updated
3.0.3 113 5/21/2021
3.0.2 700 2/5/2021
3.0.1 553 11/17/2020
3.0.0 207 11/12/2020
2.11.0 830 9/7/2020
2.10.0 631 8/18/2020
2.9.0 565 8/17/2020
2.8.1 235 8/17/2020
2.8.0 416 8/2/2020
2.7.0 355 7/9/2020
2.6.1 188 7/8/2020
2.6.0 179 7/8/2020
2.5.0 178 7/7/2020
2.4.0 167 7/6/2020
2.3.1 241 6/23/2020
2.3.0 222 6/22/2020
2.2.0 173 6/22/2020
2.1.0 246 6/4/2020
2.0.3 724 3/24/2020
2.0.2 217 3/24/2020
2.0.1 211 3/23/2020
2.0.0 233 3/21/2020
1.4.8 351 2/21/2020
1.4.7 254 1/31/2020
1.4.6 329 9/24/2019
1.4.4 674 8/1/2019
1.4.3 371 7/13/2019
1.4.2 509 5/30/2019
1.4.1 574 4/8/2019
1.4.0 438 2/27/2019
1.3.6 602 1/10/2019
1.3.5 470 1/5/2019
1.3.3 598 10/17/2018
1.3.1 525 8/21/2018
1.3.0 538 8/14/2018
1.2.0 529 7/31/2018
1.1.1 512 7/30/2018
1.1.0 517 7/27/2018
1.0.1 552 7/22/2018
Show less