Skip to main content
Complete reference for all reaction-related Protocol Buffer messages.

AddReaction

Add a reaction to a message. Request: reactions.AddReactionResponse: ()
chat_ref
refs.ChatRef
required
Reference to the chat containing the message
message_id
fixed64
required
Snowflake ID of the message
emoji
ReactionEmoji
required
Emoji to react with

RemoveReaction

Remove a reaction from a message. Request: reactions.RemoveReactionResponse: ()
chat_ref
refs.ChatRef
required
Reference to the chat containing the message
message_id
fixed64
required
Snowflake ID of the message
emoji
ReactionEmoji
required
Emoji to remove

ReactionEmoji

Emoji used in reactions.
emoji
oneof
One of: unicode_emoji (string)

MessageReactions

Reaction data for a message.
message_id
fixed64
Snowflake ID of the message
reaction_fields
MessageReactionField[]
Array of reaction fields

MessageReactionField

emoji
reactions.ReactionEmoji
The reaction emoji
count
uint32
Number of users who reacted with this emoji
me
bool
Whether the current user has this reaction
preview_user_ids
fixed64[]
Snowflake IDs of users who reacted (preview)

Protocol Definition

syntax = "proto3";

package tangle.client.reactions;

import "refs.proto";

message AddReaction {
  refs.ChatRef chat_ref = 1;
  // @snowflake<Message>
  fixed64       message_id = 2;
  ReactionEmoji emoji   = 3;
}

message RemoveReaction {
  refs.ChatRef chat_ref = 1;
  // @snowflake<Message>
  fixed64       message_id = 2;
  ReactionEmoji emoji   = 3;
}

message ReactionEmoji {
  oneof emoji {
    string unicode_emoji = 1;
    // future compatibility
    // string custom_emoji  = 2;
  }
}

message MessageReactions {
    // @snowflake<Message>
  fixed64 message_id = 1;
  repeated MessageReactionField reaction_fields = 2;
}

message MessageReactionField {
  reactions.ReactionEmoji emoji = 1;
  uint32 count = 2;
  bool me = 3;

  // @snowflake<User>
  repeated fixed64 preview_user_ids = 4;
}

Build docs developers (and LLMs) love