SkyFeedを使ってBlueSky用のカスタムフィードを発行する方法

この記事は約 15 分で読めます

 どうもこんにちは、如月翔也(@showya_kiss)です。
 今日はX(Twitter)の乗り換え先の候補として有力視されているBlueSkyについて、条件を指定して適合したポストをピックアップしたタイムラインを提供するカスタムフィードを、SkyFeedというWebアプリを使って発行する方法についてのガイドをお届けします。

BlueSkyとは

 BlueSkyとは現在ベータ版かつ招待制で運営しているマイクロブログで、現X社であるTwitterを立ち上げたメンバーのジャック・ドーシー氏が出資している事と、現時点でかなり昔のTwitterに似た作りである事から密かに人気が出てきており現在登録者も40万人を超えてかなり勢いのあるサービスです。
 招待制なのでインバイトが入手できないと参加できないのですが、1ユーザーに付き2週間に1回インバイトが発行されるので、知り合いにBlueSkyユーザーがいるのであれば交渉してインバイトを入手してみると楽しいと思います。
 なお、BlueSkyはiOS/Androidのアプリで使うのがメインですが、https://blueskyweb.xyzにアクセスして画面下にある「Sign up for the Bluesky.」からアクセスするとWebクライアントに入る事ができるので、そこからPC版として使う事もできます。

BlueSkyのカスタムフィードとは

 BlueSkyにおいてXと大きく違うのが、現時点では「リスト」機能がオン・オフできる「ミュートリスト」しかない点です。なので、Xのように趣味ごとにリストを作ってリストを入れ替えて使う事はできません。
 かわりにBlueSkyにはカスタムフィードという機能があり、ちょっとプログラムの知識がいるのですが、人が(自分でも)作った「条件に一致したポストを拾ってきて表示する」というカスタムフィード機能があります。
 これは公開されているものがおおく、例えば「Japanese Cluster」をピンで刺しておけば日本語を話している人で構成されたカスタムフィードを見る事ができます。
 カスタムフィードのポイントは、「自分でも作れる」部分にあり、細かく詳しく作るにはプログラムの知識がいるのですが、「SkyFeed」というサービスを使う事でプログラムの知識がなくてもカスタムフィードを作る事ができます。
 今回のブログはこのSkyFeedというサービスを使ってカスタムフィードを発行するところまでをガイドします。
 文字まみれでつらいと思いますが、なるべく噛み砕いて説明しているので、メゲないでぜひチャレンジしてみて下さい。

SkyFeedとは

 SkyFeedとは、Web版で使えるBlueSkyのクライアントです。BlueSkyのアカウントと、BlueSkyから取得できるAppPasswordを使ってログインする事でWeb上でBlueSkyのタイムラインを見る事ができますし、検索機能が優秀で色々調べられるのと、そして今回使う機能として、ちょっとした指定をするだけでカスタムフィードを発行する機能があるのです。
 この機能をつかうとカスタムフィードを発行できるので、今回はこの機能を使ったカスタムフィードの作り方をガイドします。

SkyFeedを使ってBlueSkyのカスタムフィードを作る方法

 では、SkyFeedを使ってBlueSkyのカスタムフィードを作る方法について説明します。
 簡単に説明すると、「BlueSkyからAppPasswordを入手する」「Skyfeedにログインする」「カスタムフィードを作成する」という手順になります。
 例として、「犬」「猫」「兎」のどれかが入っていてかつ「狐」が入っていないポストを拾うカスタムフィードの作り方と、もう一つ「特定のミュートリストに入れている人のポストを拾う」カスタムフィードの作り方を説明します。
 後者はその方法を使う事でXでいうリストの機能を実質実装できるので非常におすすめです。リストの実装の仕方は2種類
あるのですが、ミュートリストを使ったほうが圧倒的に楽なのでそちらを紹介します。
 では詳しい方法について説明していきます。

SkyFeedにログインするためBlueSkyでAppPasswordを取得する

 まず最初にSkyFeedにログインするためにBlueSkyでAppPasswordを取得します。SkyFeedにログインするだけならBlueSkyのパスワードで入れるのですが、万が一漏洩すると洒落にならないので、アプリに使わせるパスワードとしてAppPasswordを取得します。BlueSky系で本体以外にパスワードを使いたい場合は必ずAppPassWordを取得してそれを使って下さい。
 方法は、BlueSkyにアクセスし、ハンバーガーメニューから下を見て「Settings」を選びます。切り替わった画面の下、「Advanced」の中に「App passwords」という項目があるのでそれを選びます。
 画面の下、「Add App Password」という項目があるのでそれを選びます。
 「Please enter a unique name for this App Password of use our randomly generated one.」と表示され、下に入力枠があるので被らない唯一の名前をつけて下さい。例えば、「SkyFeed-List-A」などです。この名前は自分のApp Passwordにつける名前で、自分のApp Password内で被っていなければなんでも大丈夫です。
 入力したら画面が切り替わり「Here is your app password.」と表示され、アルファベット4文字が4つ-で繋げられたパスワードが表示されるので、隣りにあるコピーボタンを使ってコピーして下さい。このパスワードは今しか表示されないのでメモるなりテキストで保存するなりしておくと良いです。
 間違いなくコピーしたら画面下の「Done」ボタンを押して画面を閉じます。
 この手順はここで終わりです。

SkyFeedに移動してユーザー名とAppPasswordでログインする

 次に今入手したApp Passwordを使ってSkyFeedにログインします。
 https://skyfeed.appにアクセスするとシンプルな画面で「
Service」「Username or email address」「App Password」の入力画面が表示されます。
 「Service」には「bsky.social」が入力されているのでそのまあに、「Usename or email address」にはあなたのBlueSkyのユーザー名を「username.bsky.social」形式で入力し(私の場合はshowya.bsky.social)、そして「App Password」には先程取得したApp Passwordを貼り付けます。
 全部の欄を入力すると「Continue」のボタンが表示されるのでそれを押してログインします。
 無事にログインできたらこの手順は終了です。

カスタムフィードを作成する

 これでSkyFeedにログインできたので、カスタムフィードを作っていきます。
 まず画面左下にある「Feed Builder」を選びます。
 そうすると画面右側が切り替わってVisual Editorの画面になります。
 この画面でブロックを追加したり削除したりしてカスタムフィードを作るのですが、簡単に要素を説明します。

 「Feed Name」これは作るフィードの名前です。自由に書き換えて下さい。
 「+Add Block」これはカスタムフィードの検索条件のブロックを追加するボタンです。カスタムフィードはブロックを上から順に処理して結果残ったポストを拾って出力してくれるので、なにか条件を追加する時はこのボタンで追加していきます。
 「Input」ポストを拾う条件を設定します。
 「Remove」拾ったポストからそれを外す条件を設定します。
 「RegEx」正規表現で拾ったポストに一致したものを選択します。今回は「犬」か「猫」か「兎」を含み「狐」を含まない、という条件を設定するのに使います。
 「Sort by」ポストの並べかえについです。現状時系列が選ばれているのでそのままでかまいません。

 今回の例として、ポストに「犬」「猫」「兎」のどれかが入っており、「狐」が入っているものは除くので、こう設定します。

 1つ目の「Input」は「Entire Netwotk」のままにし、「24hours」を選択して「7days」に変えます。これで検索範囲が過去7日間に変わります。
 2つ目の「Remove」は今回除外するものがないので右上の赤バツボタンで消してしまいます。
 3つ目の「RegEx」は「犬」か「猫」か「兎」を含み、「狐」を含まない、という条件を設定します。まず正規表現って面倒くさいんですが、「いずれかを含み」は「|」でつなぎ、「含まない」は「()」で挟めばいいので、今回は「犬|猫|兎(狐)」でオーケーです。Targerはどこに指定された文字列をターゲットにするかなので、今回はポスト内容と、あとイメージの注釈を指定したいので「Post Text」と「Image Alt Text」を選んで緑色にしておきます。
 4つ目の「Sort」は並び替えを指定しますが、時系列でいいのでそのままにしておきます。
 最後にFeedNameを決めます。今回は「犬猫兎(狐抜き)」とします。
 うまく設定ができていればこの時点で画面右側にプレビューが表示されて条件通りのポストが並んでいると思いますので、それを確認してから画面右上「Publish Feed」のボタンを押します。そうすると「Description」を設定する画面が表示されるので、この欄に「フィードの概要」を書き込んで、画面右下の「Publish」ボタンを押せば、フィード発行が完了です。
 戻ってきた画面の中央上「Published」の横にフィードのリンクが表示されるので、それをクリックするとBlueSkyのフィード画面が表示されるので、「Add to Feed」ボタンでフィードを追加し、ついでにピンボタンでピン止めしてフィードのフォローも完了です。お疲れ様でした。

BlueSKyのミュートリスト機能を使ってリスト入力をする方法

 ちなみに、このSkyFeedの機能で「ミュートリスト」をXのリスト機能として使う方法があります。
 リストに追加したい人をすべて「Add to List」からリストに登録しておき、「Moderation」から「Mute Lists」を選択し、作ったリストを選択して切り替わった画面で「Subscribe & Mute」します。これによってこのリストの登録者が一時的にミュートされるのですが、この状態でSkyFeedにアクセスし、Feed Builderを選んで画面を切り替え、さっき作ったフィード名が表示されていると思うのでそこを選択して「+Create Feed」を選び新規画面を開きます。
 この状態で「Input Network」を「List」にして「7days」を選び、「Your Lists」から作ったリストを選択します。
 「Remove」は右上のバツボタンで消し、「RegEx」も右上のバツボタンで消し、プレビューが全て「post from an account you muted」になっているのを確認して(ミュートがオンになっているのでそう表示されるのが正しい挙動です)からフィードに名前をつけてPublishし、「Description」に概要を書いて「Publish」してフィードを発行、リンクを開いてBlueSkyからフィードを追加してピン止めします。それからまたBlueSkyの「Moderation」から「Mute List」を選びさっきSubscribeしたリストを選んで「Unsubscribe」します。そうする事でミュートリストが解除されるのでポストが見られるようになります。
 これでXで「リスト」にあたるフィードを作る事ができました。一時的にみゅーとする必要がありますが、いちいち「Input」から「Single User」を選んでユーザー名じゃなくDIDを追加していくよりかなり手早く設定できる方法なので試してみて下さい。

SkyFeedを使ってカスタムフィードを作った時の注意点

 SkyFeedを使ってカスタムフィードを作る手順は以上ですが、注意点があります。
 SkyFeedで作ったフィードはSkyFeedで配信されるのでサーバー負荷が結構高く、多人数を追加したリストなんかを使っていると、夜中フィードが壊れて特定ユーザーのポストしか表示されないような壊れ方をする事がある点です。
 またミュートリストを使ってリスト機能フィードを作った場合、リストにユーザーを追加されても自動でフィードは更新されず、一度SkeFeedで毎回「Update Feed」しないと反映しない点です。またUpdate Feedする時は毎回先にリストを「Subscribe & Mute」してからUpdate Feedして、そのあとにリストを「Unsubscribe」する必要がある点について注意して下さい。

まとめ

 というわけでSkyFeedを使ってBlueSkyのカスタムフィードを作る方法についてのガイドでした。
 BlueSkyのカスタムフィードを作る方法はもう1つあり、GitHubとCloudFlareを使っての方法もあるのですが、その方法については次回ブログでガイドしたいと思います。

この記事を書いた人 Wrote this article

如月翔也 男性

如月翔也です。ガジェットとAppleが大好きな中年男です。ガジェットがお好きな方、Appleがお好きな方、トラブルでお困りの方はぜひブログをごらん下さい。コメントを貰うと非常に喜ぶのでお気軽にコメントをお願いします。  詳細なプロフィールは「https://saigetudo.com」を御覧ください!


Warning: Undefined array key "url" in /home/c2855771/public_html/techblog.show-ya.blue/wp-content/plugins/donorbox-donation-form/donorbox_embed_campaign.php on line 168