0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Bluesky、ATProtocolのあれこれ

Last updated at Posted at 2024-12-14

とりあえずわかったことからあれこれ書き足していこうかと思います。

実行環境

ハードウェア OS Python
RaspberryPi4 Linux raspberrypi 6.6.62+rpt-rpi-v8 #1 SMP PREEMPT Debian 1:6.6.62-1+rpt1 (2024-11-25) aarch64 GNU/Linux 3.11.2

atprotoのインストール

bash
$ pip install atproto

Clientライブラリの呼び出しと初期化

Python
from atproto import Client
client = Client()

ログイン

Python
client.login("XXXX.bsky.social", "XXXX-XXXX-XXXX-XXXX")

loginメソッドの引数は第一引数がログインID、第二引数がアプリパスワードです(通常のログイン時のパスワードではないことに注意してください)。アプリパスワードは現時点(2024/12/14)で設定のプライバシーとセキュリティから発行してください。

セッションストリングの取得

Python
client.export_session_string()

セッション分けたい時とかに使いそうですね。

ポストする

Python
client.send_post('Hello World')

自分のポストを取得する

Python
posts = client.app.bsky.feed.post.list(client.me.did, limit=1)
for uri, post in posts.records.items():
    print(uri, post.text)

postのurlと内容が返ってきます。
limit=の部分で取得数を調整できます。

任意のアカウントのポストを取得する

Python
res = client.app.bsky.feed.search_posts({"q":"from:XXXX.bsky.social","limit":1})
print(res.posts)

これもlimitの部分で取得数を調整できます。返り値にはメタデータも含まれているので綺麗に出るよう整形が必要ですね。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?