レビュー

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 "手動投稿のテスト!"


手動投稿の場合でもちゃんと投稿されているのが確認できました。

この記事のタイトルとURLをコピーする

・関連記事
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

in レビュー,   ソフトウェア,   ウェブアプリ, Posted by log1d_ts

You can read the machine translated English article here.