@sumiyaki が判定に利用しているのは "tag": [ { "type": "Hashtag" } ] の個数なので、content本文がアンカータグになっているか等はみていません。

それはそれとして、ひょっとするとPleromaからのリレー配信うまくいってないかも……。Mastodon v2.7.2がらみかもしれないですが、あとで調べてみます。

v2.7.2、masterのバックポートってことなんだけど、ここまでの成果が全部盛り込まれてるので、実質masterが降りてきた感じだねw

勢にとっては、待望の、タグタイムラインのストリーミングがちゃんと機能するバージョンです。みんなv2.7.2にしてくれ!

らりおさん @lo48576 の「ぼくのかんがえたさいきょうのSNS 」は、読み手の理解度によって得られるものが変化する示唆に富んだ提言で、度々読み返しています。
blog.cardina1.red/2018/02/25/s

Mastodonでは最近この分野にジワジワと踏み込み始めていて、

1 . サーバ単位のディレクトリにおいて、関心分野の横断検索のためにハッシュタグが採用された(プロフィールに記載したタグが採用される)

2. featured_tags(注目のハッシュタグ)にハッシュタグが登録できるようになり、個人の投稿をハッシュタグで絞り込めるようになった

さらに何か手を入れてくると思いますが、徐々に影響がでてくるものと思います。

まだ有効利用されていないものとしては、非公開でハッシュタグを付与した投稿があります。

なお、 では実験的な機能において、ハッシュタグやアカウントの公開投稿の転送による、Yet anotherなフォロー機能(購読)を試みています。

本来作ろうとしている「選択的リレー」の方の機能です。

今後、もう少し踏み込んだ実験を行う予定です。

これ、リレー等の外部から投げかけられるActivityに関連するMastodon本体の修正です。無差別に飛んできても、適切に拒否するように修正されます。

こちらがCreateで、
github.com/tootsuite/mastodon/

こちらがAnnouce(マージまだ)。
github.com/tootsuite/mastodon/

他、行儀良く振る舞うリレーサービスでは支障がないハズです。私の方でも、はやめに検証しておきます。

では、実験的機能の中で、

公開投稿だけをフォローする機能

を実装しました。

(いまのところフォロワーが誰なのかわかるようになっていないのですが、そういう機能要件になっているのではなく、単に実装されていないだけです)

鍵アカウントという運用形態がありますが、投稿毎に公開範囲を変更できるMastodonなどFediverseのSNSでは、公開投稿だけをフォローできる形態が公式にサポートされていてもいいような気がします。

これまでのサーバ単位の単純リレーと違って、

配信先のリストを動的に組み立てていかないといけないので、割と処理は重くなったと思う。

まだ最適化するには早い段階なので、しばらく高速化とか省メモリとかそういう方面はいじらないつもりだけど。

statusコマンドのひみつ

所属インスタンスが、ハッシュタグリレーに参加しているかどうか確認できます。

リレーの新機能、まだまだ試験導入で、いろいろ不具合起きると思うけど、可能性を探ってみてください。

フィードバックお願いします。

■ 使い方

まず、 @relay を直接フォローしておいてください。

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

subscribe [email protected]

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

unsubscribe [email protected]

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

status

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

set :lang:ja

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

hello

こんにちは!


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

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

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

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

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

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


よし、Mastodonで動いたぞ、と思うと、だいたいPleromaで動かないので、そこからが本番って感じ……

の制御コマンドが増えてきて便利になってきたんだけど、これ一般の人に使ってもらうような代物じゃないな、やっぱり……。

WebUIを真面目に作らないと、使い方が難しくてわからん、という感じになっている。

まぁ、もうしばらくはその方がいいかもしれんけどw

のrelayctlに制御コマンドを送ると実行結果をDMで返信してくるんだけど、これすっごい邪魔なことに気がついた……。

自分の投稿はいくらでも消せるけど、相手から届いたDMは消せない。DMカラムが汚染されていく……。

そういうわけで、プライベートで返信するように変更。実行結果は主に通知をみてもらうようにする。

通知はその気になれば消せるし、どのみち他のモノで埋まっていくものなので、ここならまぁ邪魔にはならない。リプライになっているので、制御コマンド投稿にぶら下がっている。あと、relayctlのアカウントページからまとめて辿ることもできるハズ。

relayctlは誰もフォローできないので、メンション付きプライベート投稿の公開範囲は、実質DMなのだ。

CrystalのI18n対応、ひとまずこのshardsに落ち着いた。
github.com/TechMagister/i18n.c

あと、HTTP::HandlerについてはAmberで使われているcitrine-i18nを使わせてもらうことにした。
github.com/amberframework/citr

だが、MastodonもPleromaも、Activityを送ってくる時にAccept-Languageをつけてこないので役に立たないw

MastodonはActivityにcontent付ける時contentMapで使用言語の情報をよこすので、それを利用。

Pleromaは特に情報がないので拾えず。

わりといいところまで新機能書いたりしてたんだけど、開発環境が動かなくなったので復旧してからの再開になります……まぁ一日あれば戻るけども。

githubも、pushしてないと最新版になっているわけではないから、デバッグしてたヤツは手元にはない。なんでもかんでもpushする気にはならないしなー。

まぁTimeMachineでバックアップされてるので、そこから復旧するのだけども。

オイゲンさんがハッシュタグに力を入れている件、具体的にはまずこれです。

ユーザー自身で、注目しているハッシュタグを10個まで、設定ページからエントリーすることができます。(候補が提案されているのが親切ですね!)

そうすると、公開のプロフィールページに設定したハッシュタグのボタンが表示されるようになって、絞り込み表示ができます!

画像は、私のプロファイルページで、 に絞り込んで表示した実例です。
dtp-mstdn.jp/@noellabo/tagged/

私のプロフィールに表示されているハッシュタグも、わりとイカした実例だと思いますが、他にも上手な使い方があるかと思います。

たとえば作品発表している人なら、自作品につけているタグを掲載したら、かなり便利だと思いませんか?

、以前はブーストを適切にフィルタしてなかったんですが、今回の更新分からはフェッチして中身をみて判定するようになっています。

サーバ参加は、まだ全部を受け取れないみたい。バグがあるね、こりゃ。またあとで調べます。

@noellabo URLが入ると変換されちゃってアレだな……。

mix pleroma.relay follow https://hashtag-relay.dtp-mstdn.jp/actor

//だけ全角にしてみた。

もっと見る

のえる@DTP鯖管 によるおすすめ:

DTP-Mstdn.jp

DTP-Mstdn.jpは、DTP・デザイン・印刷に関わる人々のためのMastodonインスタンスです。

特定分野の専門インスタンスですので、日々のつぶやき、耳寄りな情報の共有、ディスカッション、質問とその回答、役立つスクリプトなど、他では投稿しづらい内容も、思う存分トゥートしましょう!

また、普段使いのインスタンスとしてもご活用ください!
Mastodonは相互に繋がっており、DTP-Mstdn.jpを通じて世界中のインスタンスにアクセスできます。