GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Follow on X
  • Home
  • FAQ
  • Apps
  • API
  • Protocol
  • Schema
  • Layer changelog
  • One-to-one calls »
  • Applying basic group updates »
  • Applying group call updates »
  • Message ID sequences »
  • Parallel sessions »
  • Documented rate limits for live drafts »

This view

  • Original page
  • New address

GeezerVison is showing core.telegram.org (truncated) — Layer changelog

  • Follow on X
  • Home
  • FAQ
  • Apps
  • API
  • Protocol
  • Schema

Machine-readable version of this page: /api/layers.md.

  • API
  • Layer changelog

Layer changelog

Below you will find information on schema changes. For more details on the use of layers, see Invoking API methods.

Layer 225

To view all changes since the last documentation refresh, start reading at layer 215.

This documentation release includes the following new and substantially overhauled articles, documenting pre-existing features:

  • Group calls, video chats, live stories, conferences and livestreams »
  • One-to-one calls »
  • Completely overhauled the E2E conference documentation »
  • Completely overhauled the file reference database schema, making it significantly easier to autogenerate the file reference database »
  • Applying basic group updates »
  • Applying group call updates »
  • Message ID sequences »
  • More detailed instructions for update gap handling (also considering gaps beyond the max message box size) »
  • Parallel sessions »
  • updateMessageID handling »
  • Documented rate limits for live drafts »
  • Content protection »
  • Message views »
  • Sending messages on behalf of owned channels and groups »
  • Working with basic group participants »
  • Leaving groups/channels (full flow) »
  • Added the layer number to the RPC error DB »
  • Improved the takeout documentation »
  • Documented the navigationBarColor », actionBarColor », allowScroll », siteName » event types
  • whitelisted_bots »
  • Detailed changelogs for API configuration keys, web events, limits, suggested actions and other API constants will now be automatically listed in the appropriate layer changelog, instead of the latest layer.
  • Published an aggregated, machine-readable index of all API constants and push updates » at the new /api/config.json » permalink.
  • The RPC error database » is now also published as a machine-readable /api/errors.json » permalink, replacing the previous embedded file link.
  • Multiple other improvements and fixes across the board.

And documenting the following new features (a brief overview of features introduced since layer 215):

  • AI features: message composition », AI compose tones » and message summarization »
  • Bot AI features: live drafts »
  • Bot forums »
  • Managed bots »
  • Improved styled text entities »
  • Guest mode for bots »
  • Gift auctions »
  • Passkeys »
  • Live stories », in-call messages », paid live story comments » and paid live story donations »
  • Recent story summaries »
  • Repeating scheduled messages »
  • Message views » and read metrics »
  • Open-answer polls », unread poll votes », poll answer media attachments », replies to poll options », poll search » and poll statistics »
  • Group member/admin tags »
  • Group/channel ownership transfer » and leave handoff flows »
  • Date styled text entities » and diff styled text entities »
  • Collectible gifts »: crafting », purchase offers », hosted gifts », collectible message palettes » and collectible profile palettes ».
  • Private contact notes »
  • Birthdays », music profile tab », managed bot manager info », personal channels » and unofficial client warnings »
  • Private chat content protection »
  • Button styles »
  • Peer requests for Mini Apps »
  • Anonymous group admins » can now toggle checklist items »
  • Removing participant reactions »
  • Message effects » support for forwarded messages
  • Login email setup suggestions » and passkey setup suggestions »
  • OAuth login »
  • blur_enabled in fullscreen_changed events »
  • New deep link » types:
    • Parameterized settings deep links, with support for opening a specific settings page or subsection »
    • Contact list deep links »
    • Chat creation deep links »
    • Chat list deep links »
    • Live story deep links »
    • Story composer deep links »
    • Timestamp links »
    • Highlighting of a specific checklist task or poll option in message deep links »

This layer introduces the following features:

  • Custom AI compose tones »
  • Guest mode for bots »
  • Poll statistics »
  • Participant reaction moderation »
  • Allowed bots to fetch the history of the personal channel of any user »

API constants

Premium limits

Telegram Premium limit identifiers ».

  • Added double_limits__aicompose_tone_saved »
Web page type values

Web page type values from the webPage constructor.

  • Added telegram_aicomposetone - Preview of an AI compose tone link », shared when previewing a custom AI composer tone ». The attributes field contains a webPageAttributeAiComposeTone with the custom emoji » representing the tone; clients render a button that applies the shared tone.

Schema changes

New Methods
  • Added messages.setBotGuestChatResult - Bots may use this method to answer a guest mode » query received via an updateBotGuestChatQuery update, providing the message to post into the chat as a guest, see here » for more info.
  • Added messages.deleteParticipantReactions - As an admin, remove all of a specific participant's reactions from every message in a group or channel.
  • Added messages.deleteParticipantReaction - As an admin, remove all of a specific participant's reactions from a single message.
  • Added messages.getPersonalChannelHistory - Fetch the message history of a user's personal channel ».
  • Added bots.getAccessSettings - Get the access restriction settings » of a managed bot; can only be called by the manager bot.
  • Added bots.editAccessSettings - Edit the access restriction settings » of a managed bot; can only be called by the manager bot.
  • Added stats.getPollStats - Get statistics for a poll sent in a message.
  • Added aicompose.createTone - Create a new custom AI composer tone ».
  • Added aicompose.updateTone - Edit a custom AI composer tone » previously created by the current user. Only the fields whose flag is set will be modified.
  • Added aicompose.saveTone - Install or uninstall an AI composer tone », adding it to or removing it from the list of saved tones of the current user.
  • Added aicompose.deleteTone - Permanently delete a custom AI composer tone » created by the current user.
  • Added aicompose.getTone - Fetch information about a single AI composer tone », for example to resolve a shared tone deep link.
  • Added aicompose.getTones - Fetch the list of saved AI composer tones » of the current user.
  • Added aicompose.getToneExample - Fetch an example showing how an AI composer tone » rephrases a sample message, used as a preview in the tone picker.
Changed Methods
  • Added bots_guestchat parameter in contacts.getTopPeers
  • Added tone parameter, removed change_tone parameter in messages.composeMessageWithAI
New Constructors
  • Added updateBotGuestChatQuery - Sent to guest bots » when a user invokes the bot as a guest in a chat. The bot should reply by invoking messages.setBotGuestChatResult, see here » for more info.
  • Added updateAiComposeTones - The list of saved AI composer tones » of the current user has changed, and should be refetched using aicompose.getTones.
  • Added topPeerCategoryBotsGuestChat - Top guest bots », i.e. bots most frequently invoked as guests in chats.
  • Added webPageAttributeAiComposeTone - Webpage attribute attached to a webPage of type telegram_aicomposetone, generated when previewing a shared AI composer tone » via an AI compose tone link ».
  • Added stats.pollStats - Statistics for a poll sent in a message.
  • Added inputAiComposeToneDefault - References a built-in, default AI composer tone » by its string identifier.
  • Added inputAiComposeToneID - References a custom AI composer tone » by its ID and access hash.
  • Added inputAiComposeToneSlug - References a custom AI composer tone » by its public slug, used when opening an AI compose tone link ».
  • Added aiComposeTone - A custom AI composer tone », used to rephrase messages in a specific style with the AI message composer.
  • Added aiComposeToneDefault - A built-in, default AI composer tone », identified by a string identifier rather than by a numeric ID.
  • Added aicompose.tonesNotModified - The list of saved AI composer tones » hasn't changed since the last time it was fetched (i.e. the hash passed to aicompose.getTones is still valid).
  • Added aicompose.tones - The list of saved AI composer tones » of the current user.
  • Added aiComposeToneExample - An example showing how an AI composer tone » rephrases a message, used as a preview in the tone picker.
  • Added bots.accessSettings - Access restriction settings for a managed bot ».
Changed Constructors
  • Added bot_guestchat parameter in user
  • Added guestchat_via_from parameter in message
  • Added premium_days parameter in auth.sentCodePaymentRequired
  • Added subscribers_only, countries_iso2 parameters in poll
  • Added can_view_stats parameter in pollResults
  • Added send_reactions parameter in chatBannedRights
  • Added premium_days parameter in inputStorePaymentAuthCode

Changes in the file reference database map file »

New traversers incoming
  • Added
    traverseIncomingConstructor{predicate: updateBotGuestChatQuery, params: [message, reference_messages], type: Update}
  • Added
    traverseMethodResult{name: messages.getPersonalChannelHistory}
New traversers outgoing
  • Added
    traverseMethodCall{name: messages.setBotGuestChatResult, params: [result]}

Schema

user#31774388 flags:# self:flags.10?true contact:flags.11?true mutual_contact:flags.12?true deleted:flags.13?true bot:flags.14?true bot_chat_history:flags.15?true bot_nochats:flags.16?true verified:flags.17?true restricted:flags.18?true min:flags.20?true bot_inline_geo:flags.21?true support:flags.23?true scam:flags.24?true apply_min_photo:flags.25?true fake:flags.26?true bot_attach_menu:flags.27?true premium:flags.28?true attach_menu_enabled:flags.29?true flags2:# bot_can_edit:flags2.1?true close_friend:flags2.2?true stories_hidden:flags2.3?true stories_unavailable:flags2.4?true contact_require_premium:flags2.10?true bot_business:flags2.11?true bot_has_main_app:flags2.13?true bot_forum_view:flags2.16?true bot_forum_can_manage_topics:flags2.17?true bot_can_manage_bots:flags2.18?true bot_guestchat:flags2.19?true id:long access_hash:flags.0?long first_name:flags.1?string last_name:flags.2?string username:flags.3?string phone:flags.4?string photo:flags.5?UserProfilePhoto status:flags.6?UserStatus bot_info_version:flags.14?int restriction_reason:flags.18?Vector<RestrictionReason> bot_inline_placeholder:flags.19?string lang_code:flags.22?string emoji_status:flags.30?EmojiStatus usernames:flags2.0?Vector<Username> stories_max_id:flags2.5?RecentStory color:flags2.8?PeerColor profile_color:flags2.9?PeerColor bot_active_users:flags2.12?int bot_verification_icon:flags2.14?long send_paid_messages_stars:flags2.15?long = User;
message#95ef6f2b flags:# out:flags.1?true mentioned:flags.4?true media_unread:flags.5?true silent:flags.13?true post:flags.14?true from_scheduled:flags.18?true legacy:flags.19?true edit_hide:flags.21?true pinned:flags.24?true noforwards:flags.26?true invert_media:flags.27?true flags2:# offline:flags2.1?true video_processing_pending:flags2.4?true paid_suggested_post_stars:flags2.8?true paid_suggested_post_ton:flags2.9?true id:int from_id:flags.8?Peer from_boosts_applied:flags.29?int from_rank:flags2.12?string peer_id:Peer saved_peer_id:flags.28?Peer fwd_from:flags.2?MessageFwdHeader via_bot_id:flags.11?long via_business_bot_id:flags2.0?long guestchat_via_from:flags2.19?Peer reply_to:flags.3?MessageReplyHeader date:int message:string media:flags.9?MessageMedia reply_markup:flags.6?ReplyMarkup entities:flags.7?Vector<MessageEntity> views:flags.10?int forwards:flags.10?int replies:flags.23?MessageReplies edit_date:flags.15?int post_author:flags.16?string grouped_id:flags.17?long reactions:flags.20?MessageReactions restriction_reason:flags.22?Vector<RestrictionReason> ttl_period:flags.25?int quick_reply_shortcut_id:flags.30?int effect:flags2.2?long factcheck:flags2.3?FactCheck report_delivery_until_date:flags2.5?int paid_message_stars:flags2.6?long suggested_post:flags2.7?SuggestedPost schedule_repeat_period:flags2.10?int summary_from_language:flags2.11?string = Message;
auth.sentCodePaymentRequired#f8827ebf store_product:string phone_code_hash:string support_email_address:string support_email_subject:string premium_days:int currency:string amount:long = auth.SentCode;
updateBotGuestChatQuery#cdd4093d flags:# query_id:long message:Message reference_messages:flags.0?Vector<Message> qts:int = Update; updateAiComposeTones#8c0f91fb = Update;
topPeerCategoryBotsGuestChat#6c24f3dd = TopPeerCategory;
poll#966e2dbf id:long flags:# closed:flags.0?true public_voters:flags.1?true multiple_choice:flags.2?true quiz:flags.3?true open_answers:flags.6?true revoting_disabled:flags.7?true shuffle_answers:flags.8?true hide_results_until_close:flags.9?true creator:flags.10?true subscribers_only:flags.11?true question:TextWithEntities answers:Vector<PollAnswer> close_period:flags.4?int close_date:flags.5?int countries_iso2:flags.12?Vector<string> hash:long = Poll; pollResults#ba7bb15e flags:# min:flags.0?true has_unread_votes:flags.6?true can_view_stats:flags.7?true results:flags.1?Vector<PollAnswerVoters> total_voters:flags.2?int recent_voters:flags.3?Vector<Peer> solution:flags.4?string solution_entities:flags.4?Vector<MessageEntity> solution_media:flags.5?MessageMedia = PollResults;
chatBannedRights#9f120418 flags:# view_messages:flags.0?true send_messages:flags.1?true send_media:flags.2?true send_stickers:flags.3?true send_gifs:flags.4?true send_games:flags.5?true send_inline:flags.6?true embed_links:flags.7?true send_polls:flags.8?true change_info:flags.10?true invite_users:flags.15?true pin_messages:flags.17?true manage_topics:flags.18?true send_photos:flags.19?true send_videos:flags.20?true send_roundvideos:flags.21?true send_audios:flags.22?true send_voices:flags.23?true send_docs:flags.24?true send_plain:flags.25?true edit_rank:flags.26?true send_reactions:flags.27?true until_date:int = ChatBannedRights;
webPageAttributeAiComposeTone#7781fe18 emoji_id:long = WebPageAttribute;
inputStorePaymentAuthCode#3fc18057 flags:# restore:flags.0?true phone_number:string phone_code_hash:string premium_days:int currency:string amount:long = InputStorePaymentPurpose;
stats.pollStats#2999beed votes_graph:StatsGraph = stats.PollStats;
inputAiComposeToneDefault#1fe9a9bf tone:string = InputAiComposeTone; inputAiComposeToneID#0773c080 id:long access_hash:long = InputAiComposeTone; inputAiComposeToneSlug#1fa01357 slug:string = InputAiComposeTone;
aiComposeTone#cff63ea9 flags:# creator:flags.0?true id:long access_hash:long slug:string title:string emoji_id:flags.1?long prompt:flags.4?string installs_count:flags.2?int author_id:flags.3?long example_english:flags.5?AiComposeToneExample = AiComposeTone; aiComposeToneDefault#9bad6414 tone:string emoji_id:long title:string = AiComposeTone; aicompose.tonesNotModified#c1f46103 = aicompose.Tones; aicompose.tones#6c9d0efe hash:long tones:Vector<AiComposeTone> users:Vector<User> = aicompose.Tones; aiComposeToneExample#f1d628ec from:TextWithEntities to:TextWithEntities = AiComposeToneExample;
bots.accessSettings#dd1fbf93 flags:# restricted:flags.0?true add_users:flags.1?Vector<User> = bots.AccessSettings;
---functions---
contacts.getTopPeers#973478b6 flags:# correspondents:flags.0?true bots_pm:flags.1?true bots_inline:flags.2?true phone_calls:flags.3?true forward_users:flags.4?true forward_chats:flags.5?true groups:flags.10?true channels:flags.15?true bots_app:flags.16?true bots_guestchat:flags.17?true offset:int limit:int hash:long = contacts.TopPeers;
messages.composeMessageWithAI#daecc589 flags:# proofread:flags.0?true emojify:flags.3?true text:TextWithEntities translate_to_lang:flags.1?string tone:flags.2?InputAiComposeTone = messages.ComposedMessageWithAI; messages.setBotGuestChatResult#b8f106e3 query_id:long result:InputBotInlineResult = InputBotInlineMessageID; messages.deleteParticipantReactions#a0b80cf8 peer:InputPeer participant:InputPeer = Bool; messages.deleteParticipantReaction#e3b7f82c peer:InputPeer msg_id:int participant:InputPeer = Updates; messages.getPersonalChannelHistory#55fb0996 user_id:InputUser limit:int max_id:int min_id:int hash:long = messages.Messages;
bots.getAccessSettings#213853a3 bot:InputUser = bots.AccessSettings; bots.editAccessSettings#31813cd8 flags:# restricted:flags.0?true bot:InputUser add_users:flags.1?Vector<InputUser> = Bool;
stats.getPollStats#c27dfa68 flags:# dark:flags.0?true peer:InputPeer msg_id:int = stats.PollStats;
aicompose.createTone#4aa83913 flags:# display_author:flags.0?true emoji_id:long title:string prompt:string = AiComposeTone; aicompose.updateTone#903bcf59 flags:# tone:InputAiComposeTone display_author:flags.0?Bool emoji_id:flags.1?long title:flags.2?string prompt:flags.3?string = AiComposeTone; aicompose.saveTone#1782cbb1 tone:InputAiComposeTone unsave:Bool = Bool; aicompose.deleteTone#dd39316a tone:InputAiComposeTone = Bool; aicompose.getTone#b2e8ba03 tone:InputAiComposeTone = aicompose.Tones; aicompose.getTones#abd59201 hash:long = aicompose.Tones; aicompose.getToneExample#d1b4ab14 tone:InputAiComposeTone num:int = AiComposeToneExample;

Layer 224

This layer introduces the following features:

  • AI message editor »
  • Diff styled text entities »
  • Message views and read metrics »
  • Managed bots »
  • Managed bot manager info »
  • Peer requests for mini apps »
  • Detailed message metrics »
  • Open-answer polls »
  • Unread poll votes »
  • Poll answer media attachments »
  • Replies to poll options »
  • Search for poll messages »
  • Unofficial client warning »

API constants

Incoming web events

Incoming web events documented here ».

  • Added web_app_request_chat »
Mini app outgoing events

Outgoing mini app events documented here ».

  • Added requested_chat_failed »
  • Added requested_chat_sent »
Premium features

Telegram Premium feature identifiers ».

  • Added ai_compose »
Premium limits

Telegram Premium limit identifiers ».

  • Added double_limits__bots_create »
Web page type values

Web page type values from the webPage constructor.

  • Added telegram_newbot

Schema changes

New Methods
  • Added messages.composeMessageWithAI - Invokes telegram's AI Editor that can translate, transform, fixup and/or emojify your message in a number of different ways, privately powered by Cocoon, see here » for more info!
  • Added messages.reportReadMetrics - Report viewport read metrics for visible messages, indicating how long each message stayed in the chat viewport, see here » for more info on the full flow.
  • Added messages.reportMusicListen - Report the listening duration of a music track (audio document without the voice flag), see here » for more info on the full flow.
  • Added messages.addPollAnswer - Add an answer option to an open-answer poll »
  • Added messages.deletePollAnswer - Remove an answer option from an open-answer poll »
  • Added messages.getUnreadPollVotes - Get messages containing polls with unread votes »
  • Added messages.readPollVotes - Mark all unread poll votes » in a chat as read
  • Added bots.checkUsername - Check whether a username is available and valid for use when creating a managed bot ».
  • Added bots.createBot - Create a managed bot » owned by the current user and controlled by the specified manager bot.
  • Added bots.exportBotToken - Export the bot token of a managed bot »; can only be called by the manager bot.
  • Added bots.requestWebViewButton - Bots may use this method to prepare a peer request button for a Mini App, see here » for more info.
  • Added bots.getRequestedWebViewButton - Fetch the peer request button a bot prepared for a Mini App with bots.requestWebViewButton, invoked when the Mini App emits a web_app_request_chat event, see here » for more info.
Changed Methods
  • Added poll_hash parameter in messages.getPollResults
  • Added tone parameter in messages.translateText
  • Added flags, webapp_req_id parameters, changed type of msg_id from int to flags.0?int in messages.sendBotRequestedPeer
  • Added tone parameter in messages.summarizeText
  • Added music parameter in stories.sendStory
  • Added music parameter in stories.editStory
New Constructors
  • Added messageActionPollAppendAnswer - A new answer option was added to an open-answer poll »
  • Added messageActionPollDeleteAnswer - An answer option was removed from an open-answer poll »
  • Added messageActionManagedBotCreated - Service message sent by a user to a manager bot when a new managed bot » is created through it, by invoking messages.sendBotRequestedPeer with a requestPeerTypeCreateBot, see here » for more info.
  • Added inputMessagesFilterPoll - Filter for poll messages, see searching for polls »
  • Added updateManagedBot - Manager bots only: a bot managed by the currently logged in bot was created or updated.
  • Added messageEntityDiffInsert - Represents an diff addition: render it by simply underlining the specified section and coloring it in green, see here » for more info on how to render diff entities.
  • Added messageEntityDiffReplace - Represents an diff replacement, render it as follows:
  • Added messageEntityDiffDelete - Represents an diff deletion: render it by simply underlining the specified section and coloring it in red, see here » for more info on how to render diff entities.
  • Added inputPollAnswer - An answer option to add to an open-answer poll »
  • Added requestPeerTypeCreateBot - Used in a keyboardButtonRequestPeer by a manager bot to ask a user to create a new managed bot », see here » for more info.
  • Added inputMessageReadMetric - Read metric for a single message exposure, describing how long the message was visible in the chat viewport.
  • Added bots.exportedBotToken - The bot token of a managed bot », exported by the manager bot.
  • Added bots.requestedButton - Contains the request ID a bot should pass to a Mini App after preparing a peer request button with bots.requestWebViewButton, see here » for more info.
  • Added messages.composedMessageWithAI - Represents a message modified by AI.
Changed Constructors
  • Added live_photo, video parameters in inputMediaUploadedPhoto
  • Added live_photo, video parameters in inputMediaPhoto
  • Added attached_media, solution_media parameters, changed type of correct_answers from flags.0?Vector<bytes> to flags.0?Vector<int> in inputMediaPoll
  • Added bot_can_manage_bots parameter in user
  • Added live_photo, video parameters in messageMediaPhoto
  • Added flags, attached_media parameters in messageMediaPoll
  • Added unread_poll_votes_count parameter in dialog
  • Added unofficial_security_risk, bot_manager_id parameters in userFull
  • Added peer, msg_id, top_msg_id parameters in updateMessagePoll
  • Added positions parameter in updateMessagePollVote
  • Added flags, media, added_by, date parameters in pollAnswer
  • Added open_answers, revoting_disabled, shuffle_answers, hide_results_until_close, creator, hash parameters in poll
  • Added recent_voters parameter, changed type of voters from int to flags.2?int in pollAnswerVoters
  • Added has_unread_votes, solution_media parameters in pollResults
  • Added is_app, verified_app_name parameters in urlAuthResultRequest
  • Added poll_option parameter in messageReplyHeader
  • Added unread_poll_votes_count parameter in forumTopic
  • Added music parameter in storyItem
  • Added poll_option parameter in inputReplyToMessage
  • Added poll_votes_notify_from parameter in reactionsNotifySettings

Changes in the file reference database map file »

New sources
  • Added updateMessagePoll -
    (unless messages.getScheduledMessages, updateNewScheduledMessage) fileSourceMessage{peer: extractPeerIdFromPeerAndStore(updateMessagePoll.peer?abort_if_empty), id: updateMessagePoll.msg_id?abort_if_empty, quick_reply_shortcut_id: false}
New traversers incoming
  • Added
    traverseIncomingConstructor{predicate: messageActionPollAppendAnswer, params: [answer], type: MessageAction}
  • Added
    traverseIncomingConstructor{predicate: messageActionPollDeleteAnswer, params: [answer], type: MessageAction}
  • Added
    traverseIncomingConstructor{predicate: messageMediaPoll, params: [poll, results, attached_media], type: MessageMedia}
  • Added
    traverseIncomingConstructor{predicate: poll, params: [answers], type: Poll}
  • Added
    traverseIncomingConstructor{predicate: pollAnswer, params: [media], type: PollAnswer}
  • Added
    traverseIncomingConstructor{predicate: pollResults, params: [solution_media], type: PollResults}
  • Added
    traverseIncomingConstructor{predicate: updateMessagePoll, params: [poll, results], push_sources: [fileSourceMessage (unless messages.getScheduledMessages, updateNewScheduledMessage)], type: Update}
  • Added
    traverseMethodResult{name: messages.getUnreadPollVotes}
Changed traversers incoming
  • Changed messageMediaPhoto traverseIncomingConstructor from
    traverseIncomingConstructor{predicate: messageMediaPhoto, params: [photo], type: MessageMedia}
    to
    traverseIncomingConstructor{predicate: messageMediaPhoto, params: [photo, video], type: MessageMedia}
  • Changed storyItem traverseIncomingConstructor from
    traverseIncomingConstructor{predicate: storyItem, params: [media], push_sources: [fileSourceStory (needs stories.getPinnedStories), fileSourceStory (needs stories.getStoriesArchive), fileSourceStory (needs stories.getStoriesByID), fileSourceStory (needs stories.getAlbumStories), fileSourceStory (needs peerStories), fileSourceStory], type: StoryItem}
    to
    traverseIncomingConstructor{predicate: storyItem, params: [media, music], push_sources: [fileSourceStory (needs stories.getPinnedStories), fileSourceStory (needs stories.getStoriesArchive), fileSourceStory (needs stories.getStoriesByID), fileSourceStory (needs stories.getAlbumStories), fileSourceStory (needs peerStories), fileSourceStory], type: StoryItem}
New traversers outgoing
  • Added
    traverseMethodCall{name: messages.addPollAnswer, params: [answer]}
  • Added
    traverseMethodCall{name: messages.reportMusicListen, params: [id]}
  • Added
    traverseOutgoingConstructor{predicate: inputMediaPoll, params: [attached_media, solution_media], type: InputMedia}
  • Added
    traverseOutgoingConstructor{predicate: inputPollAnswer, params: [media], type: PollAnswer}
Changed traversers outgoing
  • Changed stories.editStory traverseMethodCall from
    traverseMethodCall{name: stories.editStory, params: [media]}
    to
    traverseMethodCall{name: stories.editStory, params: [media, music]}
  • Changed stories.sendStory traverseMethodCall from
    traverseMethodCall{name: stories.sendStory, params: [media]}
    to
    traverseMethodCall{name: stories.sendStory, params: [media, music]}
  • Changed inputMediaPhoto traverseOutgoingConstructor from
    traverseOutgoingConstructor{predicate: inputMediaPhoto, params: [id], type: InputMedia}
    to
    traverseOutgoingConstructor{predicate: inputMediaPhoto, params: [id, video], type: InputMedia}
  • Changed inputMediaUploadedPhoto traverseOutgoingConstructor from
    traverseOutgoingConstructor{predicate: inputMediaUploadedPhoto, params: [file, stickers], type: InputMedia}
    to
    traverseOutgoingConstructor{predicate: inputMediaUploadedPhoto, params: [file, stickers, video], type: InputMedia}

Schema

inputMediaUploadedPhoto#7d8375da flags:# spoiler:flags.2?true live_photo:flags.3?true file:InputFile stickers:flags.0?Vector<InputDocument> ttl_seconds:flags.1?int video:flags.3?InputDocument = InputMedia;
inputMediaPhoto#e3af4434 flags:# spoiler:flags.1?true live_photo:flags.2?true id:InputPhoto ttl_seconds:flags.0?int video:flags.2?InputDocument = InputMedia;
inputMediaPoll#883a4108 flags:# poll:Poll correct_answers:flags.0?Vector<int> attached_media:flags.3?InputMedia solution:flags.1?string solution_entities:flags.1?Vector<MessageEntity> solution_media:flags.2?InputMedia = InputMedia;
user#31774388 flags:# self:flags.10?true contact:flags.11?true mutual_contact:flags.12?true deleted:flags.13?true bot:flags.14?true bot_chat_history:flags.15?true bot_nochats:flags.16?true verified:flags.17?true restricted:flags.18?true min:flags.20?true bot_inline_geo:flags.21?true support:flags.23?true scam:flags.24?true apply_min_photo:flags.25?true fake:flags.26?true bot_attach_menu:flags.27?true premium:flags.28?true attach_menu_enabled:flags.29?true flags2:# bot_can_edit:flags2.1?true close_friend:flags2.2?true stories_hidden:flags2.3?true stories_unavailable:flags2.4?true contact_require_premium:flags2.10?true bot_business:flags2.11?true bot_has_main_app:flags2.13?true bot_forum_view:flags2.16?true bot_forum_can_manage_topics:flags2.17?true bot_can_manage_bots:flags2.18?true id:long access_hash:flags.0?long first_name:flags.1?string last_name:flags.2?string username:flags.3?string phone:flags.4?string photo:flags.5?UserProfilePhoto status:flags.6?UserStatus bot_info_version:flags.14?int restriction_reason:flags.18?Vector<RestrictionReason> bot_inline_placeholder:flags.19?string lang_code:flags.22?string emoji_status:flags.30?EmojiStatus usernames:flags2.0?Vector<Username> stories_max_id:flags2.5?RecentStory color:flags2.8?PeerColor profile_color:flags2.9?PeerColor bot_active_users:flags2.12?int bot_verification_icon:flags2.14?long send_paid_messages_stars:flags2.15?long = User;
messageMediaPhoto#e216eb63 flags:# spoiler:flags.3?true live_photo:flags.4?true photo:flags.0?Photo ttl_seconds:flags.2?int video:flags.4?Document = MessageMedia; messageMediaPoll#773f4e66 flags:# poll:Poll results:PollResults attached_media:flags.0?MessageMedia = MessageMedia; messageActionPollAppendAnswer#9da1cd6c answer:PollAnswer = MessageAction; messageActionPollDeleteAnswer#399674dc answer:PollAnswer = MessageAction; messageActionManagedBotCreated#16605e3e bot_id:long = MessageAction;
dialog#fc89f7f3 flags:# pinned:flags.2?true unread_mark:flags.3?true view_forum_as_messages:flags.6?true peer:Peer top_message:int read_inbox_max_id:int read_outbox_max_id:int unread_count:int unread_mentions_count:int unread_reactions_count:int unread_poll_votes_count:int notify_settings:PeerNotifySettings pts:flags.0?int draft:flags.1?DraftMessage folder_id:flags.4?int ttl_period:flags.5?int = Dialog;
userFull#06cbe645 flags:# blocked:flags.0?true phone_calls_available:flags.4?true phone_calls_private:flags.5?true can_pin_message:flags.7?true has_scheduled:flags.12?true video_calls_available:flags.13?true voice_messages_forbidden:flags.20?true translations_disabled:flags.23?true stories_pinned_available:flags.26?true blocked_my_stories_from:flags.27?true wallpaper_overridden:flags.28?true contact_require_premium:flags.29?true read_dates_private:flags.30?true flags2:# sponsored_enabled:flags2.7?true can_view_revenue:flags2.9?true bot_can_manage_emoji_status:flags2.10?true display_gifts_button:flags2.16?true noforwards_my_enabled:flags2.23?true noforwards_peer_enabled:flags2.24?true unofficial_security_risk:flags2.26?true id:long about:flags.1?string settings:PeerSettings personal_photo:flags.21?Photo profile_photo:flags.2?Photo fallback_photo:flags.22?Photo notify_settings:PeerNotifySettings bot_info:flags.3?BotInfo pinned_msg_id:flags.6?int common_chats_count:int folder_id:flags.11?int ttl_period:flags.14?int theme:flags.15?ChatTheme private_forward_name:flags.16?string bot_group_admin_rights:flags.17?ChatAdminRights bot_broadcast_admin_rights:flags.18?ChatAdminRights wallpaper:flags.24?WallPaper stories:flags.25?PeerStories business_work_hours:flags2.0?BusinessWorkHours business_location:flags2.1?BusinessLocation business_greeting_message:flags2.2?BusinessGreetingMessage business_away_message:flags2.3?BusinessAwayMessage business_intro:flags2.4?BusinessIntro birthday:flags2.5?Birthday personal_channel_id:flags2.6?long personal_channel_message:flags2.6?int stargifts_count:flags2.8?int starref_program:flags2.11?StarRefProgram bot_verification:flags2.12?BotVerification send_paid_messages_stars:flags2.14?long disallowed_gifts:flags2.15?DisallowedGiftsSettings stars_rating:flags2.17?StarsRating stars_my_pending_rating:flags2.18?StarsRating stars_my_pending_rating_date:flags2.18?int main_tab:flags2.20?ProfileTab saved_music:flags2.21?Document note:flags2.22?TextWithEntities bot_manager_id:flags2.25?long = UserFull;
inputMessagesFilterPoll#fa2bc90a = MessagesFilter;
updateMessagePoll#d64c522b flags:# peer:flags.1?Peer msg_id:flags.1?int top_msg_id:flags.2?int poll_id:long poll:flags.0?Poll results:PollResults = Update; updateMessagePollVote#7699f014 poll_id:long peer:Peer options:Vector<bytes> positions:Vector<int> qts:int = Update; updateManagedBot#4880ed9a user_id:long bot_id:long qts:int = Update;
messageEntityDiffInsert#71777116 offset:int length:int = MessageEntity; messageEntityDiffReplace#c6c1e5a7 offset:int length:int old_text:string = MessageEntity; messageEntityDiffDelete#0652c1c5 offset:int length:int = MessageEntity;
pollAnswer#4b7d786a flags:# text:TextWithEntities option:bytes media:flags.0?MessageMedia added_by:flags.1?Peer date:flags.1?int = PollAnswer;
inputPollAnswer#199fed96 flags:# text:TextWithEntities media:flags.0?InputMedia = PollAnswer;
poll#b8425be9 id:long flags:# closed:flags.0?true public_voters:flags.1?true multiple_choice:flags.2?true quiz:flags.3?true open_answers:flags.6?true revoting_disabled:flags.7?true shuffle_answers:flags.8?true hide_results_until_close:flags.9?true creator:flags.10?true question:TextWithEntities answers:Vector<PollAnswer> close_period:flags.4?int close_date:flags.5?int hash:long = Poll; pollAnswerVoters#3645230a flags:# chosen:flags.0?true correct:flags.1?true option:bytes voters:flags.2?int recent_voters:flags.2?Vector<Peer> = PollAnswerVoters; pollResults#ba7bb15e flags:# min:flags.0?true has_unread_votes:flags.6?true results:flags.1?Vector<PollAnswerVoters> total_voters:flags.2?int recent_voters:flags.3?Vector<Peer> solution:flags.4?string solution_entities:flags.4?Vector<MessageEntity> solution_media:flags.5?MessageMedia = PollResults;
urlAuthResultRequest#3cd623ec flags:# request_write_access:flags.0?true request_phone_number:flags.1?true match_codes_first:flags.5?true is_app:flags.6?true bot:User domain:string browser:flags.2?string platform:flags.2?string ip:flags.2?string region:flags.2?string match_codes:flags.3?Vector<string> user_id_hint:flags.4?long verified_app_name:flags.7?string = UrlAuthResult;
messageReplyHeader#1b97dd66 flags:# reply_to_scheduled:flags.2?true forum_topic:flags.3?true quote:flags.9?true reply_to_msg_id:flags.4?int reply_to_peer_id:flags.0?Peer reply_from:flags.5?MessageFwdHeader reply_media:flags.8?MessageMedia reply_to_top_id:flags.1?int quote_text:flags.6?string quote_entities:flags.7?Vector<MessageEntity> quote_offset:flags.10?int todo_item_id:flags.11?int poll_option:flags.12?bytes = MessageReplyHeader;
forumTopic#fcdad815 flags:# my:flags.1?true closed:flags.2?true pinned:flags.3?true short:flags.5?true hidden:flags.6?true title_missing:flags.7?true id:int date:int peer:Peer title:string icon_color:int icon_emoji_id:flags.0?long top_message:int read_inbox_max_id:int read_outbox_max_id:int unread_count:int unread_mentions_count:int unread_reactions_count:int unread_poll_votes_count:int from_id:Peer notify_settings:PeerNotifySettings draft:flags.4?DraftMessage = ForumTopic;
requestPeerTypeCreateBot#3e81e078 flags:# bot_managed:flags.0?true suggested_name:flags.1?string suggested_username:flags.2?string = RequestPeerType;
storyItem#16a4b93c flags:# pinned:flags.5?true public:flags.7?true close_friends:flags.8?true min:flags.9?true noforwards:flags.10?true edited:flags.11?true contacts:flags.12?true selected_contacts:flags.13?true out:flags.16?true id:int date:int from_id:flags.18?Peer fwd_from:flags.17?StoryFwdHeader expire_date:int caption:flags.0?string entities:flags.1?Vector<MessageEntity> media:MessageMedia media_areas:flags.14?Vector<MediaArea> privacy:flags.2?Vector<PrivacyRule> views:flags.3?StoryViews sent_reaction:flags.15?Reaction albums:flags.19?Vector<int> music:flags.20?Document = StoryItem;
inputReplyToMessage#3bd4b7c2 flags:# reply_to_msg_id:int top_msg_id:flags.0?int reply_to_peer_id:flags.1?InputPeer quote_text:flags.2?string quote_entities:flags.3?Vector<MessageEntity> quote_offset:flags.4?int monoforum_peer_id:flags.5?InputPeer todo_item_id:flags.6?int poll_option:flags.7?bytes = InputReplyTo;
reactionsNotifySettings#71e4ea58 flags:# messages_notify_from:flags.0?ReactionNotificationsFrom stories_notify_from:flags.1?ReactionNotificationsFrom poll_votes_notify_from:flags.2?ReactionNotificationsFrom sound:NotificationSound show_previews:Bool = ReactionsNotifySettings;
inputMessageReadMetric#402b4495 msg_id:int view_id:long time_in_view_ms:int active_time_in_view_ms:int height_to_viewport_ratio_permille:int seen_range_ratio_permille:int = InputMessageReadMetric;
bots.exportedBotToken#3c60b621 token:string = bots.ExportedBotToken; bots.requestedButton#f13bbcd7 webapp_req_id:string = bots.RequestedButton;
messages.composedMessageWithAI#90d7adfa flags:# result_text:TextWithEntities diff_text:flags.0?TextWithEntities = messages.ComposedMessageWithAI;
---functions---
messages.getPollResults#eda3e33b peer:InputPeer msg_id:int poll_hash:long = Updates; messages.translateText#a5eec345 flags:# peer:flags.0?InputPeer id:flags.0?Vector<int> text:flags.1?Vector<TextWithEntities> to_lang:string tone:flags.2?string = messages.TranslatedText; messages.sendBotRequestedPeer#6c5cf2a7 flags:# peer:InputPeer msg_id:flags.0?int webapp_req_id:flags.1?string button_id:int requested_peers:Vector<InputPeer> = Updates; messages.summarizeText#abbbd346 flags:# peer:InputPeer id:int to_lang:flags.0?string tone:flags.2?string = TextWithEntities; messages.composeMessageWithAI#fd426afe flags:# proofread:flags.0?true emojify:flags.3?true text:TextWithEntities translate_to_lang:flags.1?string change_tone:flags.2?string = messages.ComposedMessageWithAI; messages.reportReadMetrics#4067c5e6 peer:InputPeer metrics:Vector<InputMessageReadMetric> = Bool; messages.reportMusicListen#ddbcd819 id:InputDocument listened_duration:int = Bool; messages.addPollAnswer#19bc4b6d peer:InputPeer msg_id:int answer:PollAnswer = Updates; messages.deletePollAnswer#ac8505a5 peer:InputPeer msg_id:int option:bytes = Updates; messages.getUnreadPollVotes#43286cf2 flags:# peer:InputPeer top_msg_id:flags.0?int offset_id:int add_offset:int limit:int max_id:int min_id:int = messages.Messages; messages.readPollVotes#1720b4d8 flags:# peer:InputPeer top_msg_id:flags.0?int = messages.AffectedHistory;
bots.checkUsername#87f2219b username:string = Bool; bots.createBot#e5b17f2b flags:# via_deeplink:flags.0?true name:string username:string manager_id:InputUser = User; bots.exportBotToken#bd0d99eb bot:InputUser revoke:Bool = bots.ExportedBotToken; bots.requestWebViewButton#31a2a35e user_id:InputUser button:KeyboardButton = bots.RequestedButton; bots.getRequestedWebViewButton#bf25b7f3 bot:InputUser webapp_req_id:string = KeyboardButton;
stories.sendStory#8f9e6898 flags:# pinned:flags.2?true noforwards:flags.4?true fwd_modified:flags.7?true peer:InputPeer media:InputMedia media_areas:flags.5?Vector<MediaArea> caption:flags.0?string entities:flags.1?Vector<MessageEntity> privacy_rules:Vector<InputPrivacyRule> random_id:long period:flags.3?int fwd_from_id:flags.6?InputPeer fwd_from_story:flags.6?int albums:flags.8?Vector<int> music:flags.9?InputDocument = Updates; stories.editStory#2c63a72b flags:# peer:InputPeer id:int media:flags.0?InputMedia media_areas:flags.3?Vector<MediaArea> caption:flags.1?string entities:flags.1?Vector<MessageEntity> privacy_rules:flags.2?Vector<InputPrivacyRule> music:flags.4?InputDocument = Updates;

Layer 223

This layer introduces:

  • Login with Telegram via OAuth »
  • Content protection for private chats »
  • Group member tags for all users, not just admins »
  • Date styled text entities »
  • A new flow to obtain info about the admin that will become the owner of a basic group/supergroup/channel if the original owner leaves »
  • Ownership transfer for basic groups (along with supergroups and channels) »
  • A new filter to return only resale gifts that can be bought using stars

API constants

Incoming web events

Incoming web events documented here ».

  • Added oauth_request »
Mini app outgoing events

Outgoing mini app events documented here ».

  • Added oauth_supported »
  • Added oauth_result_confirmed »
  • Added oauth_result_failed »
Premium features

Telegram Premium feature identifiers ».

  • Added pm_noforwards »

Schema changes

New Methods
  • Added messages.editChatCreator - Transfer the ownership of a basic group, supergroup or channel to another user, see here » for the full flow.
  • Added messages.getFutureChatCreatorAfterLeave - Group/channel owners only: returns the ID of the user that will become the new owner of the group if we decide to leave the group, see here » for more info on the full flow.
  • Added messages.editChatParticipantRank - Edit a group participant's tag ».
  • Added messages.declineUrlAuth - Decline an incoming OAuth authorization request », notifying the server that the user refused the login request.
  • Added messages.checkUrlAuthMatchCode - Validate the match code selected by the user against the code shown on the login page, as part of the OAuth authorization flow ».
Changed Methods
  • Added flags parameter, changed type of rank from string to flags.0?string in channels.editAdmin
  • Added in_app_origin parameter in messages.requestUrlAuth
  • Added share_phone_number, match_code parameters in messages.acceptUrlAuth
  • Added flags, request_msg_id parameters in messages.toggleNoForwards
  • Added stars_only parameter in payments.getResaleStarGifts
Deleted Methods
  • Removed channels.editCreator
  • Removed channels.getFutureCreatorAfterLeave
New Constructors
  • Added messageEntityFormattedDate - Represents a specific point in time, rendered as specified here »
  • Added updateChatParticipantRank - The tag » of a participant of a basic group » has changed.
  • Added messageActionNoForwardsToggle - Emitted only in private chats when enabling or disabling content protection ».
  • Added messageActionNoForwardsRequest - Emitted only in private chats if the other side requested to disable content protection ».
  • Added channelAdminLogEventActionParticipantEditRank - A participant's tag » was changed.
Changed Constructors
  • Added flags, rank parameters in chatParticipant
  • Added from_rank parameter in message
  • Added noforwards_my_enabled, noforwards_peer_enabled parameters in userFull
  • Added rank parameter in channelParticipant
  • Added rank parameter in channelParticipantSelf
  • Added flags, rank parameters in chatParticipantCreator
  • Added flags, rank parameters in chatParticipantAdmin
  • Added rank parameter in channelParticipantBanned
  • Added edit_rank parameter in channelAdminLogEventsFilter
  • Added manage_ranks parameter in chatAdminRights
  • Added edit_rank parameter in chatBannedRights
  • Added match_codes_first, match_codes, user_id_hint parameters in urlAuthResultRequest

PUSH notification changes

New PUSH notifications
  • Added OAUTH_REQUEST - Login request for {1} from {2}

Schema

chatParticipant#38e79fde flags:# user_id:long inviter_id:long date:int rank:flags.0?string = ChatParticipant;
message#3ae56482 flags:# out:flags.1?true mentioned:flags.4?true media_unread:flags.5?true silent:flags.13?true post:flags.14?true from_scheduled:flags.18?true legacy:flags.19?true edit_hide:flags.21?true pinned:flags.24?true noforwards:flags.26?true invert_media:flags.27?true flags2:# offline:flags2.1?true video_processing_pending:flags2.4?true paid_suggested_post_stars:flags2.8?true paid_suggested_post_ton:flags2.9?true id:int from_id:flags.8?Peer from_boosts_applied:flags.29?int from_rank:flags2.12?string peer_id:Peer saved_peer_id:flags.28?Peer fwd_from:flags.2?MessageFwdHeader via_bot_id:flags.11?long via_business_bot_id:flags2.0?long reply_to:flags.3?MessageReplyHeader date:int message:string media:flags.9?MessageMedia reply_markup:flags.6?ReplyMarkup entities:flags.7?Vector<MessageEntity> views:flags.10?int forwards:flags.10?int replies:flags.23?MessageReplies edit_date:flags.15?int post_author:flags.16?string grouped_id:flags.17?long reactions:flags.20?MessageReactions restriction_reason:flags.22?Vector<RestrictionReason> ttl_period:flags.25?int quick_reply_shortcut_id:flags.30?int effect:flags2.2?long factcheck:flags2.3?FactCheck report_delivery_until_date:flags2.5?int paid_message_stars:flags2.6?long suggested_post:flags2.7?SuggestedPost schedule_repeat_period:flags2.10?int summary_from_language:flags2.11?string = Message;
userFull#a02bc13e flags:# blocked:flags.0?true phone_calls_available:flags.4?true phone_calls_private:flags.5?true can_pin_message:flags.7?true has_scheduled:flags.12?true video_calls_available:flags.13?true voice_messages_forbidden:flags.20?true translations_disabled:flags.23?true stories_pinned_available:flags.26?true blocked_my_stories_from:flags.27?true wallpaper_overridden:flags.28?true contact_require_premium:flags.29?true read_dates_private:flags.30?true flags2:# sponsored_enabled:flags2.7?true can_view_revenue:flags2.9?true bot_can_manage_emoji_status:flags2.10?true display_gifts_button:flags2.16?true noforwards_my_enabled:flags2.23?true noforwards_peer_enabled:flags2.24?true id:long about:flags.1?string settings:PeerSettings personal_photo:flags.21?Photo profile_photo:flags.2?Photo fallback_photo:flags.22?Photo notify_settings:PeerNotifySettings bot_info:flags.3?BotInfo pinned_msg_id:flags.6?int common_chats_count:int folder_id:flags.11?int ttl_period:flags.14?int theme:flags.15?ChatTheme private_forward_name:flags.16?string bot_group_admin_rights:flags.17?ChatAdminRights bot_broadcast_admin_rights:flags.18?ChatAdminRights wallpaper:flags.24?WallPaper stories:flags.25?PeerStories business_work_hours:flags2.0?BusinessWorkHours business_location:flags2.1?BusinessLocation business_greeting_message:flags2.2?BusinessGreetingMessage business_away_message:flags2.3?BusinessAwayMessage business_intro:flags2.4?BusinessIntro birthday:flags2.5?Birthday personal_channel_id:flags2.6?long personal_channel_message:flags2.6?int stargifts_count:flags2.8?int starref_program:flags2.11?StarRefProgram bot_verification:flags2.12?BotVerification send_paid_messages_stars:flags2.14?long disallowed_gifts:flags2.15?DisallowedGiftsSettings stars_rating:flags2.17?StarsRating stars_my_pending_rating:flags2.18?StarsRating stars_my_pending_rating_date:flags2.18?int main_tab:flags2.20?ProfileTab saved_music:flags2.21?Document note:flags2.22?TextWithEntities = UserFull;
channelParticipant#1bd54456 flags:# user_id:long date:int subscription_until_date:flags.0?int rank:flags.2?string = ChannelParticipant; channelParticipantSelf#a9478a1a flags:# via_request:flags.0?true user_id:long inviter_id:long date:int subscription_until_date:flags.1?int rank:flags.2?string = ChannelParticipant; chatParticipantCreator#e1f867b8 flags:# user_id:long rank:flags.0?string = ChatParticipant; chatParticipantAdmin#0360d5d2 flags:# user_id:long inviter_id:long date:int rank:flags.0?string = ChatParticipant; channelParticipantBanned#d5f0ad91 flags:# left:flags.0?true peer:Peer kicked_by:long date:int banned_rights:ChatBannedRights rank:flags.2?string = ChannelParticipant; channelAdminLogEventsFilter#ea107ae4 flags:# join:flags.0?true leave:flags.1?true invite:flags.2?true ban:flags.3?true unban:flags.4?true kick:flags.5?true unkick:flags.6?true promote:flags.7?true demote:flags.8?true info:flags.9?true settings:flags.10?true pinned:flags.11?true edit:flags.12?true delete:flags.13?true group_call:flags.14?true invites:flags.15?true send:flags.16?true forums:flags.17?true sub_extend:flags.18?true edit_rank:flags.19?true = ChannelAdminLogEventsFilter; chatAdminRights#5fb224d5 flags:# change_info:flags.0?true post_messages:flags.1?true edit_messages:flags.2?true delete_messages:flags.3?true ban_users:flags.4?true invite_users:flags.5?true pin_messages:flags.7?true add_admins:flags.9?true anonymous:flags.10?true manage_call:flags.11?true other:flags.12?true manage_topics:flags.13?true post_stories:flags.14?true edit_stories:flags.15?true delete_stories:flags.16?true manage_direct_messages:flags.17?true manage_ranks:flags.18?true = ChatAdminRights; chatBannedRights#9f120418 flags:# view_messages:flags.0?true send_messages:flags.1?true send_media:flags.2?true send_stickers:flags.3?true send_gifs:flags.4?true send_games:flags.5?true send_inline:flags.6?true embed_links:flags.7?true send_polls:flags.8?true change_info:flags.10?true invite_users:flags.15?true pin_messages:flags.17?true manage_topics:flags.18?true send_photos:flags.19?true send_videos:flags.20?true send_roundvideos:flags.21?true send_audios:flags.22?true send_voices:flags.23?true send_docs:flags.24?true send_plain:flags.25?true edit_rank:flags.26?true until_date:int = ChatBannedRights;
urlAuthResultRequest#f8f8eb1e flags:# request_write_access:flags.0?true request_phone_number:flags.1?true match_codes_first:flags.5?true bot:User domain:string browser:flags.2?string platform:flags.2?string ip:flags.2?string region:flags.2?string match_codes:flags.3?Vector<string> user_id_hint:flags.4?long = UrlAuthResult;
messageEntityFormattedDate#904ac7c7 flags:# relative:flags.0?true short_time:flags.1?true long_time:flags.2?true short_date:flags.3?true long_date:flags.4?true day_of_week:flags.5?true offset:int length:int date:int = MessageEntity;
updateChatParticipantRank#bd8367b9 chat_id:long user_id:long rank:string version:int = Update;
messageActionNoForwardsToggle#bf7d6572 prev_value:Bool new_value:Bool = MessageAction; messageActionNoForwardsRequest#3e2793ba flags:# expired:flags.0?true prev_value:Bool new_value:Bool = MessageAction;
channelAdminLogEventActionParticipantEditRank#5806b4ec user_id:long prev_rank:string new_rank:string = ChannelAdminLogEventAction;
---functions---
channels.editAdmin#9a98ad68 flags:# channel:InputChannel user_id:InputUser admin_rights:ChatAdminRights rank:flags.0?string = Updates;
messages.requestUrlAuth#894cc99c flags:# peer:flags.1?InputPeer msg_id:flags.1?int button_id:flags.1?int url:flags.2?string in_app_origin:flags.3?string = UrlAuthResult; messages.acceptUrlAuth#67a3f0de flags:# write_allowed:flags.0?true share_phone_number:flags.3?true peer:flags.1?InputPeer msg_id:flags.1?int button_id:flags.1?int url:flags.2?string match_code:flags.4?string = UrlAuthResult; messages.toggleNoForwards#b2081a35 flags:# peer:InputPeer enabled:Bool request_msg_id:flags.0?int = Updates;
payments.getResaleStarGifts#7a5fa236 flags:# sort_by_price:flags.1?true sort_by_num:flags.2?true for_craft:flags.4?true stars_only:flags.5?true attributes_hash:flags.0?long gift_id:long attributes:flags.3?Vector<StarGiftAttributeId> offset:string limit:int = payments.ResaleStarGifts;
messages.editChatCreator#f743b857 peer:InputPeer user_id:InputUser password:InputCheckPasswordSRP = Updates; messages.getFutureChatCreatorAfterLeave#3b7d0ea6 peer:InputPeer = User; messages.editChatParticipantRank#a00f32b0 peer:InputPeer participant:InputPeer rank:string = Updates; messages.declineUrlAuth#35436bbc url:string = Bool; messages.checkUrlAuthMatchCode#c9a47b0b url:string match_code:string = Bool;

Layer 222

This layer introduces the following features:

  • Custom keyboard button backgrounds and custom emoji button labels »
  • AI message summarizer »
  • Gift crafting »
  • A new flow to obtain info about the admin that will become the owner of a supergroup/channel if the original owner leaves »

API constants

Post story content types

Story content types accepted by post story deep links ».

  • Added photo
  • Added video
  • Added live

Schema changes

New Methods
  • Added messages.getEmojiGameInfo - Fetch dice game information.
  • Added messages.summarizeText - Summarize the contents of a message with AI, see here » for more info.
  • Added payments.getCraftStarGifts - Obtain owned collectible gifts » of a specific type that can be used for crafting ».
  • Added payments.craftStarGift - Craft a new collectible gift » by combining 1 to 4 owned collectible gifts of the same base gift type.
  • Added channels.getFutureCreatorAfterLeave
Changed Methods
  • Added for_craft parameter in payments.getResaleStarGifts
New Constructors
  • Added messages.emojiGameOutcome - Dice game outcome.
  • Added inputMediaStakeDice - Dice game media.
  • Added messages.emojiGameUnavailable - Dice game information.
  • Added messages.emojiGameDiceInfo - Dice game information.
  • Added updateEmojiGameInfo - Dice game update.
  • Added inputPasskeyCredentialFirebasePNV - Alternative passkey credential that proves ownership of the account's phone number through a Firebase Phone Number Verification (PNV) token, used on official apps where a full WebAuthn public-key passkey cannot be created, in a way similar to Firebase SMS authentication ».
  • Added starGiftAttributeRarity - Exact rarity value for a collectible gift attribute.
  • Added starGiftAttributeRarityUncommon - Represents uncommon collectible gift attribute rarity.
  • Added starGiftAttributeRarityRare - Represents rare collectible gift attribute rarity.
  • Added starGiftAttributeRarityEpic - Represents epic collectible gift attribute rarity.
  • Added starGiftAttributeRarityLegendary - Represents legendary collectible gift attribute rarity.
  • Added updateStarGiftCraftFail - Indicates that a crafting » attempt did not produce a new collectible gift.
  • Added keyboardButtonStyle - This constructor allows setting a custom background color and custom emoji label for a button, see here » for more info.
  • Added messageActionNewCreatorPending - Service message: emitted to a supergroup when the group/channel creator leaves the group », indicating that ownership transfer is pending. The new_creator_id user will become the new owner after 7 days if the old owner does not rejoin.
  • Added messageActionChangeCreator - Service message: emitted to a supergroup when ownership transfer completes after the old owner left the group » (7 days after the old owner left without rejoining), indicating that ownership has been transferred to a new owner.
Changed Constructors
  • Added summary_from_language parameter in message
  • Removed legacy_ios parameter in messageService
  • Added bot_forum_can_manage_topics parameter in user
  • Added flags, style parameters in keyboardButton
  • Added monoforum parameter in channelForbidden
  • Added flags, style parameters in keyboardButtonUrl
  • Added style parameter in keyboardButtonCallback
  • Added flags, style parameters in keyboardButtonRequestPhone
  • Added flags, style parameters in keyboardButtonRequestGeoLocation
  • Added style parameter in keyboardButtonSwitchInline
  • Added flags, style parameters in keyboardButtonGame
  • Added flags, style parameters in keyboardButtonBuy
  • Added style parameter in keyboardButtonUrlAuth
  • Added style parameter in inputKeyboardButtonUrlAuth
  • Added request_phone_number, browser, platform, ip, region parameters in urlAuthResultRequest
  • Added flags parameter, changed type of url from string to flags.0?string in urlAuthResultAccepted
  • Added style parameter in keyboardButtonRequestPoll
  • Added flags, game_outcome parameters in messageMediaDice
  • Added flags, style parameters in inputKeyboardButtonUserProfile
  • Added flags, style parameters in keyboardButtonUserProfile
  • Added flags, style parameters in keyboardButtonWebView
  • Added flags, style parameters in keyboardButtonSimpleWebView
  • Added flags, style parameters in keyboardButtonRequestPeer
  • Added style parameter in inputKeyboardButtonRequestPeer
  • Added flags, style parameters in keyboardButtonCopy
  • Added flags, crafted, rarity parameters, removed rarity_permille parameter in starGiftAttributeModel
  • Added rarity parameter, removed rarity_permille parameter in starGiftAttributePattern
  • Added rarity parameter, removed rarity_permille parameter in starGiftAttributeBackdrop
  • Added burned, crafted, craft_chance_permille parameters in starGiftUnique
  • Added craft, can_craft_at parameters in messageActionStarGiftUnique
  • Added can_craft_at parameter in savedStarGift

PUSH notification changes

New PUSH notifications
  • Added STORY_LIVE - started a live stream!

Changes in the file reference database map file »

New traversers incoming
  • Added
    traverseMethodResult{name: payments.getCraftStarGifts}

Schema

message#9cb490e9 flags:# out:flags.1?true mentioned:flags.4?true media_unread:flags.5?true silent:flags.13?true post:flags.14?true from_scheduled:flags.18?true legacy:flags.19?true edit_hide:flags.21?true pinned:flags.24?true noforwards:flags.26?true invert_media:flags.27?true flags2:# offline:flags2.1?true video_processing_pending:flags2.4?true paid_suggested_post_stars:flags2.8?true paid_suggested_post_ton:flags2.9?true id:int from_id:flags.8?Peer from_boosts_applied:flags.29?int peer_id:Peer saved_peer_id:flags.28?Peer fwd_from:flags.2?MessageFwdHeader via_bot_id:flags.11?long via_business_bot_id:flags2.0?long reply_to:flags.3?MessageReplyHeader date:int message:string media:flags.9?MessageMedia reply_markup:flags.6?ReplyMarkup entities:flags.7?Vector<MessageEntity> views:flags.10?int forwards:flags.10?int replies:flags.23?MessageReplies edit_date:flags.15?int post_author:flags.16?string grouped_id:flags.17?long reactions:flags.20?MessageReactions restriction_reason:flags.22?Vector<RestrictionReason> ttl_period:flags.25?int quick_reply_shortcut_id:flags.30?int effect:flags2.2?long factcheck:flags2.3?FactCheck report_delivery_until_date:flags2.5?int paid_message_stars:flags2.6?long suggested_post:flags2.7?SuggestedPost schedule_repeat_period:flags2.10?int summary_from_language:flags2.11?string = Message;
messageService#7a800e0a flags:# out:flags.1?true mentioned:flags.4?true media_unread:flags.5?true reactions_are_possible:flags.9?true silent:flags.13?true post:flags.14?true legacy:flags.19?true id:int from_id:flags.8?Peer peer_id:Peer saved_peer_id:flags.28?Peer reply_to:flags.3?MessageReplyHeader date:int action:MessageAction reactions:flags.20?MessageReactions ttl_period:flags.25?int = Message;
user#31774388 flags:# self:flags.10?true contact:flags.11?true mutual_contact:flags.12?true deleted:flags.13?true bot:flags.14?true bot_chat_history:flags.15?true bot_nochats:flags.16?true verified:flags.17?true restricted:flags.18?true min:flags.20?true bot_inline_geo:flags.21?true support:flags.23?true scam:flags.24?true apply_min_photo:flags.25?true fake:flags.26?true bot_attach_menu:flags.27?true premium:flags.28?true attach_menu_enabled:flags.29?true flags2:# bot_can_edit:flags2.1?true close_friend:flags2.2?true stories_hidden:flags2.3?true stories_unavailable:flags2.4?true contact_require_premium:flags2.10?true bot_business:flags2.11?true bot_has_main_app:flags2.13?true bot_forum_view:flags2.16?true bot_forum_can_manage_topics:flags2.17?true id:long access_hash:flags.0?long first_name:flags.1?string last_name:flags.2?string username:flags.3?string phone:flags.4?string photo:flags.5?UserProfilePhoto status:flags.6?UserStatus bot_info_version:flags.14?int restriction_reason:flags.18?Vector<RestrictionReason> bot_inline_placeholder:flags.19?string lang_code:flags.22?string emoji_status:flags.30?EmojiStatus usernames:flags2.0?Vector<Username> stories_max_id:flags2.5?RecentStory color:flags2.8?PeerColor profile_color:flags2.9?PeerColor bot_active_users:flags2.12?int bot_verification_icon:flags2.14?long send_paid_messages_stars:flags2.15?long = User;
keyboardButton#7d170cff flags:# style:flags.10?KeyboardButtonStyle text:string = KeyboardButton;
channelForbidden#17d493d5 flags:# broadcast:flags.5?true megagroup:flags.8?true monoforum:flags.10?true id:long access_hash:long title:string until_date:flags.16?int = Chat;
keyboardButtonUrl#d80c25ec flags:# style:flags.10?KeyboardButtonStyle text:string url:string = KeyboardButton; keyboardButtonCallback#e62bc960 flags:# requires_password:flags.0?true style:flags.10?KeyboardButtonStyle text:string data:bytes = KeyboardButton; keyboardButtonRequestPhone#417efd8f flags:# style:flags.10?KeyboardButtonStyle text:string = KeyboardButton; keyboardButtonRequestGeoLocation#aa40f94d flags:# style:flags.10?KeyboardButtonStyle text:string = KeyboardButton; keyboardButtonSwitchInline#991399fc flags:# same_peer:flags.0?true style:flags.10?KeyboardButtonStyle text:string query:string peer_types:flags.1?Vector<InlineQueryPeerType> = KeyboardButton; keyboardButtonGame#89c590f9 flags:# style:flags.10?KeyboardButtonStyle text:string = KeyboardButton; keyboardButtonBuy#3fa53905 flags:# style:flags.10?KeyboardButtonStyle text:string = KeyboardButton; keyboardButtonUrlAuth#f51006f9 flags:# style:flags.10?KeyboardButtonStyle text:string fwd_text:flags.0?string url:string button_id:int = KeyboardButton;
inputKeyboardButtonUrlAuth#68013e72 flags:# request_write_access:flags.0?true style:flags.10?KeyboardButtonStyle text:string fwd_text:flags.1?string url:string bot:InputUser = KeyboardButton;
urlAuthResultRequest#32fabf1a flags:# request_write_access:flags.0?true request_phone_number:flags.1?true bot:User domain:string browser:flags.2?string platform:flags.2?string ip:flags.2?string region:flags.2?string = UrlAuthResult; urlAuthResultAccepted#623a8fa0 flags:# url:flags.0?string = UrlAuthResult;
keyboardButtonRequestPoll#7a11d782 flags:# style:flags.10?KeyboardButtonStyle quiz:flags.0?Bool text:string = KeyboardButton;
messageMediaDice#08cbec07 flags:# value:int emoticon:string game_outcome:flags.0?messages.EmojiGameOutcome = MessageMedia;
inputKeyboardButtonUserProfile#7d5e07c7 flags:# style:flags.10?KeyboardButtonStyle text:string user_id:InputUser = KeyboardButton;
keyboardButtonUserProfile#c0fd5d09 flags:# style:flags.10?KeyboardButtonStyle text:string user_id:long = KeyboardButton; keyboardButtonWebView#e846b1a0 flags:# style:flags.10?KeyboardButtonStyle text:string url:string = KeyboardButton; keyboardButtonSimpleWebView#e15c4370 flags:# style:flags.10?KeyboardButtonStyle text:string url:string = KeyboardButton; keyboardButtonRequestPeer#5b0f15f5 flags:# style:flags.10?KeyboardButtonStyle text:string button_id:int peer_type:RequestPeerType max_quantity:int = KeyboardButton;
inputKeyboardButtonRequestPeer#02b78156 flags:# name_requested:flags.0?true username_requested:flags.1?true photo_requested:flags.2?true style:flags.10?KeyboardButtonStyle text:string button_id:int peer_type:RequestPeerType max_quantity:int = KeyboardButton;
keyboardButtonCopy#bcc4af10 flags:# style:flags.10?KeyboardButtonStyle text:string copy_text:string = KeyboardButton;
starGiftAttributeModel#565251e2 flags:# crafted:flags.0?true name:string document:Document rarity:StarGiftAttributeRarity = StarGiftAttribute; starGiftAttributePattern#4e7085ea name:string document:Document rarity:StarGiftAttributeRarity = StarGiftAttribute; starGiftAttributeBackdrop#9f2504e4 name:string backdrop_id:int center_color:int edge_color:int pattern_color:int text_color:int rarity:StarGiftAttributeRarity = StarGiftAttribute; starGiftUnique#85f0a9cd flags:# require_premium:flags.6?true resale_ton_only:flags.7?true theme_available:flags.9?true burned:flags.14?true crafted:flags.15?true id:long gift_id:long title:string slug:string num:int owner_id:flags.0?Peer owner_name:flags.1?string owner_address:flags.2?string attributes:Vector<StarGiftAttribute> availability_issued:int availability_total:int gift_address:flags.3?string resell_amount:flags.4?Vector<StarsAmount> released_by:flags.5?Peer value_amount:flags.8?long value_currency:flags.8?string value_usd_amount:flags.8?long theme_peer:flags.10?Peer peer_color:flags.11?PeerColor host_id:flags.12?Peer offer_min_stars:flags.13?int craft_chance_permille:flags.16?int = StarGift;
messageActionStarGiftUnique#e6c31522 flags:# upgrade:flags.0?true transferred:flags.1?true saved:flags.2?true refunded:flags.5?true prepaid_upgrade:flags.11?true assigned:flags.13?true from_offer:flags.14?true craft:flags.16?true gift:StarGift can_export_at:flags.3?int transfer_stars:flags.4?long from_id:flags.6?Peer peer:flags.7?Peer saved_id:flags.7?long resale_amount:flags.8?StarsAmount can_transfer_at:flags.9?int can_resell_at:flags.10?int drop_original_details_stars:flags.12?long can_craft_at:flags.15?int = MessageAction;
savedStarGift#41df43fc flags:# name_hidden:flags.0?true unsaved:flags.5?true refunded:flags.9?true can_upgrade:flags.10?true pinned_to_top:flags.12?true upgrade_separate:flags.17?true from_id:flags.1?Peer date:int gift:StarGift message:flags.2?TextWithEntities msg_id:flags.3?int saved_id:flags.11?long convert_stars:flags.4?long upgrade_stars:flags.6?long can_export_at:flags.7?int transfer_stars:flags.8?long can_transfer_at:flags.13?int can_resell_at:flags.14?int collection_id:flags.15?Vector<int> prepaid_upgrade_hash:flags.16?string drop_original_details_stars:flags.18?long gift_num:flags.19?int can_craft_at:flags.20?int = SavedStarGift;
messages.emojiGameOutcome#da2ad647 seed:bytes stake_ton_amount:long ton_amount:long = messages.EmojiGameOutcome;
inputMediaStakeDice#f3a9244a game_hash:string ton_amount:long client_seed:bytes = InputMedia;
messages.emojiGameUnavailable#59e65335 = messages.EmojiGameInfo; messages.emojiGameDiceInfo#44e56023 flags:# game_hash:string prev_stake:long current_streak:int params:Vector<int> plays_left:flags.0?int = messages.EmojiGameInfo;
updateEmojiGameInfo#fb9c547a info:messages.EmojiGameInfo = Update;
inputPasskeyCredentialFirebasePNV#5b1ccb28 pnv_token:string = InputPasskeyCredential;
starGiftAttributeRarity#36437737 permille:int = StarGiftAttributeRarity; starGiftAttributeRarityUncommon#dbce6389 = StarGiftAttributeRarity; starGiftAttributeRarityRare#f08d516b = StarGiftAttributeRarity; starGiftAttributeRarityEpic#78fbf3a8 = StarGiftAttributeRarity; starGiftAttributeRarityLegendary#cef7e7a8 = StarGiftAttributeRarity;
updateStarGiftCraftFail#ac072444 = Update;
keyboardButtonStyle#4fdd3430 flags:# bg_primary:flags.0?true bg_danger:flags.1?true bg_success:flags.2?true icon:flags.3?long = KeyboardButtonStyle;
messageActionNewCreatorPending#b07ed085 new_creator_id:long = MessageAction; messageActionChangeCreator#e188503b new_creator_id:long = MessageAction;
---functions---
payments.getResaleStarGifts#7a5fa236 flags:# sort_by_price:flags.1?true sort_by_num:flags.2?true for_craft:flags.4?true attributes_hash:flags.0?long gift_id:long attributes:flags.3?Vector<StarGiftAttributeId> offset:string limit:int = payments.ResaleStarGifts;
messages.getEmojiGameInfo#fb7e8ca7 = messages.EmojiGameInfo; messages.summarizeText#9d4104e2 flags:# peer:InputPeer id:int to_lang:flags.0?string = TextWithEntities;
payments.getCraftStarGifts#fd05dd00 gift_id:long offset:string limit:int = payments.SavedStarGifts; payments.craftStarGift#b0f9684f stargift:Vector<InputSavedStarGift> = Updates;
channels.getFutureCreatorAfterLeave#a00918af channel:InputChannel = User;

Layer 220

This layer introduces the following features:

  • Added a new suggestion to setup a passkey »
  • Added a new premium feature identifier for paid private messages »
  • Some improvements for auctions »:
    • Added a detailed description of all auction rounds as StarGiftAuctionRounds
    • Added last_gift_num to allow computing the user's approximated position »
    • Added fields to lookup auction gifts currently on resale, see here » for more info.
  • Added payments.getStarGiftUpgradeAttributes to obtain the full list of just the collectible attributes that may appear for a gift type once it's upgraded to a collectible gift ».
  • Moved some auction-related fields to starGift
  • Added a new starGiftBackground constructor to represent the background palette of gift cards and auctions
  • Collectible gift purchase offers »

API constants

Premium features

Telegram Premium feature identifiers ».

  • Added paid_messages »
Suggested actions

Basic suggestion identifiers »

  • Added SETUP_PASSKEY »

Schema changes

New Methods
  • Added payments.resolveStarGiftOffer - Accept or decline a previously received collectible gift purchase offer », see here » for the full flow.
  • Added payments.sendStarGiftOffer - Send an offer to purchase a collectible gift », see here » for the full flow.
  • Added payments.getStarGiftUpgradeAttributes - Obtains the full list of just the collectible attributes that may appear for a gift type once it's upgraded to a collectible gift ».
New Constructors
  • Added messageActionStarGiftPurchaseOffer - Contains an offer to purchase a collectible gift », see here » for the full flow.
  • Added messageActionStarGiftPurchaseOfferDeclined - A collectible gift purchase offer » was declined, or the offer expired, see here » for the full flow.
  • Added starGiftBackground - Contains the default background palette of a gift type ».
  • Added starGiftAuctionRound - Describes one or more collectible gift auction rounds ».
  • Added starGiftAuctionRoundExtendable - Describes one or more extendable collectible gift auction rounds ».
  • Added payments.starGiftUpgradeAttributes - List of just the collectible attributes that may appear for a gift type once it's upgraded to a collectible gift ».
Changed Constructors
  • Added legacy_ios parameter in messageService
  • Added auction_start_date, upgrade_variants, background parameters in starGift
  • Added gift_num parameter in messageActionStarGift
  • Added value_usd_amount, offer_min_stars parameters in starGiftUnique
  • Added from_offer parameter in messageActionStarGiftUnique
  • Added gift_num parameter in savedStarGift
  • Added last_gift_num, rounds parameters in starGiftAuctionState
  • Added flags, listed_count, fragment_listed_count, fragment_listed_url parameters in starGiftAuctionStateFinished
  • Added chats parameter in payments.starGiftAuctionState
  • Added gift_num parameter in starGiftAuctionAcquiredGift
  • Added chats parameter in payments.starGiftActiveAuctions
  • Removed center_color, edge_color, text_color parameters in webPageAttributeStarGiftAuction

Changes in the file reference database map file »

New skipped incoming sources
  • Added payments.starGiftUpgradeAttributes - Contexts for star gifts are not yet implemented
New traversers incoming
  • Added
    traverseIncomingConstructor{predicate: messageActionStarGiftPurchaseOffer, params: [gift], type: MessageAction}
  • Added
    traverseIncomingConstructor{predicate: messageActionStarGiftPurchaseOfferDeclined, params: [gift], type: MessageAction}
  • Added
    traverseIncomingConstructor{predicate: payments.starGiftUpgradeAttributes, params: [attributes], type: payments.StarGiftUpgradeAttributes}
  • Added
    traverseMethodResult{name: payments.getStarGiftUpgradeAttributes}

Schema

messageService#7a800e0a flags:# out:flags.1?true mentioned:flags.4?true media_unread:flags.5?true reactions_are_possible:flags.9?true silent:flags.13?true post:flags.14?true legacy_ios:flags.17?true legacy:flags.19?true id:int from_id:flags.8?Peer peer_id:Peer saved_peer_id:flags.28?Peer reply_to:flags.3?MessageReplyHeader date:int action:MessageAction reactions:flags.20?MessageReactions ttl_period:flags.25?int = Message;
starGift#313a9547 flags:# limited:flags.0?true sold_out:flags.1?true birthday:flags.2?true require_premium:flags.7?true limited_per_user:flags.8?true peer_color_available:flags.10?true auction:flags.11?true id:long sticker:Document stars:long availability_remains:flags.0?int availability_total:flags.0?int availability_resale:flags.4?long convert_stars:long first_sale_date:flags.1?int last_sale_date:flags.1?int upgrade_stars:flags.3?long resell_min_stars:flags.4?long title:flags.5?string released_by:flags.6?Peer per_user_total:flags.8?int per_user_remains:flags.8?int locked_until_date:flags.9?int auction_slug:flags.11?string gifts_per_round:flags.11?int auction_start_date:flags.11?int upgrade_variants:flags.12?int background:flags.13?StarGiftBackground = StarGift;
messageActionStarGift#ea2c31d3 flags:# name_hidden:flags.0?true saved:flags.2?true converted:flags.3?true upgraded:flags.5?true refunded:flags.9?true can_upgrade:flags.10?true prepaid_upgrade:flags.13?true upgrade_separate:flags.16?true auction_acquired:flags.17?true gift:StarGift message:flags.1?TextWithEntities convert_stars:flags.4?long upgrade_msg_id:flags.5?int upgrade_stars:flags.8?long from_id:flags.11?Peer peer:flags.12?Peer saved_id:flags.12?long prepaid_upgrade_hash:flags.14?string gift_msg_id:flags.15?int to_id:flags.18?Peer gift_num:flags.19?int = MessageAction;
starGiftUnique#569d64c9 flags:# require_premium:flags.6?true resale_ton_only:flags.7?true theme_available:flags.9?true id:long gift_id:long title:string slug:string num:int owner_id:flags.0?Peer owner_name:flags.1?string owner_address:flags.2?string attributes:Vector<StarGiftAttribute> availability_issued:int availability_total:int gift_address:flags.3?string resell_amount:flags.4?Vector<StarsAmount> released_by:flags.5?Peer value_amount:flags.8?long value_currency:flags.8?string value_usd_amount:flags.8?long theme_peer:flags.10?Peer peer_color:flags.11?PeerColor host_id:flags.12?Peer offer_min_stars:flags.13?int = StarGift;
messageActionStarGiftUnique#95728543 flags:# upgrade:flags.0?true transferred:flags.1?true saved:flags.2?true refunded:flags.5?true prepaid_upgrade:flags.11?true assigned:flags.13?true from_offer:flags.14?true gift:StarGift can_export_at:flags.3?int transfer_stars:flags.4?long from_id:flags.6?Peer peer:flags.7?Peer saved_id:flags.7?long resale_amount:flags.8?StarsAmount can_transfer_at:flags.9?int can_resell_at:flags.10?int drop_original_details_stars:flags.12?long = MessageAction;
savedStarGift#ead6805e flags:# name_hidden:flags.0?true unsaved:flags.5?true refunded:flags.9?true can_upgrade:flags.10?true pinned_to_top:flags.12?true upgrade_separate:flags.17?true from_id:flags.1?Peer date:int gift:StarGift message:flags.2?TextWithEntities msg_id:flags.3?int saved_id:flags.11?long convert_stars:flags.4?long upgrade_stars:flags.6?long can_export_at:flags.7?int transfer_stars:flags.8?long can_transfer_at:flags.13?int can_resell_at:flags.14?int collection_id:flags.15?Vector<int> prepaid_upgrade_hash:flags.16?string drop_original_details_stars:flags.18?long gift_num:flags.19?int = SavedStarGift; starGiftAuctionState#771a4e66 version:int start_date:int end_date:int min_bid_amount:long bid_levels:Vector<AuctionBidLevel> top_bidders:Vector<long> next_round_at:int last_gift_num:int gifts_left:int current_round:int total_rounds:int rounds:Vector<StarGiftAuctionRound> = StarGiftAuctionState; starGiftAuctionStateFinished#972dabbf flags:# start_date:int end_date:int average_price:long listed_count:flags.0?int fragment_listed_count:flags.1?int fragment_listed_url:flags.1?string = StarGiftAuctionState;
payments.starGiftAuctionState#6b39f4ec gift:StarGift state:StarGiftAuctionState user_state:StarGiftAuctionUserState timeout:int users:Vector<User> chats:Vector<Chat> = payments.StarGiftAuctionState;
starGiftAuctionAcquiredGift#42b00348 flags:# name_hidden:flags.0?true peer:Peer date:int bid_amount:long round:int pos:int message:flags.1?TextWithEntities gift_num:flags.2?int = StarGiftAuctionAcquiredGift;
payments.starGiftActiveAuctions#aef6abbc auctions:Vector<StarGiftActiveAuctionState> users:Vector<User> chats:Vector<Chat> = payments.StarGiftActiveAuctions;
webPageAttributeStarGiftAuction#01c641c2 gift:StarGift end_date:int = WebPageAttribute;
messageActionStarGiftPurchaseOffer#774278d4 flags:# accepted:flags.0?true declined:flags.1?true gift:StarGift price:StarsAmount expires_at:int = MessageAction; messageActionStarGiftPurchaseOfferDeclined#73ada76b flags:# expired:flags.0?true gift:StarGift price:StarsAmount = MessageAction;
starGiftBackground#aff56398 center_color:int edge_color:int text_color:int = StarGiftBackground; starGiftAuctionRound#3aae0528 num:int duration:int = StarGiftAuctionRound; starGiftAuctionRoundExtendable#0aa021e5 num:int duration:int extend_top:int extend_window:int = StarGiftAuctionRound;
payments.starGiftUpgradeAttributes#46c6e36f attributes:Vector<StarGiftAttribute> = payments.StarGiftUpgradeAttributes;
---functions---
payments.resolveStarGiftOffer#e9ce781c flags:# decline:flags.0?true offer_msg_id:int = Updates; payments.sendStarGiftOffer#8fb86b41 flags:# peer:InputPeer slug:string price:StarsAmount duration:int random_id:long allow_paid_stars:flags.0?long = Updates; payments.getStarGiftUpgradeAttributes#6d038b58 gift_id:long = payments.StarGiftUpgradeAttributes;

Layer 219

This layer introduces the following features:

  • Passkeys »
  • Message effects » support for messages.forwardMessages.

Schema changes

New Methods
  • Added account.initPasskeyRegistration - Initialize passkey registration for the current account, see here » for more info on the full flow.
  • Added account.registerPasskey - Complete passkey registration for the current account, see here » for more info on the full flow.
  • Added account.getPasskeys - List the passkeys associated to the current account that can be used to log in, see here » for more info on passkeys.
  • Added account.deletePasskey - Delete a passkey associated to the current account, see here » for more info.
  • Added auth.initPasskeyLogin - Initialize login with a passkey over an unauthenticated connection, see here » for more info.
  • Added auth.finishPasskeyLogin - Complete login with a passkey over an unauthenticated connection, see here » for more info.
Changed Methods
  • Added effect parameter in messages.forwardMessages
New Constructors
  • Added passkey - Human-readable info about a passkey associated to an account, returned when creating a passkey » or listing passkeys ».
  • Added account.passkeys - List of passkeys » associated to the current account.
  • Added account.passkeyRegistrationOptions - Passkey registration options, see here » for more info on the full flow.
  • Added auth.passkeyLoginOptions - Passkey login options, see here » for more info on the full flow.
  • Added inputPasskeyResponseRegister - WebAuthn registration response used when registering a new passkey, see here » for more info on the full flow.
  • Added inputPasskeyResponseLogin - WebAuthn authentication response used when logging in with a passkey, see here » for more info on the full flow.
  • Added inputPasskeyCredentialPublicKey - Public-key passkey credential used both for registration and for login, see creating a passkey » and logging in with a passkey » for the full flows.
Changed Constructors
  • Added offer parameter in starsTransaction

Schema

starsTransaction#13659eb0 flags:# refund:flags.3?true pending:flags.4?true failed:flags.6?true gift:flags.10?true reaction:flags.11?true stargift_upgrade:flags.18?true business_transfer:flags.21?true stargift_resale:flags.22?true posts_search:flags.24?true stargift_prepaid_upgrade:flags.25?true stargift_drop_original_details:flags.26?true phonegroup_message:flags.27?true stargift_auction_bid:flags.28?true offer:flags.29?true id:string amount:StarsAmount date:int peer:StarsTransactionPeer title:flags.0?string description:flags.1?string photo:flags.2?WebDocument transaction_date:flags.5?int transaction_url:flags.5?string bot_payload:flags.7?bytes msg_id:flags.8?int extended_media:flags.9?Vector<MessageMedia> subscription_period:flags.12?int giveaway_post_id:flags.13?int stargift:flags.14?StarGift floodskip_number:flags.15?int starref_commission_permille:flags.16?int starref_peer:flags.17?Peer starref_amount:flags.17?StarsAmount paid_messages:flags.19?int premium_gift_months:flags.20?int ads_proceeds_from_date:flags.23?int ads_proceeds_to_date:flags.23?int = StarsTransaction;
passkey#98613ebf flags:# id:string name:string date:int software_emoji_id:flags.0?long last_usage_date:flags.1?int = Passkey;
account.passkeys#f8e0aa1c passkeys:Vector<Passkey> = account.Passkeys; account.passkeyRegistrationOptions#e16b5ce1 options:DataJSON = account.PasskeyRegistrationOptions; auth.passkeyLoginOptions#e2037789 options:DataJSON = auth.PasskeyLoginOptions;
inputPasskeyResponseRegister#3e63935c client_data:DataJSON attestation_data:bytes = InputPasskeyResponse; inputPasskeyResponseLogin#c31fc14a client_data:DataJSON authenticator_data:bytes signature:bytes user_handle:string = InputPasskeyResponse; inputPasskeyCredentialPublicKey#3c27b78f id:string raw_id:string response:InputPasskeyResponse = InputPasskeyCredential;
---functions---
messages.forwardMessages#13704a7c flags:# silent:flags.5?true background:flags.6?true with_my_score:flags.8?true drop_author:flags.11?true drop_media_captions:flags.12?true noforwards:flags.14?true allow_paid_floodskip:flags.19?true from_peer:InputPeer id:Vector<int> random_id:Vector<long> to_peer:InputPeer top_msg_id:flags.9?int reply_to:flags.22?InputReplyTo schedule_date:flags.10?int schedule_repeat_period:flags.24?int send_as:flags.13?InputPeer quick_reply_shortcut:flags.17?InputQuickReplyShortcut effect:flags.18?long video_timestamp:flags.20?int allow_paid_stars:flags.21?long suggested_post:flags.23?SuggestedPost = Updates;
account.initPasskeyRegistration#429547e8 = account.PasskeyRegistrationOptions; account.registerPasskey#55b41fd6 credential:InputPasskeyCredential = Passkey; account.getPasskeys#ea1f0c52 = account.Passkeys; account.deletePasskey#f5b5563f id:string = Bool; auth.initPasskeyLogin#518ad0b7 api_id:int api_hash:string = auth.PasskeyLoginOptions; auth.finishPasskeyLogin#9857ad07 flags:# credential:InputPasskeyCredential from_dc_id:flags.0?int from_auth_key_id:flags.0?long = auth.Authorization;

Layer 218

This layer introduces the following features:

  • Collectible gift auctions »

API constants

Web page type values

Web page type values from the webPage constructor.

  • Added telegram_auction

Schema changes

New Methods
  • Added payments.getStarGiftAuctionState - Returns info about a collectible gift auction »; also subscribes the user to auction updates, see here » for more info on the full flow.
  • Added payments.getStarGiftAuctionAcquiredGifts - Fetches all the gifts that the current user won in an auction.
  • Added payments.getStarGiftActiveAuctions - Fetches all currently active gift auctions the user has ever bid on (including auctions where the user was outbid and their bid was returned), as long as the auction hasn't ended yet.
New Constructors
  • Added inputInvoiceStarGiftAuctionBid - Used to place a bid in a collectible gift auction ».
  • Added auctionBidLevel - Describes a bid in an auction.
  • Added starGiftAuctionStateNotModified - Returned only by auction methods (never by updates) if the passed version is equal to the remote auction ».version, meaning auction information hasn't changed over the locally cached version.
  • Added starGiftAuctionState - Represents an active or pending auction ».
  • Added starGiftAuctionStateFinished - Represents a finished auction ».
  • Added starGiftAuctionUserState - Contains information about the current user's state in an auction ».
  • Added updateStarGiftAuctionState - Contains updates to auction state, see here » for more info on how to enable these updates.
  • Added updateStarGiftAuctionUserState - Contains updates to auction state related to the current user, see here » for more info on how to enable these updates.
  • Added payments.starGiftAuctionState - Describes a collectible gift auction ».
  • Added starGiftAuctionAcquiredGift - Describes a gift that the current user won in an auction.
  • Added payments.starGiftAuctionAcquiredGifts - Describes all the gifts that the current user won in an auction.
  • Added starGiftActiveAuctionState - Contains info about an auction where the user has placed a bid ».
  • Added payments.starGiftActiveAuctionsNotModified - The list of currently active gift auctions where the user has placed a bid hasn't changed.
  • Added payments.starGiftActiveAuctions - Describes all currently active gift auctions where the user has placed a bid.
  • Added inputStarGiftAuction - Used to fetch auctions using the ID of the linked collectible gift.
  • Added inputStarGiftAuctionSlug - Used to fetch auctions using the slug of an auction deep link ».
  • Added webPageAttributeStarGiftAuction - Contains info about a collectible gift auction » for a webPage preview of an auction » (the webPage will have a type of telegram_auction).
Changed Constructors
  • Added stargift_auction_bid parameter in starsTransaction
  • Added auction, auction_slug, gifts_per_round parameters in starGift
  • Added auction_acquired, to_id parameters in messageActionStarGift

Changes in the file reference database map file »

New traversers incoming
  • Added
    traverseIncomingConstructor{predicate: payments.starGiftActiveAuctions, params: [auctions], type: payments.StarGiftActiveAuctions}
  • Added
    traverseIncomingConstructor{predicate: payments.starGiftAuctionState, params: [gift], type: payments.StarGiftAuctionState}
  • Added
    traverseIncomingConstructor{predicate: starGiftActiveAuctionState, params: [gift], type: StarGiftActiveAuctionState}
  • Added
    traverseIncomingConstructor{predicate: webPageAttributeStarGiftAuction, params: [gift], type: WebPageAttribute}
  • Added
    traverseMethodResult{name: payments.getStarGiftActiveAuctions}
  • Added
    traverseMethodResult{name: payments.getStarGiftAuctionState}

Schema

starsTransaction#13659eb0 flags:# refund:flags.3?true pending:flags.4?true failed:flags.6?true gift:flags.10?true reaction:flags.11?true stargift_upgrade:flags.18?true business_transfer:flags.21?true stargift_resale:flags.22?true posts_search:flags.24?true stargift_prepaid_upgrade:flags.25?true stargift_drop_original_details:flags.26?true phonegroup_message:flags.27?true stargift_auction_bid:flags.28?true id:string amount:StarsAmount date:int peer:StarsTransactionPeer title:flags.0?string description:flags.1?string photo:flags.2?WebDocument transaction_date:flags.5?int transaction_url:flags.5?string bot_payload:flags.7?bytes msg_id:flags.8?int extended_media:flags.9?Vector<MessageMedia> subscription_period:flags.12?int giveaway_post_id:flags.13?int stargift:flags.14?StarGift floodskip_number:flags.15?int starref_commission_permille:flags.16?int starref_peer:flags.17?Peer starref_amount:flags.17?StarsAmount paid_messages:flags.19?int premium_gift_months:flags.20?int ads_proceeds_from_date:flags.23?int ads_proceeds_to_date:flags.23?int = StarsTransaction;
starGift#1b9a4d7f flags:# limited:flags.0?true sold_out:flags.1?true birthday:flags.2?true require_premium:flags.7?true limited_per_user:flags.8?true peer_color_available:flags.10?true auction:flags.11?true id:long sticker:Document stars:long availability_remains:flags.0?int availability_total:flags.0?int availability_resale:flags.4?long convert_stars:long first_sale_date:flags.1?int last_sale_date:flags.1?int upgrade_stars:flags.3?long resell_min_stars:flags.4?long title:flags.5?string released_by:flags.6?Peer per_user_total:flags.8?int per_user_remains:flags.8?int locked_until_date:flags.9?int auction_slug:flags.11?string gifts_per_round:flags.11?int = StarGift;
messageActionStarGift#db596550 flags:# name_hidden:flags.0?true saved:flags.2?true converted:flags.3?true upgraded:flags.5?true refunded:flags.9?true can_upgrade:flags.10?true prepaid_upgrade:flags.13?true upgrade_separate:flags.16?true auction_acquired:flags.17?true gift:StarGift message:flags.1?TextWithEntities convert_stars:flags.4?long upgrade_msg_id:flags.5?int upgrade_stars:flags.8?long from_id:flags.11?Peer peer:flags.12?Peer saved_id:flags.12?long prepaid_upgrade_hash:flags.14?string gift_msg_id:flags.15?int to_id:flags.18?Peer = MessageAction;
inputInvoiceStarGiftAuctionBid#1ecafa10 flags:# hide_name:flags.0?true update_bid:flags.2?true peer:flags.3?InputPeer gift_id:long bid_amount:long message:flags.1?TextWithEntities = InputInvoice;
auctionBidLevel#310240cc pos:int amount:long date:int = AuctionBidLevel;
starGiftAuctionStateNotModified#fe333952 = StarGiftAuctionState; starGiftAuctionState#5db04f4b version:int start_date:int end_date:int min_bid_amount:long bid_levels:Vector<AuctionBidLevel> top_bidders:Vector<long> next_round_at:int gifts_left:int current_round:int total_rounds:int = StarGiftAuctionState; starGiftAuctionStateFinished#7d967c3a start_date:int end_date:int average_price:long = StarGiftAuctionState; starGiftAuctionUserState#2eeed1c4 flags:# returned:flags.1?true bid_amount:flags.0?long bid_date:flags.0?int min_bid_amount:flags.0?long bid_peer:flags.0?Peer acquired_count:int = StarGiftAuctionUserState;
updateStarGiftAuctionState#48e246c2 gift_id:long state:StarGiftAuctionState = Update; updateStarGiftAuctionUserState#dc58f31e gift_id:long user_state:StarGiftAuctionUserState = Update;
payments.starGiftAuctionState#0e98e474 gift:StarGift state:StarGiftAuctionState user_state:StarGiftAuctionUserState timeout:int users:Vector<User> = payments.StarGiftAuctionState;
starGiftAuctionAcquiredGift#ab60e20b flags:# name_hidden:flags.0?true peer:Peer date:int bid_amount:long round:int pos:int message:flags.1?TextWithEntities = StarGiftAuctionAcquiredGift;
payments.starGiftAuctionAcquiredGifts#7d5bd1f0 gifts:Vector<StarGiftAuctionAcquiredGift> users:Vector<User> chats:Vector<Chat> = payments.StarGiftAuctionAcquiredGifts;
starGiftActiveAuctionState#d31bc45d gift:StarGift state:StarGiftAuctionState user_state:StarGiftAuctionUserState = StarGiftActiveAuctionState;
payments.starGiftActiveAuctionsNotModified#db33dad0 = payments.StarGiftActiveAuctions; payments.starGiftActiveAuctions#97f187d8 auctions:[Page truncated to keep GeezerVison snappy.]

You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.