#ハッシュタグリレー に、ハッシュタグとアカウントの購読機能を追加しました。
先に投入した、個人参加の機能は、リレーへの送信のみでしたが、こちらは受信のみの機能です。
組み合わせることで、特定タグの送受信が可能になります。
また、直接フォローせずに、特定のアカウントの公開投稿をホームタイムラインで購読できる機能でもあります。
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ですので宛先(公開範囲)を指定できます。元投稿にも公開範囲があるので、それをどう解釈するかはサーバ次第です。このあたり、最近挙動が動いています。
まだ、ちょっと良く理解できてませんが、私が考えていたのは、クライアントレベル、つまりbotのようなものでサービスする、ということで、これでは、ひとつのサービスアカウントで相手別にそれぞれブーストとかはできないはずです。 relayも相手先毎に別の実態がある、仮想のアカウントなのか、とも思いました。しかし、ActivityPubレベルで相手先を細かく指定できるならば、そういうことも必要なさそうですね。すごい技術ですね。
theboss.techが似たようなこと、つまり、特定のhashtagの記事を自分のインスタンスのLTLに取り込む、というのも、同様の技術なのかも。とすれば、リレーサーバでなくても、インスタンスレベルのサーバならば、ActivityPubで宛先を直接操作できる、というようなことなのか。ところで、当方はPleromaなのでまだ試せませんが、ブーストされた記事のブースト主(?)はrelayということになるのでしょうか?
#ハッシュタグリレー #theboss_tech