ActivityPubサーバーに絵文字リアクション

2025/5/14 [09:05:59] (水) 天気

自作実装のActivityPubサーバーで、フォローさんや投稿に対するリアクション「Like」(いいね)は実装済み。WEB拍手的な使い方、ちょっとした賛同をお相手に送るというリアクション。


これで十分だと思ってやってたんだけど。追悼など失意系の投稿に対して「いいね」はさすがに使えない。そんな時は、メンションを送ってお悔やみを投稿するという方法しかなくて、お相手との距離感的に言葉を選ぶのが難しいケースも多い。


Misskeyに代表されるFediverseのサーバー(インスタンス)では絵文字リアクションという方法がある。

image

「いいね」だけで足りないところを、絵文字で違うニュアンスのリアクションを送り合う。

言葉ではなくて、たぶんこういうふんわりしたちょっとした感情表現もコミュニケーション、SNSならでは、というやつだ。


てことで、

送信する場合限定で絵文字リアクションを実装することにした。

ちなみに、

受信する場合の絵文字リアクションは実装しない。良いリアクションも悪いリアクションも、等しくリアクションという認識なので気にしない。


ただ、

絵文字リアクション=EmojiReactはActivityPubの仕様には入ってないので、サーバーによって対応にばらつきがある。

「EmojiReact」というActivityは仕様にはないので、対応していないサーバーのことも考慮してのことだと思うけど「Like」のActivityに絵文字を仕込むことが慣例的(?)っぽい。

これだと、お悔やみ系の絵文字を送ったつもりが、絵文字に対応していないサーバーに届くと「いいね」や「ハート」になってしまう。


逆に(?)そういった事故を防ぐために「Like」ではなくて「EmojiReact」をActivityとして送れば、対応していないサーバーは「いいね」にすることもなく、Activityをスルーしてくれる。

というやりかたもあると教えていただいた。


どちらを採用するにしてもサーバーが絵文字に対応してるかどうか確認が必要となる。


サーバーが絵文字に対応してるかどうかは、たぶん「nodeinfo」に記載されているだろうから、nodeinfoを見てから送信する/しないの判定を入れるのが良いと思う。

…けど

1)nodeinfoを見てnodeinfo2.NのURIを取得する

2)nodeinfo2.Nを見てemojiの有無を確認する

という2つリクエストが必要になる、よなあ。

その都度リクエストを飛ばして、サーバーの対応状況確認については、ちょっと保留。


現状見た感じで、サーバーごとの絵文字対応状況は


絵文字非対応→「いいね」になるサーバー

→Mastodon系ほぼ全部

絵文字対応サーバー

→Misskey系(IceshrimpやFirefish)、Akkoma・Pleroma系、Fedibird、kmyblue、mitra

無駄なリクエストを飛ばさないようにリストでも作って運用かな。


実際のActivityやJSONでの絵文字の指定などは、もう少し固まったらホームページの方でページを作ろう

「おひとり様ActivityPubサーバーの自作実装」

https://www.doncha.net/activitypub.html

image

使う絵文字は、unicodeで既定の絵文字、カスタム絵文字(独自の絵文字)の2種類。


本当は絵文字を自作したかったんだけど…て、メモ用紙に手書きで絵を描いてスキャナーで取り込んで4時間ぐらいごちゃごちゃやってみたんだけど、話にならない。目も当てられない。便所の落書きにもならない酷いシロモノ。


40年ぐらい前、エロ漫画の編集をやってた頃は原稿取りに行ってトーン貼りベタ塗りとか手伝ってたし、官能小説雑誌の穴埋めコラムのイラストも描いてたというのにまるで駄目だ。

手を動かす脳を動かすのはある意味筋肉と同じで使ってないとダメになるから、とマンガ家さんたちが口を揃えてたのを思い出した。


https://volpeon.ink/emojis/neocat/

SNSでぼやいたらフリーで使える絵文字を教えていただいてダウンロード。280弱あって全部入れても老眼にはツライだけなので、5つぐらいに絞って登録。とりあえずこれで様子見。

<<2026/1>>
    123
45678910
11121314151617
18192021222324
25262728293031
検索:

【最近の20件】