X (旧Twitter) から完全に乗り換えるわけではないけれども、Twitterほぼ一本だけに頼った“つぶやきSNS”の利用法はそろそろやめて、Blueskyというサービスも使ってみようかなと、週末ふと考えた。Blueskyの招待コードは先日Facebookフレンドからいただいたものがあって、自分のBlueskyアカウントは既に作成してある。
私は複数の“つぶやきSNS”を使い分ける器用さは持たない故、気軽さを最優先に、TwitterとBlueskyへ投稿する内容は同じで構わないというスタンスのもと、いわゆるクロスポストを行えるスマホアプリやツールがないかなと探してみたところ、ちょうど良さげな「bluesky-crossposter」というツールをGitHubで見つけた。本記事はこのツールの動作を試した内容のメモです。
今回見つけた上記リンクのbluesky-crossposterは、Blueskyへの投稿内容を読み取って自動的にMastodonとTwitterへ投稿してくれるPythonスクリプト。通常のPythonスクリプトとしても、また、一式をdocker環境で動作させることも可能となっている。ここでは後者のdockerを使う方法で、ついでにTwitterに加えてMastodonへのクロスポストも行うように設定してみた。
$ git clone https://github.com/Linus2punkt0/bluesky-crossposter
$ cd bluesky-crossposter
env.sample
を複製して自身用の.env
ファイルを新規作成する$ cp env.sample .env
.env
ファイルを編集し、以下の変数に、Bluesky, Mastodon, X (旧Twitter) に関する各種の値を記入するBSKY_HANDLE="XXXXXXXX.bsky.social"
BSKY_PASSWORD="XXXX-XXXX-XXXX-XXXX"
https://mastodon.social/
であればそれを記入し、https://mastodon.social/settings/applications にて「write:statuses (投稿の送信)」権限と「write:media (メディアのアップロード)」権限の2つを持つ新規アプリを作成し、得られたアクセストークンをMASTODON_TOKENに記入するMASTODON_INSTANCE="https://mastodon.social/"
MASTODON_TOKEN="XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
TWITTER_APP_KEY="XXXXXXXXXXXXXXXXXXXXXXXXX"
TWITTER_APP_SECRET="XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
TWITTER_ACCESS_TOKEN="XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
TWITTER_ACCESS_TOKEN_SECRET="XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
.env
ファイルのその他部分を編集するbluesky-crossposter-crossposter-1
が起動してくると想定)$ docker compose up -d
$ docker ps
$ docker logs -f bluesky-crossposter-crossposter-1
/logs/
ディレクトリに保存されていく$ docker exec -it bluesky-crossposter-crossposter-1 ls -al /logs/
長年使ってきたX (旧Twitter) であるが、日々のなんでもないつぶやきを投稿する場所として、使い勝手や情報環境的にTwitterがベストという流れでは最近なくなっている気がする。その観点から、今後の伸びしろが大きそうな (=第一にプログラミング的に色々できそうな) 別のサービスにつぶやいたものをTwitterにも流す、という投稿フローを今回試すことができて、私はなんだか安心した。これは、次のつぶやき場所をどうするかの目処が少し立ったことから来る安心感かもしれない。