に、ハッシュタグとアカウントの購読機能を追加しました。

先に投入した、個人参加の機能は、リレーへの送信のみでしたが、こちらは受信のみの機能です。

組み合わせることで、特定タグの送受信が可能になります。

また、直接フォローせずに、特定のアカウントの公開投稿をホームタイムラインで購読できる機能でもあります。

Public Followとか、Weak Followとか、何か名称が必要になりそうな概念です。

現在、Mastodonでの動作は確認されていますが、Pleromaについてはまだカバーできていません。Misskey他、テストできていないシステムで実行すると異常が発生するかもしれませんので、あらかじめご了承ください。


フォロー

■ 使い方

まず、 @relay@hashtag-relay.dtp-mstdn.jp を直接フォローしておいてください。

@relayctl@hashtag-relay.dtp-mstdn.jp にメンションを送ることでコマンドを実行します。皆に見えてしまうので、DMがお薦めです。

subscribe Gargron@mastodon.social

のように、アカウントは先頭の@を除いたドメイン込みの表記、ハッシュタグはそのまま、追加したい分だけ記載します。

unsubscribe Gargron@mastodon.social

解除したいアカウント、タグを指定します。全部消しちゃう時は、 :all というオプションをつけてください。 :all-tag でタグだけ、 :all-account でアカウントだけ全消です。

status

現在のリレーの登録状況を確認します。

set :lang:ja

言語を指定します。:lang:en で英語、:lang:ja で日本語、という簡易の対応です。Mastodonの投稿言語の設定も反映されます。

hello

こんにちは!


何をしているかというと、relayが条件に一致した投稿をブーストしています。

@noellabo relayをフォローした瞬間にrelayによるブーストが流れてくるのは仕様ですか?

@ars42525 不具合っぽい感じがするねー。調べるわ。

@noellabo mstdn.jpでフォローした瞬間にmstdn.jpのトゥートのブーストが飛んできた感じです

@noellabo
見落としていたり、理解できてない可能性が高いですが、失礼します。
私もboostを使った(hashtag関連とは別の)サービスについて考えているのですが、ちょっと分かりませんでした。
こちらはPleromaなので、hashtag relay 購読受信サービスは試せませんが、一つのアカウント(relay or relayctl)をfollowしている、それぞれのユーザ向けに別々にブーストができるのですか? そういうことはできないと思っていました。リレーサーバならではの機能でしょうか? それが可能なら、ちがうサービスにも応用可能ですね。

@sumiyaki 実際にブーストを行っているactorは、relayです。

relayctlは『このハッシュタグ・アカウントの投稿を受信したら、この人にブーストする』というリストを管理しています。

joinやleaveでも、relayctlに指示を出すと、relayがフォロー・フォロー解除を実行します。

relayctlは、あくまで利用者との対話を行うエージェントで、対話のための返信はしますが、リレー行為自体は行いません。

relayは常にこのリストの最新情報を参照して、ブーストを行っています。

なお実際の挙動としては、サーバ毎にまとめ、宛先を複数指定したAnnounceを送っています。

を購読している利用者が100人いれば、100個のAnnounceを送るワケですが、所属サーバでまとめると40つになる場合、実際には40個のAnnounceを送れば済むワケです。

Announceは独立したActivityですので宛先(公開範囲)を指定できます。元投稿にも公開範囲があるので、それをどう解釈するかはサーバ次第です。このあたり、最近挙動が動いています。

@noellabo ありがとうございました。

まだ、ちょっと良く理解できてませんが、私が考えていたのは、クライアントレベル、つまりbotのようなものでサービスする、ということで、これでは、ひとつのサービスアカウントで相手別にそれぞれブーストとかはできないはずです。 relayも相手先毎に別の実態がある、仮想のアカウントなのか、とも思いました。しかし、ActivityPubレベルで相手先を細かく指定できるならば、そういうことも必要なさそうですね。すごい技術ですね。

theboss.techが似たようなこと、つまり、特定のhashtagの記事を自分のインスタンスのLTLに取り込む、というのも、同様の技術なのかも。とすれば、リレーサーバでなくても、インスタンスレベルのサーバならば、ActivityPubで宛先を直接操作できる、というようなことなのか。

ところで、当方はPleromaなのでまだ試せませんが、ブーストされた記事のブースト主(?)はrelayということになるのでしょうか?

#ハッシュタグリレー #theboss_tech
HTMLで投稿したら、pre tagで行の折り込みがない、というのか、一行が長い時、自動的に改行してくれない、というか、ちょっと失敗だった。

@sumiyaki Pleroma、HTMLで投稿とかできて面白いですよね。

こういうのも、出来ないシステムからしたら凄く特殊なことをしているように見えますが、仕様上、特にどうということもなかったりするので面白いです。

@sumiyaki MastodonやPleromaのユーザーですと、フォロワー全員にブーストするしかできないですね。

ActivityPubは、サーバ同士のやりとりだけでなく、サーバとクライアントの通信もカバーしています。規定されているだけでも、さまざまなActivityが存在します。

現状、さまざまなActivityPub対応サービスがリリースされていますが、それぞれ、対応している機能はほんの一部です。

Fediverseで何か付加価値のあるサービスをしようと思ったら、やはりActivityPubを直接話すサービスを立ち上げた方が強いです。

他方、ActivityPubを含む必要なサービスをフルサポートすること、互換性があり、安定して機能する状態を実現することは結構大変なので、既存のサービスの上に構築可能であれば、無理に作り込まない方が良いとも言えます。

なお、 の場合、ブースト主はrelayです。

Pleromaでは、現状でも連合には届くようにはなっています。個人宛がうまくいっていない感じなので、そのへんを調べようとしているところです。

@noellabo こんにちは。素敵な機能でどんな使い方ができるかわくわくしています。少し気になったのですが、リレーコントロールさんに direct でコマンドを送信した際、応答が private で返ってきます。リレーコントロールさんをフォローすることは誰もできない感じですか?(なら誰からも見えないので安心なのです)

@yakitama お察しの通り、誰もフォローできないので、DMと実質同じです。

ダイレクトにするとかなり邪魔なので、そういう不思議仕様になっています。
dtp-mstdn.jp/@noellabo/1015709

@noellabo なるほどです、確かに direct で返ってくるとダイレクトメッセージカラムが大変なことになりそうですw ありがとうございますー

@noellabo すみません、 @relayを踏むと hashtag-relay.dtp-mstdn.jp にリダイレクトされてしまうのですが……。

@Yashima ここ、難しいですよね……。

Mastodonの場合、検索欄に @relay@hashtag-relay.dtp-mstdn.jp とか @relayctl@hashtag-relay.dtp-mstdn.jp をいれていただくのが簡単かと思います(@は半角)

アカウントページは用意されてないので、早めになんとかします!

@noellabo 検索すればよかったんですね!お手数かけました!

ログインして会話に参加
DTP-Mstdn.jp

DTP-Mstdn.jpは、DTP・デザイン・印刷に関わる人々のためのMastodonインスタンスです。特定分野の専門インスタンスですので、日々のつぶやき、耳寄りな情報の共有、ディスカッション、質問とその回答、役立つスクリプトなど、他では投稿しづらい内容も、思う存分トゥートしましょう!