以下は、推し/推しカプの情報が表示されるカスタムフィードを作りたい!と思い立って作成したときの記録です。
⚠️注意⚠️
書き手はブルースカイ初心者です。作ったフィードは今のところは動いていますが、慣れた方が見れば色々問題があると思います。
推しカプに特化したフィードを作りたいときに何をする必要があるのか、の初心者目線の記録として見ていただけたら嬉しいです。
また、作成にあたり、有志のかたが作った説明のページをたくさん参考にしました。よければこちらもご覧ください。
1. カスタムフィードとは
「カスタムフィード」とは、絞り込み条件にあうポストだけが流れてくる、特殊なリストのようなものです。我々一般のユーザーにも作成できます。
既存のカスタムフィードでは、自分がいいねをしたポストの書き手がいいねした投稿だけが流れてくる「Likes of Likes」、購入報告関係のワードが含まれたポストだけを拾う「買っちゃった!」などが有名ですね。
今回作りたいのは、特定のキーワード、すなわち推しの名前や好きなカップリングの略称が含まれる投稿を抽出するフィードです。
2.前提と必要工程
ブルースカイ公式は、フィード作成サービスを提供していません。そこで、フィード作成機能があるサードパーティー製サービス(※ブルースカイ公式ではない、第三者である開発者が作ってくれたサービス)を使います。
以下、SkyFeedというサービスを使ってカスタムフィードを作る方法を説明します。
記号を打ち込むことになるので、可能であればPCで作業することをおすすめします。私自身はwindows11を使っています。
SkyFeedでカスタムフィードを作るために必要な作業工程は以下の三段階です。
SkyFeedにログインする
↓
SkyFeed上でフィードを作成・編集する
↓
フィードを公開し、Buleskyに戻ってフィードの存在を確認する
どれも簡単です! 以下、順に説明します。
3.SkyFeedにログインする
SkyFeedにログインするためには、ブルースカイIDに加えて、アプリパスワードというものを入力する必要があります。アプリパスワードは、「設定」から自分で発行する必要があります。ブルースカイにログインするときに使うパスワードとは別物です。
アプリパスワードの発行方法はとても簡単です。
まず、Blueskyにログインした状態で、「設定」→「プライバシーとセキュリティ」→「アプリパスワード」と移動すると、「アプリパスワードを追加」というボタンが出てきます。これを押して、出てきた文字列がアプリパスワードです。
注意点:アプリパスワードが表示されているウィンドウを閉じると、発行したアプリパスワードは再確認ができません。新規に再発行することは何度でもできますが、どこかにメモしたほうが安全です。
このアプリパスワードを使うことで、メインのパスワード(=ブルースカイにログインする時に使うパスワード)を使うことなくアカウントを認証できて、安全が保たれます。
4.フィードの作成と編集
次に、SkyFeed上でフィードを作成し、公開する作業です。さきほどもご紹介した有志のかたが作ったサイトを参考に作業しました。
skyfeedのフィード編集画面は下の画像のようになっています。当初はこの"SkyFeed Builder"が表示されているあたりには何も表示されていないのですが、左側に縦に並んだバーのなかから、スパナマーク🔧の"Feed Builder"を選ぶと、” Create your first feed”というボタンが表示されます。これを押すと、下画像右側のような画面が開くはずです。
最初は「Hello, world!」という、ここ二十四時間以内の”hello, world”と書かれたポストを収集するフィードがテストとして出てきます。
スクショにはありませんが、フィードの右隣には「今の絞り込み条件だとどういうフィードになるのか」がお試しで表示されているはずです。
フィードの出来上がり例を見ながら絞り込み条件の設定をカスタムして、自分だけのカスタムフィードを作っていきましょう。
"Add Block"の下側部分に並んでいるのが、自分でカスタムできる絞り込み条件たちです。以下、実際に私が作った、刀剣男士「古今伝授の太刀」関係の投稿を集めるためのフィードをもとに、それぞれの条件について確認してみます。
ブロックの種類("Input" "Remove"などのことです)によって機能が違うので、種類ごとに説明します。
Input:左側は収集範囲、右側が時期です。
収集範囲は、私は"Entire Network"にしています。特定の人の投稿やリストなども指定できます。
収集時期は、そのキーワードにまつわる投稿が大量にあれば短時間、少なければ長期間にすれば大丈夫です。今回は短めの"24 hours "になっていますね。
最長7日間ですが、調子が悪いと2、3日分しか読み込まないことがあります。サービス側の問題なので、しばらく放っておけば大丈夫です。
Remove:投稿の「リプライの数」や「画像の数」などの項目で絞り込みたいときに用います。たとえば、画像がある投稿だけを見たいなら、"Remove if Image count equals 0"と設定することができます。
デフォルトでは、「もしItem(投稿のことです)が誰かの投稿へのリプライなら除外するね」と設定されています。このままだと、ツリー投稿の場合は一番目のポストしか表示されないので、右上の×で消しておいても良いと思います。(逆に、「古今伝授の太刀」について熱く語り合っている人達のリプライを覗き見るのは申し訳ない……と思う気持ちが勝つ場合は、このままリプライはリムーブでいいわけですね)
Sort by:デフォルトだと一番下に表示されているブロックです。
新しいものから古いものへと表示するディセンディングソートにするか、古いものから新しいものへと表示するアセンディングソートにするかが選べます。
通常は新しい投稿をまず見たいと思うので、デフォルトの「ディセンディングソート」で問題ないです。
RegX:ここが今回の肝、拾ってきてほしいワードを指定する欄ですね! デフォルトでは"Hello.+world"と入力してあると思います。「正規表現」という、あまり見慣れない表記方法で表記しますが、基本は以下の三点だけおさえれば大丈夫です。
①見たいワードは"hello.+world"と入力されていた欄に入力。
②除外したいワードがある場合、もう一個RegXブロックを追加し、欄の下の「□invert」にチェック☑を入れ、入力。
③複数のワードを指定したいときは、ワードとワードのあいだに半角縦棒、"|"を入力する
これだけです。上の古今伝授フィードを例に説明します。
4.1. 見たいワードの追加
私は今回、「古今伝授の太刀」または「古今ちゃん」または「古今」というワードが含まれる投稿を集めることにしました。
この場合、指定したいワードが複数ありますね。上記③より、その場合はワードのあいだを縦棒で繋いで、
古今伝授の太刀|古今ちゃん|古今
と正規表現します。これを"Hello.+world"と入力してあったところに入力していきましょう! これらのワードが含まれる投稿が出てくるはずです。
注意点ですが、RegXブロック内の入力欄に直接日本語を打ち込むと変換がおかしくなるので、あらかじめメモなどに書いてコピペするのが吉です。
また、RegXブロックの下のほうの"what is this"と書かれているあたりにいくつかチェック欄やオンオフできるボタンがあり、画像ALTも検索するかどうか、センシティブな投稿も表示するかどうか、が設定できます。好きにチェックを入れたり外したりしましょう。
ただし、見たいワードが入力してあるRegXブロックの場合は、絶対に「□invert」にはチェックを入れないでくださいね。
4.2. 除外ワードの追加
これで「古今伝授の太刀」「古今」などのワードが本文に含まれた投稿が出てくる……! のですが、「古今」というワードは一般に使う語です。フィードには、刀剣男士「古今伝授の太刀」に関係がない投稿がたくさん表示されています。これではお目当ての投稿が探しづらいので、「このワードを含む投稿は入れなくて良いよ!」という、除外ワードも決めましょう。
右側に表示されるフィードの様子を見てみると、純粋に和歌集の話をしている投稿、あるいは「古今東西」という熟語を使った投稿がとても多いようです。除外ワードは「古今集」「古今東西」「古今和歌集」として、これらを正規表現で書いたものをメモしてみます。
古今集|古今東西|古今和歌集
次に、"Add Block"ボタンからもう一個RegXブロックを追加して、今度は欄の下の「□invert」にチェック☑を入れたうえで、今メモした正規表現をコピペ入力します。これで、先ほどまでたくさんあった「古今集」「古今東西」「古今和歌集」と書かれた投稿がフィード上に表示されなくなりました。
4.3. 操作がうまくいかない場合に確認してほしいこと三点
先ほども書きましたが、RegX欄に直接入力しようとしたら変換が変になってうまくいかない~!ということが多々あります。予めどこか別のメモなどに書いてコピペしたほうが安全です。
また、最後のワードのあとには何の記号も入力しないでください。「古今伝授の太刀|古今ちゃん|古今|」と入力してしまうと、プログラムがバグるようです。バグっても不要な部分を消せば大丈夫なのですが、フィードの様子がおかしくなったら、末尾になにか付いてないか確認してみてください。
また、縦棒を二本並べて入力してもやはりバグります。一見すると分かりづらいので、エラーが出た場合、「古今伝授の太刀||古今」などとなっていないか確認することをおすすめします。
4.4. 更なる正規表現
さて、同じジャンルのお仲間の投稿がたくさん出てきて嬉しい……!と言ってみたいところですが、絞り込み条件をつけてもうまくいかないことも多々あります。
たとえば上の「古今ちゃん」フィードだと、いくら絞り込み条件をつけようが「古今」というワードは本当に色々なところで使われるので、とうらぶに無関係な投稿もたくさん出てきてしまいます。
しかも、除外はマイナス検索みたいなものなので、たとえば「古今や歌仙とかって古今和歌集(※除外するよう指定したワード)以降の和歌集だとどれが好きかな?」というような、本来であれば見たい呟きまではじいてしまいます。どれくらいの数の呟きをはじいているかは、スカイフィードの除外ブロックの右下を確認するとわかります。
さらに、あまりに指定ワードが増えすぎると動作が遅くなるかも、という説もあるようです(……が、除外に関しては、すでにかなり少数に絞り込んだものを更に絞るので、時間はそこまで気にしなくていいというのが私の意見です。こちらも同じくスカイフィードの各ブロックの右下に書かれている"○○ms"で確認できます。ただ、私はさして多くの単語を指定していないので)
もちろん「『古今』をやめて『古今伝授』にする」「いっそあきらめて除外ワードは指定しない」なども可能ですが、もう一つ方法があります。
例えば、「『古今』というワードと『歌仙兼定』というワードが二つとも出てくる投稿」という条件で表示できるなら、「古今」単体よりは高確率でとうらぶ関係の呟きでしょう。
正規表現では、お目当てのワードと一緒に使われていそうなワードを予測してふたつとも指定する、ということも可能なんです。今回は以下の投稿を参考にしました。
エンジニアがSkyFeedの簡単なコツを教えます。
・AまたはB A|B
・A且つB A.+B
・AまたはBとC (A|B).+C
・AまたはBとCまたはD(A|B).+(C|D)
・除外 InvertをON
— とわすた@StreamersApps (@twilightwings.bsky.social) 2024年2月11日 12:42
たとえば、「古今」と「歌仙兼定」が両方含まれる投稿を拾いたいときには、「古今.+歌仙兼定|歌仙.+古今」(※後述しますが後半部分も必須です)と入力すればいいわけです。
除外条件が増えすぎるとはじきたくないものもはじいてしまうことがある以上、古今と地蔵、古今と細川……など、ありそうな語句の組み合わせを予測して指定する代わり、とうらぶ以外でも使われがちな「古今」単体は指定しないでおく、というのも一つの手です。間に別の語句が挟まっていても大丈夫です。
ただ、この「AかつB」の指定方法、うまく機能しないときもたまにあるんですよね……。
私にとって当初盲点だったのは、「A.+B」と「B.+A」とで出てくる結果が違う、ということです。
たとえば、「古今.+歌仙」と指定した場合は、「古今と歌仙の回想、好き」という投稿を拾います。でも、「歌仙と古今の回想、好き」は拾ってくれないんです!
両方見たい場合は「歌仙.+古今|古今.+歌仙」のように、順番が逆のバージョンも入力したほうが確実なようです。
ちょっと面倒……と思ってしまいますが、逆に「“hello world”はいいけど“world hello”はダメ」というときには簡単に設定できるという利点はあります。
また、2パターンちゃんと書いてもなぜか拾いきれないことは時々あります。私の試した限りでは特に、入れたワードが絵文字だとうまくいかなくなることが多い気がします(未解決)。
何か解決策を発見した方がいらしたら是非、教えてください。
さて、実際の読み込みが安定するかはともかく、これでいろいろな指示が出せるようになりました。
例えば「『日光』と『姫』、両方が入っているポストを拾いたい! でも『直射日光』『姫様』ってワードが入ってたらたぶんとうらぶじゃないから除外ね」などというケースも、
見たいワードは 日光.+姫|姫.+日光
除外ワードは 直射日光|姫様
これだけです! あとは、除外の方のRegXブロックはInvertをONにする、というのさえ忘れなければ、キーワードの設定は完璧です。
5.フィードの公開と確認
色々調節してみて良い感じになったら、ブルースカイからもフィードが見られるようにフィードを公開してみましょう。
ブルースカイでフィードを見るためには、まず”Publish Feed”のボタンを押します。するとフィードの説明文を入力してね、という画面が出てきます。
今のところ、カスタムフィードは非公開にはできないので、フィードの名前と説明文は誰が見てもわかるように書いた方が安心です(公開せずに、スカイフィードの編集画面をひらいて見るだけにする、という手もありますが、不便)。
「~のためのフィードです」などと説明して、”publish”を押したら公開完了です!
うまくいったかどうか、ブルースカイに戻ってみて確認しましょう。
ブルースカイに戻ったらまず、自分のプロフ画面に戻って、フィードが追加できているか確認します。
自分が作ったフィードが出てきたら、見たいフィードをクリックします。そして、「ホームにピン留め」ボタンを押すと、自分のブルースカイのホームからいつでも見られるようになります。
ピン留めしておくと、Twitterでいうリストのような感じでホームから簡単に閲覧できて、とても便利です。
以上でフィードの公開と確認は完了です! お疲れ様でした!
6.フィードの消去方法
ちなみに、作ったフィードを消したくなったときは、
①自分のホームから消したい場合
ブルースカイの自分のプロフ画面→フィード→フィードのよこのゴミ箱マークから消す
②完全に消去したい場合
スカイフィードのフィード編集画面の一番上の行にあるゴミ箱マークから消す
で消せます。
7.まとめ
以上のように、スカイフィードというサードパーティーサービスを使うことで、簡単にフィードをカスタムできます。
推しの名前が一般名詞と被るから、検索をかけてもなかなかジャンル関係の呟きが見つけられない……と思っていた私にとっては、とてもとても便利な機能でした。作ったフィードは消すこともできるので、お気軽に試してみてください。
8.参考サイト
SkyFeedのFeed Builderを使ってカスタムフィードをつくる