Pythonで動作するBluesky用投稿アプリを作った

きっかけ

私はBlueskyを独り言用に使用しているので、Webブラウザを立ち上げずに投稿したいと思ったから。

必要なもの

私が使用したもの

方法

1.上記の環境を作り、適当な場所に.pyのファイルを作る。(ここでは、C:/test/bsky.pyとする。)
2.コマンドプロンプトを立ち上げ、次のコマンドを実行する。

pip install atproto

3.C:/test/bsky.py に次の内容を書き込む。ただし、8行目
client.login('username.bsky.social', 'Password01234567')
に自分のID(もしくはメールアドレス)とパスワードを記入すること。

from atproto import Client  #おまじない
entercount = 0              # 連続して入力されたEnterの回数を測定。2回以上で送信。
result = []                 # 結果を入力する一時的な配列。
data = ""                   # 最終的に出力する文字列。

# ログインここから
client = Client()
client.login('username.bsky.social', 'Password01234567')
print("---")                # ログインが終わったら出力される。
#ログインここまで

#メインプログラム
from atproto import Client  #おまじない
entercount = 0              # 連続して入力されたEnterの回数を測定。2回以上で送信。
result = []                 # 結果を入力する一時的な配列。
data = ""                   # 最終的に出力する文字列。

# ログインここから
client = Client()
client.login('j4125.bsky.social', 'Fumimasa20081204')
print("---")                # ログインが終わったら出力される。
#ログインここまで

#メインプログラム
while True:
    mojiretsu = input()     # 入力待ち
    result.append(mojiretsu)
    if mojiretsu.strip():
        entercount = 0
    else:
        entercount += 1
    if entercount >= 2:
        for i in range((len(result) - 2)):
            if result[i].strip():
                data += result[i]
            data += "\n"
        client.send_post(text=data)  #送信
        print("送信しました。")
        print("---")
        entercount = 0               # 変数のリセット
        gyoucount =  0               # 変数のリセット   
        entercount = 0               # 変数のリセット
        result = []                  # 変数のリセット
        data = ""                    # 変数のリセット

使用例

コマンドプロンプトで以下を実行するか、作ったファイルをダブルクリックすることで実行できる。

python C:/test/bsky.py

Pythonで実行した様子。
実際の投稿。

余白

参考にしたサイト: Bluesky公式サイト www.docs.bsky.app