A client library for the API of imageboards using the e621 fork of gelbooru.
Features
- Implements all the endpoints of the e621 API : e621 API
- Use Dart's native
http
package for making requests alloowing for using more advanced implementation on the fly.
Getting started
Add the package to your project by running the following command:
# http is a required dependency since we rely on ClientException
dart pub add e621 http
Usage
// Simple example to collect last ten post and display link
import 'package:e621/e621.dart';
import 'package:http/http.dart';
Future<void> main() async {
/// You should see the `http`[https://pub.dev/packages/http#choosing-an-implementation](https://pub.dev/packages/http#choosing-an-implementation) package documentation for using an adequate [Client] for your platform
final E621Client client = E621Client(host: Uri.parse('https://e621.net'), login: 'username', apiKey: 'api_key', userAgent: 'MyApp/1.0 (by username on e621)');
final List<Post> posts;
try {
/// limit is optional but 10 will get the last 10 posts
posts = await client.posts.list(limit: 10);
/// [ClientException] is found in the `http` package
/// it will be throw in case something went wrong with the request AT the connection time
} on ClientException catch (e) {
print('Failed to get posts: $e');
return;
/// [E621Exception] is found in the `e621` package
/// It will throw is something went wrong with the request AFTER the connection time
} on E621Exception catch (e) {
print('Failed to get posts: $e');
return;
}
if (posts.isEmpty) {
print('No posts found');
return;
}
for (final post in posts) {
print('Post: ${post.id} - ${post.file.url}');
}
}
No AI project / AI free Project
This project is written WITHOUT any AI assistance. If you fork this project and use AI please remove this section.
Special Thanks
- Dasa: Your honesty and the morale boost to actually start this project.
Libraries
- e621
- A client library for the API of imageboards using the e621 fork of gelbooru.