#ハッシュタグリレー に、ハッシュタグとアカウントの購読機能を追加しました。
先に投入した、個人参加の機能は、リレーへの送信のみでしたが、こちらは受信のみの機能です。
組み合わせることで、特定タグの送受信が可能になります。
また、直接フォローせずに、特定のアカウントの公開投稿をホームタイムラインで購読できる機能でもあります。
Public Followとか、Weak Followとか、何か名称が必要になりそうな概念です。
現在、Mastodonでの動作は確認されていますが、Pleromaについてはまだカバーできていません。Misskey他、テストできていないシステムで実行すると異常が発生するかもしれませんので、あらかじめご了承ください。
■ 使い方
まず、 @relay@hashtag-relay.dtp-mstdn.jp を直接フォローしておいてください。
@relayctl@hashtag-relay.dtp-mstdn.jp にメンションを送ることでコマンドを実行します。皆に見えてしまうので、DMがお薦めです。
subscribe Gargron@mastodon.social #mastodev
のように、アカウントは先頭の@を除いたドメイン込みの表記、ハッシュタグはそのまま、追加したい分だけ記載します。
unsubscribe Gargron@mastodon.social #mastodev
解除したいアカウント、タグを指定します。全部消しちゃう時は、 :all というオプションをつけてください。 :all-tag でタグだけ、 :all-account でアカウントだけ全消です。
status
現在のリレーの登録状況を確認します。
set :lang:ja
言語を指定します。:lang:en で英語、:lang:ja で日本語、という簡易の対応です。Mastodonの投稿言語の設定も反映されます。
hello
こんにちは!
@sumiyaki 実際にブーストを行っているactorは、relayです。
relayctlは『このハッシュタグ・アカウントの投稿を受信したら、この人にブーストする』というリストを管理しています。
joinやleaveでも、relayctlに指示を出すと、relayがフォロー・フォロー解除を実行します。
relayctlは、あくまで利用者との対話を行うエージェントで、対話のための返信はしますが、リレー行為自体は行いません。
relayは常にこのリストの最新情報を参照して、ブーストを行っています。
なお実際の挙動としては、サーバ毎にまとめ、宛先を複数指定したAnnounceを送っています。
#ハッシュタグリレー を購読している利用者が100人いれば、100個のAnnounceを送るワケですが、所属サーバでまとめると40つになる場合、実際には40個のAnnounceを送れば済むワケです。
Announceは独立したActivityですので宛先(公開範囲)を指定できます。元投稿にも公開範囲があるので、それをどう解釈するかはサーバ次第です。このあたり、最近挙動が動いています。
@sumiyaki MastodonやPleromaのユーザーですと、フォロワー全員にブーストするしかできないですね。
ActivityPubは、サーバ同士のやりとりだけでなく、サーバとクライアントの通信もカバーしています。規定されているだけでも、さまざまなActivityが存在します。
現状、さまざまなActivityPub対応サービスがリリースされていますが、それぞれ、対応している機能はほんの一部です。
Fediverseで何か付加価値のあるサービスをしようと思ったら、やはりActivityPubを直接話すサービスを立ち上げた方が強いです。
他方、ActivityPubを含む必要なサービスをフルサポートすること、互換性があり、安定して機能する状態を実現することは結構大変なので、既存のサービスの上に構築可能であれば、無理に作り込まない方が良いとも言えます。
なお、 #ハッシュタグリレー の場合、ブースト主はrelayです。
Pleromaでは、現状でも連合には届くようにはなっています。個人宛がうまくいっていない感じなので、そのへんを調べようとしているところです。