Skip to content

Note

このドキュメントは2026-02-27 03:26PLaMo Translation Modelを使用して自動翻訳されました。

FEP-c0e0: 絵文字リアクション機能

概要

本文書では、ActivityPubネットワークにおける絵文字リアクションの実装方法について規定する。

履歴

Misskeyはバージョン10.97.0(2019年)から、Pleromaはバージョン2.0.0(2020年)からそれぞれ絵文字リアクション機能をサポートしている。

要件

本文書中で使用する「MUST」「MUST NOT」「REQUIRED」「SHALL」「SHALL NOT」「SHOULD」「SHOULD NOT」「RECOMMENDED」「MAY」「OPTIONAL」といった用語は、RFC-2119の規定に従って解釈されるものとする。

EmojiReactアクティビティ

EmojiReactアクティビティタイプはLitePub語彙体系の一部として位置付けられる。完全なIRIはhttp://litepub.social/ns#EmojiReactである。

このアクティビティはLikeアクティビティと類似しており、標準的なLikeプロパティに加え、contentプロパティを必ず含む必要がある。リアクション内容は単一のUnicode文字単位、あるいはコロンで囲まれたカスタム絵文字名(ショートコード)でなければならない。

カスタム絵文字を使用する場合、EmojiReactアクティビティには単一のEmojiオブジェクトを含むtagプロパティが必須となる。このプロパティのname属性値はカスタム絵文字の名称を含み、コロンで囲まれていることが望ましい。埋め込みEmojiは、アクターが所属するサーバーとは異なるサーバから提供されたものであってもよい。

単一のobjectに対して複数のEmojiReactアクティビティを生成することは可能である。ただし、実装者は同一絵文字によるリアクションを複数許可しない、あるいはオブジェクトごとに1つのリアクションのみを許容するといった制限を設けることができる。

Unicode絵文字を使用した例:

{
  "@context": [
    "https://www.w3.org/ns/activitystreams",
    {
      "litepub": "http://litepub.social/ns#",
      "EmojiReact": "litepub:EmojiReact"
    }
  ],
  "actor": "https://alice.social/users/alice",
  "content": "🔥",
  "id": "https://alice.social/activities/65379d47-b7aa-4ef6-8e4f-41149dda1d2c",
  "object": "https://bob.social/objects/57caeb99-424c-4692-b74f-0a6682050932",
  "to": [
    "https://alice.social/users/alice/followers",
    "https://bob.social/users/bob"
  ],
  "type": "EmojiReact"
}

カスタム絵文字を使用した例:

{
  "@context": [
    "https://www.w3.org/ns/activitystreams",
    {
      "toot": "http://joinmastodon.org/ns#",
      "Emoji": "toot:Emoji",
      "litepub": "http://litepub.social/ns#",
      "EmojiReact": "litepub:EmojiReact"
    }
  ],
  "actor": "https://alice.social/users/alice",
  "content": ":blobwtfnotlikethis:",
  "id": "https://alice.social/activities/65379d47-b7aa-4ef6-8e4f-41149dda1d2c",
  "object": "https://bob.social/objects/57caeb99-424c-4692-b74f-0a6682050932",
  "tag": [
    {
      "icon": {
        "mediaType": "image/png",
        "type": "Image",
        "url": "https://alice.social/files/1b0510f2-1fb4-43f5-a399-10053bbd8f0f"
      },
      "id": "https://alice.social/emojis/blobwtfnotlikethis",
      "name": ":blobwtfnotlikethis:",
      "type": "Emoji",
      "updated": "2024-02-07T02:21:46.497Z"
    }
  ],
  "to": [
    "https://alice.social/users/alice/followers",
    "https://bob.social/users/bob"
  ],
  "type": "EmojiReact"
}

コンテンツ付きLikeとしての表現

絵文字リアクションはLikeアクティビティとしても表現可能である。この場合、非対応実装では通常の「いいね」として処理され、より適切な動作が求められる場合には、LikeタイプをEmojiReactタイプの代わりに使用することができる。

実装者は、contentプロパティを持つLikeアクティビティについても、EmojiReactアクティビティと同様に処理しなければならない。

リアクションの取り消し

絵文字リアクションは標準的なUndoアクティビティを使用して取り消すことができる:

{
  "@context": [
    "https://www.w3.org/ns/activitystreams"
  ],
  "actor": "https://alice.social/users/alice",
  "id": "https://alice.social/activities/99b8f47b-f3a9-4cf5-94a2-95352e7462d6",
  "object": "https://alice.social/activities/65379d47-b7aa-4ef6-8e4f-41149dda1d2c",
  "to": [
    "https://alice.social/users/alice/followers",
    "https://bob.social/users/bob"
  ],
  "type": "Undo"
}

emojiReactionsコレクション

オブジェクトに対する絵文字リアクションの一覧は、emojiReactionsプロパティを使用して公開することができる。このプロパティの完全なIRIはhttp://fedibird.com/ns#emojiReactionsである。

本プロパティで指定されるURLは、Likecontent付き)およびEmojiReactアクティビティを含むコレクションに解決されなければならない。

実装状況

本文書は、Misskey、Pleroma、およびFedibirdにおける絵文字リアクション機能の実装に基づいて作成されている。

このFEPが公開されて以降、以下のプロジェクトも同機能のサポートを発表した:

参考文献

著作権

CC0 1.0 Universal(CC0 1.0)パブリックドメイン献呈

法律で許容される範囲において、本Fediverse Enhancement Proposalの著者らは、当該作品に関するすべての著作権および関連する権利を放棄している。