Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/yamane/hekiraku
碧落。BluskyのJavaクライアントです。現状すべてのAPIを実装とかまではできてません。
https://github.com/yamane/hekiraku
bluesky java
Last synced: 5 days ago
JSON representation
碧落。BluskyのJavaクライアントです。現状すべてのAPIを実装とかまではできてません。
- Host: GitHub
- URL: https://github.com/yamane/hekiraku
- Owner: Yamane
- License: mit
- Created: 2024-05-10T10:03:38.000Z (9 months ago)
- Default Branch: main
- Last Pushed: 2024-12-30T02:39:50.000Z (24 days ago)
- Last Synced: 2024-12-30T03:24:42.762Z (24 days ago)
- Topics: bluesky, java
- Language: Java
- Homepage:
- Size: 281 KB
- Stars: 0
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.jp.md
- License: LICENSE
Awesome Lists containing this project
README
# Hekiraku(碧落)
BluskyのJavaクライアントです。依存はGsonのみの最低限にしてみました。とりあえず17以上。コードてきには11でも動きそうなんですが。
もとはTwitterで運用していたBOTをBluskyでも動作できるようにしようとして構築したものなので、現状ではすべてのAPIを実装できているわけではありません。
でも、ポストする、リプライする、通知を取得するなどのBOTを運用するための最低限の機能は実装できたので、とりあえず公開してみたという状態です。
テストもとりあえずAPIからのエラーは出ない程度のいい加減具合。
だれかあとはたのむ。## つかいかた
セッションを生成
```java
String identifier = "アカウント(yamanee.bsky.social みたいなやつ)";
String password ="アプリパスワード(Webクライアントの「設定画面->高度な設定」から生成できるやつ)";
Session session = Hekiraku.createSession(identifier, password);
```ポストしてみる
```java
session.post(new PostRecord("はろーあおいそら!!"));
```リプライとかする
```java
Identifer id = session.post(new PostRecord("はろーあおいそら!!"));
session.reply("きょうはくもりぞら・・・", id);
```「いいね」とかする
```java
Identifer id = session.post(new PostRecord("はろーあおいそら!!"));
session.like(id);
```画像とか添付してポストしてみる
```java
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);
```通知を取得してみる
```java
PageableList notifications = session.notification().list(10, null);
notifications.forEach(n -> System.out.println(n.jsonString()));
```通知を全部既読にしてみる
```java
session.notification().updateSeen(new Date());
```セッションを破棄してみる
```java
session.delete();
```そのほかもいくつかできることはあるので、(いい加減な)テストコードとか見てみてください。
## テストとか
ポストとか無駄にしちゃうのでスキップ推奨。
JARの生成はこんなかんじで。```cmd
mvn install -DskipTests=true
```テストを動かしたい場合には、/src/test/resources/bluesky.properties を生成して、以下みたいな記述をしてください。
```properties
identifier=アカウント(yamanee.bsky.social みたいなやつ。@はなし)
password=アプリパスワード(Webクライアントの「設定画面->高度な設定」から生成できるやつ)
```