export const metadata = { title: "Reactions Extension", description: "The Reactions Extension allows users to react to posts with emojis", } # Reactions Extension The Reactions Extension allows users to express their reactions ("react") to posts with emojis. {{ className: 'lead' }} ## Federation User reactions are (like every other entity) federated to all followers, and can be displayed to clients depending on the privacy settings of the associated [Note](/entities/note). ## Entity Definition Must be `pub.versia:reactions/Reaction`. URI of the [User](/entities/user) that is reacting. URI of the [Note](/entities/note) attached to the reaction. Emoji content of reaction. May also be arbitrary text, or [Custom Emoji](/extensions/custom-emojis) if supported. Clients are encouraged to disfavour text in favour of emoji where possible. ```jsonc {{ title: "Example Entity" }} { "id": "6f27bc77-58ee-4c9b-b804-8cc1c1182fa9", "type": "pub.versia:reactions/Reaction", // [!code focus] "uri": "https://example.com/actions/6f27bc77-58ee-4c9b-b804-8cc1c1182fa9", "created_at": "2021-01-01T00:00:00.000Z", "author": "https://example.com/users/6e0204a2-746c-4972-8602-c4f37fc63bbe", // [!code focus:3] "object": "https://example.com/publications/f08a124e-fe90-439e-8be4-15a428a72a19", "content": "😀", } ``` ## Note Collections The Likes extension adds the following collections to the [Note](/entities/note) entity: - `reactions`: A [URI Collection](/structures/collection#uri-collection) of all the reactions to the note. ```jsonc { "type": "Note", ... "collections": { ... "pub.versia:reactions/Reactions": "https://example.com/publications/f08a124e-fe90-439e-8be4-15a428a72a19/reactions" } } ``` ## Interaction Types This section only applies to implementors of the [Interaction Controls Extension](/extensions/interaction-controls). This extension registers the following interaction types: - `pub.versia:reactions#React`, for adding a Reaction to a Note.