Skip to content

碧落。BluskyのJavaクライアントです。現状すべてのAPIを実装とかまではできてません。

License

Notifications You must be signed in to change notification settings

Yamane/hekiraku

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Hekiraku(碧落)

BluskyのJavaクライアントです。依存はGsonのみの最低限にしてみました。とりあえず17以上。コードてきには11でも動きそうなんですが。
もとはTwitterで運用していたBOTをBluskyでも動作できるようにしようとして構築したものなので、現状ではすべてのAPIを実装できているわけではありません。
でも、ポストする、リプライする、通知を取得するなどのBOTを運用するための最低限の機能は実装できたので、とりあえず公開してみたという状態です。
テストもとりあえずAPIからのエラーは出ない程度のいい加減具合。
だれかあとはたのむ。

つかいかた

セッションを生成

String identifier = "アカウント(yamanee.bsky.social みたいなやつ)";
String password ="アプリパスワード(Webクライアントの「設定画面->高度な設定」から生成できるやつ)";
Session session = Hekiraku.createSession(identifier, password);

ポストしてみる

session.post(new PostRecord("はろーあおいそら!!"));

リプライとかする

Identifer id = session.post(new PostRecord("はろーあおいそら!!"));
session.reply("きょうはくもりぞら・・・", id);

「いいね」とかする

Identifer id = session.post(new PostRecord("はろーあおいそら!!"));
session.like(id);

画像とか添付してポストしてみる

EmbedImages embed = new EmbedImages();
BlobLink blob = session.repo().uploadBlob(new File("01.jpg"));
embed.addImage(blob, "画像");
PostRecord record = new PostRecord("画像テスト");
record.setEmbed(embed);
session.post(record);

通知を取得してみる

PageableList<Notification> notifications = session.notification().list(10, null);
notifications.forEach(n -> System.out.println(n.jsonString()));

通知を全部既読にしてみる

session.notification().updateSeen(new Date());

セッションを破棄してみる

session.delete();

そのほかもいくつかできることはあるので、(いい加減な)テストコードとか見てみてください。

テストとか

ポストとか無駄にしちゃうのでスキップ推奨。 JARの生成はこんなかんじで。

mvn install -DskipTests=true

テストを動かしたい場合には、/src/test/resources/bluesky.properties を生成して、以下みたいな記述をしてください。

identifier=アカウント(yamanee.bsky.social みたいなやつ。@はなし)
password=アプリパスワード(Webクライアントの「設定画面->高度な設定」から生成できるやつ)

About

碧落。BluskyのJavaクライアントです。現状すべてのAPIを実装とかまではできてません。

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages