2022-05-14 00:37:40 +02:00
<!DOCTYPE html>
< html class = "" >
< head >
< meta charset = "utf-8" >
< title > Message reactions< / title >
< meta name = "viewport" content = "width=device-width, initial-scale=1.0" >
< meta property = "description" content = "Telegram allows users to react on any message using specific emojis, triggering cute lottie animations." >
< meta property = "og:title" content = "Message reactions" >
< meta property = "og:image" content = "" >
< meta property = "og:description" content = "Telegram allows users to react on any message using specific emojis, triggering cute lottie animations." >
< link rel = "icon" type = "image/svg+xml" href = "/img/website_icon.svg?4" >
< link rel = "apple-touch-icon" sizes = "180x180" href = "/img/apple-touch-icon.png" >
< link rel = "icon" type = "image/png" sizes = "32x32" href = "/img/favicon-32x32.png" >
< link rel = "icon" type = "image/png" sizes = "16x16" href = "/img/favicon-16x16.png" >
< link rel = "alternate icon" href = "/img/favicon.ico" type = "image/x-icon" / >
< link href = "/css/bootstrap.min.css?3" rel = "stylesheet" >
2023-03-20 12:08:32 +01:00
< link href = "/css/telegram.css?236" rel = "stylesheet" media = "screen" >
2022-05-14 00:37:40 +02:00
< style >
< / style >
< / head >
< body class = "preload" >
< div class = "dev_page_wrap" >
< div class = "dev_page_head navbar navbar-static-top navbar-tg" >
< div class = "navbar-inner" >
< div class = "container clearfix" >
< ul class = "nav navbar-nav navbar-right hidden-xs" > < li class = "navbar-twitter" > < a href = "https://twitter.com/telegram" target = "_blank" data-track = "Follow/Twitter" onclick = "trackDlClick(this, event)" > < i class = "icon icon-twitter" > < / i > < span > Twitter< / span > < / a > < / li > < / ul >
< ul class = "nav navbar-nav" >
< li > < a href = "//telegram.org/" > Home< / a > < / li >
< li class = "hidden-xs" > < a href = "//telegram.org/faq" > FAQ< / a > < / li >
< li class = "hidden-xs" > < a href = "//telegram.org/apps" > Apps< / a > < / li >
< li class = "active" > < a href = "/api" > API< / a > < / li >
< li class = "" > < a href = "/mtproto" > Protocol< / a > < / li >
< li class = "" > < a href = "/schema" > Schema< / a > < / li >
< / ul >
< / div >
< / div >
< / div >
< div class = "container clearfix" >
< div class = "dev_page" >
< div id = "dev_page_content_wrap" class = " " >
< div class = "dev_page_bread_crumbs" > < ul class = "breadcrumb clearfix" > < li > < a href = "/api" > API< / a > < / li > < i class = "icon icon-breadcrumb-divider" > < / i > < li > < a href = "/api/reactions" > Message reactions< / a > < / li > < / ul > < / div >
< h1 id = "dev_page_title" > Message reactions< / h1 >
< div id = "dev_page_content" > <!-- scroll_nav -->
< p > Telegram allows users to react on any message using specific emojis, triggering cute lottie animations. < / p >
2022-11-15 01:03:58 +01:00
< h3 > < a class = "anchor" href = "#react-to-a-message" id = "react-to-a-message" name = "react-to-a-message" > < i class = "anchor-icon" > < / i > < / a > React to a message< / h3 >
< pre > < code > < a href = '/constructor/reactionEmoji' > reactionEmoji< / a > #1b2286b8 emoticon:< a href = '/type/string' > string< / a > = < a href = '/type/Reaction' > Reaction< / a > ;
< a href = '/constructor/reactionCustomEmoji' > reactionCustomEmoji< / a > #8935fc73 document_id:< a href = '/type/long' > long< / a > = < a href = '/type/Reaction' > Reaction< / a > ;
2022-05-14 00:37:40 +02:00
2022-11-15 01:03:58 +01:00
< a href = '/constructor/reactionCount' > reactionCount< / a > #a3d1cb80 flags:< a href = '/type/%23' > #< / a > chosen_order:flags.0?< a href = '/type/int' > int< / a > reaction:< a href = '/type/Reaction' > Reaction< / a > count:< a href = '/type/int' > int< / a > = < a href = '/type/ReactionCount' > ReactionCount< / a > ;
2023-05-22 14:54:47 +02:00
< a href = '/constructor/messagePeerReaction' > messagePeerReaction< / a > #8c79b63c flags:< a href = '/type/%23' > #< / a > big:flags.0?< a href = '/constructor/true' > true< / a > unread:flags.1?< a href = '/constructor/true' > true< / a > my:flags.2?< a href = '/constructor/true' > true< / a > peer_id:< a href = '/type/Peer' > Peer< / a > date:< a href = '/type/int' > int< / a > reaction:< a href = '/type/Reaction' > Reaction< / a > = < a href = '/type/MessagePeerReaction' > MessagePeerReaction< / a > ;
2022-05-14 00:37:40 +02:00
< a href = '/constructor/messageReactions' > messageReactions< / a > #4f2b9479 flags:< a href = '/type/%23' > #< / a > min:flags.0?< a href = '/constructor/true' > true< / a > can_see_list:flags.2?< a href = '/constructor/true' > true< / a > results:< a href = '/type/Vector%20t' > Vector< / a > < < a href = '/type/ReactionCount' > ReactionCount< / a > > recent_reactions:flags.1?< a href = '/type/Vector%20t' > Vector< / a > < < a href = '/type/MessagePeerReaction' > MessagePeerReaction< / a > > = < a href = '/type/MessageReactions' > MessageReactions< / a > ;
2024-02-10 15:29:33 +01:00
< a href = '/constructor/message' > message< / a > #76bec211 flags:< a href = '/type/%23' > #< / a > out:flags.1?< a href = '/constructor/true' > true< / a > mentioned:flags.4?< a href = '/constructor/true' > true< / a > media_unread:flags.5?< a href = '/constructor/true' > true< / a > silent:flags.13?< a href = '/constructor/true' > true< / a > post:flags.14?< a href = '/constructor/true' > true< / a > from_scheduled:flags.18?< a href = '/constructor/true' > true< / a > legacy:flags.19?< a href = '/constructor/true' > true< / a > edit_hide:flags.21?< a href = '/constructor/true' > true< / a > pinned:flags.24?< a href = '/constructor/true' > true< / a > noforwards:flags.26?< a href = '/constructor/true' > true< / a > invert_media:flags.27?< a href = '/constructor/true' > true< / a > id:< a href = '/type/int' > int< / a > from_id:flags.8?< a href = '/type/Peer' > Peer< / a > peer_id:< a href = '/type/Peer' > Peer< / a > saved_peer_id:flags.28?< a href = '/type/Peer' > Peer< / a > fwd_from:flags.2?< a href = '/type/MessageFwdHeader' > MessageFwdHeader< / a > via_bot_id:flags.11?< a href = '/type/long' > long< / a > reply_to:flags.3?< a href = '/type/MessageReplyHeader' > MessageReplyHeader< / a > date:< a href = '/type/int' > int< / a > message:< a href = '/type/string' > string< / a > media:flags.9?< a href = '/type/MessageMedia' > MessageMedia< / a > reply_markup:flags.6?< a href = '/type/ReplyMarkup' > ReplyMarkup< / a > entities:flags.7?< a href = '/type/Vector%20t' > Vector< / a > < < a href = '/type/MessageEntity' > MessageEntity< / a > > views:flags.10?< a href = '/type/int' > int< / a > forwards:flags.10?< a href = '/type/int' > int< / a > replies:flags.23?< a href = '/type/MessageReplies' > MessageReplies< / a > edit_date:flags.15?< a href = '/type/int' > int< / a > post_author:flags.16?< a href = '/type/string' > string< / a > grouped_id:flags.17?< a href = '/type/long' > long< / a > reactions:flags.20?< a href = '/type/MessageReactions' > MessageReactions< / a > restriction_reason:flags.22?< a href = '/type/Vector%20t' > Vector< / a > < < a href = '/type/RestrictionReason' > RestrictionReason< / a > > ttl_period:flags.25?< a href = '/type/int' > int< / a > = < a href = '/type/Message' > Message< / a > ;
2022-05-14 00:37:40 +02:00
2023-05-22 14:54:47 +02:00
< a href = '/constructor/updateMessageReactions' > updateMessageReactions< / a > #5e1b3cb8 flags:< a href = '/type/%23' > #< / a > peer:< a href = '/type/Peer' > Peer< / a > msg_id:< a href = '/type/int' > int< / a > top_msg_id:flags.0?< a href = '/type/int' > int< / a > reactions:< a href = '/type/MessageReactions' > MessageReactions< / a > = < a href = '/type/Update' > Update< / a > ;
2022-05-14 00:37:40 +02:00
< a href = '/constructor/messages.messageReactionsList' > messages.messageReactionsList< / a > #31bd492d flags:< a href = '/type/%23' > #< / a > count:< a href = '/type/int' > int< / a > reactions:< a href = '/type/Vector%20t' > Vector< / a > < < a href = '/type/MessagePeerReaction' > MessagePeerReaction< / a > > chats:< a href = '/type/Vector%20t' > Vector< / a > < < a href = '/type/Chat' > Chat< / a > > users:< a href = '/type/Vector%20t' > Vector< / a > < < a href = '/type/User' > User< / a > > next_offset:flags.0?< a href = '/type/string' > string< / a > = < a href = '/type/messages.MessageReactionsList' > messages.MessageReactionsList< / a > ;
---functions---
2022-11-15 01:03:58 +01:00
< a href = '/method/messages.sendReaction' > messages.sendReaction< / a > #d30d78d4 flags:< a href = '/type/%23' > #< / a > big:flags.1?< a href = '/constructor/true' > true< / a > add_to_recent:flags.2?< a href = '/constructor/true' > true< / a > peer:< a href = '/type/InputPeer' > InputPeer< / a > msg_id:< a href = '/type/int' > int< / a > reaction:flags.0?< a href = '/type/Vector%20t' > Vector< / a > < < a href = '/type/Reaction' > Reaction< / a > > = < a href = '/type/Updates' > Updates< / a > ;
2022-05-14 00:37:40 +02:00
< a href = '/method/messages.getMessagesReactions' > messages.getMessagesReactions< / a > #8bba90e6 peer:< a href = '/type/InputPeer' > InputPeer< / a > id:< a href = '/type/Vector%20t' > Vector< / a > < < a href = '/type/int' > int< / a > > = < a href = '/type/Updates' > Updates< / a > ;
2022-11-15 01:03:58 +01:00
< a href = '/method/messages.getMessageReactionsList' > messages.getMessageReactionsList< / a > #461b3f48 flags:< a href = '/type/%23' > #< / a > peer:< a href = '/type/InputPeer' > InputPeer< / a > id:< a href = '/type/int' > int< / a > reaction:flags.0?< a href = '/type/Reaction' > Reaction< / a > offset:flags.1?< a href = '/type/string' > string< / a > limit:< a href = '/type/int' > int< / a > = < a href = '/type/messages.MessageReactionsList' > messages.MessageReactionsList< / a > ;
2022-05-14 00:37:40 +02:00
2023-05-22 14:54:47 +02:00
< a href = '/method/messages.getUnreadReactions' > messages.getUnreadReactions< / a > #3223495b flags:< a href = '/type/%23' > #< / a > peer:< a href = '/type/InputPeer' > InputPeer< / a > top_msg_id:flags.0?< a href = '/type/int' > int< / a > offset_id:< a href = '/type/int' > int< / a > add_offset:< a href = '/type/int' > int< / a > limit:< a href = '/type/int' > int< / a > max_id:< a href = '/type/int' > int< / a > min_id:< a href = '/type/int' > int< / a > = < a href = '/type/messages.Messages' > messages.Messages< / a > ;
< a href = '/method/messages.readReactions' > messages.readReactions< / a > #54aa7f8e flags:< a href = '/type/%23' > #< / a > peer:< a href = '/type/InputPeer' > InputPeer< / a > top_msg_id:flags.0?< a href = '/type/int' > int< / a > = < a href = '/type/messages.AffectedHistory' > messages.AffectedHistory< / a > ;
2022-11-15 01:03:58 +01:00
< a href = '/method/messages.reportReaction' > messages.reportReaction< / a > #3f64c076 peer:< a href = '/type/InputPeer' > InputPeer< / a > id:< a href = '/type/int' > int< / a > reaction_peer:< a href = '/type/InputPeer' > InputPeer< / a > = < a href = '/type/Bool' > Bool< / a > ;< / code > < / pre >
< p > Users can react to a message with one or more reactions using < a href = "/method/messages.sendReaction" > messages.sendReaction< / a > .< br >
After sending the reaction, the < code > chosen_order< / code > field of < a href = "/constructor/reactionCount" > reactionCount< / a > will be set for the reaction. The integer value indicates when was the reaction added: the bigger the value, the newer the reaction, use this value to appropriately sort the < code > messages.sendReaction:reaction< / code > vector when adding new reactions.< br >
Reactions should be sent in < strong > ascending order< / strong > (new reactions at the end in the < code > messages.sendReaction:reaction< / code > vector), and when adding more reactions to the same message, older reactions should be removed to keep the total number of sent reactions within < a href = "/api/config#reactions-user-max-default" > reactions_user_max_default< / a > /< a href = "/api/config#reactions-user-max-premium" > reactions_user_max_premium< / a > reactions.< br >
The < a href = "/api/config#reactions-uniq-max" > reactions_uniq_max< / a > configuration field also indicates the maximum number of unique reactions that can be added to a message: for example, if there are 2000 < img class = "emoji" src = "//telegram.org/img/emoji/40/F09F918D.png" width = "20" height = "20" alt = "👍" / > and 1000 custom emoji < img class = "emoji" src = "//telegram.org/img/emoji/40/F09F9881.png" width = "20" height = "20" alt = "😁" / > reactions and reactions_uniq_max = 2, you can't add a < img class = "emoji" src = "//telegram.org/img/emoji/40/F09F918E.png" width = "20" height = "20" alt = "👎" / > reaction, because that would raise the number of unique reactions to 3 > 2. < / p >
< p > The < code > big< / code > flag can be optionally set to elicit a bigger reaction.< br >
Send a < a href = "/constructor/reactionEmoji" > reactionEmoji< / a > to react using a normal emoji, and a < a href = "/constructor/reactionCustomEmoji" > reactionCustomEmoji< / a > to react using a < a href = "/api/custom-emoji" > custom emoji< / a > .< br >
2022-05-14 00:37:40 +02:00
Message authors will receive an < a href = "/constructor/updateMessageReactions" > updateMessageReactions< / a > update when a user reacts to their message. < / p >
< p > < a href = "/method/messages.getMessagesReactions" > messages.getMessagesReactions< / a > can be used to fetch a full list of reactions for one or more messages.< br >
Apps should short-poll reactions for visible messages (that weren't sent by the user) once every 15-30 seconds, but only if < code > message.reactions< / code > is set. < / p >
2022-11-15 01:03:58 +01:00
< p > In groups, < a href = "/method/messages.getMessageReactionsList" > messages.getMessageReactionsList< / a > can be used to fetch the reaction list, along with the sender of each reaction.< br >
In groups, < a href = "/method/messages.reportReaction" > messages.reportReaction< / a > can be used to report a certain < a href = "/api/custom-emoji" > custom emoji< / a > reaction, specifying the < code > peer< / code > , the message < code > id< / code > and the user that sent the reaction (< code > reaction_peer< / code > ). < / p >
2022-05-14 00:37:40 +02:00
< p > < a href = "/method/messages.getUnreadReactions" > messages.getUnreadReactions< / a > is used to fetch messages with unread reactions.< br >
Use < a href = "/method/messages.readReactions" > messages.readReactions< / a > to mark all reactions as read in a certain chat.< / p >
2024-02-10 15:29:33 +01:00
< h3 > < a class = "anchor" href = "#react-to-a-story" id = "react-to-a-story" name = "react-to-a-story" > < i class = "anchor-icon" > < / i > < / a > React to a story< / h3 >
< p > See < a href = "/api/stories#reactions" > here »< / a > for more info on how to react to a story.< / p >
2022-11-15 01:03:58 +01:00
< h3 > < a class = "anchor" href = "#animated-normal-emojis" id = "animated-normal-emojis" name = "animated-normal-emojis" > < i class = "anchor-icon" > < / i > < / a > Animated normal emojis< / h3 >
< pre > < code > < a href = '/constructor/reactionEmoji' > reactionEmoji< / a > #1b2286b8 emoticon:< a href = '/type/string' > string< / a > = < a href = '/type/Reaction' > Reaction< / a > ;
< a href = '/constructor/availableReaction' > availableReaction< / a > #c077ec01 flags:< a href = '/type/%23' > #< / a > inactive:flags.0?< a href = '/constructor/true' > true< / a > premium:flags.2?< a href = '/constructor/true' > true< / a > reaction:< a href = '/type/string' > string< / a > title:< a href = '/type/string' > string< / a > static_icon:< a href = '/type/Document' > Document< / a > appear_animation:< a href = '/type/Document' > Document< / a > select_animation:< a href = '/type/Document' > Document< / a > activate_animation:< a href = '/type/Document' > Document< / a > effect_animation:< a href = '/type/Document' > Document< / a > around_animation:flags.1?< a href = '/type/Document' > Document< / a > center_icon:flags.1?< a href = '/type/Document' > Document< / a > = < a href = '/type/AvailableReaction' > AvailableReaction< / a > ;
2022-05-14 00:37:40 +02:00
< a href = '/constructor/messages.availableReactionsNotModified' > messages.availableReactionsNotModified< / a > #9f071957 = < a href = '/type/messages.AvailableReactions' > messages.AvailableReactions< / a > ;
< a href = '/constructor/messages.availableReactions' > messages.availableReactions< / a > #768e3aad hash:< a href = '/type/int' > int< / a > reactions:< a href = '/type/Vector%20t' > Vector< / a > < < a href = '/type/AvailableReaction' > AvailableReaction< / a > > = < a href = '/type/messages.AvailableReactions' > messages.AvailableReactions< / a > ;
2022-11-15 01:03:58 +01:00
< a href = '/constructor/inputStickerSetEmojiGenericAnimations' > inputStickerSetEmojiGenericAnimations< / a > #04c4d4ce = < a href = '/type/InputStickerSet' > InputStickerSet< / a > ;
2022-05-14 00:37:40 +02:00
---functions---
< a href = '/method/messages.getAvailableReactions' > messages.getAvailableReactions< / a > #18dea0ac hash:< a href = '/type/int' > int< / a > = < a href = '/type/messages.AvailableReactions' > messages.AvailableReactions< / a > ;< / code > < / pre >
2022-11-15 01:03:58 +01:00
< p > < a href = "/method/messages.getAvailableReactions" > messages.getAvailableReactions< / a > can be used to fetch a list of animations to play when reacting with a normal < a href = "/constructor/reactionEmoji" > reactionEmoji< / a > .< br >
The returned vector of < a href = "/constructor/availableReaction" > availableReaction< / a > constructors contains multiple fields with lottie < a href = "/api/stickers" > animated stickers< / a > and simple images that should be positioned, displayed and played appropriately in the UI, as described in the < a href = "/constructor/availableReaction" > constructor page »< / a > . < / p >
< p > Users can also react using < a href = "/api/custom-emoji" > custom emojis »< / a > , in which case the < code > appear_animation< / code > and < code > select_animation< / code > are equal to the custom emoji itself that can be fetched < a href = "/api/custom-emoji" > as described here »< / a > .< br >
For custom emojis, the < code > effect_animation< / code > must be equal to the < code > effect_animation< / code > of the associated normal emoji: if no effect animation is present for the normal emoji associated to a custom emoji, a random < a href = "/api/stickers" > animated sticker< / a > should be played from the < a href = "/constructor/inputStickerSetEmojiGenericAnimations" > inputStickerSetEmojiGenericAnimations< / a > stickerset, fetched using < a href = "/method/messages.getStickerSet" > messages.getStickerSet< / a > as described < a href = "/api/stickers#stickersets" > here »< / a > .< / p >
< h3 > < a class = "anchor" href = "#available-reactions-in-group-or-channel" id = "available-reactions-in-group-or-channel" name = "available-reactions-in-group-or-channel" > < i class = "anchor-icon" > < / i > < / a > Available reactions in group or channel< / h3 >
< pre > < code > < a href = '/constructor/reactionEmoji' > reactionEmoji< / a > #1b2286b8 emoticon:< a href = '/type/string' > string< / a > = < a href = '/type/Reaction' > Reaction< / a > ;
< a href = '/constructor/reactionCustomEmoji' > reactionCustomEmoji< / a > #8935fc73 document_id:< a href = '/type/long' > long< / a > = < a href = '/type/Reaction' > Reaction< / a > ;
< a href = '/constructor/chatReactionsNone' > chatReactionsNone< / a > #eafc32bc = < a href = '/type/ChatReactions' > ChatReactions< / a > ;
< a href = '/constructor/chatReactionsAll' > chatReactionsAll< / a > #52928bca flags:< a href = '/type/%23' > #< / a > allow_custom:flags.0?< a href = '/constructor/true' > true< / a > = < a href = '/type/ChatReactions' > ChatReactions< / a > ;
< a href = '/constructor/chatReactionsSome' > chatReactionsSome< / a > #661d4037 reactions:< a href = '/type/Vector%20t' > Vector< / a > < < a href = '/type/Reaction' > Reaction< / a > > = < a href = '/type/ChatReactions' > ChatReactions< / a > ;
2023-05-22 14:54:47 +02:00
< a href = '/constructor/chatFull' > chatFull< / a > #c9d31138 flags:< a href = '/type/%23' > #< / a > can_set_username:flags.7?< a href = '/constructor/true' > true< / a > has_scheduled:flags.8?< a href = '/constructor/true' > true< / a > translations_disabled:flags.19?< a href = '/constructor/true' > true< / a > id:< a href = '/type/long' > long< / a > about:< a href = '/type/string' > string< / a > participants:< a href = '/type/ChatParticipants' > ChatParticipants< / a > chat_photo:flags.2?< a href = '/type/Photo' > Photo< / a > notify_settings:< a href = '/type/PeerNotifySettings' > PeerNotifySettings< / a > exported_invite:flags.13?< a href = '/type/ExportedChatInvite' > ExportedChatInvite< / a > bot_info:flags.3?< a href = '/type/Vector%20t' > Vector< / a > < < a href = '/type/BotInfo' > BotInfo< / a > > pinned_msg_id:flags.6?< a href = '/type/int' > int< / a > folder_id:flags.11?< a href = '/type/int' > int< / a > call:flags.12?< a href = '/type/InputGroupCall' > InputGroupCall< / a > ttl_period:flags.14?< a href = '/type/int' > int< / a > groupcall_default_join_as:flags.15?< a href = '/type/Peer' > Peer< / a > theme_emoticon:flags.16?< a href = '/type/string' > string< / a > requests_pending:flags.17?< a href = '/type/int' > int< / a > recent_requesters:flags.17?< a href = '/type/Vector%20t' > Vector< / a > < < a href = '/type/long' > long< / a > > available_reactions:flags.18?< a href = '/type/ChatReactions' > ChatReactions< / a > = < a href = '/type/ChatFull' > ChatFull< / a > ;
2024-02-10 15:29:33 +01:00
< a href = '/constructor/channelFull' > channelFull< / a > #f2bcb6f flags:< a href = '/type/%23' > #< / a > can_view_participants:flags.3?< a href = '/constructor/true' > true< / a > can_set_username:flags.6?< a href = '/constructor/true' > true< / a > can_set_stickers:flags.7?< a href = '/constructor/true' > true< / a > hidden_prehistory:flags.10?< a href = '/constructor/true' > true< / a > can_set_location:flags.16?< a href = '/constructor/true' > true< / a > has_scheduled:flags.19?< a href = '/constructor/true' > true< / a > can_view_stats:flags.20?< a href = '/constructor/true' > true< / a > blocked:flags.22?< a href = '/constructor/true' > true< / a > flags2:< a href = '/type/%23' > #< / a > can_delete_channel:flags2.0?< a href = '/constructor/true' > true< / a > antispam:flags2.1?< a href = '/constructor/true' > true< / a > participants_hidden:flags2.2?< a href = '/constructor/true' > true< / a > translations_disabled:flags2.3?< a href = '/constructor/true' > true< / a > stories_pinned_available:flags2.5?< a href = '/constructor/true' > true< / a > view_forum_as_messages:flags2.6?< a href = '/constructor/true' > true< / a > id:< a href = '/type/long' > long< / a > about:< a href = '/type/string' > string< / a > participants_count:flags.0?< a href = '/type/int' > int< / a > admins_count:flags.1?< a href = '/type/int' > int< / a > kicked_count:flags.2?< a href = '/type/int' > int< / a > banned_count:flags.2?< a href = '/type/int' > int< / a > online_count:flags.13?< a href = '/type/int' > int< / a > read_inbox_max_id:< a href = '/type/int' > int< / a > read_outbox_max_id:< a href = '/type/int' > int< / a > unread_count:< a href = '/type/int' > int< / a > chat_photo:< a href = '/type/Photo' > Photo< / a > notify_settings:< a href = '/type/PeerNotifySettings' > PeerNotifySettings< / a > exported_invite:flags.23?< a href = '/type/ExportedChatInvite' > ExportedChatInvite< / a > bot_info:< a href = '/type/Vector%20t' > Vector< / a > < < a href = '/type/BotInfo' > BotInfo< / a > > migrated_from_chat_id:flags.4?< a href = '/type/long' > long< / a > migrated_from_max_id:flags.4?< a href = '/type/int' > int< / a > pinned_msg_id:flags.5?< a href = '/type/int' > int< / a > stickerset:flags.8?< a href = '/type/StickerSet' > StickerSet< / a > available_min_id:flags.9?< a href = '/type/int' > int< / a > folder_id:flags.11?< a href = '/type/int' > int< / a > linked_chat_id:flags.14?< a href = '/type/long' > long< / a > location:flags.15?< a href = '/type/ChannelLocation' > ChannelLocation< / a > slowmode_seconds:flags.17?< a href = '/type/int' > int< / a > slowmode_next_send_date:flags.18?< a href = '/type/int' > int< / a > stats_dc:flags.12?< a href = '/type/int' > int< / a > pts:< a href = '/type/int' > int< / a > call:flags.21?< a href = '/type/InputGroupCall' > InputGroupCall< / a > ttl_period:flags.24?< a href = '/type/int' > int< / a > pending_suggestions:flags.25?< a href = '/type/Vector%20t' > Vector< / a > < < a href = '/type/string' > string< / a > > groupcall_default_join_as:flags.26?< a href = '/type/Peer' > Peer< / a > theme_emoticon:flags.27?< a href = '/type/string' > string< / a > requests_pending:flags.28?< a href = '/type/int' > int< / a > recent_requesters:flags.28?< a href = '/type/Vector%20t' > Vector< / a > < < a href = '/type/long' > long< / a > > default_send_as:flags.29?< a href = '/type/Peer' > Peer< / a > available_reactions:flags.30?< a href = '/type/ChatReactions' > ChatReactions< / a > stories:flags2.4?< a href = '/type/PeerStories' > PeerStories< / a > wallpaper:flags2.7?< a href = '/type/WallPaper' > WallPaper< / a > = < a href = '/type/ChatFull' > ChatFull< / a > ;
2022-11-15 01:03:58 +01:00
< a href = '/constructor/channelAdminLogEventActionChangeAvailableReactions' > channelAdminLogEventActionChangeAvailableReactions< / a > #be4e0ef8 prev_value:< a href = '/type/ChatReactions' > ChatReactions< / a > new_value:< a href = '/type/ChatReactions' > ChatReactions< / a > = < a href = '/type/ChannelAdminLogEventAction' > ChannelAdminLogEventAction< / a > ;
2022-05-14 00:37:40 +02:00
---functions---
2022-11-15 01:03:58 +01:00
< a href = '/method/messages.setChatAvailableReactions' > messages.setChatAvailableReactions< / a > #feb16771 peer:< a href = '/type/InputPeer' > InputPeer< / a > available_reactions:< a href = '/type/ChatReactions' > ChatReactions< / a > = < a href = '/type/Updates' > Updates< / a > ;< / code > < / pre >
< p > Chat and channel administrators can use < a href = "/method/messages.setChatAvailableReactions" > messages.setChatAvailableReactions< / a > to restrict the set of reactions that can be used in a chat or channel, see < a href = "/type/ChatReactions" > here »< / a > for a list of possible configuration values.< br >
The set < a href = "/type/ChatReactions" > ChatReactions< / a > constructor can then be fetched by users using < a href = "/method/messages.getFullChat" > messages.getFullChat< / a > , and will be contained in the < code > available_reactions< / code > field of the returned full info constructor.< / p >
< p > The < a href = "/api/config#reactions-in-chat-max" > reactions_in_chat_max< / a > configuration field indicates the maximum number of reactions that can be specified in < a href = "/constructor/chatReactionsSome" > chatReactionsSome< / a > .< / p >
< h3 > < a class = "anchor" href = "#recent-reactions" id = "recent-reactions" name = "recent-reactions" > < i class = "anchor-icon" > < / i > < / a > Recent reactions< / h3 >
< pre > < code > < a href = '/constructor/reactionEmoji' > reactionEmoji< / a > #1b2286b8 emoticon:< a href = '/type/string' > string< / a > = < a href = '/type/Reaction' > Reaction< / a > ;
< a href = '/constructor/reactionCustomEmoji' > reactionCustomEmoji< / a > #8935fc73 document_id:< a href = '/type/long' > long< / a > = < a href = '/type/Reaction' > Reaction< / a > ;
2022-05-14 00:37:40 +02:00
2022-11-15 01:03:58 +01:00
< a href = '/constructor/messages.reactionsNotModified' > messages.reactionsNotModified< / a > #b06fdbdf = < a href = '/type/messages.Reactions' > messages.Reactions< / a > ;
< a href = '/constructor/messages.reactions' > messages.reactions< / a > #eafdf716 hash:< a href = '/type/long' > long< / a > reactions:< a href = '/type/Vector%20t' > Vector< / a > < < a href = '/type/Reaction' > Reaction< / a > > = < a href = '/type/messages.Reactions' > messages.Reactions< / a > ;
< a href = '/constructor/updateRecentReactions' > updateRecentReactions< / a > #6f7863f4 = < a href = '/type/Update' > Update< / a > ;
2022-05-14 00:37:40 +02:00
---functions---
2022-11-15 01:03:58 +01:00
< a href = '/method/messages.getRecentReactions' > messages.getRecentReactions< / a > #39461db2 limit:< a href = '/type/int' > int< / a > hash:< a href = '/type/long' > long< / a > = < a href = '/type/messages.Reactions' > messages.Reactions< / a > ;
< a href = '/method/messages.clearRecentReactions' > messages.clearRecentReactions< / a > #9dfeefb4 = < a href = '/type/Bool' > Bool< / a > ;
< a href = '/method/messages.sendReaction' > messages.sendReaction< / a > #d30d78d4 flags:< a href = '/type/%23' > #< / a > big:flags.1?< a href = '/constructor/true' > true< / a > add_to_recent:flags.2?< a href = '/constructor/true' > true< / a > peer:< a href = '/type/InputPeer' > InputPeer< / a > msg_id:< a href = '/type/int' > int< / a > reaction:flags.0?< a href = '/type/Vector%20t' > Vector< / a > < < a href = '/type/Reaction' > Reaction< / a > > = < a href = '/type/Updates' > Updates< / a > ;< / code > < / pre >
< p > Recently used reactions can be fetched using < a href = "/method/messages.getRecentReactions" > messages.getRecentReactions< / a > : the list can be cleared using < a href = "/method/messages.clearRecentReactions" > messages.clearRecentReactions< / a > .< br >
The < code > add_to_recent< / code > flag of < a href = "/method/messages.sendReaction" > messages.sendReaction< / a > must be set iff the user reacts to a message using the extended reactions menu (as opposed to the reaction bubble): this will update the recent reaction list, triggering an < a href = "/constructor/updateRecentReactions" > updateRecentReactions< / a > update on other logged-in sessions: this update should trigger a new call to < a href = "/method/messages.getRecentReactions" > messages.getRecentReactions< / a > to refresh the locally cached list. < / p >
< h3 > < a class = "anchor" href = "#featured-reactions" id = "featured-reactions" name = "featured-reactions" > < i class = "anchor-icon" > < / i > < / a > Featured reactions< / h3 >
< pre > < code > < a href = '/constructor/reactionEmoji' > reactionEmoji< / a > #1b2286b8 emoticon:< a href = '/type/string' > string< / a > = < a href = '/type/Reaction' > Reaction< / a > ;
< a href = '/constructor/reactionCustomEmoji' > reactionCustomEmoji< / a > #8935fc73 document_id:< a href = '/type/long' > long< / a > = < a href = '/type/Reaction' > Reaction< / a > ;
< a href = '/constructor/messages.reactionsNotModified' > messages.reactionsNotModified< / a > #b06fdbdf = < a href = '/type/messages.Reactions' > messages.Reactions< / a > ;
< a href = '/constructor/messages.reactions' > messages.reactions< / a > #eafdf716 hash:< a href = '/type/long' > long< / a > reactions:< a href = '/type/Vector%20t' > Vector< / a > < < a href = '/type/Reaction' > Reaction< / a > > = < a href = '/type/messages.Reactions' > messages.Reactions< / a > ;
---functions---
< a href = '/method/messages.getTopReactions' > messages.getTopReactions< / a > #bb8125ba limit:< a href = '/type/int' > int< / a > hash:< a href = '/type/long' > long< / a > = < a href = '/type/messages.Reactions' > messages.Reactions< / a > ;< / code > < / pre >
< p > A list of featured emoji and < a href = "/api/custom-emoji" > custom emoji< / a > reactions can be fetched using < a href = "/method/messages.getTopReactions" > messages.getTopReactions< / a > . < / p >
< h3 > < a class = "anchor" href = "#set-default-reaction" id = "set-default-reaction" name = "set-default-reaction" > < i class = "anchor-icon" > < / i > < / a > Set default reaction< / h3 >
< pre > < code > < a href = '/constructor/reactionEmoji' > reactionEmoji< / a > #1b2286b8 emoticon:< a href = '/type/string' > string< / a > = < a href = '/type/Reaction' > Reaction< / a > ;
< a href = '/constructor/reactionCustomEmoji' > reactionCustomEmoji< / a > #8935fc73 document_id:< a href = '/type/long' > long< / a > = < a href = '/type/Reaction' > Reaction< / a > ;
2023-05-22 14:54:47 +02:00
< a href = '/constructor/config' > config< / a > #cc1a241e flags:< a href = '/type/%23' > #< / a > default_p2p_contacts:flags.3?< a href = '/constructor/true' > true< / a > preload_featured_stickers:flags.4?< a href = '/constructor/true' > true< / a > revoke_pm_inbox:flags.6?< a href = '/constructor/true' > true< / a > blocked_mode:flags.8?< a href = '/constructor/true' > true< / a > force_try_ipv6:flags.14?< a href = '/constructor/true' > true< / a > date:< a href = '/type/int' > int< / a > expires:< a href = '/type/int' > int< / a > test_mode:< a href = '/type/Bool' > Bool< / a > this_dc:< a href = '/type/int' > int< / a > dc_options:< a href = '/type/Vector%20t' > Vector< / a > < < a href = '/type/DcOption' > DcOption< / a > > dc_txt_domain_name:< a href = '/type/string' > string< / a > chat_size_max:< a href = '/type/int' > int< / a > megagroup_size_max:< a href = '/type/int' > int< / a > forwarded_count_max:< a href = '/type/int' > int< / a > online_update_period_ms:< a href = '/type/int' > int< / a > offline_blur_timeout_ms:< a href = '/type/int' > int< / a > offline_idle_timeout_ms:< a href = '/type/int' > int< / a > online_cloud_timeout_ms:< a href = '/type/int' > int< / a > notify_cloud_delay_ms:< a href = '/type/int' > int< / a > notify_default_delay_ms:< a href = '/type/int' > int< / a > push_chat_period_ms:< a href = '/type/int' > int< / a > push_chat_limit:< a href = '/type/int' > int< / a > edit_time_limit:< a href = '/type/int' > int< / a > revoke_time_limit:< a href = '/type/int' > int< / a > revoke_pm_time_limit:< a href = '/type/int' > int< / a > rating_e_decay:< a href = '/type/int' > int< / a > stickers_recent_limit:< a href = '/type/int' > int< / a > channels_read_media_period:< a href = '/type/int' > int< / a > tmp_sessions:flags.0?< a href = '/type/int' > int< / a > call_receive_timeout_ms:< a href = '/type/int' > int< / a > call_ring_timeout_ms:< a href = '/type/int' > int< / a > call_connect_timeout_ms:< a href = '/type/int' > int< / a > call_packet_timeout_ms:< a href = '/type/int' > int< / a > me_url_prefix:< a href = '/type/string' > string< / a > autoupdate_url_prefix:flags.7?< a href = '/type/string' > string< / a > gif_search_username:flags.9?< a href = '/type/string' > string< / a > venue_search_username:flags.10?< a href = '/type/string' > string< / a > img_search_username:flags.11?< a href = '/type/string' > string< / a > static_maps_provider:flags.12?< a href = '/type/string' > string< / a > caption_length_max:< a href = '/type/int' > int< / a > message_length_max:< a href = '/type/int' > int< / a > webfile_dc_id:< a href = '/type/int' > int< / a > suggested_lang_code:flags.2?< a href = '/type/string' > string< / a > lang_pack_version:flags.2?< a href = '/type/int' > int< / a > base_lang_pack_version:flags.2?< a href = '/type/int' > int< / a > reactions_default:flags.15?< a href = '/type/Reaction' > Reaction< / a > autologin_token:flags.16?< a href = '/type/string' > string< / a > = < a href = '/type/Config' > Config< / a > ;
2022-11-15 01:03:58 +01:00
---functions---
< a href = '/method/messages.setDefaultReaction' > messages.setDefaultReaction< / a > #4f47a016 reaction:< a href = '/type/Reaction' > Reaction< / a > = < a href = '/type/Bool' > Bool< / a > ;
< a href = '/method/help.getConfig' > help.getConfig< / a > #c4f9186b = < a href = '/type/Config' > Config< / a > ;< / code > < / pre >
< p > < a href = "/method/messages.setDefaultReaction" > messages.setDefaultReaction< / a > can be used to change the default emoji reaction to use in the quick reaction menu.< br >
This value is synced across devices and can be fetched using < a href = "/method/help.getConfig" > help.getConfig< / a > , < code > reactions_default< / code > field.< / p > < / div >
2022-05-14 00:37:40 +02:00
< / div >
< / div >
< / div >
< div class = "footer_wrap" >
< div class = "footer_columns_wrap footer_desktop" >
< div class = "footer_column footer_column_telegram" >
< h5 > Telegram< / h5 >
< div class = "footer_telegram_description" > < / div >
Telegram is a cloud-based mobile and desktop messaging app with a focus on security and speed.
< / div >
< div class = "footer_column" >
< h5 > < a href = "//telegram.org/faq" > About< / a > < / h5 >
< ul >
< li > < a href = "//telegram.org/faq" > FAQ< / a > < / li >
2022-09-09 12:10:24 +02:00
< li > < a href = "//telegram.org/privacy" > Privacy< / a > < / li >
2022-09-09 23:58:59 +02:00
< li > < a href = "//telegram.org/press" > Press< / a > < / li >
2022-05-14 00:37:40 +02:00
< / ul >
< / div >
< div class = "footer_column" >
< h5 > < a href = "//telegram.org/apps#mobile-apps" > Mobile Apps< / a > < / h5 >
< ul >
< li > < a href = "//telegram.org/dl/ios" > iPhone/iPad< / a > < / li >
2022-09-09 23:58:59 +02:00
< li > < a href = "//telegram.org/android" > Android< / a > < / li >
< li > < a href = "//telegram.org/dl/web" > Mobile Web< / a > < / li >
2022-05-14 00:37:40 +02:00
< / ul >
< / div >
< div class = "footer_column" >
< h5 > < a href = "//telegram.org/apps#desktop-apps" > Desktop Apps< / a > < / h5 >
< ul >
< li > < a href = "//desktop.telegram.org/" > PC/Mac/Linux< / a > < / li >
< li > < a href = "//macos.telegram.org/" > macOS< / a > < / li >
< li > < a href = "//telegram.org/dl/web" > Web-browser< / a > < / li >
< / ul >
< / div >
< div class = "footer_column footer_column_platform" >
< h5 > < a href = "/" > Platform< / a > < / h5 >
< ul >
< li > < a href = "/api" > API< / a > < / li >
< li > < a href = "//translations.telegram.org/" > Translations< / a > < / li >
< li > < a href = "//instantview.telegram.org/" > Instant View< / a > < / li >
< / ul >
< / div >
< / div >
< div class = "footer_columns_wrap footer_mobile" >
< div class = "footer_column" >
< h5 > < a href = "//telegram.org/faq" > About< / a > < / h5 >
< / div >
< div class = "footer_column" >
< h5 > < a href = "//telegram.org/blog" > Blog< / a > < / h5 >
< / div >
< div class = "footer_column" >
< h5 > < a href = "//telegram.org/apps" > Apps< / a > < / h5 >
< / div >
< div class = "footer_column" >
< h5 > < a href = "/" > Platform< / a > < / h5 >
< / div >
< div class = "footer_column" >
2024-02-14 21:34:02 +01:00
< h5 > < a href = "//telegram.org/press" > Press< / a > < / h5 >
2022-05-14 00:37:40 +02:00
< / div >
< / div >
< / div >
< / div >
2022-12-10 23:50:15 +01:00
< script src = "/js/main.js?47" > < / script >
2022-05-14 00:37:40 +02:00
< script src = "/js/jquery.min.js?1" > < / script >
< script src = "/js/bootstrap.min.js?1" > < / script >
< script > w i n d o w . i n i t D e v P a g e N a v & & i n i t D e v P a g e N a v ( ) ;
backToTopInit("Go up");
removePreloadInit();
< / script >
< / body >
< / html >