BlueskyへRSSフィードの内容を自動投稿できる「rss2bsky」の使い方
「rss2bsky」はRSSフィードを元にBlueskyへ自動投稿してくれるツールとのこと。実際に試して使い勝手を確かめてみました。
nesges/rss2bsky: Post items of a RSS-Feed to Bluesky. Also contains a simple script to post a single skeet to Bluesky. Written in PHP - Codeberg.org
https://codeberg.org/nesges/rss2bsky
rss2bskyを動かすためにはBlueskyのアカウントの他に「SQLite3・CURL・SimpleXML・GD・マルチバイト文字をサポートしたPHP」「SimplePie」が必要です。今回はUbuntuで動作させるため、下記のコマンドを入力して必要なツールをインストールしました。
sudo apt install php-sqlite3 php-curl php-xml php-mbstring php-gd libphp-simplepie
ツールが用意できたら下記のコマンドでrss2bskyをダウンロードします。
git clone https://codeberg.org/nesges/rss2bsky.git
cd rss2bsky
そして「cache」ディレクトリを作成し、「www-data」などサーバー用のユーザーに所有権を渡しておきます。
mkdir cache
sudo chown www-data.www-data cache
続いて「lib」ディレクトリを作成し、SimplePieのコードをコピー。
mkdir lib
cp /usr/share/php/simplepie/SimplePie.compiled.php lib/SimplePie.compiled.php
さらにBlueskyのログインに必要な情報を取得していきます。Blueskyにログインし、設定の「アプリパスワード」をクリック。
「アプリパスワードを追加」をクリックします。
何に使うためのパスワードなのか分かるように名前を付け、「アプリパスワードを作成」をクリック。
パスワードが表示されるのでコピーすれば準備完了です。
「config.sample.php」を「config.php」という名前に変えてコピーし、テキストエディタで開きます。
cp config.sample.php config.php
vi config.php
変更が必要なのは下記の部分です。「feed-url」では投稿の元となるRSSフィードのURLを指定し、「bluesky-username」にはBlueskyのユーザー名を入力。「bluesky-password」には先ほどコピーしておいたアプリパスワードを入力し、「bluesky-language」には「ja-JP」を指定します。最後の「cache-dir」には先ほど作成した「cache」フォルダの絶対パスを入力すればOK。
変更内容を保存してエディタを閉じたら下記のコマンドでrss2bskyを起動します。
/usr/bin/php rss2bsky.php
ところが、「PHP Fatal error: Uncaught Exception: Unable to open database: bad parameter or other API misuse in~」というエラーが出て動作が止まってしまいました。どうやらcacheフォルダに書き込み権限が無いのが問題のようなので、下記のコマンドを入力します。
sudo chmod a+w cache
もう一度実行すると今度はフィードの内容が表示され、「posted」という表示が出ました。
Blueskyの画面を確認すると無事RSSフィードの内容が投稿されています。
同じRSSフィードで連続して動作させた場合でも、「already posted .. skipped(既に投稿済み .. スキップしました)」と表示されて連続投稿が防止されるようになっていました。
そのため、下記のようにcronを設定することでRSSの更新にあわせて投稿してくれるというわけです。
0 * * * * /usr/bin/php /opt/rss2bsky/rss2bsky.php > /dev/null
なお、rss2bskyには簡易的な手動投稿のためのスクリプトも付属しており、下記のコマンドで利用することができます。
./post "手動投稿のテスト!"
手動投稿の場合でもちゃんと投稿されているのが確認できました。
・関連記事
Twitter代替有力候補SNS「Bluesky」でGIGAZINEが新着ニュース配信を開始&どういう仕組みなのか解説 - GIGAZINE
GIGAZINEのRSS用URLを2018年6月27日(水)17時から変更、各RSSリーダーの更新手順まとめ - GIGAZINE
ブラウザで動作&TwitterやYouTubeも購読可能なRSSリーダー「Feedbro」を使って情報収集を爆速化してみた - GIGAZINE
無料でIFTTTやZapierのようにいろいろなアプリを組み合わせて自動化できるオープンソース&セルフホスト可能なツール「Activepieces」を使ってGIGAZINEの記事全文RSSをメール送信してみた - GIGAZINE
無料でIFTTTやZapierのようにアプリやサービスを連動させ自動化できる「Make」を実際に使ってみたよレビュー - GIGAZINE
・関連コンテンツ