2022-05-14 00:37:40 +02:00
<!DOCTYPE html>
< html class = "" >
< head >
< meta charset = "utf-8" >
< title > Layers< / title >
< meta name = "viewport" content = "width=device-width, initial-scale=1.0" >
2022-11-15 00:55:37 +01:00
< meta property = "description" content = "API schema changelog" >
2022-05-14 00:37:40 +02:00
< meta property = "og:title" content = "Layers" >
< meta property = "og:image" content = "" >
2022-11-15 00:55:37 +01:00
< meta property = "og:description" content = "API schema changelog" >
2022-05-14 00:37:40 +02:00
< 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/layers" > Layers< / a > < / li > < / ul > < / div >
< h1 id = "dev_page_title" > Layers< / h1 >
< div id = "dev_page_content" > <!-- scroll_nav -->
< p > Below you will find information on schema changes. For more details on the use of layers, see < a href = "/api/invoking#layers" > Invoking API methods< / a > .< / p >
2022-11-15 00:55:37 +01:00
< h3 > < a class = "anchor" href = "#layer-145" id = "layer-145" name = "layer-145" > < i class = "anchor-icon" > < / i > < / a > < a href = "/schema?layer=145" > Layer 145< / a > < / h3 >
< p > < a href = "/api/emoji-status" > Custom emoji statuses< / a > , < a href = "/api/reactions" > custom emoji & multiple message reactions< / a > , < a href = "/api/auth#email-verification" > login via email< / a > , < a href = "/api/stickers#recent-stickersets" > recent stickersets< / a > , < a href = "/api/premium" > Telegram Premium< / a > and < a href = "/api/bots/webapps" > bot web app< / a > improvements.< / p >
< p > Added the following brand new documentation articles:< / p >
< ul >
< li > < a href = "/api/links" > Deep links< / a > < / li >
< li > < a href = "/api/stickers" > Stickers< / a > < / li >
< li > < a href = "/api/themes" > Themes< / a > < / li >
< li > < a href = "/api/wallpapers" > Wallpapers< / a > < / li >
< / ul >
< p > Also added more details on < a href = "/api/entities#entity-length" > entity length calculation< / a > and < a href = "/api/errors#406-not-acceptable" > < code > AUTH_KEY_DUPLICATED< / code > errors< / a > .< / p >
< p > The < a href = "/api/errors#error-database" > RPC error database »< / a > was also updated.< / p >
< h4 > < a class = "anchor" href = "#schema-changes" id = "schema-changes" name = "schema-changes" > < i class = "anchor-icon" > < / i > < / a > Schema changes< / h4 >
< h5 > < a class = "anchor" href = "#new-methods" id = "new-methods" name = "new-methods" > < i class = "anchor-icon" > < / i > < / a > New Methods< / h5 >
< ul >
< li > Added < a href = "/method/account.updateEmojiStatus" > account.updateEmojiStatus< / a > - Set an < a href = "/api/emoji-status" > emoji status< / a > < / li >
< li > Added < a href = "/method/account.getDefaultEmojiStatuses" > account.getDefaultEmojiStatuses< / a > - Get a list of default suggested < a href = "/api/emoji-status" > emoji statuses< / a > < / li >
< li > Added < a href = "/method/account.getRecentEmojiStatuses" > account.getRecentEmojiStatuses< / a > - Get recently used < a href = "/api/emoji-status" > emoji statuses< / a > < / li >
< li > Added < a href = "/method/account.clearRecentEmojiStatuses" > account.clearRecentEmojiStatuses< / a > - Clears list of recently used < a href = "/api/emoji-status" > emoji statuses< / a > < / li >
< li > Added < a href = "/method/messages.reportReaction" > messages.reportReaction< / a > - Report a < a href = "/api/reactions" > message reaction< / a > < / li >
< li > Added < a href = "/method/messages.getTopReactions" > messages.getTopReactions< / a > - Got popular < a href = "/api/reactions" > message reactions< / a > < / li >
< li > Added < a href = "/method/messages.getRecentReactions" > messages.getRecentReactions< / a > - Get recently used < a href = "/api/reactions" > message reactions< / a > < / li >
< li > Added < a href = "/method/messages.clearRecentReactions" > messages.clearRecentReactions< / a > - Clear recently used < a href = "/api/reactions" > message reactions< / a > < / li >
< / ul >
< h5 > < a class = "anchor" href = "#changed-methods" id = "changed-methods" name = "changed-methods" > < i class = "anchor-icon" > < / i > < / a > Changed Methods< / h5 >
< ul >
< li > Added < strong > flags< / strong > , < strong > email_verification< / strong > parameters, changed type of < strong > phone_code< / strong > from < strong > string< / strong > to < strong > flags.0?string< / strong > in < a href = "/method/auth.signIn" > auth.signIn< / a > < / li >
< li > Added < strong > update_stickersets_order< / strong > parameter in < a href = "/method/messages.sendMessage" > messages.sendMessage< / a > < / li >
< li > Added < strong > update_stickersets_order< / strong > parameter in < a href = "/method/messages.sendMedia" > messages.sendMedia< / a > < / li >
< li > Added < strong > update_stickersets_order< / strong > parameter in < a href = "/method/messages.sendMultiMedia" > messages.sendMultiMedia< / a > < / li >
< li > Added < strong > purpose< / strong > parameter in < a href = "/method/account.sendVerifyEmailCode" > account.sendVerifyEmailCode< / a > < / li >
< li > Changed type of < a href = "/method/account.verifyEmail" > account.verifyEmail< / a > from < strong > Bool< / strong > to < strong > account.EmailVerified< / strong > < / li >
< li > Added < strong > purpose< / strong > , < strong > verification< / strong > parameters, removed < strong > email< / strong > , < strong > code< / strong > parameters in < a href = "/method/account.verifyEmail" > account.verifyEmail< / a > < / li >
< li > Added < strong > add_to_recent< / strong > parameter, changed type of < strong > reaction< / strong > from < strong > flags.0?string< / strong > to < strong > flags.0?Vector< Reaction> < / strong > in < a href = "/method/messages.sendReaction" > messages.sendReaction< / a > < / li >
< li > Changed type of < strong > reaction< / strong > from < strong > flags.0?string< / strong > to < strong > flags.0?Reaction< / strong > in < a href = "/method/messages.getMessageReactionsList" > messages.getMessageReactionsList< / a > < / li >
< li > Changed type of < strong > available_reactions< / strong > from < strong > Vector< string> < / strong > to < strong > ChatReactions< / strong > in < a href = "/method/messages.setChatAvailableReactions" > messages.setChatAvailableReactions< / a > < / li >
< li > Changed type of < strong > reaction< / strong > from < strong > string< / strong > to < strong > Reaction< / strong > in < a href = "/method/messages.setDefaultReaction" > messages.setDefaultReaction< / a > < / li >
< li > Added < strong > platform< / strong > parameter in < a href = "/method/messages.requestWebView" > messages.requestWebView< / a > < / li >
< li > Added < strong > platform< / strong > parameter in < a href = "/method/messages.requestSimpleWebView" > messages.requestSimpleWebView< / a > < / li >
< / ul >
< h5 > < a class = "anchor" href = "#new-constructors" id = "new-constructors" name = "new-constructors" > < i class = "anchor-icon" > < / i > < / a > New Constructors< / h5 >
< ul >
< li > Added < a href = "/constructor/emojiStatusEmpty" > emojiStatusEmpty< / a > - No emoji status is set< / li >
< li > Added < a href = "/constructor/emojiStatus" > emojiStatus< / a > - An < a href = "/api/emoji-status" > emoji status< / a > < / li >
< li > Added < a href = "/constructor/emojiStatusUntil" > emojiStatusUntil< / a > - An < a href = "/api/emoji-status" > emoji status< / a > valid until the specified date< / li >
< li > Added < a href = "/constructor/updateUserEmojiStatus" > updateUserEmojiStatus< / a > - The < a href = "/api/emoji-status" > emoji status< / a > of a certain user has changed< / li >
< li > Added < a href = "/constructor/updateRecentEmojiStatuses" > updateRecentEmojiStatuses< / a > - The list of recent < a href = "/api/emoji-status" > emoji statuses< / a > has changed< / li >
< li > Added < a href = "/constructor/account.emojiStatusesNotModified" > account.emojiStatusesNotModified< / a > - The server-side list of < a href = "/api/emoji-status" > emoji statuses< / a > hasn't changed< / li >
< li > Added < a href = "/constructor/account.emojiStatuses" > account.emojiStatuses< / a > - A list of < a href = "/api/emoji-status" > emoji statuses< / a > < / li >
< li > Added < a href = "/constructor/reactionEmpty" > reactionEmpty< / a > - No reaction< / li >
< li > Added < a href = "/constructor/reactionEmoji" > reactionEmoji< / a > - Normal emoji message reaction< / li >
< li > Added < a href = "/constructor/reactionCustomEmoji" > reactionCustomEmoji< / a > - < a href = "/api/custom-emoji" > Custom emoji< / a > message reaction< / li >
< li > Added < a href = "/constructor/chatReactionsNone" > chatReactionsNone< / a > - No reactions are allowed< / li >
< li > Added < a href = "/constructor/chatReactionsAll" > chatReactionsAll< / a > - All reactions or all non-custom reactions are allowed< / li >
< li > Added < a href = "/constructor/chatReactionsSome" > chatReactionsSome< / a > - Some reactions are allowed< / li >
< li > Added < a href = "/constructor/messages.reactionsNotModified" > messages.reactionsNotModified< / a > - The server-side list of < a href = "/api/reactions" > message reactions< / a > hasn't changed< / li >
< li > Added < a href = "/constructor/messages.reactions" > messages.reactions< / a > - List of < a href = "/api/reactions" > message reactions< / a > < / li >
< li > Added < a href = "/constructor/updateRecentReactions" > updateRecentReactions< / a > - The list of recent < a href = "/api/reactions" > message reactions< / a > has changed< / li >
< li > Added < a href = "/constructor/updateMoveStickerSetToTop" > updateMoveStickerSetToTop< / a > - A stickerset was just moved to top, < a href = "/api/stickers#recent-stickersets" > see here for more info »< / a > < / li >
< li > Added < a href = "/constructor/auth.sentCodeTypeEmailCode" > auth.sentCodeTypeEmailCode< / a > - The code was sent via the < a href = "/api/auth#email-verification" > previously configured login email »< / a > < / li >
< li > Added < a href = "/constructor/auth.sentCodeTypeSetUpEmailRequired" > auth.sentCodeTypeSetUpEmailRequired< / a > - The user should add and verify an email address in order to login as described < a href = "/api/auth#email-verification" > here »< / a > .< / li >
< li > Added < a href = "/constructor/emailVerifyPurposeLoginSetup" > emailVerifyPurposeLoginSetup< / a > - Email verification purpose: setup login email< / li >
< li > Added < a href = "/constructor/emailVerifyPurposeLoginChange" > emailVerifyPurposeLoginChange< / a > - Email verification purpose: change login email< / li >
< li > Added < a href = "/constructor/emailVerifyPurposePassport" > emailVerifyPurposePassport< / a > - Verify an email for use in < a href = "/api/passport" > telegram passport< / a > < / li >
< li > Added < a href = "/constructor/emailVerificationCode" > emailVerificationCode< / a > - Email verification code< / li >
< li > Added < a href = "/constructor/emailVerificationGoogle" > emailVerificationGoogle< / a > - Google ID email verification token< / li >
< li > Added < a href = "/constructor/emailVerificationApple" > emailVerificationApple< / a > - Apple ID email verification token< / li >
< li > Added < a href = "/constructor/account.emailVerified" > account.emailVerified< / a > - The email was verified correctly.< / li >
< li > Added < a href = "/constructor/account.emailVerifiedLogin" > account.emailVerifiedLogin< / a > - The email was verified correctly, and a login code was just sent to it.< / li >
< li > Added < a href = "/constructor/premiumSubscriptionOption" > premiumSubscriptionOption< / a > - Describes a Telegram Premium subscription option< / li >
< li > Added < a href = "/constructor/inputStickerSetEmojiGenericAnimations" > inputStickerSetEmojiGenericAnimations< / a > - Generic animation stickerset containing animations to play when < a href = "/api/reactions" > reacting to messages using a normal emoji without a custom animation< / a > < / li >
< li > Added < a href = "/constructor/inputStickerSetEmojiDefaultStatuses" > inputStickerSetEmojiDefaultStatuses< / a > - Default < a href = "/api/emoji-status" > custom emoji status< / a > stickerset< / li >
< li > Added < a href = "/constructor/sendAsPeer" > sendAsPeer< / a > - Indicates a peer that can be used to send messages< / li >
< / ul >
< h5 > < a class = "anchor" href = "#changed-constructors" id = "changed-constructors" name = "changed-constructors" > < i class = "anchor-icon" > < / i > < / a > Changed Constructors< / h5 >
< ul >
< li > Changed type of < strong > available_reactions< / strong > from < strong > flags.18?Vector< string> < / strong > to < strong > flags.18?ChatReactions< / strong > in < a href = "/constructor/chatFull" > chatFull< / a > < / li >
< li > Added < strong > reactions_default< / strong > parameter in < a href = "/constructor/config" > config< / a > < / li >
< li > Added < strong > login_email_pattern< / strong > parameter in < a href = "/constructor/account.password" > account.password< / a > < / li >
< li > Added < strong > emoji_status< / strong > parameter in < a href = "/constructor/user" > user< / a > < / li >
< li > Changed type of < strong > available_reactions< / strong > from < strong > flags.30?Vector< string> < / strong > to < strong > flags.30?ChatReactions< / strong > in < a href = "/constructor/channelFull" > channelFull< / a > < / li >
< li > Added < strong > flags< / strong > , < strong > masks< / strong > , < strong > emojis< / strong > parameters in < a href = "/constructor/updateStickerSets" > updateStickerSets< / a > < / li >
< li > Changed type of < strong > peers< / strong > from < strong > Vector< Peer> < / strong > to < strong > Vector< SendAsPeer> < / strong > in < a href = "/constructor/channels.sendAsPeers" > channels.sendAsPeers< / a > < / li >
< li > Added < strong > chosen_order< / strong > parameter, removed < strong > chosen< / strong > parameter, changed type of < strong > reaction< / strong > from < strong > string< / strong > to < strong > Reaction< / strong > in < a href = "/constructor/reactionCount" > reactionCount< / a > < / li >
< li > Changed type of < strong > prev_value< / strong > from < strong > Vector< string> < / strong > to < strong > ChatReactions< / strong > , < strong > new_value< / strong > from < strong > Vector< string> < / strong > to < strong > ChatReactions< / strong > in < a href = "/constructor/channelAdminLogEventActionChangeAvailableReactions" > channelAdminLogEventActionChangeAvailableReactions< / a > < / li >
< li > Changed type of < strong > reaction< / strong > from < strong > string< / strong > to < strong > Reaction< / strong > in < a href = "/constructor/messagePeerReaction" > messagePeerReaction< / a > < / li >
< li > Added < strong > period_options< / strong > parameter, removed < strong > currency< / strong > , < strong > monthly_amount< / strong > parameters in < a href = "/constructor/help.premiumPromo" > help.premiumPromo< / a > < / li >
< / ul >
< h4 > < a class = "anchor" href = "#schema" id = "schema" name = "schema" > < i class = "anchor-icon" > < / i > < / a > Schema< / h4 >
< div > < pre > < code > < 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 > 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 > ;
< a href = "/constructor/config" > config< / a > #232566ac flags:< a href = "/type/%23" > #< / a > phonecalls_enabled:flags.1?< a href = "/constructor/true" > true< / a > default_p2p_contacts:flags.3?< a href = "/constructor/true" > true< / a > preload_featured_stickers:flags.4?< a href = "/constructor/true" > true< / a > ignore_phone_entities:flags.5?< 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 > pfs_enabled:flags.13?< 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 > saved_gifs_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 > stickers_faved_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 > pinned_dialogs_count_max:< a href = "/type/int" > int< / a > pinned_infolder_count_max:< 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 > = < a href = "/type/Config" > Config< / a > ;< br >
< a href = "/constructor/account.password" > account.password< / a > #957b50fb flags:< a href = "/type/%23" > #< / a > has_recovery:flags.0?< a href = "/constructor/true" > true< / a > has_secure_values:flags.1?< a href = "/constructor/true" > true< / a > has_password:flags.2?< a href = "/constructor/true" > true< / a > current_algo:flags.2?< a href = "/type/PasswordKdfAlgo" > PasswordKdfAlgo< / a > srp_B:flags.2?< a href = "/type/bytes" > bytes< / a > srp_id:flags.2?< a href = "/type/long" > long< / a > hint:flags.3?< a href = "/type/string" > string< / a > email_unconfirmed_pattern:flags.4?< a href = "/type/string" > string< / a > new_algo:< a href = "/type/PasswordKdfAlgo" > PasswordKdfAlgo< / a > new_secure_algo:< a href = "/type/SecurePasswordKdfAlgo" > SecurePasswordKdfAlgo< / a > secure_random:< a href = "/type/bytes" > bytes< / a > pending_reset_date:flags.5?< a href = "/type/int" > int< / a > login_email_pattern:flags.6?< a href = "/type/string" > string< / a > = < a href = "/type/account.Password" > account.Password< / a > ;< br >
< a href = "/constructor/user" > user< / a > #5d99adee flags:< a href = "/type/%23" > #< / a > self:flags.10?< a href = "/constructor/true" > true< / a > contact:flags.11?< a href = "/constructor/true" > true< / a > mutual_contact:flags.12?< a href = "/constructor/true" > true< / a > deleted:flags.13?< a href = "/constructor/true" > true< / a > bot:flags.14?< a href = "/constructor/true" > true< / a > bot_chat_history:flags.15?< a href = "/constructor/true" > true< / a > bot_nochats:flags.16?< a href = "/constructor/true" > true< / a > verified:flags.17?< a href = "/constructor/true" > true< / a > restricted:flags.18?< a href = "/constructor/true" > true< / a > min:flags.20?< a href = "/constructor/true" > true< / a > bot_inline_geo:flags.21?< a href = "/constructor/true" > true< / a > support:flags.23?< a href = "/constructor/true" > true< / a > scam:flags.24?< a href = "/constructor/true" > true< / a > apply_min_photo:flags.25?< a href = "/constructor/true" > true< / a > fake:flags.26?< a href = "/constructor/true" > true< / a > bot_attach_menu:flags.27?< a href = "/constructor/true" > true< / a > premium:flags.28?< a href = "/constructor/true" > true< / a > attach_menu_enabled:flags.29?< a href = "/constructor/true" > true< / a > id:< a href = "/type/long" > long< / a > access_hash:flags.0?< a href = "/type/long" > long< / a > first_name:flags.1?< a href = "/type/string" > string< / a > last_name:flags.2?< a href = "/type/string" > string< / a > username:flags.3?< a href = "/type/string" > string< / a > phone:flags.4?< a href = "/type/string" > string< / a > photo:flags.5?< a href = "/type/UserProfilePhoto" > UserProfilePhoto< / a > status:flags.6?< a href = "/type/UserStatus" > UserStatus< / a > bot_info_version:flags.14?< a href = "/type/int" > int< / a > restriction_reason:flags.18?< a href = "/type/Vector%20t" > Vector< / a > < < a href = "/type/RestrictionReason" > RestrictionReason< / a > > bot_inline_placeholder:flags.19?< a href = "/type/string" > string< / a > lang_code:flags.22?< a href = "/type/string" > string< / a > emoji_status:flags.30?< a href = "/type/EmojiStatus" > EmojiStatus< / a > = < a href = "/type/User" > User< / a > ;< br >
< a href = "/constructor/channelFull" > channelFull< / a > #f2355507 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 > 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 > = < a href = "/type/ChatFull" > ChatFull< / a > ;< br >
< a href = "/constructor/updateStickerSets" > updateStickerSets< / a > #31c24808 flags:< a href = "/type/%23" > #< / a > masks:flags.0?< a href = "/constructor/true" > true< / a > emojis:flags.1?< a href = "/constructor/true" > true< / a > = < a href = "/type/Update" > Update< / a > ;< br >
< a href = "/constructor/channels.sendAsPeers" > channels.sendAsPeers< / a > #f496b0c6 peers:< a href = "/type/Vector%20t" > Vector< / a > < < a href = "/type/SendAsPeer" > SendAsPeer< / 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 > > = < a href = "/type/channels.SendAsPeers" > channels.SendAsPeers< / a > ;< br >
< 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 > ;< br >
< 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 > ;< br >
< a href = "/constructor/messagePeerReaction" > messagePeerReaction< / a > #b156fe9c flags:< a href = "/type/%23" > #< / a > big:flags.0?< a href = "/constructor/true" > true< / a > unread:flags.1?< a href = "/constructor/true" > true< / a > peer_id:< a href = "/type/Peer" > Peer< / a > reaction:< a href = "/type/Reaction" > Reaction< / a > = < a href = "/type/MessagePeerReaction" > MessagePeerReaction< / a > ;< br >
< a href = "/constructor/help.premiumPromo" > help.premiumPromo< / a > #5334759c status_text:< a href = "/type/string" > string< / a > status_entities:< a href = "/type/Vector%20t" > Vector< / a > < < a href = "/type/MessageEntity" > MessageEntity< / a > > video_sections:< a href = "/type/Vector%20t" > Vector< / a > < < a href = "/type/string" > string< / a > > videos:< a href = "/type/Vector%20t" > Vector< / a > < < a href = "/type/Document" > Document< / a > > period_options:< a href = "/type/Vector%20t" > Vector< / a > < < a href = "/type/PremiumSubscriptionOption" > PremiumSubscriptionOption< / a > > users:< a href = "/type/Vector%20t" > Vector< / a > < < a href = "/type/User" > User< / a > > = < a href = "/type/help.PremiumPromo" > help.PremiumPromo< / a > ;< br >
< a href = "/constructor/emojiStatusEmpty" > emojiStatusEmpty< / a > #2de11aae = < a href = "/type/EmojiStatus" > EmojiStatus< / a > ;
< a href = "/constructor/emojiStatus" > emojiStatus< / a > #929b619d document_id:< a href = "/type/long" > long< / a > = < a href = "/type/EmojiStatus" > EmojiStatus< / a > ;
< a href = "/constructor/emojiStatusUntil" > emojiStatusUntil< / a > #fa30a8c7 document_id:< a href = "/type/long" > long< / a > until:< a href = "/type/int" > int< / a > = < a href = "/type/EmojiStatus" > EmojiStatus< / a > ;< br >
< a href = "/constructor/updateUserEmojiStatus" > updateUserEmojiStatus< / a > #28373599 user_id:< a href = "/type/long" > long< / a > emoji_status:< a href = "/type/EmojiStatus" > EmojiStatus< / a > = < a href = "/type/Update" > Update< / a > ;
< a href = "/constructor/updateRecentEmojiStatuses" > updateRecentEmojiStatuses< / a > #30f443db = < a href = "/type/Update" > Update< / a > ;< br >
< a href = "/constructor/account.emojiStatusesNotModified" > account.emojiStatusesNotModified< / a > #d08ce645 = < a href = "/type/account.EmojiStatuses" > account.EmojiStatuses< / a > ;
< a href = "/constructor/account.emojiStatuses" > account.emojiStatuses< / a > #90c467d1 hash:< a href = "/type/long" > long< / a > statuses:< a href = "/type/Vector%20t" > Vector< / a > < < a href = "/type/EmojiStatus" > EmojiStatus< / a > > = < a href = "/type/account.EmojiStatuses" > account.EmojiStatuses< / a > ;< br >
< a href = "/constructor/reactionEmpty" > reactionEmpty< / a > #79f5d419 = < a href = "/type/Reaction" > Reaction< / a > ;
< 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 > ;< br >
< 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 > ;< br >
< 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 > ;< br >
< a href = "/constructor/updateRecentReactions" > updateRecentReactions< / a > #6f7863f4 = < a href = "/type/Update" > Update< / a > ;
< a href = "/constructor/updateMoveStickerSetToTop" > updateMoveStickerSetToTop< / a > #86fccf85 flags:< a href = "/type/%23" > #< / a > masks:flags.0?< a href = "/constructor/true" > true< / a > emojis:flags.1?< a href = "/constructor/true" > true< / a > stickerset:< a href = "/type/long" > long< / a > = < a href = "/type/Update" > Update< / a > ;< br >
< a href = "/constructor/auth.sentCodeTypeEmailCode" > auth.sentCodeTypeEmailCode< / a > #5a159841 flags:< a href = "/type/%23" > #< / a > apple_signin_allowed:flags.0?< a href = "/constructor/true" > true< / a > google_signin_allowed:flags.1?< a href = "/constructor/true" > true< / a > email_pattern:< a href = "/type/string" > string< / a > length:< a href = "/type/int" > int< / a > next_phone_login_date:flags.2?< a href = "/type/int" > int< / a > = < a href = "/type/auth.SentCodeType" > auth.SentCodeType< / a > ;
< a href = "/constructor/auth.sentCodeTypeSetUpEmailRequired" > auth.sentCodeTypeSetUpEmailRequired< / a > #a5491dea flags:< a href = "/type/%23" > #< / a > apple_signin_allowed:flags.0?< a href = "/constructor/true" > true< / a > google_signin_allowed:flags.1?< a href = "/constructor/true" > true< / a > = < a href = "/type/auth.SentCodeType" > auth.SentCodeType< / a > ;< br >
< a href = "/constructor/emailVerifyPurposeLoginSetup" > emailVerifyPurposeLoginSetup< / a > #4345be73 phone_number:< a href = "/type/string" > string< / a > phone_code_hash:< a href = "/type/string" > string< / a > = < a href = "/type/EmailVerifyPurpose" > EmailVerifyPurpose< / a > ;
< a href = "/constructor/emailVerifyPurposeLoginChange" > emailVerifyPurposeLoginChange< / a > #527d22eb = < a href = "/type/EmailVerifyPurpose" > EmailVerifyPurpose< / a > ;
< a href = "/constructor/emailVerifyPurposePassport" > emailVerifyPurposePassport< / a > #bbf51685 = < a href = "/type/EmailVerifyPurpose" > EmailVerifyPurpose< / a > ;
< a href = "/constructor/emailVerificationCode" > emailVerificationCode< / a > #922e55a9 code:< a href = "/type/string" > string< / a > = < a href = "/type/EmailVerification" > EmailVerification< / a > ;
< a href = "/constructor/emailVerificationGoogle" > emailVerificationGoogle< / a > #db909ec2 token:< a href = "/type/string" > string< / a > = < a href = "/type/EmailVerification" > EmailVerification< / a > ;
< a href = "/constructor/emailVerificationApple" > emailVerificationApple< / a > #96d074fd token:< a href = "/type/string" > string< / a > = < a href = "/type/EmailVerification" > EmailVerification< / a > ;< br >
< a href = "/constructor/account.emailVerified" > account.emailVerified< / a > #2b96cd1b email:< a href = "/type/string" > string< / a > = < a href = "/type/account.EmailVerified" > account.EmailVerified< / a > ;
< a href = "/constructor/account.emailVerifiedLogin" > account.emailVerifiedLogin< / a > #e1bb0d61 email:< a href = "/type/string" > string< / a > sent_code:< a href = "/type/auth.SentCode" > auth.SentCode< / a > = < a href = "/type/account.EmailVerified" > account.EmailVerified< / a > ;< br >
< a href = "/constructor/premiumSubscriptionOption" > premiumSubscriptionOption< / a > #b6f11ebe flags:< a href = "/type/%23" > #< / a > months:< a href = "/type/int" > int< / a > currency:< a href = "/type/string" > string< / a > amount:< a href = "/type/long" > long< / a > bot_url:< a href = "/type/string" > string< / a > store_product:flags.0?< a href = "/type/string" > string< / a > = < a href = "/type/PremiumSubscriptionOption" > PremiumSubscriptionOption< / a > ;< br >
< a href = "/constructor/inputStickerSetEmojiGenericAnimations" > inputStickerSetEmojiGenericAnimations< / a > #04c4d4ce = < a href = "/type/InputStickerSet" > InputStickerSet< / a > ;
< a href = "/constructor/inputStickerSetEmojiDefaultStatuses" > inputStickerSetEmojiDefaultStatuses< / a > #29d0f5ee = < a href = "/type/InputStickerSet" > InputStickerSet< / a > ;< br >
< a href = "/constructor/sendAsPeer" > sendAsPeer< / a > #b81c7034 flags:< a href = "/type/%23" > #< / a > premium_required:flags.0?< a href = "/constructor/true" > true< / a > peer:< a href = "/type/Peer" > Peer< / a > = < a href = "/type/SendAsPeer" > SendAsPeer< / a > ;< br >
---functions---< br >
< a href = "/method/auth.signIn" > auth.signIn< / a > #8d52a951 flags:< a href = "/type/%23" > #< / a > phone_number:< a href = "/type/string" > string< / a > phone_code_hash:< a href = "/type/string" > string< / a > phone_code:flags.0?< a href = "/type/string" > string< / a > email_verification:flags.1?< a href = "/type/EmailVerification" > EmailVerification< / a > = < a href = "/type/auth.Authorization" > auth.Authorization< / a > ;< br >
< a href = "/method/messages.sendMessage" > messages.sendMessage< / a > #0d9d75a4 flags:< a href = "/type/%23" > #< / a > no_webpage:flags.1?< a href = "/constructor/true" > true< / a > silent:flags.5?< a href = "/constructor/true" > true< / a > background:flags.6?< a href = "/constructor/true" > true< / a > clear_draft:flags.7?< a href = "/constructor/true" > true< / a > noforwards:flags.14?< a href = "/constructor/true" > true< / a > update_stickersets_order:flags.15?< a href = "/constructor/true" > true< / a > peer:< a href = "/type/InputPeer" > InputPeer< / a > reply_to_msg_id:flags.0?< a href = "/type/int" > int< / a > message:< a href = "/type/string" > string< / a > random_id:< a href = "/type/long" > long< / a > reply_markup:flags.2?< a href = "/type/ReplyMarkup" > ReplyMarkup< / a > entities:flags.3?< a href = "/type/Vector%20t" > Vector< / a > < < a href = "/type/MessageEntity" > MessageEntity< / a > > schedule_date:flags.10?< a href = "/type/int" > int< / a > send_as:flags.13?< a href = "/type/InputPeer" > InputPeer< / a > = < a href = "/type/Updates" > Updates< / a > ;
< a href = "/method/messages.sendMedia" > messages.sendMedia< / a > #e25ff8e0 flags:< a href = "/type/%23" > #< / a > silent:flags.5?< a href = "/constructor/true" > true< / a > background:flags.6?< a href = "/constructor/true" > true< / a > clear_draft:flags.7?< a href = "/constructor/true" > true< / a > noforwards:flags.14?< a href = "/constructor/true" > true< / a > update_stickersets_order:flags.15?< a href = "/constructor/true" > true< / a > peer:< a href = "/type/InputPeer" > InputPeer< / a > reply_to_msg_id:flags.0?< a href = "/type/int" > int< / a > media:< a href = "/type/InputMedia" > InputMedia< / a > message:< a href = "/type/string" > string< / a > random_id:< a href = "/type/long" > long< / a > reply_markup:flags.2?< a href = "/type/ReplyMarkup" > ReplyMarkup< / a > entities:flags.3?< a href = "/type/Vector%20t" > Vector< / a > < < a href = "/type/MessageEntity" > MessageEntity< / a > > schedule_date:flags.10?< a href = "/type/int" > int< / a > send_as:flags.13?< a href = "/type/InputPeer" > InputPeer< / a > = < a href = "/type/Updates" > Updates< / a > ;
< a href = "/method/messages.sendMultiMedia" > messages.sendMultiMedia< / a > #f803138f flags:< a href = "/type/%23" > #< / a > silent:flags.5?< a href = "/constructor/true" > true< / a > background:flags.6?< a href = "/constructor/true" > true< / a > clear_draft:flags.7?< a href = "/constructor/true" > true< / a > noforwards:flags.14?< a href = "/constructor/true" > true< / a > update_stickersets_order:flags.15?< a href = "/constructor/true" > true< / a > peer:< a href = "/type/InputPeer" > InputPeer< / a > reply_to_msg_id:flags.0?< a href = "/type/int" > int< / a > multi_media:< a href = "/type/Vector%20t" > Vector< / a > < < a href = "/type/InputSingleMedia" > InputSingleMedia< / a > > schedule_date:flags.10?< a href = "/type/int" > int< / a > send_as:flags.13?< a href = "/type/InputPeer" > InputPeer< / a > = < a href = "/type/Updates" > Updates< / a > ;< br >
< a href = "/method/account.sendVerifyEmailCode" > account.sendVerifyEmailCode< / a > #98e037bb purpose:< a href = "/type/EmailVerifyPurpose" > EmailVerifyPurpose< / a > email:< a href = "/type/string" > string< / a > = < a href = "/type/account.SentEmailCode" > account.SentEmailCode< / a > ;
< a href = "/method/account.verifyEmail" > account.verifyEmail< / a > #032da4cf purpose:< a href = "/type/EmailVerifyPurpose" > EmailVerifyPurpose< / a > verification:< a href = "/type/EmailVerification" > EmailVerification< / a > = < a href = "/type/account.EmailVerified" > account.EmailVerified< / a > ;< br >
< 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 > ;
< 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 > ;
< 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 > ;
< 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/messages.requestWebView" > messages.requestWebView< / a > #fc87a53c flags:< a href = "/type/%23" > #< / a > from_bot_menu:flags.4?< a href = "/constructor/true" > true< / a > silent:flags.5?< a href = "/constructor/true" > true< / a > peer:< a href = "/type/InputPeer" > InputPeer< / a > bot:< a href = "/type/InputUser" > InputUser< / a > url:flags.1?< a href = "/type/string" > string< / a > start_param:flags.3?< a href = "/type/string" > string< / a > theme_params:flags.2?< a href = "/type/DataJSON" > DataJSON< / a > platform:< a href = "/type/string" > string< / a > reply_to_msg_id:flags.0?< a href = "/type/int" > int< / a > send_as:flags.13?< a href = "/type/InputPeer" > InputPeer< / a > = < a href = "/type/WebViewResult" > WebViewResult< / a > ;
< a href = "/method/messages.requestSimpleWebView" > messages.requestSimpleWebView< / a > #299bec8e flags:< a href = "/type/%23" > #< / a > bot:< a href = "/type/InputUser" > InputUser< / a > url:< a href = "/type/string" > string< / a > theme_params:flags.0?< a href = "/type/DataJSON" > DataJSON< / a > platform:< a href = "/type/string" > string< / a > = < a href = "/type/SimpleWebViewResult" > SimpleWebViewResult< / a > ;< br >
< a href = "/method/account.updateEmojiStatus" > account.updateEmojiStatus< / a > #fbd3de6b emoji_status:< a href = "/type/EmojiStatus" > EmojiStatus< / a > = < a href = "/type/Bool" > Bool< / a > ;
< a href = "/method/account.getDefaultEmojiStatuses" > account.getDefaultEmojiStatuses< / a > #d6753386 hash:< a href = "/type/long" > long< / a > = < a href = "/type/account.EmojiStatuses" > account.EmojiStatuses< / a > ;
< a href = "/method/account.getRecentEmojiStatuses" > account.getRecentEmojiStatuses< / a > #0f578105 hash:< a href = "/type/long" > long< / a > = < a href = "/type/account.EmojiStatuses" > account.EmojiStatuses< / a > ;
< a href = "/method/account.clearRecentEmojiStatuses" > account.clearRecentEmojiStatuses< / a > #18201aae = < a href = "/type/Bool" > Bool< / a > ;< br >
< 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 > ;
< 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 > ;
< 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 > ;< br > < / code > < / pre > < / div >
< h3 > < a class = "anchor" href = "#layer-144" id = "layer-144" name = "layer-144" > < i class = "anchor-icon" > < / i > < / a > < a href = "/schema?layer=144" > Layer 144< / a > < / h3 >
< p > Users can now send < a href = "/api/custom-emoji" > custom emojis< / a > , < a href = "/api/premium#gifting-telegram-premium" > gift Telegram Premium< / a > to other users, and < a href = "/constructor/inputWebFileAudioAlbumThumbLocation" > download album covers for any music file< / a > .< br >
Also introducing new < a href = "https://telegram.org/blog/custom-emoji#privacy-settings-for-voice-messages" > voice message privacy settings< / a > and support for additional < a href = "/api/payments" > payment methods< / a > .< / p >
< p > The < a href = "/schema/end-to-end" > E2E schema< / a > was updated to account for previous changes in the main schema (< a href = "/api/custom-emoji" > custom emojis< / a > +< a href = "/api/entities" > spoiler entities< / a > ).< / p >
< h4 > < a class = "anchor" href = "#schema-changes" id = "schema-changes" name = "schema-changes" > < i class = "anchor-icon" > < / i > < / a > Schema changes< / h4 >
< h5 > < a class = "anchor" href = "#new-methods" id = "new-methods" name = "new-methods" > < i class = "anchor-icon" > < / i > < / a > New Methods< / h5 >
< ul >
< li > Added < a href = "/method/messages.getCustomEmojiDocuments" > messages.getCustomEmojiDocuments< / a > - Fetch < a href = "/api/custom-emoji" > custom emoji stickers »< / a > .< / li >
< li > Added < a href = "/method/messages.getEmojiStickers" > messages.getEmojiStickers< / a > - Gets the list of currently installed < a href = "/api/custom-emoji" > custom emoji stickersets< / a > .< / li >
< li > Added < a href = "/method/messages.getFeaturedEmojiStickers" > messages.getFeaturedEmojiStickers< / a > - Gets featured custom emoji stickersets.< / li >
< / ul >
< h5 > < a class = "anchor" href = "#changed-methods" id = "changed-methods" name = "changed-methods" > < i class = "anchor-icon" > < / i > < / a > Changed Methods< / h5 >
< ul >
< li > Added < strong > emojis< / strong > parameter in < a href = "/method/messages.reorderStickerSets" > messages.reorderStickerSets< / a > < / li >
< li > Added < strong > emojis< / strong > parameter in < a href = "/method/messages.getArchivedStickers" > messages.getArchivedStickers< / a > < / li >
< li > Added < strong > purpose< / strong > parameter, removed < strong > flags< / strong > , < strong > restore< / strong > parameters in < a href = "/method/payments.assignAppStoreTransaction" > payments.assignAppStoreTransaction< / a > < / li >
< li > Added < strong > receipt< / strong > , < strong > purpose< / strong > parameters, removed < strong > purchase_token< / strong > parameter in < a href = "/method/payments.assignPlayMarketTransaction" > payments.assignPlayMarketTransaction< / a > < / li >
< li > Added < strong > purpose< / strong > parameter in < a href = "/method/payments.canPurchasePremium" > payments.canPurchasePremium< / a > < / li >
< / ul >
< h5 > < a class = "anchor" href = "#new-constructors" id = "new-constructors" name = "new-constructors" > < i class = "anchor-icon" > < / i > < / a > New Constructors< / h5 >
< ul >
< li > Added < a href = "/constructor/messageEntityCustomEmoji" > messageEntityCustomEmoji< / a > - Represents a custom emoji. < / li >
< li > Added < a href = "/constructor/documentAttributeCustomEmoji" > documentAttributeCustomEmoji< / a > - Info about a custom emoji< / li >
< li > Added < a href = "/constructor/stickerSetFullCovered" > stickerSetFullCovered< / a > - Stickerset preview with all stickers of the stickerset included. < / li >
< li > Added < a href = "/constructor/inputStorePaymentPremiumSubscription" > inputStorePaymentPremiumSubscription< / a > - Info about a Telegram Premium purchase< / li >
< li > Added < a href = "/constructor/inputStorePaymentGiftPremium" > inputStorePaymentGiftPremium< / a > - Info about a gifted Telegram Premium purchase< / li >
< li > Added < a href = "/constructor/messageActionGiftPremium" > messageActionGiftPremium< / a > - Info about a gifted Telegram Premium subscription< / li >
< li > Added < a href = "/constructor/premiumGiftOption" > premiumGiftOption< / a > - Telegram Premium gift option< / li >
< li > Added < a href = "/constructor/inputStickerSetPremiumGifts" > inputStickerSetPremiumGifts< / a > - Stickers to show when receiving a gifted Telegram Premium subscription< / li >
< li > Added < a href = "/constructor/updateReadFeaturedEmojiStickers" > updateReadFeaturedEmojiStickers< / a > - Some featured < a href = "/api/custom-emoji" > custom emoji stickers< / a > were marked as read< / li >
< li > Added < a href = "/constructor/inputPrivacyKeyVoiceMessages" > inputPrivacyKeyVoiceMessages< / a > - Whether people can send you voice messages< / li >
< li > Added < a href = "/constructor/privacyKeyVoiceMessages" > privacyKeyVoiceMessages< / a > - Whether the user accepts voice messages< / li >
< li > Added < a href = "/constructor/paymentFormMethod" > paymentFormMethod< / a > - Represents an additional payment method< / li >
< li > Added < a href = "/constructor/inputWebFileAudioAlbumThumbLocation" > inputWebFileAudioAlbumThumbLocation< / a > - Used to download an album cover for any music file using < a href = "/method/upload.getWebFile" > upload.getWebFile< / a > , see the < a href = "/api/files#downloading-webfiles" > webfile docs for more info »< / a > .< / li >
< / ul >
< h5 > < a class = "anchor" href = "#changed-constructors" id = "changed-constructors" name = "changed-constructors" > < i class = "anchor-icon" > < / i > < / a > Changed Constructors< / h5 >
< ul >
< li > Added < strong > voice_messages_forbidden< / strong > , < strong > premium_gifts< / strong > parameters in < a href = "/constructor/userFull" > userFull< / a > < / li >
< li > Added < strong > emojis< / strong > , < strong > thumb_document_id< / strong > parameters in < a href = "/constructor/stickerSet" > stickerSet< / a > < / li >
< li > Added < strong > emojis< / strong > parameter in < a href = "/constructor/updateStickerSetsOrder" > updateStickerSetsOrder< / a > < / li >
< li > Added < strong > additional_methods< / strong > parameter, changed type of < strong > saved_credentials< / strong > from < strong > flags.1?PaymentSavedCredentials< / strong > to < strong > flags.1?Vector< PaymentSavedCredentials> < / strong > in < a href = "/constructor/payments.paymentForm" > payments.paymentForm< / a > < / li >
< / ul >
< h4 > < a class = "anchor" href = "#schema" id = "schema" name = "schema" > < i class = "anchor-icon" > < / i > < / a > Schema< / h4 >
< div > < pre > < code > < a href = "/constructor/userFull" > userFull< / a > #c4b1fc3f flags:< a href = "/type/%23" > #< / a > blocked:flags.0?< a href = "/constructor/true" > true< / a > phone_calls_available:flags.4?< a href = "/constructor/true" > true< / a > phone_calls_private:flags.5?< a href = "/constructor/true" > true< / a > can_pin_message:flags.7?< a href = "/constructor/true" > true< / a > has_scheduled:flags.12?< a href = "/constructor/true" > true< / a > video_calls_available:flags.13?< a href = "/constructor/true" > true< / a > voice_messages_forbidden:flags.20?< a href = "/constructor/true" > true< / a > id:< a href = "/type/long" > long< / a > about:flags.1?< a href = "/type/string" > string< / a > settings:< a href = "/type/PeerSettings" > PeerSettings< / a > profile_photo:flags.2?< a href = "/type/Photo" > Photo< / a > notify_settings:< a href = "/type/PeerNotifySettings" > PeerNotifySettings< / a > bot_info:flags.3?< a href = "/type/BotInfo" > BotInfo< / a > pinned_msg_id:flags.6?< a href = "/type/int" > int< / a > common_chats_count:< a href = "/type/int" > int< / a > folder_id:flags.11?< a href = "/type/int" > int< / a > ttl_period:flags.14?< a href = "/type/int" > int< / a > theme_emoticon:flags.15?< a href = "/type/string" > string< / a > private_forward_name:flags.16?< a href = "/type/string" > string< / a > bot_group_admin_rights:flags.17?< a href = "/type/ChatAdminRights" > ChatAdminRights< / a > bot_broadcast_admin_rights:flags.18?< a href = "/type/ChatAdminRights" > ChatAdminRights< / a > premium_gifts:flags.19?< a href = "/type/Vector%20t" > Vector< / a > < < a href = "/type/PremiumGiftOption" > PremiumGiftOption< / a > > = < a href = "/type/UserFull" > UserFull< / a > ;< br >
< a href = "/constructor/stickerSet" > stickerSet< / a > #2dd14edc flags:< a href = "/type/%23" > #< / a > archived:flags.1?< a href = "/constructor/true" > true< / a > official:flags.2?< a href = "/constructor/true" > true< / a > masks:flags.3?< a href = "/constructor/true" > true< / a > animated:flags.5?< a href = "/constructor/true" > true< / a > videos:flags.6?< a href = "/constructor/true" > true< / a > emojis:flags.7?< a href = "/constructor/true" > true< / a > installed_date:flags.0?< a href = "/type/int" > int< / a > id:< a href = "/type/long" > long< / a > access_hash:< a href = "/type/long" > long< / a > title:< a href = "/type/string" > string< / a > short_name:< a href = "/type/string" > string< / a > thumbs:flags.4?< a href = "/type/Vector%20t" > Vector< / a > < < a href = "/type/PhotoSize" > PhotoSize< / a > > thumb_dc_id:flags.4?< a href = "/type/int" > int< / a > thumb_version:flags.4?< a href = "/type/int" > int< / a > thumb_document_id:flags.8?< a href = "/type/long" > long< / a > count:< a href = "/type/int" > int< / a > hash:< a href = "/type/int" > int< / a > = < a href = "/type/StickerSet" > StickerSet< / a > ;< br >
< a href = "/constructor/updateStickerSetsOrder" > updateStickerSetsOrder< / a > #0bb2d201 flags:< a href = "/type/%23" > #< / a > masks:flags.0?< a href = "/constructor/true" > true< / a > emojis:flags.1?< a href = "/constructor/true" > true< / a > order:< a href = "/type/Vector%20t" > Vector< / a > < < a href = "/type/long" > long< / a > > = < a href = "/type/Update" > Update< / a > ;< br >
< a href = "/constructor/payments.paymentForm" > payments.paymentForm< / a > #a0058751 flags:< a href = "/type/%23" > #< / a > can_save_credentials:flags.2?< a href = "/constructor/true" > true< / a > password_missing:flags.3?< a href = "/constructor/true" > true< / a > form_id:< a href = "/type/long" > long< / a > bot_id:< a href = "/type/long" > long< / a > title:< a href = "/type/string" > string< / a > description:< a href = "/type/string" > string< / a > photo:flags.5?< a href = "/type/WebDocument" > WebDocument< / a > invoice:< a href = "/type/Invoice" > Invoice< / a > provider_id:< a href = "/type/long" > long< / a > url:< a href = "/type/string" > string< / a > native_provider:flags.4?< a href = "/type/string" > string< / a > native_params:flags.4?< a href = "/type/DataJSON" > DataJSON< / a > additional_methods:flags.6?< a href = "/type/Vector%20t" > Vector< / a > < < a href = "/type/PaymentFormMethod" > PaymentFormMethod< / a > > saved_info:flags.0?< a href = "/type/PaymentRequestedInfo" > PaymentRequestedInfo< / a > saved_credentials:flags.1?< a href = "/type/Vector%20t" > Vector< / a > < < a href = "/type/PaymentSavedCredentials" > PaymentSavedCredentials< / a > > users:< a href = "/type/Vector%20t" > Vector< / a > < < a href = "/type/User" > User< / a > > = < a href = "/type/payments.PaymentForm" > payments.PaymentForm< / a > ;< br >
< a href = "/constructor/messageEntityCustomEmoji" > messageEntityCustomEmoji< / a > #c8cf05f8 offset:< a href = "/type/int" > int< / a > length:< a href = "/type/int" > int< / a > document_id:< a href = "/type/long" > long< / a > = < a href = "/type/MessageEntity" > MessageEntity< / a > ;< br >
< a href = "/constructor/documentAttributeCustomEmoji" > documentAttributeCustomEmoji< / a > #fd149899 flags:< a href = "/type/%23" > #< / a > free:flags.0?< a href = "/constructor/true" > true< / a > alt:< a href = "/type/string" > string< / a > stickerset:< a href = "/type/InputStickerSet" > InputStickerSet< / a > = < a href = "/type/DocumentAttribute" > DocumentAttribute< / a > ;< br >
< a href = "/constructor/stickerSetFullCovered" > stickerSetFullCovered< / a > #1aed5ee5 set:< a href = "/type/StickerSet" > StickerSet< / a > packs:< a href = "/type/Vector%20t" > Vector< / a > < < a href = "/type/StickerPack" > StickerPack< / a > > documents:< a href = "/type/Vector%20t" > Vector< / a > < < a href = "/type/Document" > Document< / a > > = < a href = "/type/StickerSetCovered" > StickerSetCovered< / a > ;< br >
< a href = "/constructor/inputStorePaymentPremiumSubscription" > inputStorePaymentPremiumSubscription< / a > #a6751e66 flags:< a href = "/type/%23" > #< / a > restore:flags.0?< a href = "/constructor/true" > true< / a > = < a href = "/type/InputStorePaymentPurpose" > InputStorePaymentPurpose< / a > ;
< a href = "/constructor/inputStorePaymentGiftPremium" > inputStorePaymentGiftPremium< / a > #616f7fe8 user_id:< a href = "/type/InputUser" > InputUser< / a > currency:< a href = "/type/string" > string< / a > amount:< a href = "/type/long" > long< / a > = < a href = "/type/InputStorePaymentPurpose" > InputStorePaymentPurpose< / a > ;< br >
< a href = "/constructor/messageActionGiftPremium" > messageActionGiftPremium< / a > #aba0f5c6 currency:< a href = "/type/string" > string< / a > amount:< a href = "/type/long" > long< / a > months:< a href = "/type/int" > int< / a > = < a href = "/type/MessageAction" > MessageAction< / a > ;< br >
< a href = "/constructor/premiumGiftOption" > premiumGiftOption< / a > #74c34319 flags:< a href = "/type/%23" > #< / a > months:< a href = "/type/int" > int< / a > currency:< a href = "/type/string" > string< / a > amount:< a href = "/type/long" > long< / a > bot_url:< a href = "/type/string" > string< / a > store_product:flags.0?< a href = "/type/string" > string< / a > = < a href = "/type/PremiumGiftOption" > PremiumGiftOption< / a > ;< br >
< a href = "/constructor/inputStickerSetPremiumGifts" > inputStickerSetPremiumGifts< / a > #c88b3b02 = < a href = "/type/InputStickerSet" > InputStickerSet< / a > ;< br >
< a href = "/constructor/updateReadFeaturedEmojiStickers" > updateReadFeaturedEmojiStickers< / a > #fb4c496c = < a href = "/type/Update" > Update< / a > ;< br >
< a href = "/constructor/inputPrivacyKeyVoiceMessages" > inputPrivacyKeyVoiceMessages< / a > #aee69d68 = < a href = "/type/InputPrivacyKey" > InputPrivacyKey< / a > ;< br >
< a href = "/constructor/privacyKeyVoiceMessages" > privacyKeyVoiceMessages< / a > #0697f414 = < a href = "/type/PrivacyKey" > PrivacyKey< / a > ;
< a href = "/constructor/paymentFormMethod" > paymentFormMethod< / a > #88f8f21b url:< a href = "/type/string" > string< / a > title:< a href = "/type/string" > string< / a > = < a href = "/type/PaymentFormMethod" > PaymentFormMethod< / a > ;< br >
< a href = "/constructor/inputWebFileAudioAlbumThumbLocation" > inputWebFileAudioAlbumThumbLocation< / a > #f46fe924 flags:< a href = "/type/%23" > #< / a > small:flags.2?< a href = "/constructor/true" > true< / a > document:flags.0?< a href = "/type/InputDocument" > InputDocument< / a > title:flags.1?< a href = "/type/string" > string< / a > performer:flags.1?< a href = "/type/string" > string< / a > = < a href = "/type/InputWebFileLocation" > InputWebFileLocation< / a > ;< br >
---functions---< br >
< a href = "/method/messages.reorderStickerSets" > messages.reorderStickerSets< / a > #78337739 flags:< a href = "/type/%23" > #< / a > masks:flags.0?< a href = "/constructor/true" > true< / a > emojis:flags.1?< a href = "/constructor/true" > true< / a > order:< a href = "/type/Vector%20t" > Vector< / a > < < a href = "/type/long" > long< / a > > = < a href = "/type/Bool" > Bool< / a > ;
< a href = "/method/messages.getArchivedStickers" > messages.getArchivedStickers< / a > #57f17692 flags:< a href = "/type/%23" > #< / a > masks:flags.0?< a href = "/constructor/true" > true< / a > emojis:flags.1?< a href = "/constructor/true" > true< / a > offset_id:< a href = "/type/long" > long< / a > limit:< a href = "/type/int" > int< / a > = < a href = "/type/messages.ArchivedStickers" > messages.ArchivedStickers< / a > ;< br >
< a href = "/method/payments.assignAppStoreTransaction" > payments.assignAppStoreTransaction< / a > #80ed747d receipt:< a href = "/type/bytes" > bytes< / a > purpose:< a href = "/type/InputStorePaymentPurpose" > InputStorePaymentPurpose< / a > = < a href = "/type/Updates" > Updates< / a > ;
< a href = "/method/payments.assignPlayMarketTransaction" > payments.assignPlayMarketTransaction< / a > #dffd50d3 receipt:< a href = "/type/DataJSON" > DataJSON< / a > purpose:< a href = "/type/InputStorePaymentPurpose" > InputStorePaymentPurpose< / a > = < a href = "/type/Updates" > Updates< / a > ;
< a href = "/method/payments.canPurchasePremium" > payments.canPurchasePremium< / a > #9fc19eb6 purpose:< a href = "/type/InputStorePaymentPurpose" > InputStorePaymentPurpose< / a > = < a href = "/type/Bool" > Bool< / a > ;< br >
< a href = "/method/messages.getCustomEmojiDocuments" > messages.getCustomEmojiDocuments< / a > #d9ab0f54 document_id:< a href = "/type/Vector%20t" > Vector< / a > < < a href = "/type/long" > long< / a > > = < a href = "/type/Vector%20t" > Vector< / a > < < a href = "/type/Document" > Document< / a > > ;
< a href = "/method/messages.getEmojiStickers" > messages.getEmojiStickers< / a > #fbfca18f hash:< a href = "/type/long" > long< / a > = < a href = "/type/messages.AllStickers" > messages.AllStickers< / a > ;
< a href = "/method/messages.getFeaturedEmojiStickers" > messages.getFeaturedEmojiStickers< / a > #0ecf6736 hash:< a href = "/type/long" > long< / a > = < a href = "/type/messages.FeaturedStickers" > messages.FeaturedStickers< / a > ;< br > < / code > < / pre > < / div >
< h4 > < a class = "anchor" href = "#end-to-end-schema-changes" id = "end-to-end-schema-changes" name = "end-to-end-schema-changes" > < i class = "anchor-icon" > < / i > < / a > End-to-end schema changes< / h4 >
< h5 > < a class = "anchor" href = "#new-constructors" id = "new-constructors" name = "new-constructors" > < i class = "anchor-icon" > < / i > < / a > New Constructors< / h5 >
< ul >
< li > Added < a href = "/constructor/messageEntitySpoiler" > messageEntitySpoiler< / a > - Message entity representing a spoiler< / li >
< li > Added < a href = "/constructor/messageEntityCustomEmoji" > messageEntityCustomEmoji< / a > - Represents a custom emoji.< / li >
< / ul >
< h4 > < a class = "anchor" href = "#end-to-end-schema" id = "end-to-end-schema" name = "end-to-end-schema" > < i class = "anchor-icon" > < / i > < / a > End-to-end schema< / h4 >
< div > < pre > < code > ===144===< br >
< a href = "/constructor/messageEntitySpoiler" > messageEntitySpoiler< / a > #32ca960f offset:< a href = "/type/int" > int< / a > length:< a href = "/type/int" > int< / a > = < a href = "/type/MessageEntity" > MessageEntity< / a > ;
< a href = "/constructor/messageEntityCustomEmoji" > messageEntityCustomEmoji< / a > #c8cf05f8 offset:< a href = "/type/int" > int< / a > length:< a href = "/type/int" > int< / a > document_id:< a href = "/type/long" > long< / a > = < a href = "/type/MessageEntity" > MessageEntity< / a > ;< br > < / code > < / pre > < / div >
< h3 > < a class = "anchor" href = "#layer-143" id = "layer-143" name = "layer-143" > < i class = "anchor-icon" > < / i > < / a > < a href = "/schema?layer=143" > Layer 143< / a > < / h3 >
< p > < a href = "/api/premium" > Telegram Premium< / a > , < a href = "/api/transcribe" > voice message transcription< / a > , < a href = "/api/links#invoice-links" > invoices< / a > , bot description photos/animations, immediate < a href = "/api/account-deletion" > account deletion< / a > , recurring < a href = "/api/payments" > payments< / a > and < a href = "/api/bots/attach" > attachment menu< / a > improvements.< br >
Also, discussion group admins can now < a href = "/api/discussion#requiring-users-to-join-the-group" > require users to join< / a > before commenting.< / p >
< p > The main and E2E schemes were also modified to eventually support uploading and downloading files bigger than 4GB: the current supported maximum filesize is dynamically specified, and can be fetched from the new < a href = "/api/config#upload-max-fileparts-default" > upload_max_fileparts_default »< / a > and < a href = "/api/config#upload-max-fileparts-premium" > upload_max_fileparts_premium »< / a > app configuration fields.< / p >
< h4 > < a class = "anchor" href = "#schema-changes" id = "schema-changes" name = "schema-changes" > < i class = "anchor-icon" > < / i > < / a > Schema changes< / h4 >
< h5 > < a class = "anchor" href = "#new-methods" id = "new-methods" name = "new-methods" > < i class = "anchor-icon" > < / i > < / a > New Methods< / h5 >
< ul >
< li > Added < a href = "/method/channels.toggleJoinToSend" > channels.toggleJoinToSend< / a > - Set whether all users < a href = "/api/discussion#requiring-users-to-join-the-group" > should join a discussion group in order to comment on a post »< / a > < / li >
< li > Added < a href = "/method/channels.toggleJoinRequest" > channels.toggleJoinRequest< / a > - Set whether all users should < a href = "/api/invites#join-requests" > request admin approval to join the group »< / a > .< / li >
< li > Added < a href = "/method/payments.exportInvoice" > payments.exportInvoice< / a > - Generate an < a href = "/api/links#invoice-links" > invoice deep link< / a > < / li >
< li > Added < a href = "/method/messages.transcribeAudio" > messages.transcribeAudio< / a > - < a href = "/api/transcribe" > Transcribe voice message< / a > < / li >
< li > Added < a href = "/method/messages.rateTranscribedAudio" > messages.rateTranscribedAudio< / a > - Rate < a href = "/api/transcribe" > transcribed voice message< / a > < / li >
< li > Added < a href = "/method/payments.assignAppStoreTransaction" > payments.assignAppStoreTransaction< / a > - Informs server about a purchase made through the App Store: for official applications only.< / li >
< li > Added < a href = "/method/payments.assignPlayMarketTransaction" > payments.assignPlayMarketTransaction< / a > - Informs server about a purchase made through the Play Store: for official applications only.< / li >
< li > Added < a href = "/method/payments.canPurchasePremium" > payments.canPurchasePremium< / a > - Checks whether Telegram Premium purchase is possible. Must be called before in-store Premium purchase, official apps only.< / li >
< li > Added < a href = "/method/help.getPremiumPromo" > help.getPremiumPromo< / a > - Get Telegram Premium promotion information< / li >
< / ul >
< h5 > < a class = "anchor" href = "#changed-methods" id = "changed-methods" name = "changed-methods" > < i class = "anchor-icon" > < / i > < / a > Changed Methods< / h5 >
< ul >
< li > Changed type of < strong > offset< / strong > from < strong > int< / strong > to < strong > long< / strong > in < a href = "/method/upload.getFile" > upload.getFile< / a > < / li >
< li > Added < strong > flags< / strong > , < strong > password< / strong > parameters in < a href = "/method/account.deleteAccount" > account.deleteAccount< / a > < / li >
< li > Changed type of < strong > size< / strong > from < strong > int< / strong > to < strong > long< / strong > in < a href = "/method/messages.getDocumentByHash" > messages.getDocumentByHash< / a > < / li >
< li > Added < strong > invoice< / strong > parameter, removed < strong > peer< / strong > , < strong > msg_id< / strong > parameters in < a href = "/method/payments.getPaymentForm" > payments.getPaymentForm< / a > < / li >
< li > Added < strong > invoice< / strong > parameter, removed < strong > peer< / strong > , < strong > msg_id< / strong > parameters in < a href = "/method/payments.validateRequestedInfo" > payments.validateRequestedInfo< / a > < / li >
< li > Added < strong > invoice< / strong > parameter, removed < strong > peer< / strong > , < strong > msg_id< / strong > parameters in < a href = "/method/payments.sendPaymentForm" > payments.sendPaymentForm< / a > < / li >
< li > Changed type of < strong > offset< / strong > from < strong > int< / strong > to < strong > long< / strong > in < a href = "/method/upload.getCdnFile" > upload.getCdnFile< / a > < / li >
< li > Changed type of < strong > offset< / strong > from < strong > int< / strong > to < strong > long< / strong > in < a href = "/method/upload.getCdnFileHashes" > upload.getCdnFileHashes< / a > < / li >
< li > Changed type of < strong > offset< / strong > from < strong > int< / strong > to < strong > long< / strong > in < a href = "/method/upload.getFileHashes" > upload.getFileHashes< / a > < / li >
< li > Changed type of < strong > file_max_size< / strong > from < strong > flags.5?int< / strong > to < strong > flags.5?long< / strong > in < a href = "/method/account.initTakeoutSession" > account.initTakeoutSession< / a > < / li >
< li > Added < strong > send_as< / strong > parameter in < a href = "/method/messages.requestWebView" > messages.requestWebView< / a > < / li >
< li > Added < strong > send_as< / strong > parameter in < a href = "/method/messages.prolongWebView" > messages.prolongWebView< / a > < / li >
< / ul >
< h5 > < a class = "anchor" href = "#new-constructors" id = "new-constructors" name = "new-constructors" > < i class = "anchor-icon" > < / i > < / a > New Constructors< / h5 >
< ul >
< li > Added < a href = "/constructor/attachMenuPeerTypeSameBotPM" > attachMenuPeerTypeSameBotPM< / a > - The bot attachment menu entry is available in the chat with the bot that offers it< / li >
< li > Added < a href = "/constructor/attachMenuPeerTypeBotPM" > attachMenuPeerTypeBotPM< / a > - The bot attachment menu entry is available in private chats with other bots (excluding the bot that offers the current attachment menu)< / li >
< li > Added < a href = "/constructor/attachMenuPeerTypePM" > attachMenuPeerTypePM< / a > - The bot attachment menu entry is available in private chats with other users (not bots)< / li >
< li > Added < a href = "/constructor/attachMenuPeerTypeChat" > attachMenuPeerTypeChat< / a > - The bot attachment menu entry is available in < a href = "/api/channel" > groups and supergroups< / a > < / li >
< li > Added < a href = "/constructor/attachMenuPeerTypeBroadcast" > attachMenuPeerTypeBroadcast< / a > - The bot attachment menu entry is available in channels< / li >
< li > Added < a href = "/constructor/chatInvitePublicJoinRequests" > chatInvitePublicJoinRequests< / a > - Used in updates and in the channel log to indicate when a user is requesting to join or has joined a < a href = "/api/discussion#requiring-users-to-join-the-group" > discussion group< / a > < / li >
< li > Added < a href = "/constructor/inputInvoiceMessage" > inputInvoiceMessage< / a > - An invoice contained in a < a href = "/constructor/messageMediaInvoice" > messageMediaInvoice< / a > message.< / li >
< li > Added < a href = "/constructor/inputInvoiceSlug" > inputInvoiceSlug< / a > - An invoice slug taken from an < a href = "/api/links#invoice-links" > invoice deep link< / a > or from the < a href = "/api/config#premium-invoice-slug" > < code > premium_invoice_slug< / code > app config parameter »< / a > < / li >
< li > Added < a href = "/constructor/payments.exportedInvoice" > payments.exportedInvoice< / a > - Exported < a href = "/api/links#invoice-links" > invoice deep link< / a > < / li >
< li > Added < a href = "/constructor/updateTranscribedAudio" > updateTranscribedAudio< / a > - A pending < a href = "/api/transcribe" > voice message transcription »< / a > initiated with < a href = "/method/messages.transcribeAudio" > messages.transcribeAudio< / a > was updated.< / li >
< li > Added < a href = "/constructor/messages.transcribedAudio" > messages.transcribedAudio< / a > - < a href = "/api/transcribe" > Transcribed text from a voice message »< / a > < / li >
< li > Added < a href = "/constructor/dialogFilterDefault" > dialogFilterDefault< / a > - Used only when reordering folders to indicate the default (all chats) folder.< / li >
< li > Added < a href = "/constructor/help.premiumPromo" > help.premiumPromo< / a > - Telegram Premium promotion information< / li >
< / ul >
< h5 > < a class = "anchor" href = "#changed-constructors" id = "changed-constructors" name = "changed-constructors" > < i class = "anchor-icon" > < / i > < / a > Changed Constructors< / h5 >
< ul >
< li > Changed type of < strong > size< / strong > from < strong > int< / strong > to < strong > long< / strong > in < a href = "/constructor/encryptedFile" > encryptedFile< / a > < / li >
< li > Added < strong > nopremium< / strong > parameter in < a href = "/constructor/messageMediaDocument" > messageMediaDocument< / a > < / li >
< li > Changed type of < strong > size< / strong > from < strong > int< / strong > to < strong > long< / strong > in < a href = "/constructor/document" > document< / a > < / li >
< li > Added < strong > premium< / strong > , < strong > attach_menu_enabled< / strong > parameters in < a href = "/constructor/user" > user< / a > < / li >
< li > Added < strong > flags< / strong > , < strong > description_photo< / strong > , < strong > description_document< / strong > parameters, changed type of < strong > user_id< / strong > from < strong > long< / strong > to < strong > flags.0?long< / strong > , < strong > description< / strong > from < strong > string< / strong > to < strong > flags.1?string< / strong > , < strong > commands< / strong > from < strong > Vector< BotCommand> < / strong > to < strong > flags.2?Vector< BotCommand> < / strong > , < strong > menu_button< / strong > from < strong > BotMenuButton< / strong > to < strong > flags.3?BotMenuButton< / strong > in < a href = "/constructor/botInfo" > botInfo< / a > < / li >
< li > Added < strong > join_to_send< / strong > , < strong > join_request< / strong > parameters in < a href = "/constructor/channel" > channel< / a > < / li >
< li > Added < strong > flags< / strong > , < strong > premium< / strong > parameters in < a href = "/constructor/messages.featuredStickers" > messages.featuredStickers< / a > < / li >
< li > Added < strong > recurring< / strong > , < strong > recurring_terms_url< / strong > parameters in < a href = "/constructor/invoice" > invoice< / a > < / li >
< li > Added < strong > recurring_init< / strong > , < strong > recurring_used< / strong > parameters in < a href = "/constructor/messageActionPaymentSentMe" > messageActionPaymentSentMe< / a > < / li >
< li > Added < strong > flags< / strong > , < strong > recurring_init< / strong > , < strong > recurring_used< / strong > , < strong > invoice_slug< / strong > parameters in < a href = "/constructor/messageActionPaymentSent" > messageActionPaymentSent< / a > < / li >
< li > Added < strong > title< / strong > , < strong > description< / strong > , < strong > photo< / strong > parameters in < a href = "/constructor/payments.paymentForm" > payments.paymentForm< / a > < / li >
< li > Changed type of < strong > offset< / strong > from < strong > int< / strong > to < strong > long< / strong > in < a href = "/constructor/fileHash" > fileHash< / a > < / li >
< li > Changed type of < strong > size< / strong > from < strong > int< / strong > to < strong > long< / strong > in < a href = "/constructor/secureFile" > secureFile< / a > < / li >
< li > Changed type of < strong > video_size_max< / strong > from < strong > int< / strong > to < strong > long< / strong > , < strong > file_size_max< / strong > from < strong > int< / strong > to < strong > long< / strong > in < a href = "/constructor/autoDownloadSettings" > autoDownloadSettings< / a > < / li >
< li > Added < strong > premium< / strong > parameter in < a href = "/constructor/availableReaction" > availableReaction< / a > < / li >
< li > Added < strong > has_settings< / strong > , < strong > peer_types< / strong > parameters in < a href = "/constructor/attachMenuBot" > attachMenuBot< / a > < / li >
< / ul >
< h4 > < a class = "anchor" href = "#push-notification-changes" id = "push-notification-changes" name = "push-notification-changes" > < i class = "anchor-icon" > < / i > < / a > PUSH notification changes< / h4 >
< h5 > < a class = "anchor" href = "#new-push-notifications" id = "new-push-notifications" name = "new-push-notifications" > < i class = "anchor-icon" > < / i > < / a > New PUSH notifications< / h5 >
< ul >
< li > Added < a href = "/api/push-updates#possible-notifications" > MESSAGE_RECURRING_PAY< / a > - < code > You were charged {2} by {1}< / code > < / li >
< / ul >
< h4 > < a class = "anchor" href = "#schema" id = "schema" name = "schema" > < i class = "anchor-icon" > < / i > < / a > Schema< / h4 >
< div > < pre > < code > < a href = "/constructor/encryptedFile" > encryptedFile< / a > #a8008cd8 id:< a href = "/type/long" > long< / a > access_hash:< a href = "/type/long" > long< / a > size:< a href = "/type/long" > long< / a > dc_id:< a href = "/type/int" > int< / a > key_fingerprint:< a href = "/type/int" > int< / a > = < a href = "/type/EncryptedFile" > EncryptedFile< / a > ;< br >
< a href = "/constructor/messageMediaDocument" > messageMediaDocument< / a > #9cb070d7 flags:< a href = "/type/%23" > #< / a > nopremium:flags.3?< a href = "/constructor/true" > true< / a > document:flags.0?< a href = "/type/Document" > Document< / a > ttl_seconds:flags.2?< a href = "/type/int" > int< / a > = < a href = "/type/MessageMedia" > MessageMedia< / a > ;< br >
< a href = "/constructor/document" > document< / a > #8fd4c4d8 flags:< a href = "/type/%23" > #< / a > id:< a href = "/type/long" > long< / a > access_hash:< a href = "/type/long" > long< / a > file_reference:< a href = "/type/bytes" > bytes< / a > date:< a href = "/type/int" > int< / a > mime_type:< a href = "/type/string" > string< / a > size:< a href = "/type/long" > long< / a > thumbs:flags.0?< a href = "/type/Vector%20t" > Vector< / a > < < a href = "/type/PhotoSize" > PhotoSize< / a > > video_thumbs:flags.1?< a href = "/type/Vector%20t" > Vector< / a > < < a href = "/type/VideoSize" > VideoSize< / a > > dc_id:< a href = "/type/int" > int< / a > attributes:< a href = "/type/Vector%20t" > Vector< / a > < < a href = "/type/DocumentAttribute" > DocumentAttribute< / a > > = < a href = "/type/Document" > Document< / a > ;< br >
< a href = "/constructor/user" > user< / a > #3ff6ecb0 flags:< a href = "/type/%23" > #< / a > self:flags.10?< a href = "/constructor/true" > true< / a > contact:flags.11?< a href = "/constructor/true" > true< / a > mutual_contact:flags.12?< a href = "/constructor/true" > true< / a > deleted:flags.13?< a href = "/constructor/true" > true< / a > bot:flags.14?< a href = "/constructor/true" > true< / a > bot_chat_history:flags.15?< a href = "/constructor/true" > true< / a > bot_nochats:flags.16?< a href = "/constructor/true" > true< / a > verified:flags.17?< a href = "/constructor/true" > true< / a > restricted:flags.18?< a href = "/constructor/true" > true< / a > min:flags.20?< a href = "/constructor/true" > true< / a > bot_inline_geo:flags.21?< a href = "/constructor/true" > true< / a > support:flags.23?< a href = "/constructor/true" > true< / a > scam:flags.24?< a href = "/constructor/true" > true< / a > apply_min_photo:flags.25?< a href = "/constructor/true" > true< / a > fake:flags.26?< a href = "/constructor/true" > true< / a > bot_attach_menu:flags.27?< a href = "/constructor/true" > true< / a > premium:flags.28?< a href = "/constructor/true" > true< / a > attach_menu_enabled:flags.29?< a href = "/constructor/true" > true< / a > id:< a href = "/type/long" > long< / a > access_hash:flags.0?< a href = "/type/long" > long< / a > first_name:flags.1?< a href = "/type/string" > string< / a > last_name:flags.2?< a href = "/type/string" > string< / a > username:flags.3?< a href = "/type/string" > string< / a > phone:flags.4?< a href = "/type/string" > string< / a > photo:flags.5?< a href = "/type/UserProfilePhoto" > UserProfilePhoto< / a > status:flags.6?< a href = "/type/UserStatus" > UserStatus< / a > bot_info_version:flags.14?< a href = "/type/int" > int< / a > restriction_reason:flags.18?< a href = "/type/Vector%20t" > Vector< / a > < < a href = "/type/RestrictionReason" > RestrictionReason< / a > > bot_inline_placeholder:flags.19?< a href = "/type/string" > string< / a > lang_code:flags.22?< a href = "/type/string" > string< / a > = < a href = "/type/User" > User< / a > ;< br >
< a href = "/constructor/botInfo" > botInfo< / a > #8f300b57 flags:< a href = "/type/%23" > #< / a > user_id:flags.0?< a href = "/type/long" > long< / a > description:flags.1?< a href = "/type/string" > string< / a > description_photo:flags.4?< a href = "/type/Photo" > Photo< / a > description_document:flags.5?< a href = "/type/Document" > Document< / a > commands:flags.2?< a href = "/type/Vector%20t" > Vector< / a > < < a href = "/type/BotCommand" > BotCommand< / a > > menu_button:flags.3?< a href = "/type/BotMenuButton" > BotMenuButton< / a > = < a href = "/type/BotInfo" > BotInfo< / a > ;< br >
< a href = "/constructor/channel" > channel< / a > #8261ac61 flags:< a href = "/type/%23" > #< / a > creator:flags.0?< a href = "/constructor/true" > true< / a > left:flags.2?< a href = "/constructor/true" > true< / a > broadcast:flags.5?< a href = "/constructor/true" > true< / a > verified:flags.7?< a href = "/constructor/true" > true< / a > megagroup:flags.8?< a href = "/constructor/true" > true< / a > restricted:flags.9?< a href = "/constructor/true" > true< / a > signatures:flags.11?< a href = "/constructor/true" > true< / a > min:flags.12?< a href = "/constructor/true" > true< / a > scam:flags.19?< a href = "/constructor/true" > true< / a > has_link:flags.20?< a href = "/constructor/true" > true< / a > has_geo:flags.21?< a href = "/constructor/true" > true< / a > slowmode_enabled:flags.22?< a href = "/constructor/true" > true< / a > call_active:flags.23?< a href = "/constructor/true" > true< / a > call_not_empty:flags.24?< a href = "/constructor/true" > true< / a > fake:flags.25?< a href = "/constructor/true" > true< / a > gigagroup:flags.26?< a href = "/constructor/true" > true< / a > noforwards:flags.27?< a href = "/constructor/true" > true< / a > join_to_send:flags.28?< a href = "/constructor/true" > true< / a > join_request:flags.29?< a href = "/constructor/true" > true< / a > id:< a href = "/type/long" > long< / a > access_hash:flags.13?< a href = "/type/long" > long< / a > title:< a href = "/type/string" > string< / a > username:flags.6?< a href = "/type/string" > string< / a > photo:< a href = "/type/ChatPhoto" > ChatPhoto< / a > date:< a href = "/type/int" > int< / a > restriction_reason:flags.9?< a href = "/type/Vector%20t" > Vector< / a > < < a href = "/type/RestrictionReason" > RestrictionReason< / a > > admin_rights:flags.14?< a href = "/type/ChatAdminRights" > ChatAdminRights< / a > banned_rights:flags.15?< a href = "/type/ChatBannedRights" > ChatBannedRights< / a > default_banned_rights:flags.18?< a href = "/type/ChatBannedRights" > ChatBannedRights< / a > participants_count:flags.17?< a href = "/type/int" > int< / a > = < a href = "/type/Chat" > Chat< / a > ;< br >
< a href = "/constructor/messages.featuredStickers" > messages.featuredStickers< / a > #be382906 flags:< a href = "/type/%23" > #< / a > premium:flags.0?< a href = "/constructor/true" > true< / a > hash:< a href = "/type/long" > long< / a > count:< a href = "/type/int" > int< / a > sets:< a href = "/type/Vector%20t" > Vector< / a > < < a href = "/type/StickerSetCovered" > StickerSetCovered< / a > > unread:< a href = "/type/Vector%20t" > Vector< / a > < < a href = "/type/long" > long< / a > > = < a href = "/type/messages.FeaturedStickers" > messages.FeaturedStickers< / a > ;< br >
< a href = "/constructor/invoice" > invoice< / a > #3e85a91b flags:< a href = "/type/%23" > #< / a > test:flags.0?< a href = "/constructor/true" > true< / a > name_requested:flags.1?< a href = "/constructor/true" > true< / a > phone_requested:flags.2?< a href = "/constructor/true" > true< / a > email_requested:flags.3?< a href = "/constructor/true" > true< / a > shipping_address_requested:flags.4?< a href = "/constructor/true" > true< / a > flexible:flags.5?< a href = "/constructor/true" > true< / a > phone_to_provider:flags.6?< a href = "/constructor/true" > true< / a > email_to_provider:flags.7?< a href = "/constructor/true" > true< / a > recurring:flags.9?< a href = "/constructor/true" > true< / a > currency:< a href = "/type/string" > string< / a > prices:< a href = "/type/Vector%20t" > Vector< / a > < < a href = "/type/LabeledPrice" > LabeledPrice< / a > > max_tip_amount:flags.8?< a href = "/type/long" > long< / a > suggested_tip_amounts:flags.8?< a href = "/type/Vector%20t" > Vector< / a > < < a href = "/type/long" > long< / a > > recurring_terms_url:flags.9?< a href = "/type/string" > string< / a > = < a href = "/type/Invoice" > Invoice< / a > ;< br >
< a href = "/constructor/messageActionPaymentSentMe" > messageActionPaymentSentMe< / a > #8f31b327 flags:< a href = "/type/%23" > #< / a > recurring_init:flags.2?< a href = "/constructor/true" > true< / a > recurring_used:flags.3?< a href = "/constructor/true" > true< / a > currency:< a href = "/type/string" > string< / a > total_amount:< a href = "/type/long" > long< / a > payload:< a href = "/type/bytes" > bytes< / a > info:flags.0?< a href = "/type/PaymentRequestedInfo" > PaymentRequestedInfo< / a > shipping_option_id:flags.1?< a href = "/type/string" > string< / a > charge:< a href = "/type/PaymentCharge" > PaymentCharge< / a > = < a href = "/type/MessageAction" > MessageAction< / a > ;
< a href = "/constructor/messageActionPaymentSent" > messageActionPaymentSent< / a > #96163f56 flags:< a href = "/type/%23" > #< / a > recurring_init:flags.2?< a href = "/constructor/true" > true< / a > recurring_used:flags.3?< a href = "/constructor/true" > true< / a > currency:< a href = "/type/string" > string< / a > total_amount:< a href = "/type/long" > long< / a > invoice_slug:flags.0?< a href = "/type/string" > string< / a > = < a href = "/type/MessageAction" > MessageAction< / a > ;< br >
< a href = "/constructor/payments.paymentForm" > payments.paymentForm< / a > #b0133b37 flags:< a href = "/type/%23" > #< / a > can_save_credentials:flags.2?< a href = "/constructor/true" > true< / a > password_missing:flags.3?< a href = "/constructor/true" > true< / a > form_id:< a href = "/type/long" > long< / a > bot_id:< a href = "/type/long" > long< / a > title:< a href = "/type/string" > string< / a > description:< a href = "/type/string" > string< / a > photo:flags.5?< a href = "/type/WebDocument" > WebDocument< / a > invoice:< a href = "/type/Invoice" > Invoice< / a > provider_id:< a href = "/type/long" > long< / a > url:< a href = "/type/string" > string< / a > native_provider:flags.4?< a href = "/type/string" > string< / a > native_params:flags.4?< a href = "/type/DataJSON" > DataJSON< / a > saved_info:flags.0?< a href = "/type/PaymentRequestedInfo" > PaymentRequestedInfo< / a > saved_credentials:flags.1?< a href = "/type/PaymentSavedCredentials" > PaymentSavedCredentials< / a > users:< a href = "/type/Vector%20t" > Vector< / a > < < a href = "/type/User" > User< / a > > = < a href = "/type/payments.PaymentForm" > payments.PaymentForm< / a > ;< br >
< a href = "/constructor/fileHash" > fileHash< / a > #f39b035c offset:< a href = "/type/long" > long< / a > limit:< a href = "/type/int" > int< / a > hash:< a href = "/type/bytes" > bytes< / a > = < a href = "/type/FileHash" > FileHash< / a > ;< br >
< a href = "/constructor/secureFile" > secureFile< / a > #7d09c27e id:< a href = "/type/long" > long< / a > access_hash:< a href = "/type/long" > long< / a > size:< a href = "/type/long" > long< / a > dc_id:< a href = "/type/int" > int< / a > date:< a href = "/type/int" > int< / a > file_hash:< a href = "/type/bytes" > bytes< / a > secret:< a href = "/type/bytes" > bytes< / a > = < a href = "/type/SecureFile" > SecureFile< / a > ;< br >
< a href = "/constructor/autoDownloadSettings" > autoDownloadSettings< / a > #8efab953 flags:< a href = "/type/%23" > #< / a > disabled:flags.0?< a href = "/constructor/true" > true< / a > video_preload_large:flags.1?< a href = "/constructor/true" > true< / a > audio_preload_next:flags.2?< a href = "/constructor/true" > true< / a > phonecalls_less_data:flags.3?< a href = "/constructor/true" > true< / a > photo_size_max:< a href = "/type/int" > int< / a > video_size_max:< a href = "/type/long" > long< / a > file_size_max:< a href = "/type/long" > long< / a > video_upload_maxbitrate:< a href = "/type/int" > int< / a > = < a href = "/type/AutoDownloadSettings" > AutoDownloadSettings< / 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 > ;
< a href = "/constructor/attachMenuBot" > attachMenuBot< / a > #c8aa2cd2 flags:< a href = "/type/%23" > #< / a > inactive:flags.0?< a href = "/constructor/true" > true< / a > has_settings:flags.1?< a href = "/constructor/true" > true< / a > bot_id:< a href = "/type/long" > long< / a > short_name:< a href = "/type/string" > string< / a > peer_types:< a href = "/type/Vector%20t" > Vector< / a > < < a href = "/type/AttachMenuPeerType" > AttachMenuPeerType< / a > > icons:< a href = "/type/Vector%20t" > Vector< / a > < < a href = "/type/AttachMenuBotIcon" > AttachMenuBotIcon< / a > > = < a href = "/type/AttachMenuBot" > AttachMenuBot< / a > ;
< a href = "/constructor/attachMenuPeerTypeSameBotPM" > attachMenuPeerTypeSameBotPM< / a > #7d6be90e = < a href = "/type/AttachMenuPeerType" > AttachMenuPeerType< / a > ;
< a href = "/constructor/attachMenuPeerTypeBotPM" > attachMenuPeerTypeBotPM< / a > #c32bfa1a = < a href = "/type/AttachMenuPeerType" > AttachMenuPeerType< / a > ;
< a href = "/constructor/attachMenuPeerTypePM" > attachMenuPeerTypePM< / a > #f146d31f = < a href = "/type/AttachMenuPeerType" > AttachMenuPeerType< / a > ;
< a href = "/constructor/attachMenuPeerTypeChat" > attachMenuPeerTypeChat< / a > #0509113f = < a href = "/type/AttachMenuPeerType" > AttachMenuPeerType< / a > ;
< a href = "/constructor/attachMenuPeerTypeBroadcast" > attachMenuPeerTypeBroadcast< / a > #7bfbdefc = < a href = "/type/AttachMenuPeerType" > AttachMenuPeerType< / a > ;< br >
< a href = "/constructor/chatInvitePublicJoinRequests" > chatInvitePublicJoinRequests< / a > #ed107ab7 = < a href = "/type/ExportedChatInvite" > ExportedChatInvite< / a > ;< br >
< a href = "/constructor/inputInvoiceMessage" > inputInvoiceMessage< / a > #c5b56859 peer:< a href = "/type/InputPeer" > InputPeer< / a > msg_id:< a href = "/type/int" > int< / a > = < a href = "/type/InputInvoice" > InputInvoice< / a > ;
< a href = "/constructor/inputInvoiceSlug" > inputInvoiceSlug< / a > #c326caef slug:< a href = "/type/string" > string< / a > = < a href = "/type/InputInvoice" > InputInvoice< / a > ;< br >
< a href = "/constructor/payments.exportedInvoice" > payments.exportedInvoice< / a > #aed0cbd9 url:< a href = "/type/string" > string< / a > = < a href = "/type/payments.ExportedInvoice" > payments.ExportedInvoice< / a > ;< br >
< a href = "/constructor/updateTranscribedAudio" > updateTranscribedAudio< / a > #0084cd5a flags:< a href = "/type/%23" > #< / a > pending:flags.0?< a href = "/constructor/true" > true< / a > peer:< a href = "/type/Peer" > Peer< / a > msg_id:< a href = "/type/int" > int< / a > transcription_id:< a href = "/type/long" > long< / a > text:< a href = "/type/string" > string< / a > = < a href = "/type/Update" > Update< / a > ;< br >
< a href = "/constructor/messages.transcribedAudio" > messages.transcribedAudio< / a > #93752c52 flags:< a href = "/type/%23" > #< / a > pending:flags.0?< a href = "/constructor/true" > true< / a > transcription_id:< a href = "/type/long" > long< / a > text:< a href = "/type/string" > string< / a > = < a href = "/type/messages.TranscribedAudio" > messages.TranscribedAudio< / a > ;< br >
< a href = "/constructor/dialogFilterDefault" > dialogFilterDefault< / a > #363293ae = < a href = "/type/DialogFilter" > DialogFilter< / a > ;< br >
< a href = "/constructor/help.premiumPromo" > help.premiumPromo< / a > #8a4f3c29 status_text:< a href = "/type/string" > string< / a > status_entities:< a href = "/type/Vector%20t" > Vector< / a > < < a href = "/type/MessageEntity" > MessageEntity< / a > > video_sections:< a href = "/type/Vector%20t" > Vector< / a > < < a href = "/type/string" > string< / a > > videos:< a href = "/type/Vector%20t" > Vector< / a > < < a href = "/type/Document" > Document< / a > > currency:< a href = "/type/string" > string< / a > monthly_amount:< a href = "/type/long" > long< / a > users:< a href = "/type/Vector%20t" > Vector< / a > < < a href = "/type/User" > User< / a > > = < a href = "/type/help.PremiumPromo" > help.PremiumPromo< / a > ;< br >
---functions---< br >
< a href = "/method/upload.getFile" > upload.getFile< / a > #be5335be flags:< a href = "/type/%23" > #< / a > precise:flags.0?< a href = "/constructor/true" > true< / a > cdn_supported:flags.1?< a href = "/constructor/true" > true< / a > location:< a href = "/type/InputFileLocation" > InputFileLocation< / a > offset:< a href = "/type/long" > long< / a > limit:< a href = "/type/int" > int< / a > = < a href = "/type/upload.File" > upload.File< / a > ;< br >
< a href = "/method/account.deleteAccount" > account.deleteAccount< / a > #a2c0cf74 flags:< a href = "/type/%23" > #< / a > reason:< a href = "/type/string" > string< / a > password:flags.0?< a href = "/type/InputCheckPasswordSRP" > InputCheckPasswordSRP< / a > = < a href = "/type/Bool" > Bool< / a > ;< br >
< a href = "/method/messages.getDocumentByHash" > messages.getDocumentByHash< / a > #b1f2061f sha256:< a href = "/type/bytes" > bytes< / a > size:< a href = "/type/long" > long< / a > mime_type:< a href = "/type/string" > string< / a > = < a href = "/type/Document" > Document< / a > ;< br >
< a href = "/method/payments.getPaymentForm" > payments.getPaymentForm< / a > #37148dbb flags:< a href = "/type/%23" > #< / a > invoice:< a href = "/type/InputInvoice" > InputInvoice< / a > theme_params:flags.0?< a href = "/type/DataJSON" > DataJSON< / a > = < a href = "/type/payments.PaymentForm" > payments.PaymentForm< / a > ;
< a href = "/method/payments.validateRequestedInfo" > payments.validateRequestedInfo< / a > #b6c8f12b flags:< a href = "/type/%23" > #< / a > save:flags.0?< a href = "/constructor/true" > true< / a > invoice:< a href = "/type/InputInvoice" > InputInvoice< / a > info:< a href = "/type/PaymentRequestedInfo" > PaymentRequestedInfo< / a > = < a href = "/type/payments.ValidatedRequestedInfo" > payments.ValidatedRequestedInfo< / a > ;
< a href = "/method/payments.sendPaymentForm" > payments.sendPaymentForm< / a > #2d03522f flags:< a href = "/type/%23" > #< / a > form_id:< a href = "/type/long" > long< / a > invoice:< a href = "/type/InputInvoice" > InputInvoice< / a > requested_info_id:flags.0?< a href = "/type/string" > string< / a > shipping_option_id:flags.1?< a href = "/type/string" > string< / a > credentials:< a href = "/type/InputPaymentCredentials" > InputPaymentCredentials< / a > tip_amount:flags.2?< a href = "/type/long" > long< / a > = < a href = "/type/payments.PaymentResult" > payments.PaymentResult< / a > ;< br >
< a href = "/method/upload.getCdnFile" > upload.getCdnFile< / a > #395f69da file_token:< a href = "/type/bytes" > bytes< / a > offset:< a href = "/type/long" > long< / a > limit:< a href = "/type/int" > int< / a > = < a href = "/type/upload.CdnFile" > upload.CdnFile< / a > ;
< a href = "/method/upload.getCdnFileHashes" > upload.getCdnFileHashes< / a > #91dc3f31 file_token:< a href = "/type/bytes" > bytes< / a > offset:< a href = "/type/long" > long< / a > = < a href = "/type/Vector%20t" > Vector< / a > < < a href = "/type/FileHash" > FileHash< / a > > ;
< a href = "/method/upload.getFileHashes" > upload.getFileHashes< / a > #9156982a location:< a href = "/type/InputFileLocation" > InputFileLocation< / a > offset:< a href = "/type/long" > long< / a > = < a href = "/type/Vector%20t" > Vector< / a > < < a href = "/type/FileHash" > FileHash< / a > > ;< br >
< a href = "/method/account.initTakeoutSession" > account.initTakeoutSession< / a > #8ef3eab0 flags:< a href = "/type/%23" > #< / a > contacts:flags.0?< a href = "/constructor/true" > true< / a > message_users:flags.1?< a href = "/constructor/true" > true< / a > message_chats:flags.2?< a href = "/constructor/true" > true< / a > message_megagroups:flags.3?< a href = "/constructor/true" > true< / a > message_channels:flags.4?< a href = "/constructor/true" > true< / a > files:flags.5?< a href = "/constructor/true" > true< / a > file_max_size:flags.5?< a href = "/type/long" > long< / a > = < a href = "/type/account.Takeout" > account.Takeout< / a > ;< br >
< a href = "/method/messages.requestWebView" > messages.requestWebView< / a > #91b15831 flags:< a href = "/type/%23" > #< / a > from_bot_menu:flags.4?< a href = "/constructor/true" > true< / a > silent:flags.5?< a href = "/constructor/true" > true< / a > peer:< a href = "/type/InputPeer" > InputPeer< / a > bot:< a href = "/type/InputUser" > InputUser< / a > url:flags.1?< a href = "/type/string" > string< / a > start_param:flags.3?< a href = "/type/string" > string< / a > theme_params:flags.2?< a href = "/type/DataJSON" > DataJSON< / a > reply_to_msg_id:flags.0?< a href = "/type/int" > int< / a > send_as:flags.13?< a href = "/type/InputPeer" > InputPeer< / a > = < a href = "/type/WebViewResult" > WebViewResult< / a > ;
< a href = "/method/messages.prolongWebView" > messages.prolongWebView< / a > #ea5fbcce flags:< a href = "/type/%23" > #< / a > silent:flags.5?< a href = "/constructor/true" > true< / a > peer:< a href = "/type/InputPeer" > InputPeer< / a > bot:< a href = "/type/InputUser" > InputUser< / a > query_id:< a href = "/type/long" > long< / a > reply_to_msg_id:flags.0?< a href = "/type/int" > int< / a > send_as:flags.13?< a href = "/type/InputPeer" > InputPeer< / a > = < a href = "/type/Bool" > Bool< / a > ;< br >
< a href = "/method/channels.toggleJoinToSend" > channels.toggleJoinToSend< / a > #e4cb9580 channel:< a href = "/type/InputChannel" > InputChannel< / a > enabled:< a href = "/type/Bool" > Bool< / a > = < a href = "/type/Updates" > Updates< / a > ;
< a href = "/method/channels.toggleJoinRequest" > channels.toggleJoinRequest< / a > #4c2985b6 channel:< a href = "/type/InputChannel" > InputChannel< / a > enabled:< a href = "/type/Bool" > Bool< / a > = < a href = "/type/Updates" > Updates< / a > ;< br >
< a href = "/method/payments.exportInvoice" > payments.exportInvoice< / a > #0f91b065 invoice_media:< a href = "/type/InputMedia" > InputMedia< / a > = < a href = "/type/payments.ExportedInvoice" > payments.ExportedInvoice< / a > ;< br >
< a href = "/method/messages.transcribeAudio" > messages.transcribeAudio< / a > #269e9a49 peer:< a href = "/type/InputPeer" > InputPeer< / a > msg_id:< a href = "/type/int" > int< / a > = < a href = "/type/messages.TranscribedAudio" > messages.TranscribedAudio< / a > ;
< a href = "/method/messages.rateTranscribedAudio" > messages.rateTranscribedAudio< / a > #7f1d072f peer:< a href = "/type/InputPeer" > InputPeer< / a > msg_id:< a href = "/type/int" > int< / a > transcription_id:< a href = "/type/long" > long< / a > good:< a href = "/type/Bool" > Bool< / a > = < a href = "/type/Bool" > Bool< / a > ;< br >
< a href = "/method/payments.assignAppStoreTransaction" > payments.assignAppStoreTransaction< / a > #0d5ccfd0 flags:< a href = "/type/%23" > #< / a > restore:flags.0?< a href = "/constructor/true" > true< / a > receipt:< a href = "/type/bytes" > bytes< / a > = < a href = "/type/Updates" > Updates< / a > ;
< a href = "/method/payments.assignPlayMarketTransaction" > payments.assignPlayMarketTransaction< / a > #4faa4aed purchase_token:< a href = "/type/string" > string< / a > = < a href = "/type/Updates" > Updates< / a > ;
< a href = "/method/payments.canPurchasePremium" > payments.canPurchasePremium< / a > #aa6a90c8 = < a href = "/type/Bool" > Bool< / a > ;< br >
< a href = "/method/help.getPremiumPromo" > help.getPremiumPromo< / a > #b81b93d4 = < a href = "/type/help.PremiumPromo" > help.PremiumPromo< / a > ;< br > < / code > < / pre > < / div >
< h4 > < a class = "anchor" href = "#end-to-end-schema-changes" id = "end-to-end-schema-changes" name = "end-to-end-schema-changes" > < i class = "anchor-icon" > < / i > < / a > End-to-end schema changes< / h4 >
< h5 > < a class = "anchor" href = "#new-constructors" id = "new-constructors" name = "new-constructors" > < i class = "anchor-icon" > < / i > < / a > New Constructors< / h5 >
< ul >
< li > Added < a href = "/constructor/decryptedMessageMediaDocument" > decryptedMessageMediaDocument< / a > - Document attached to a message in a secret chat.< / li >
< / ul >
< h4 > < a class = "anchor" href = "#end-to-end-schema" id = "end-to-end-schema" name = "end-to-end-schema" > < i class = "anchor-icon" > < / i > < / a > End-to-end schema< / h4 >
< div > < pre > < code > ===143===< br >
< a href = "/constructor/decryptedMessageMediaDocument" > decryptedMessageMediaDocument< / a > #8e4c064c thumb:< a href = "/type/bytes" > bytes< / a > thumb_w:< a href = "/type/int" > int< / a > thumb_h:< a href = "/type/int" > int< / a > mime_type:< a href = "/type/string" > string< / a > size:< a href = "/type/long" > long< / a > key:< a href = "/type/bytes" > bytes< / a > iv:< a href = "/type/bytes" > bytes< / a > attributes:< a href = "/type/Vector%20t" > Vector< / a > < < a href = "/type/DocumentAttribute" > DocumentAttribute< / a > > caption:< a href = "/type/string" > string< / a > = < a href = "/type/DecryptedMessageMedia" > DecryptedMessageMedia< / a > ;< br > < / code > < / pre > < / div >
< h3 > < a class = "anchor" href = "#layer-142" id = "layer-142" name = "layer-142" > < i class = "anchor-icon" > < / i > < / a > < a href = "/schema?layer=142" > Layer 142< / a > < / h3 >
< p > Allow TCP WebRTC connections.< / p >
< h4 > < a class = "anchor" href = "#schema-changes" id = "schema-changes" name = "schema-changes" > < i class = "anchor-icon" > < / i > < / a > Schema changes< / h4 >
< h5 > < a class = "anchor" href = "#changed-constructors" id = "changed-constructors" name = "changed-constructors" > < i class = "anchor-icon" > < / i > < / a > Changed Constructors< / h5 >
< ul >
< li > Added < strong > flags< / strong > , < strong > tcp< / strong > parameters in < a href = "/constructor/phoneConnection" > phoneConnection< / a > < / li >
< / ul >
< h4 > < a class = "anchor" href = "#schema" id = "schema" name = "schema" > < i class = "anchor-icon" > < / i > < / a > Schema< / h4 >
< div > < pre > < code > < a href = "/constructor/phoneConnection" > phoneConnection< / a > #9cc123c7 flags:< a href = "/type/%23" > #< / a > tcp:flags.0?< a href = "/constructor/true" > true< / a > id:< a href = "/type/long" > long< / a > ip:< a href = "/type/string" > string< / a > ipv6:< a href = "/type/string" > string< / a > port:< a href = "/type/int" > int< / a > peer_tag:< a href = "/type/bytes" > bytes< / a > = < a href = "/type/PhoneConnection" > PhoneConnection< / a > ;< br > < / code > < / pre > < / div >
< h3 > < a class = "anchor" href = "#layer-140" id = "layer-140" name = "layer-140" > < i class = "anchor-icon" > < / i > < / a > < a href = "/schema?layer=140" > Layer 140< / a > < / h3 >
< p > Introducing:< / p >
< ul >
< li > < a href = "/api/bots/attach" > Attachment menus< / a > < / li >
< li > < a href = "/api/bots/webapps" > Bot web apps< / a > < / li >
< li > < a href = "/api/bots/menu" > Custom bot menu buttons< / a > < / li >
< li > < a href = "/api/rights#suggested-bot-rights" > Suggested bot admin rights< / a > < / li >
< li > < a href = "/api/ringtones" > Ringtones< / a > < / li >
< li > < a href = "/method/channels.deleteHistory" > Deletion of all our supergroup messages for everyone< / a > < / li >
< li > < a href = "/constructor/sponsoredMessage" > Recommended sponsored messages< / a > < / li >
< li > A < a href = "/constructor/config" > < code > force_try_ipv6< / code > config flag< / a > indicating that clients must prioritize IPv6 over IPv4 for all MTProto transports, even if an IPv4 connection is available.< / li >
< li > A < a href = "/constructor/dcOption" > < code > this_port_only< / code > DC port flag< / a > indicating that clients must use only the specified port, without trying any other port as specified in the < a href = "/mtproto/transports#tcp" > transport docs< / a > .< / li >
< li > A < a href = "/constructor/channelFull" > < code > can_delete_channel< / code > channelFull flag< / a > indicating whether the current user can delete a channel or supergroup.< / li >
< / ul >
< h4 > < a class = "anchor" href = "#schema-changes" id = "schema-changes" name = "schema-changes" > < i class = "anchor-icon" > < / i > < / a > Schema changes< / h4 >
< h5 > < a class = "anchor" href = "#new-methods" id = "new-methods" name = "new-methods" > < i class = "anchor-icon" > < / i > < / a > New Methods< / h5 >
< ul >
< li > Added < a href = "/method/messages.getAttachMenuBots" > messages.getAttachMenuBots< / a > - Returns installed attachment menu < a href = "/api/bots/attach" > bot web apps »< / a > < / li >
< li > Added < a href = "/method/messages.getAttachMenuBot" > messages.getAttachMenuBot< / a > - Returns attachment menu entry for a < a href = "/api/bots/attach" > bot web app that can be launched from the attachment menu »< / a > < / li >
< li > Added < a href = "/method/messages.toggleBotInAttachMenu" > messages.toggleBotInAttachMenu< / a > - Enable or disable < a href = "/api/bots/attach" > web bot attachment menu »< / a > < / li >
< li > Added < a href = "/method/messages.requestWebView" > messages.requestWebView< / a > - Open a < a href = "/bots/webapps" > bot web app< / a > , sending over user information after user confirmation.< / li >
< li > Added < a href = "/method/messages.prolongWebView" > messages.prolongWebView< / a > - Indicate to the server (from the user side) that the user is still using a web app.< / li >
< li > Added < a href = "/method/messages.requestSimpleWebView" > messages.requestSimpleWebView< / a > - Open a < a href = "/api/bots/webapps" > bot web app< / a > .< / li >
< li > Added < a href = "/method/messages.sendWebViewResultMessage" > messages.sendWebViewResultMessage< / a > - Terminate webview interaction started with < a href = "/method/messages.requestWebView" > messages.requestWebView< / a > , sending the specified message to the chat on behalf of the user.< / li >
< li > Added < a href = "/method/messages.sendWebViewData" > messages.sendWebViewData< / a > - Used by the user to relay data from an opened < a href = "/api/bots/webapps" > reply keyboard bot web app< / a > to the bot that owns it.< / li >
< li > Added < a href = "/method/bots.setBotMenuButton" > bots.setBotMenuButton< / a > - Sets the < a href = "/api/bots/menu" > menu button action »< / a > for a given user or for all users< / li >
< li > Added < a href = "/method/bots.getBotMenuButton" > bots.getBotMenuButton< / a > - Gets the menu button action for a given user or for all users, previously set using < a href = "/method/bots.setBotMenuButton" > bots.setBotMenuButton< / a > ; users can see this information in the < a href = "/constructor/botInfo" > botInfo< / a > constructor.< / li >
< li > Added < a href = "/method/account.getSavedRingtones" > account.getSavedRingtones< / a > - Fetch saved notification sounds< / li >
< li > Added < a href = "/method/account.saveRingtone" > account.saveRingtone< / a > - Save or remove saved notification sound.< / li >
< li > Added < a href = "/method/account.uploadRingtone" > account.uploadRingtone< / a > - Upload notification sound, use < a href = "/method/account.saveRingtone" > account.saveRingtone< / a > to convert it and add it to the list of saved notification sounds.< / li >
< li > Added < a href = "/method/bots.setBotBroadcastDefaultAdminRights" > bots.setBotBroadcastDefaultAdminRights< / a > - Set the default < a href = "/api/rights#suggested-bot-rights" > suggested admin rights< / a > for bots being added as admins to channels, see < a href = "/api/rights#suggested-bot-rights" > here for more info on how to handle them »< / a > .< / li >
< li > Added < a href = "/method/bots.setBotGroupDefaultAdminRights" > bots.setBotGroupDefaultAdminRights< / a > - Set the default < a href = "/api/rights#suggested-bot-rights" > suggested admin rights< / a > for bots being added as admins to groups, see < a href = "/api/rights#suggested-bot-rights" > here for more info on how to handle them »< / a > .< / li >
< li > Added < a href = "/method/phone.saveCallLog" > phone.saveCallLog< / a > - Save phone call debug information< / li >
< / ul >
< h5 > < a class = "anchor" href = "#changed-methods" id = "changed-methods" name = "changed-methods" > < i class = "anchor-icon" > < / i > < / a > Changed Methods< / h5 >
< ul >
< li > Changed type of < a href = "/method/channels.deleteHistory" > channels.deleteHistory< / a > from < strong > Bool< / strong > to < strong > Updates< / strong > < / li >
< li > Added < strong > flags< / strong > , < strong > for_everyone< / strong > parameters in < a href = "/method/channels.deleteHistory" > channels.deleteHistory< / a > < / li >
< / ul >
< h5 > < a class = "anchor" href = "#new-constructors" id = "new-constructors" name = "new-constructors" > < i class = "anchor-icon" > < / i > < / a > New Constructors< / h5 >
< ul >
< li > Added < a href = "/constructor/attachMenuBotIconColor" > attachMenuBotIconColor< / a > - Represents an attachment menu icon color for < a href = "/api/bots/attach" > bot web apps »< / a > < / li >
< li > Added < a href = "/constructor/attachMenuBotIcon" > attachMenuBotIcon< / a > - Represents an attachment menu icon for < a href = "/api/bots/attach" > bot web apps »< / a > < / li >
< li > Added < a href = "/constructor/attachMenuBot" > attachMenuBot< / a > - Represents a < a href = "/api/bots/attach" > bot web app that can be launched from the attachment menu »< / a > < / li >
< li > Added < a href = "/constructor/attachMenuBotsNotModified" > attachMenuBotsNotModified< / a > - The list of bot web apps hasn't changed< / li >
< li > Added < a href = "/constructor/attachMenuBots" > attachMenuBots< / a > - Represents a list of < a href = "/api/bots/attach" > bot web apps that can be launched from the attachment menu »< / a > < / li >
< li > Added < a href = "/constructor/attachMenuBotsBot" > attachMenuBotsBot< / a > - Represents a < a href = "/api/bots/attach" > bot web app that can be launched from the attachment menu »< / a > < / li >
< li > Added < a href = "/constructor/updateAttachMenuBots" > updateAttachMenuBots< / a > - The list of installed < a href = "/api/bots/attach" > attachment menu entries »< / a > has changed, use < a href = "/method/messages.getAttachMenuBots" > messages.getAttachMenuBots< / a > to fetch the updated list.< / li >
< li > Added < a href = "/constructor/webViewResultUrl" > webViewResultUrl< / a > - Contains the webview URL with appropriate theme and user info parameters added< / li >
< li > Added < a href = "/constructor/simpleWebViewResultUrl" > simpleWebViewResultUrl< / a > - Contains the webview URL with appropriate theme parameters added< / li >
< li > Added < a href = "/constructor/webViewMessageSent" > webViewMessageSent< / a > - Info about a sent inline webview message< / li >
< li > Added < a href = "/constructor/updateWebViewResultSent" > updateWebViewResultSent< / a > - Indicates to a bot that a webview was closed and an inline message was sent on behalf of the user using < a href = "/method/messages.sendWebViewResultMessage" > messages.sendWebViewResultMessage< / a > < / li >
< li > Added < a href = "/constructor/keyboardButtonWebView" > keyboardButtonWebView< / a > - Button to open a < a href = "/api/bots/webapps" > bot web app< / a > using < a href = "/method/messages.requestWebView" > messages.requestWebView< / a > , sending over user information after user confirmation.< / li >
< li > Added < a href = "/constructor/keyboardButtonSimpleWebView" > keyboardButtonSimpleWebView< / a > - Button to open a < a href = "/api/bots/webapps" > bot web app< / a > using < a href = "/method/messages.requestSimpleWebView" > messages.requestSimpleWebView< / a > , without sending user information to the web app.< / li >
< li > Added < a href = "/constructor/messageActionWebViewDataSentMe" > messageActionWebViewDataSentMe< / a > - Data from an opened < a href = "/api/bots/webapps" > reply keyboard bot web app< / a > was relayed to the bot that owns it (bot side service message).< / li >
< li > Added < a href = "/constructor/messageActionWebViewDataSent" > messageActionWebViewDataSent< / a > - Data from an opened < a href = "/api/bots/webapps" > reply keyboard bot web app< / a > was relayed to the bot that owns it (user side service message).< / li >
< li > Added < a href = "/constructor/updateBotMenuButton" > updateBotMenuButton< / a > - The menu button behavior for the specified bot has changed< / li >
< li > Added < a href = "/constructor/botMenuButtonDefault" > botMenuButtonDefault< / a > - Placeholder < a href = "/api/bots/menu" > bot menu button< / a > never returned to users: see < a href = "/api/bots/menu" > the docs for more info< / a > .< / li >
< li > Added < a href = "/constructor/botMenuButtonCommands" > botMenuButtonCommands< / a > - < a href = "/api/bots/menu" > Bot menu button< / a > that opens the bot command list when clicked.< / li >
< li > Added < a href = "/constructor/botMenuButton" > botMenuButton< / a > - < a href = "/api/bots/menu" > Bot menu button< / a > that opens a < a href = "/api/bots/webapps" > web app< / a > when clicked.< / li >
< li > Added < a href = "/constructor/account.savedRingtonesNotModified" > account.savedRingtonesNotModified< / a > - The notification sound list hasn't changed.< / li >
< li > Added < a href = "/constructor/account.savedRingtones" > account.savedRingtones< / a > - A list of saved notification sounds< / li >
< li > Added < a href = "/constructor/updateSavedRingtones" > updateSavedRingtones< / a > - The list of saved notification sounds has changed, use < a href = "/method/account.getSavedRingtones" > account.getSavedRingtones< / a > to fetch the new list.< / li >
< li > Added < a href = "/constructor/notificationSoundDefault" > notificationSoundDefault< / a > - Indicates the default notification sound should be used< / li >
< li > Added < a href = "/constructor/notificationSoundNone" > notificationSoundNone< / a > - No notification sound should be used< / li >
< li > Added < a href = "/constructor/notificationSoundLocal" > notificationSoundLocal< / a > - Indicates a specific local notification sound should be used< / li >
< li > Added < a href = "/constructor/notificationSoundRingtone" > notificationSoundRingtone< / a > - A specific previously uploaded notification sound should be used< / li >
< li > Added < a href = "/constructor/account.savedRingtone" > account.savedRingtone< / a > - The notification sound was already in MP3 format and was saved without any modification< / li >
< li > Added < a href = "/constructor/account.savedRingtoneConverted" > account.savedRingtoneConverted< / a > - The notification sound was not in MP3 format and was successfully converted and saved, use the returned < a href = "/type/Document" > Document< / a > to refer to the notification sound from now on< / li >
< / ul >
< h5 > < a class = "anchor" href = "#changed-constructors" id = "changed-constructors" name = "changed-constructors" > < i class = "anchor-icon" > < / i > < / a > Changed Constructors< / h5 >
< ul >
< li > Removed < strong > kicked< / strong > parameter in < a href = "/constructor/chat" > chat< / a > < / li >
< li > Changed type of < strong > sound< / strong > from < strong > flags.3?string< / strong > to < strong > flags.3?NotificationSound< / strong > in < a href = "/constructor/inputPeerNotifySettings" > inputPeerNotifySettings< / a > < / li >
< li > Added < strong > ios_sound< / strong > , < strong > android_sound< / strong > , < strong > other_sound< / strong > parameters, removed < strong > sound< / strong > parameter in < a href = "/constructor/peerNotifySettings" > peerNotifySettings< / a > < / li >
< li > Added < strong > bot_group_admin_rights< / strong > , < strong > bot_broadcast_admin_rights< / strong > parameters in < a href = "/constructor/userFull" > userFull< / a > < / li >
< li > Added < strong > this_port_only< / strong > parameter in < a href = "/constructor/dcOption" > dcOption< / a > < / li >
< li > Added < strong > force_try_ipv6< / strong > parameter in < a href = "/constructor/config" > config< / a > < / li >
< li > Added < strong > bot_attach_menu< / strong > parameter in < a href = "/constructor/user" > user< / a > < / li >
< li > Added < strong > menu_button< / strong > parameter in < a href = "/constructor/botInfo" > botInfo< / a > < / li >
< li > Added < strong > flags2< / strong > , < strong > can_delete_channel< / strong > parameters in < a href = "/constructor/channelFull" > channelFull< / a > < / li >
< li > Added < strong > recommended< / strong > parameter in < a href = "/constructor/sponsoredMessage" > sponsoredMessage< / a > < / li >
< / ul >
< h4 > < a class = "anchor" href = "#schema" id = "schema" name = "schema" > < i class = "anchor-icon" > < / i > < / a > Schema< / h4 >
< div > < pre > < code > < a href = "/constructor/chat" > chat< / a > #41cbf256 flags:< a href = "/type/%23" > #< / a > creator:flags.0?< a href = "/constructor/true" > true< / a > left:flags.2?< a href = "/constructor/true" > true< / a > deactivated:flags.5?< a href = "/constructor/true" > true< / a > call_active:flags.23?< a href = "/constructor/true" > true< / a > call_not_empty:flags.24?< a href = "/constructor/true" > true< / a > noforwards:flags.25?< a href = "/constructor/true" > true< / a > id:< a href = "/type/long" > long< / a > title:< a href = "/type/string" > string< / a > photo:< a href = "/type/ChatPhoto" > ChatPhoto< / a > participants_count:< a href = "/type/int" > int< / a > date:< a href = "/type/int" > int< / a > version:< a href = "/type/int" > int< / a > migrated_to:flags.6?< a href = "/type/InputChannel" > InputChannel< / a > admin_rights:flags.14?< a href = "/type/ChatAdminRights" > ChatAdminRights< / a > default_banned_rights:flags.18?< a href = "/type/ChatBannedRights" > ChatBannedRights< / a > = < a href = "/type/Chat" > Chat< / a > ;< br >
< a href = "/constructor/inputPeerNotifySettings" > inputPeerNotifySettings< / a > #df1f002b flags:< a href = "/type/%23" > #< / a > show_previews:flags.0?< a href = "/type/Bool" > Bool< / a > silent:flags.1?< a href = "/type/Bool" > Bool< / a > mute_until:flags.2?< a href = "/type/int" > int< / a > sound:flags.3?< a href = "/type/NotificationSound" > NotificationSound< / a > = < a href = "/type/InputPeerNotifySettings" > InputPeerNotifySettings< / a > ;< br >
< a href = "/constructor/peerNotifySettings" > peerNotifySettings< / a > #a83b0426 flags:< a href = "/type/%23" > #< / a > show_previews:flags.0?< a href = "/type/Bool" > Bool< / a > silent:flags.1?< a href = "/type/Bool" > Bool< / a > mute_until:flags.2?< a href = "/type/int" > int< / a > ios_sound:flags.3?< a href = "/type/NotificationSound" > NotificationSound< / a > android_sound:flags.4?< a href = "/type/NotificationSound" > NotificationSound< / a > other_sound:flags.5?< a href = "/type/NotificationSound" > NotificationSound< / a > = < a href = "/type/PeerNotifySettings" > PeerNotifySettings< / a > ;< br >
< a href = "/constructor/userFull" > userFull< / a > #8c72ea81 flags:< a href = "/type/%23" > #< / a > blocked:flags.0?< a href = "/constructor/true" > true< / a > phone_calls_available:flags.4?< a href = "/constructor/true" > true< / a > phone_calls_private:flags.5?< a href = "/constructor/true" > true< / a > can_pin_message:flags.7?< a href = "/constructor/true" > true< / a > has_scheduled:flags.12?< a href = "/constructor/true" > true< / a > video_calls_available:flags.13?< a href = "/constructor/true" > true< / a > id:< a href = "/type/long" > long< / a > about:flags.1?< a href = "/type/string" > string< / a > settings:< a href = "/type/PeerSettings" > PeerSettings< / a > profile_photo:flags.2?< a href = "/type/Photo" > Photo< / a > notify_settings:< a href = "/type/PeerNotifySettings" > PeerNotifySettings< / a > bot_info:flags.3?< a href = "/type/BotInfo" > BotInfo< / a > pinned_msg_id:flags.6?< a href = "/type/int" > int< / a > common_chats_count:< a href = "/type/int" > int< / a > folder_id:flags.11?< a href = "/type/int" > int< / a > ttl_period:flags.14?< a href = "/type/int" > int< / a > theme_emoticon:flags.15?< a href = "/type/string" > string< / a > private_forward_name:flags.16?< a href = "/type/string" > string< / a > bot_group_admin_rights:flags.17?< a href = "/type/ChatAdminRights" > ChatAdminRights< / a > bot_broadcast_admin_rights:flags.18?< a href = "/type/ChatAdminRights" > ChatAdminRights< / a > = < a href = "/type/UserFull" > UserFull< / a > ;< br >
< a href = "/constructor/dcOption" > dcOption< / a > #18b7a10d flags:< a href = "/type/%23" > #< / a > ipv6:flags.0?< a href = "/constructor/true" > true< / a > media_only:flags.1?< a href = "/constructor/true" > true< / a > tcpo_only:flags.2?< a href = "/constructor/true" > true< / a > cdn:flags.3?< a href = "/constructor/true" > true< / a > static:flags.4?< a href = "/constructor/true" > true< / a > this_port_only:flags.5?< a href = "/constructor/true" > true< / a > id:< a href = "/type/int" > int< / a > ip_address:< a href = "/type/string" > string< / a > port:< a href = "/type/int" > int< / a > secret:flags.10?< a href = "/type/bytes" > bytes< / a > = < a href = "/type/DcOption" > DcOption< / a > ;< br >
< a href = "/constructor/config" > config< / a > #330b4067 flags:< a href = "/type/%23" > #< / a > phonecalls_enabled:flags.1?< a href = "/constructor/true" > true< / a > default_p2p_contacts:flags.3?< a href = "/constructor/true" > true< / a > preload_featured_stickers:flags.4?< a href = "/constructor/true" > true< / a > ignore_phone_entities:flags.5?< 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 > pfs_enabled:flags.13?< 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 > saved_gifs_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 > stickers_faved_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 > pinned_dialogs_count_max:< a href = "/type/int" > int< / a > pinned_infolder_count_max:< 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 > = < a href = "/type/Config" > Config< / a > ;< br >
< a href = "/constructor/user" > user< / a > #3ff6ecb0 flags:< a href = "/type/%23" > #< / a > self:flags.10?< a href = "/constructor/true" > true< / a > contact:flags.11?< a href = "/constructor/true" > true< / a > mutual_contact:flags.12?< a href = "/constructor/true" > true< / a > deleted:flags.13?< a href = "/constructor/true" > true< / a > bot:flags.14?< a href = "/constructor/true" > true< / a > bot_chat_history:flags.15?< a href = "/constructor/true" > true< / a > bot_nochats:flags.16?< a href = "/constructor/true" > true< / a > verified:flags.17?< a href = "/constructor/true" > true< / a > restricted:flags.18?< a href = "/constructor/true" > true< / a > min:flags.20?< a href = "/constructor/true" > true< / a > bot_inline_geo:flags.21?< a href = "/constructor/true" > true< / a > support:flags.23?< a href = "/constructor/true" > true< / a > scam:flags.24?< a href = "/constructor/true" > true< / a > apply_min_photo:flags.25?< a href = "/constructor/true" > true< / a > fake:flags.26?< a href = "/constructor/true" > true< / a > bot_attach_menu:flags.27?< a href = "/constructor/true" > true< / a > id:< a href = "/type/long" > long< / a > access_hash:flags.0?< a href = "/type/long" > long< / a > first_name:flags.1?< a href = "/type/string" > string< / a > last_name:flags.2?< a href = "/type/string" > string< / a > username:flags.3?< a href = "/type/string" > string< / a > phone:flags.4?< a href = "/type/string" > string< / a > photo:flags.5?< a href = "/type/UserProfilePhoto" > UserProfilePhoto< / a > status:flags.6?< a href = "/type/UserStatus" > UserStatus< / a > bot_info_version:flags.14?< a href = "/type/int" > int< / a > restriction_reason:flags.18?< a href = "/type/Vector%20t" > Vector< / a > < < a href = "/type/RestrictionReason" > RestrictionReason< / a > > bot_inline_placeholder:flags.19?< a href = "/type/string" > string< / a > lang_code:flags.22?< a href = "/type/string" > string< / a > = < a href = "/type/User" > User< / a > ;< br >
< a href = "/constructor/botInfo" > botInfo< / a > #e4169b5d user_id:< a href = "/type/long" > long< / a > description:< a href = "/type/string" > string< / a > commands:< a href = "/type/Vector%20t" > Vector< / a > < < a href = "/type/BotCommand" > BotCommand< / a > > menu_button:< a href = "/type/BotMenuButton" > BotMenuButton< / a > = < a href = "/type/BotInfo" > BotInfo< / a > ;< br >
< a href = "/constructor/channelFull" > channelFull< / a > #ea68a619 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 > 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/Vector%20t" > Vector< / a > < < a href = "/type/string" > string< / a > > = < a href = "/type/ChatFull" > ChatFull< / a > ;< br >
< a href = "/constructor/sponsoredMessage" > sponsoredMessage< / a > #3a836df8 flags:< a href = "/type/%23" > #< / a > recommended:flags.5?< a href = "/constructor/true" > true< / a > random_id:< a href = "/type/bytes" > bytes< / a > from_id:flags.3?< a href = "/type/Peer" > Peer< / a > chat_invite:flags.4?< a href = "/type/ChatInvite" > ChatInvite< / a > chat_invite_hash:flags.4?< a href = "/type/string" > string< / a > channel_post:flags.2?< a href = "/type/int" > int< / a > start_param:flags.0?< a href = "/type/string" > string< / a > message:< a href = "/type/string" > string< / a > entities:flags.1?< a href = "/type/Vector%20t" > Vector< / a > < < a href = "/type/MessageEntity" > MessageEntity< / a > > = < a href = "/type/SponsoredMessage" > SponsoredMessage< / a > ;< br >
< a href = "/constructor/attachMenuBotIconColor" > attachMenuBotIconColor< / a > #4576f3f0 name:< a href = "/type/string" > string< / a > color:< a href = "/type/int" > int< / a > = < a href = "/type/AttachMenuBotIconColor" > AttachMenuBotIconColor< / a > ;
< a href = "/constructor/attachMenuBotIcon" > attachMenuBotIcon< / a > #b2a7386b flags:< a href = "/type/%23" > #< / a > name:< a href = "/type/string" > string< / a > icon:< a href = "/type/Document" > Document< / a > colors:flags.0?< a href = "/type/Vector%20t" > Vector< / a > < < a href = "/type/AttachMenuBotIconColor" > AttachMenuBotIconColor< / a > > = < a href = "/type/AttachMenuBotIcon" > AttachMenuBotIcon< / a > ;
< a href = "/constructor/attachMenuBot" > attachMenuBot< / a > #e93cb772 flags:< a href = "/type/%23" > #< / a > inactive:flags.0?< a href = "/constructor/true" > true< / a > bot_id:< a href = "/type/long" > long< / a > short_name:< a href = "/type/string" > string< / a > icons:< a href = "/type/Vector%20t" > Vector< / a > < < a href = "/type/AttachMenuBotIcon" > AttachMenuBotIcon< / a > > = < a href = "/type/AttachMenuBot" > AttachMenuBot< / a > ;
< a href = "/constructor/attachMenuBotsNotModified" > attachMenuBotsNotModified< / a > #f1d88a5c = < a href = "/type/AttachMenuBots" > AttachMenuBots< / a > ;
< a href = "/constructor/attachMenuBots" > attachMenuBots< / a > #3c4301c0 hash:< a href = "/type/long" > long< / a > bots:< a href = "/type/Vector%20t" > Vector< / a > < < a href = "/type/AttachMenuBot" > AttachMenuBot< / a > > users:< a href = "/type/Vector%20t" > Vector< / a > < < a href = "/type/User" > User< / a > > = < a href = "/type/AttachMenuBots" > AttachMenuBots< / a > ;
< a href = "/constructor/attachMenuBotsBot" > attachMenuBotsBot< / a > #93bf667f bot:< a href = "/type/AttachMenuBot" > AttachMenuBot< / a > users:< a href = "/type/Vector%20t" > Vector< / a > < < a href = "/type/User" > User< / a > > = < a href = "/type/AttachMenuBotsBot" > AttachMenuBotsBot< / a > ;< br >
< a href = "/constructor/updateAttachMenuBots" > updateAttachMenuBots< / a > #17b7a20b = < a href = "/type/Update" > Update< / a > ;< br >
< a href = "/constructor/webViewResultUrl" > webViewResultUrl< / a > #0c14557c query_id:< a href = "/type/long" > long< / a > url:< a href = "/type/string" > string< / a > = < a href = "/type/WebViewResult" > WebViewResult< / a > ;< br >
< a href = "/constructor/simpleWebViewResultUrl" > simpleWebViewResultUrl< / a > #882f76bb url:< a href = "/type/string" > string< / a > = < a href = "/type/SimpleWebViewResult" > SimpleWebViewResult< / a > ;< br >
< a href = "/constructor/webViewMessageSent" > webViewMessageSent< / a > #0c94511c flags:< a href = "/type/%23" > #< / a > msg_id:flags.0?< a href = "/type/InputBotInlineMessageID" > InputBotInlineMessageID< / a > = < a href = "/type/WebViewMessageSent" > WebViewMessageSent< / a > ;< br >
< a href = "/constructor/updateWebViewResultSent" > updateWebViewResultSent< / a > #1592b79d query_id:< a href = "/type/long" > long< / a > = < a href = "/type/Update" > Update< / a > ;< br >
< a href = "/constructor/keyboardButtonWebView" > keyboardButtonWebView< / a > #13767230 text:< a href = "/type/string" > string< / a > url:< a href = "/type/string" > string< / a > = < a href = "/type/KeyboardButton" > KeyboardButton< / a > ;
< a href = "/constructor/keyboardButtonSimpleWebView" > keyboardButtonSimpleWebView< / a > #a0c0505c text:< a href = "/type/string" > string< / a > url:< a href = "/type/string" > string< / a > = < a href = "/type/KeyboardButton" > KeyboardButton< / a > ;< br >
< a href = "/constructor/messageActionWebViewDataSentMe" > messageActionWebViewDataSentMe< / a > #47dd8079 text:< a href = "/type/string" > string< / a > data:< a href = "/type/string" > string< / a > = < a href = "/type/MessageAction" > MessageAction< / a > ;
< a href = "/constructor/messageActionWebViewDataSent" > messageActionWebViewDataSent< / a > #b4c38cb5 text:< a href = "/type/string" > string< / a > = < a href = "/type/MessageAction" > MessageAction< / a > ;< br >
< a href = "/constructor/updateBotMenuButton" > updateBotMenuButton< / a > #14b85813 bot_id:< a href = "/type/long" > long< / a > button:< a href = "/type/BotMenuButton" > BotMenuButton< / a > = < a href = "/type/Update" > Update< / a > ;< br >
< a href = "/constructor/botMenuButtonDefault" > botMenuButtonDefault< / a > #7533a588 = < a href = "/type/BotMenuButton" > BotMenuButton< / a > ;
< a href = "/constructor/botMenuButtonCommands" > botMenuButtonCommands< / a > #4258c205 = < a href = "/type/BotMenuButton" > BotMenuButton< / a > ;
< a href = "/constructor/botMenuButton" > botMenuButton< / a > #c7b57ce6 text:< a href = "/type/string" > string< / a > url:< a href = "/type/string" > string< / a > = < a href = "/type/BotMenuButton" > BotMenuButton< / a > ;< br >
< a href = "/constructor/account.savedRingtonesNotModified" > account.savedRingtonesNotModified< / a > #fbf6e8b1 = < a href = "/type/account.SavedRingtones" > account.SavedRingtones< / a > ;
< a href = "/constructor/account.savedRingtones" > account.savedRingtones< / a > #c1e92cc5 hash:< a href = "/type/long" > long< / a > ringtones:< a href = "/type/Vector%20t" > Vector< / a > < < a href = "/type/Document" > Document< / a > > = < a href = "/type/account.SavedRingtones" > account.SavedRingtones< / a > ;< br >
< a href = "/constructor/updateSavedRingtones" > updateSavedRingtones< / a > #74d8be99 = < a href = "/type/Update" > Update< / a > ;< br >
< a href = "/constructor/notificationSoundDefault" > notificationSoundDefault< / a > #97e8bebe = < a href = "/type/NotificationSound" > NotificationSound< / a > ;
< a href = "/constructor/notificationSoundNone" > notificationSoundNone< / a > #6f0c34df = < a href = "/type/NotificationSound" > NotificationSound< / a > ;
< a href = "/constructor/notificationSoundLocal" > notificationSoundLocal< / a > #830b9ae4 title:< a href = "/type/string" > string< / a > data:< a href = "/type/string" > string< / a > = < a href = "/type/NotificationSound" > NotificationSound< / a > ;
< a href = "/constructor/notificationSoundRingtone" > notificationSoundRingtone< / a > #ff6c8049 id:< a href = "/type/long" > long< / a > = < a href = "/type/NotificationSound" > NotificationSound< / a > ;< br >
< a href = "/constructor/account.savedRingtone" > account.savedRingtone< / a > #b7263f6d = < a href = "/type/account.SavedRingtone" > account.SavedRingtone< / a > ;
< a href = "/constructor/account.savedRingtoneConverted" > account.savedRingtoneConverted< / a > #1f307eb7 document:< a href = "/type/Document" > Document< / a > = < a href = "/type/account.SavedRingtone" > account.SavedRingtone< / a > ;< br >
---functions---< br >
< a href = "/method/channels.deleteHistory" > channels.deleteHistory< / a > #9baa9647 flags:< a href = "/type/%23" > #< / a > for_everyone:flags.0?< a href = "/constructor/true" > true< / a > channel:< a href = "/type/InputChannel" > InputChannel< / a > max_id:< a href = "/type/int" > int< / a > = < a href = "/type/Updates" > Updates< / a > ;< br >
< a href = "/method/messages.getAttachMenuBots" > messages.getAttachMenuBots< / a > #16fcc2cb hash:< a href = "/type/long" > long< / a > = < a href = "/type/AttachMenuBots" > AttachMenuBots< / a > ;
< a href = "/method/messages.getAttachMenuBot" > messages.getAttachMenuBot< / a > #77216192 bot:< a href = "/type/InputUser" > InputUser< / a > = < a href = "/type/AttachMenuBotsBot" > AttachMenuBotsBot< / a > ;
< a href = "/method/messages.toggleBotInAttachMenu" > messages.toggleBotInAttachMenu< / a > #1aee33af bot:< a href = "/type/InputUser" > InputUser< / a > enabled:< a href = "/type/Bool" > Bool< / a > = < a href = "/type/Bool" > Bool< / a > ;
< a href = "/method/messages.requestWebView" > messages.requestWebView< / a > #0fa04dff flags:< a href = "/type/%23" > #< / a > from_bot_menu:flags.4?< a href = "/constructor/true" > true< / a > silent:flags.5?< a href = "/constructor/true" > true< / a > peer:< a href = "/type/InputPeer" > InputPeer< / a > bot:< a href = "/type/InputUser" > InputUser< / a > url:flags.1?< a href = "/type/string" > string< / a > start_param:flags.3?< a href = "/type/string" > string< / a > theme_params:flags.2?< a href = "/type/DataJSON" > DataJSON< / a > reply_to_msg_id:flags.0?< a href = "/type/int" > int< / a > = < a href = "/type/WebViewResult" > WebViewResult< / a > ;
< a href = "/method/messages.prolongWebView" > messages.prolongWebView< / a > #d22ad148 flags:< a href = "/type/%23" > #< / a > silent:flags.5?< a href = "/constructor/true" > true< / a > peer:< a href = "/type/InputPeer" > InputPeer< / a > bot:< a href = "/type/InputUser" > InputUser< / a > query_id:< a href = "/type/long" > long< / a > reply_to_msg_id:flags.0?< a href = "/type/int" > int< / a > = < a href = "/type/Bool" > Bool< / a > ;
< a href = "/method/messages.requestSimpleWebView" > messages.requestSimpleWebView< / a > #6abb2f73 flags:< a href = "/type/%23" > #< / a > bot:< a href = "/type/InputUser" > InputUser< / a > url:< a href = "/type/string" > string< / a > theme_params:flags.0?< a href = "/type/DataJSON" > DataJSON< / a > = < a href = "/type/SimpleWebViewResult" > SimpleWebViewResult< / a > ;
< a href = "/method/messages.sendWebViewResultMessage" > messages.sendWebViewResultMessage< / a > #0a4314f5 bot_query_id:< a href = "/type/string" > string< / a > result:< a href = "/type/InputBotInlineResult" > InputBotInlineResult< / a > = < a href = "/type/WebViewMessageSent" > WebViewMessageSent< / a > ;
< a href = "/method/messages.sendWebViewData" > messages.sendWebViewData< / a > #dc0242c8 bot:< a href = "/type/InputUser" > InputUser< / a > random_id:< a href = "/type/long" > long< / a > button_text:< a href = "/type/string" > string< / a > data:< a href = "/type/string" > string< / a > = < a href = "/type/Updates" > Updates< / a > ;< br >
< a href = "/method/bots.setBotMenuButton" > bots.setBotMenuButton< / a > #4504d54f user_id:< a href = "/type/InputUser" > InputUser< / a > button:< a href = "/type/BotMenuButton" > BotMenuButton< / a > = < a href = "/type/Bool" > Bool< / a > ;
< a href = "/method/bots.getBotMenuButton" > bots.getBotMenuButton< / a > #9c60eb28 user_id:< a href = "/type/InputUser" > InputUser< / a > = < a href = "/type/BotMenuButton" > BotMenuButton< / a > ;< br >
< a href = "/method/account.getSavedRingtones" > account.getSavedRingtones< / a > #e1902288 hash:< a href = "/type/long" > long< / a > = < a href = "/type/account.SavedRingtones" > account.SavedRingtones< / a > ;
< a href = "/method/account.saveRingtone" > account.saveRingtone< / a > #3dea5b03 id:< a href = "/type/InputDocument" > InputDocument< / a > unsave:< a href = "/type/Bool" > Bool< / a > = < a href = "/type/account.SavedRingtone" > account.SavedRingtone< / a > ;
< a href = "/method/account.uploadRingtone" > account.uploadRingtone< / a > #831a83a2 file:< a href = "/type/InputFile" > InputFile< / a > file_name:< a href = "/type/string" > string< / a > mime_type:< a href = "/type/string" > string< / a > = < a href = "/type/Document" > Document< / a > ;< br >
< a href = "/method/bots.setBotBroadcastDefaultAdminRights" > bots.setBotBroadcastDefaultAdminRights< / a > #788464e1 admin_rights:< a href = "/type/ChatAdminRights" > ChatAdminRights< / a > = < a href = "/type/Bool" > Bool< / a > ;
< a href = "/method/bots.setBotGroupDefaultAdminRights" > bots.setBotGroupDefaultAdminRights< / a > #925ec9ea admin_rights:< a href = "/type/ChatAdminRights" > ChatAdminRights< / a > = < a href = "/type/Bool" > Bool< / a > ;< br >
< a href = "/method/phone.saveCallLog" > phone.saveCallLog< / a > #41248786 peer:< a href = "/type/InputPhoneCall" > InputPhoneCall< / a > file:< a href = "/type/InputFile" > InputFile< / a > = < a href = "/type/Bool" > Bool< / a > ;< br > < / code > < / pre > < / div >
2022-05-14 00:37:40 +02:00
< h3 > < a class = "anchor" href = "#layer-139" id = "layer-139" name = "layer-139" > < i class = "anchor-icon" > < / i > < / a > < a href = "/schema?layer=139" > Layer 139< / a > < / h3 >
< p > < a href = "https://telegram.org/blog/downloads-attachments-streaming#live-streaming-with-other-apps" > RTMP streams in group calls and livestreams< / a > , < a href = "https://telegram.org/blog/downloads-attachments-streaming#phone-number-links" > link to users by their phone number< / a > , < a href = "https://telegram.org/blog/downloads-attachments-streaming#new-attachment-menu" > browse recently sent media< / a > and new report options for illegal drugs and personal details.< / p >
< p > The < a href = "/api/errors#error-database" > RPC error database »< / a > was also updated.< / p >
< h4 > < a class = "anchor" href = "#schema-changes" id = "schema-changes" name = "schema-changes" > < i class = "anchor-icon" > < / i > < / a > Schema changes< / h4 >
< h5 > < a class = "anchor" href = "#new-methods" id = "new-methods" name = "new-methods" > < i class = "anchor-icon" > < / i > < / a > New Methods< / h5 >
< ul >
< li > Added < a href = "/method/contacts.resolvePhone" > contacts.resolvePhone< / a > - Resolve a phone number to get user info, if their privacy settings allow it.< / li >
< li > Added < a href = "/method/phone.getGroupCallStreamChannels" > phone.getGroupCallStreamChannels< / a > - Get info about RTMP streams in a group call or livestream. < / li >
< li > Added < a href = "/method/phone.getGroupCallStreamRtmpUrl" > phone.getGroupCallStreamRtmpUrl< / a > - Get RTMP URL and stream key for RTMP livestreams. Can be used even before creating the actual RTMP livestream with < a href = "/method/phone.createGroupCall" > phone.createGroupCall< / a > (the < code > rtmp_stream< / code > flag must be set).< / li >
< li > Added < a href = "/method/messages.searchSentMedia" > messages.searchSentMedia< / a > - View and search recently sent media. < / li >
< / ul >
< h5 > < a class = "anchor" href = "#changed-methods" id = "changed-methods" name = "changed-methods" > < i class = "anchor-icon" > < / i > < / a > Changed Methods< / h5 >
< ul >
< li > Added < strong > rtmp_stream< / strong > parameter in < a href = "/method/phone.createGroupCall" > phone.createGroupCall< / a > < / li >
< / ul >
< h5 > < a class = "anchor" href = "#new-constructors" id = "new-constructors" name = "new-constructors" > < i class = "anchor-icon" > < / i > < / a > New Constructors< / h5 >
< ul >
< li > Added < a href = "/constructor/groupCallStreamChannel" > groupCallStreamChannel< / a > - Info about an RTMP stream in a group call or livestream< / li >
< li > Added < a href = "/constructor/phone.groupCallStreamChannels" > phone.groupCallStreamChannels< / a > - Info about RTMP streams in a group call or livestream< / li >
< li > Added < a href = "/constructor/inputReportReasonIllegalDrugs" > inputReportReasonIllegalDrugs< / a > - Report for illegal drugs< / li >
< li > Added < a href = "/constructor/inputReportReasonPersonalDetails" > inputReportReasonPersonalDetails< / a > - Report for divulgation of personal details< / li >
< li > Added < a href = "/constructor/phone.groupCallStreamRtmpUrl" > phone.groupCallStreamRtmpUrl< / a > - RTMP URL and stream key to be used in streaming software< / li >
< / ul >
< h5 > < a class = "anchor" href = "#changed-constructors" id = "changed-constructors" name = "changed-constructors" > < i class = "anchor-icon" > < / i > < / a > Changed Constructors< / h5 >
< ul >
< li > Added < strong > rtmp_stream< / strong > , < strong > listeners_hidden< / strong > parameters in < a href = "/constructor/groupCall" > groupCall< / a > < / li >
< / ul >
< h4 > < a class = "anchor" href = "#schema" id = "schema" name = "schema" > < i class = "anchor-icon" > < / i > < / a > Schema< / h4 >
< div > < pre > < code > < a href = "/constructor/groupCall" > groupCall< / a > #d597650c flags:< a href = "/type/%23" > #< / a > join_muted:flags.1?< a href = "/constructor/true" > true< / a > can_change_join_muted:flags.2?< a href = "/constructor/true" > true< / a > join_date_asc:flags.6?< a href = "/constructor/true" > true< / a > schedule_start_subscribed:flags.8?< a href = "/constructor/true" > true< / a > can_start_video:flags.9?< a href = "/constructor/true" > true< / a > record_video_active:flags.11?< a href = "/constructor/true" > true< / a > rtmp_stream:flags.12?< a href = "/constructor/true" > true< / a > listeners_hidden:flags.13?< a href = "/constructor/true" > true< / a > id:< a href = "/type/long" > long< / a > access_hash:< a href = "/type/long" > long< / a > participants_count:< a href = "/type/int" > int< / a > title:flags.3?< a href = "/type/string" > string< / a > stream_dc_id:flags.4?< a href = "/type/int" > int< / a > record_start_date:flags.5?< a href = "/type/int" > int< / a > schedule_date:flags.7?< a href = "/type/int" > int< / a > unmuted_video_count:flags.10?< a href = "/type/int" > int< / a > unmuted_video_limit:< a href = "/type/int" > int< / a > version:< a href = "/type/int" > int< / a > = < a href = "/type/GroupCall" > GroupCall< / a > ;
< a href = "/constructor/groupCallStreamChannel" > groupCallStreamChannel< / a > #80eb48af channel:< a href = "/type/int" > int< / a > scale:< a href = "/type/int" > int< / a > last_timestamp_ms:< a href = "/type/long" > long< / a > = < a href = "/type/GroupCallStreamChannel" > GroupCallStreamChannel< / a > ;< br >
< a href = "/constructor/phone.groupCallStreamChannels" > phone.groupCallStreamChannels< / a > #d0e482b2 channels:< a href = "/type/Vector%20t" > Vector< / a > < < a href = "/type/GroupCallStreamChannel" > GroupCallStreamChannel< / a > > = < a href = "/type/phone.GroupCallStreamChannels" > phone.GroupCallStreamChannels< / a > ;< br >
< a href = "/constructor/inputReportReasonIllegalDrugs" > inputReportReasonIllegalDrugs< / a > #0a8eb2be = < a href = "/type/ReportReason" > ReportReason< / a > ;
< a href = "/constructor/inputReportReasonPersonalDetails" > inputReportReasonPersonalDetails< / a > #9ec7863d = < a href = "/type/ReportReason" > ReportReason< / a > ;< br >
< a href = "/constructor/phone.groupCallStreamRtmpUrl" > phone.groupCallStreamRtmpUrl< / a > #2dbf3432 url:< a href = "/type/string" > string< / a > key:< a href = "/type/string" > string< / a > = < a href = "/type/phone.GroupCallStreamRtmpUrl" > phone.GroupCallStreamRtmpUrl< / a > ;< br >
---functions---< br >
< a href = "/method/phone.createGroupCall" > phone.createGroupCall< / a > #48cdc6d8 flags:< a href = "/type/%23" > #< / a > rtmp_stream:flags.2?< a href = "/constructor/true" > true< / a > peer:< a href = "/type/InputPeer" > InputPeer< / a > random_id:< a href = "/type/int" > int< / a > title:flags.0?< a href = "/type/string" > string< / a > schedule_date:flags.1?< a href = "/type/int" > int< / a > = < a href = "/type/Updates" > Updates< / a > ;< br >
< a href = "/method/contacts.resolvePhone" > contacts.resolvePhone< / a > #8af94344 phone:< a href = "/type/string" > string< / a > = < a href = "/type/contacts.ResolvedPeer" > contacts.ResolvedPeer< / a > ;< br >
< a href = "/method/phone.getGroupCallStreamChannels" > phone.getGroupCallStreamChannels< / a > #1ab21940 call:< a href = "/type/InputGroupCall" > InputGroupCall< / a > = < a href = "/type/phone.GroupCallStreamChannels" > phone.GroupCallStreamChannels< / a > ;
< a href = "/method/phone.getGroupCallStreamRtmpUrl" > phone.getGroupCallStreamRtmpUrl< / a > #deb3abbf peer:< a href = "/type/InputPeer" > InputPeer< / a > revoke:< a href = "/type/Bool" > Bool< / a > = < a href = "/type/phone.GroupCallStreamRtmpUrl" > phone.GroupCallStreamRtmpUrl< / a > ;< br >
< a href = "/method/messages.searchSentMedia" > messages.searchSentMedia< / a > #107e31a0 q:< a href = "/type/string" > string< / a > filter:< a href = "/type/MessagesFilter" > MessagesFilter< / a > limit:< a href = "/type/int" > int< / a > = < a href = "/type/messages.Messages" > messages.Messages< / a > ;< br > < / code > < / pre > < / div >
< h3 > < a class = "anchor" href = "#layer-138" id = "layer-138" name = "layer-138" > < i class = "anchor-icon" > < / i > < / a > < a href = "/schema?layer=138" > Layer 138< / a > < / h3 >
< p > < a href = "https://telegram.org/blog/video-stickers-better-reactions#video-stickers" > Video stickers< / a > , < a href = "https://telegram.org/blog/video-stickers-better-reactions#better-reactions" > better reactions< / a > .< / p >
< h4 > < a class = "anchor" href = "#schema-changes" id = "schema-changes" name = "schema-changes" > < i class = "anchor-icon" > < / i > < / a > Schema changes< / h4 >
< h5 > < a class = "anchor" href = "#new-methods" id = "new-methods" name = "new-methods" > < i class = "anchor-icon" > < / i > < / a > New Methods< / h5 >
< ul >
< li > Added < a href = "/method/messages.getUnreadReactions" > messages.getUnreadReactions< / a > - Get unread reactions to messages you sent< / li >
< li > Added < a href = "/method/messages.readReactions" > messages.readReactions< / a > - Mark < a href = "/api/reactions" > message reactions »< / a > as read< / li >
< / ul >
< h5 > < a class = "anchor" href = "#changed-methods" id = "changed-methods" name = "changed-methods" > < i class = "anchor-icon" > < / i > < / a > Changed Methods< / h5 >
< ul >
< li > Added < strong > videos< / strong > parameter in < a href = "/method/stickers.createStickerSet" > stickers.createStickerSet< / a > < / li >
< / ul >
< h5 > < a class = "anchor" href = "#new-constructors" id = "new-constructors" name = "new-constructors" > < i class = "anchor-icon" > < / i > < / a > New Constructors< / h5 >
< ul >
< li > Added < a href = "/constructor/messagePeerReaction" > messagePeerReaction< / a > - How a certain peer reacted to the message< / li >
< / ul >
< h5 > < a class = "anchor" href = "#changed-constructors" id = "changed-constructors" name = "changed-constructors" > < i class = "anchor-icon" > < / i > < / a > Changed Constructors< / h5 >
< ul >
< li > Added < strong > unread_reactions_count< / strong > parameter in < a href = "/constructor/dialog" > dialog< / a > < / li >
< li > Added < strong > videos< / strong > parameter in < a href = "/constructor/stickerSet" > stickerSet< / a > < / li >
< li > Added < strong > recent_reactions< / strong > parameter, removed < strong > recent_reactons< / strong > parameter in < a href = "/constructor/messageReactions" > messageReactions< / a > < / li >
< li > Added < strong > chats< / strong > parameter, changed type of < strong > reactions< / strong > from < strong > Vector< MessageUserReaction> < / strong > to < strong > Vector< MessagePeerReaction> < / strong > in < a href = "/constructor/messages.messageReactionsList" > messages.messageReactionsList< / a > < / li >
< / ul >
< h5 > < a class = "anchor" href = "#deleted-constructors" id = "deleted-constructors" name = "deleted-constructors" > < i class = "anchor-icon" > < / i > < / a > Deleted Constructors< / h5 >
< ul >
< li > Removed messageUserReaction< / li >
< / ul >
< h4 > < a class = "anchor" href = "#schema" id = "schema" name = "schema" > < i class = "anchor-icon" > < / i > < / a > Schema< / h4 >
< div > < pre > < code > < a href = "/constructor/dialog" > dialog< / a > #a8edd0f5 flags:< a href = "/type/%23" > #< / a > pinned:flags.2?< a href = "/constructor/true" > true< / a > unread_mark:flags.3?< a href = "/constructor/true" > true< / a > peer:< a href = "/type/Peer" > Peer< / a > top_message:< 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 > unread_mentions_count:< a href = "/type/int" > int< / a > unread_reactions_count:< a href = "/type/int" > int< / a > notify_settings:< a href = "/type/PeerNotifySettings" > PeerNotifySettings< / a > pts:flags.0?< a href = "/type/int" > int< / a > draft:flags.1?< a href = "/type/DraftMessage" > DraftMessage< / a > folder_id:flags.4?< a href = "/type/int" > int< / a > = < a href = "/type/Dialog" > Dialog< / a > ;< br >
< a href = "/constructor/stickerSet" > stickerSet< / a > #d7df217a flags:< a href = "/type/%23" > #< / a > archived:flags.1?< a href = "/constructor/true" > true< / a > official:flags.2?< a href = "/constructor/true" > true< / a > masks:flags.3?< a href = "/constructor/true" > true< / a > animated:flags.5?< a href = "/constructor/true" > true< / a > videos:flags.6?< a href = "/constructor/true" > true< / a > installed_date:flags.0?< a href = "/type/int" > int< / a > id:< a href = "/type/long" > long< / a > access_hash:< a href = "/type/long" > long< / a > title:< a href = "/type/string" > string< / a > short_name:< a href = "/type/string" > string< / a > thumbs:flags.4?< a href = "/type/Vector%20t" > Vector< / a > < < a href = "/type/PhotoSize" > PhotoSize< / a > > thumb_dc_id:flags.4?< a href = "/type/int" > int< / a > thumb_version:flags.4?< a href = "/type/int" > int< / a > count:< a href = "/type/int" > int< / a > hash:< a href = "/type/int" > int< / a > = < a href = "/type/StickerSet" > StickerSet< / a > ;< br >
< 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 > ;
< 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 > ;
< a href = "/constructor/messagePeerReaction" > messagePeerReaction< / a > #51b67eff flags:< a href = "/type/%23" > #< / a > big:flags.0?< a href = "/constructor/true" > true< / a > unread:flags.1?< a href = "/constructor/true" > true< / a > peer_id:< a href = "/type/Peer" > Peer< / a > reaction:< a href = "/type/string" > string< / a > = < a href = "/type/MessagePeerReaction" > MessagePeerReaction< / a > ;< br >
---functions---< br >
< a href = "/method/stickers.createStickerSet" > stickers.createStickerSet< / a > #9021ab67 flags:< a href = "/type/%23" > #< / a > masks:flags.0?< a href = "/constructor/true" > true< / a > animated:flags.1?< a href = "/constructor/true" > true< / a > videos:flags.4?< a href = "/constructor/true" > true< / a > user_id:< a href = "/type/InputUser" > InputUser< / a > title:< a href = "/type/string" > string< / a > short_name:< a href = "/type/string" > string< / a > thumb:flags.2?< a href = "/type/InputDocument" > InputDocument< / a > stickers:< a href = "/type/Vector%20t" > Vector< / a > < < a href = "/type/InputStickerSetItem" > InputStickerSetItem< / a > > software:flags.3?< a href = "/type/string" > string< / a > = < a href = "/type/messages.StickerSet" > messages.StickerSet< / a > ;< br >
< a href = "/method/messages.getUnreadReactions" > messages.getUnreadReactions< / a > #e85bae1a peer:< a href = "/type/InputPeer" > InputPeer< / 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 > #82e251d7 peer:< a href = "/type/InputPeer" > InputPeer< / a > = < a href = "/type/messages.AffectedHistory" > messages.AffectedHistory< / a > ;< br > < / code > < / pre > < / div >
< h3 > < a class = "anchor" href = "#layer-137" id = "layer-137" name = "layer-137" > < i class = "anchor-icon" > < / i > < / a > < a href = "/schema?layer=137" > Layer 137< / a > < / h3 >
< p > < a href = "https://telegram.org/blog/reactions-spoilers-translations#spoilers" > Message translation< / a > .< / p >
< h4 > < a class = "anchor" href = "#schema-changes" id = "schema-changes" name = "schema-changes" > < i class = "anchor-icon" > < / i > < / a > Schema changes< / h4 >
< h5 > < a class = "anchor" href = "#new-methods" id = "new-methods" name = "new-methods" > < i class = "anchor-icon" > < / i > < / a > New Methods< / h5 >
< ul >
< li > Added < a href = "/method/messages.translateText" > messages.translateText< / a > - Translate a given text< / li >
< / ul >
< h5 > < a class = "anchor" href = "#new-constructors" id = "new-constructors" name = "new-constructors" > < i class = "anchor-icon" > < / i > < / a > New Constructors< / h5 >
< ul >
< li > Added < a href = "/constructor/messages.translateNoResult" > messages.translateNoResult< / a > - No translation is available< / li >
< li > Added < a href = "/constructor/messages.translateResultText" > messages.translateResultText< / a > - Translated text< / li >
< / ul >
< h5 > < a class = "anchor" href = "#changed-constructors" id = "changed-constructors" name = "changed-constructors" > < i class = "anchor-icon" > < / i > < / a > Changed Constructors< / h5 >
< ul >
< li > Added < strong > around_animation< / strong > , < strong > center_icon< / strong > parameters in < a href = "/constructor/availableReaction" > availableReaction< / a > < / li >
< / ul >
< h4 > < a class = "anchor" href = "#schema" id = "schema" name = "schema" > < i class = "anchor-icon" > < / i > < / a > Schema< / h4 >
< div > < pre > < code > < a href = "/constructor/availableReaction" > availableReaction< / a > #c077ec01 flags:< a href = "/type/%23" > #< / a > inactive:flags.0?< 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 > ;< br >
< a href = "/constructor/messages.translateNoResult" > messages.translateNoResult< / a > #67ca4737 = < a href = "/type/messages.TranslatedText" > messages.TranslatedText< / a > ;
< a href = "/constructor/messages.translateResultText" > messages.translateResultText< / a > #a214f7d0 text:< a href = "/type/string" > string< / a > = < a href = "/type/messages.TranslatedText" > messages.TranslatedText< / a > ;< br >
---functions---< br >
< a href = "/method/messages.translateText" > messages.translateText< / a > #24ce6dee flags:< a href = "/type/%23" > #< / a > peer:flags.0?< a href = "/type/InputPeer" > InputPeer< / a > msg_id:flags.0?< a href = "/type/int" > int< / a > text:flags.1?< a href = "/type/string" > string< / a > from_lang:flags.2?< a href = "/type/string" > string< / a > to_lang:< a href = "/type/string" > string< / a > = < a href = "/type/messages.TranslatedText" > messages.TranslatedText< / a > ;< br > < / code > < / pre > < / div >
< h3 > < a class = "anchor" href = "#layer-136" id = "layer-136" name = "layer-136" > < i class = "anchor-icon" > < / i > < / a > < a href = "/schema?layer=136" > Layer 136< / a > < / h3 >
< p > < a href = "https://telegram.org/blog/reactions-spoilers-translations#reactions" > Reactions< / a > , < a href = "https://telegram.org/blog/reactions-spoilers-translations#spoilers" > spoilers< / a > and sponsored message improvements.< / p >
< h4 > < a class = "anchor" href = "#schema-changes" id = "schema-changes" name = "schema-changes" > < i class = "anchor-icon" > < / i > < / a > Schema changes< / h4 >
< h5 > < a class = "anchor" href = "#new-methods" id = "new-methods" name = "new-methods" > < i class = "anchor-icon" > < / i > < / a > New Methods< / h5 >
< ul >
< li > Added < a href = "/method/messages.sendReaction" > messages.sendReaction< / a > - React to message< / li >
< li > Added < a href = "/method/messages.getMessagesReactions" > messages.getMessagesReactions< / a > - Get < a href = "/api/reactions" > message reactions »< / a > < / li >
< li > Added < a href = "/method/messages.getMessageReactionsList" > messages.getMessageReactionsList< / a > - Get < a href = "/api/reactions" > message reaction< / a > list, along with the sender of each reaction.< / li >
< li > Added < a href = "/method/messages.setChatAvailableReactions" > messages.setChatAvailableReactions< / a > - Change the set of < a href = "/api/reactions" > message reactions »< / a > that can be used in a certain group, supergroup or channel< / li >
< li > Added < a href = "/method/messages.getAvailableReactions" > messages.getAvailableReactions< / a > - Obtain available < a href = "/api/reactions" > message reactions »< / a > < / li >
2022-11-15 00:55:37 +01:00
< li > Added < a href = "/method/messages.setDefaultReaction" > messages.setDefaultReaction< / a > - Change default emoji reaction to use in the quick reaction menu: the value is synced across devices and can be fetched using < a href = "/method/help.getConfig" > help.getConfig, < code > reactions_default< / code > field< / a > .< / li >
2022-05-14 00:37:40 +02:00
< / ul >
< h5 > < a class = "anchor" href = "#new-constructors" id = "new-constructors" name = "new-constructors" > < i class = "anchor-icon" > < / i > < / a > New Constructors< / h5 >
< ul >
< li > Added < a href = "/constructor/updateMessageReactions" > updateMessageReactions< / a > - New < a href = "/api/reactions" > message reactions »< / a > are available< / li >
< li > Added < a href = "/constructor/reactionCount" > reactionCount< / a > - Reactions< / li >
< li > Added < a href = "/constructor/messageReactions" > messageReactions< / a > - < a href = "/api/reactions" > Message reactions »< / a > < / li >
< li > Added < a href = "/constructor/messageUserReaction" > messageUserReaction< / a > - Message reaction< / li >
< li > Added < a href = "/constructor/messages.messageReactionsList" > messages.messageReactionsList< / a > - List of peers that reacted to a specific message< / li >
< li > Added < a href = "/constructor/availableReaction" > availableReaction< / a > - Animations associated with a message reaction< / li >
< li > Added < a href = "/constructor/messages.availableReactionsNotModified" > messages.availableReactionsNotModified< / a > - No new reactions are available< / li >
< li > Added < a href = "/constructor/messages.availableReactions" > messages.availableReactions< / a > - Animations and metadata associated with < a href = "/api/reactions" > message reactions »< / a > < / li >
< li > Added < a href = "/constructor/messageEntitySpoiler" > messageEntitySpoiler< / a > - Message entity representing a spoiler< / li >
< li > Added < a href = "/constructor/channelAdminLogEventActionChangeAvailableReactions" > channelAdminLogEventActionChangeAvailableReactions< / a > - The set of allowed < a href = "/api/reactions" > message reactions »< / a > for this channel has changed< / li >
< / ul >
< h5 > < a class = "anchor" href = "#changed-constructors" id = "changed-constructors" name = "changed-constructors" > < i class = "anchor-icon" > < / i > < / a > Changed Constructors< / h5 >
< ul >
< li > Added < strong > available_reactions< / strong > parameter in < a href = "/constructor/chatFull" > chatFull< / a > < / li >
< li > Added < strong > reactions< / strong > parameter in < a href = "/constructor/message" > message< / a > < / li >
< li > Added < strong > available_reactions< / strong > parameter in < a href = "/constructor/channelFull" > channelFull< / a > < / li >
< li > Added < strong > chat_invite< / strong > , < strong > chat_invite_hash< / strong > parameters, changed type of < strong > from_id< / strong > from < strong > Peer< / strong > to < strong > flags.3?Peer< / strong > in < a href = "/constructor/sponsoredMessage" > sponsoredMessage< / a > < / li >
< / ul >
< h4 > < a class = "anchor" href = "#push-notification-changes" id = "push-notification-changes" name = "push-notification-changes" > < i class = "anchor-icon" > < / i > < / a > PUSH notification changes< / h4 >
< h5 > < a class = "anchor" href = "#new-push-notifications" id = "new-push-notifications" name = "new-push-notifications" > < i class = "anchor-icon" > < / i > < / a > New PUSH notifications< / h5 >
< ul >
< li > Added < a href = "/api/push-updates#possible-notifications" > CHAT_REACT_AUDIO< / a > - < code > {1}: {3} to your voice message in {2}< / code > < / li >
< li > Added < a href = "/api/push-updates#possible-notifications" > CHAT_REACT_CONTACT< / a > - < code > {1}: {3} to your contact {4} in {2}< / code > < / li >
< li > Added < a href = "/api/push-updates#possible-notifications" > CHAT_REACT_DOC< / a > - < code > {1}: {3} to your file in {2}< / code > < / li >
< li > Added < a href = "/api/push-updates#possible-notifications" > CHAT_REACT_GAME< / a > - < code > {1}: {3} to your game in {2}< / code > < / li >
< li > Added < a href = "/api/push-updates#possible-notifications" > CHAT_REACT_GEO< / a > - < code > {1}: {3} to your map in {2}< / code > < / li >
< li > Added < a href = "/api/push-updates#possible-notifications" > CHAT_REACT_GEOLIVE< / a > - < code > {1}: {3} to your live location in {2}< / code > < / li >
< li > Added < a href = "/api/push-updates#possible-notifications" > CHAT_REACT_GIF< / a > - < code > {1}: {3} to your GIF in {2}< / code > < / li >
< li > Added < a href = "/api/push-updates#possible-notifications" > CHAT_REACT_INVOICE< / a > - < code > {1}: {3} to your invoice in {2}< / code > < / li >
< li > Added < a href = "/api/push-updates#possible-notifications" > CHAT_REACT_NOTEXT< / a > - < code > {1}: {3} to your message in {2}< / code > < / li >
< li > Added < a href = "/api/push-updates#possible-notifications" > CHAT_REACT_PHOTO< / a > - < code > {1}: {3} to your photo in {2}< / code > < / li >
< li > Added < a href = "/api/push-updates#possible-notifications" > CHAT_REACT_POLL< / a > - < code > {1}: {3} to your poll {4} in {2}< / code > < / li >
< li > Added < a href = "/api/push-updates#possible-notifications" > CHAT_REACT_QUIZ< / a > - < code > {1}: {3} to your quiz {4} in {2}< / code > < / li >
< li > Added < a href = "/api/push-updates#possible-notifications" > CHAT_REACT_ROUND< / a > - < code > {1}: {3} to your video message in {2}< / code > < / li >
< li > Added < a href = "/api/push-updates#possible-notifications" > CHAT_REACT_STICKER< / a > - < code > {1}: {3} to your {4} sticker in {2}< / code > < / li >
< li > Added < a href = "/api/push-updates#possible-notifications" > CHAT_REACT_TEXT< / a > - < code > {1}: {3} in {2} to your "{4}"< / code > < / li >
< li > Added < a href = "/api/push-updates#possible-notifications" > CHAT_REACT_VIDEO< / a > - < code > {1}: {3} to your video in {2}< / code > < / li >
< li > Added < a href = "/api/push-updates#possible-notifications" > REACT_AUDIO< / a > - < code > {1}: {2} to your voice message< / code > < / li >
< li > Added < a href = "/api/push-updates#possible-notifications" > REACT_CONTACT< / a > - < code > {1}: {2} to your contact {3}< / code > < / li >
< li > Added < a href = "/api/push-updates#possible-notifications" > REACT_DOC< / a > - < code > {1}: {2} to your file< / code > < / li >
< li > Added < a href = "/api/push-updates#possible-notifications" > REACT_GAME< / a > - < code > {1}: {2} to your game< / code > < / li >
< li > Added < a href = "/api/push-updates#possible-notifications" > REACT_GEO< / a > - < code > {1}: {2} to your map< / code > < / li >
< li > Added < a href = "/api/push-updates#possible-notifications" > REACT_GEOLIVE< / a > - < code > {1}: {2} to your live location< / code > < / li >
< li > Added < a href = "/api/push-updates#possible-notifications" > REACT_GIF< / a > - < code > {1}: {2} to your GIF< / code > < / li >
< li > Added < a href = "/api/push-updates#possible-notifications" > REACT_INVOICE< / a > - < code > {1}: {2} to your invoice< / code > < / li >
< li > Added < a href = "/api/push-updates#possible-notifications" > REACT_NOTEXT< / a > - < code > {1}: {2} to your message< / code > < / li >
< li > Added < a href = "/api/push-updates#possible-notifications" > REACT_PHOTO< / a > - < code > {1}: {2} to your photo< / code > < / li >
< li > Added < a href = "/api/push-updates#possible-notifications" > REACT_POLL< / a > - < code > {1}: {2} to your poll {3}< / code > < / li >
< li > Added < a href = "/api/push-updates#possible-notifications" > REACT_QUIZ< / a > - < code > {1}: {2} to your quiz {3}< / code > < / li >
< li > Added < a href = "/api/push-updates#possible-notifications" > REACT_ROUND< / a > - < code > {1}: {2} to your video message< / code > < / li >
< li > Added < a href = "/api/push-updates#possible-notifications" > REACT_STICKER< / a > - < code > {1}: {2} to your {3} sticker< / code > < / li >
< li > Added < a href = "/api/push-updates#possible-notifications" > REACT_TEXT< / a > - < code > {1}: {2} to your "{3}"< / code > < / li >
< li > Added < a href = "/api/push-updates#possible-notifications" > REACT_VIDEO< / a > - < code > {1}: {2} to your video< / code > < / li >
< / ul >
< h4 > < a class = "anchor" href = "#schema" id = "schema" name = "schema" > < i class = "anchor-icon" > < / i > < / a > Schema< / h4 >
< div > < pre > < code > < a href = "/constructor/chatFull" > chatFull< / a > #d18ee226 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 > 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/Vector%20t" > Vector< / a > < < a href = "/type/string" > string< / a > > = < a href = "/type/ChatFull" > ChatFull< / a > ;< br >
< a href = "/constructor/message" > message< / a > #38116ee0 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 > 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 > 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 > ;< br >
< a href = "/constructor/channelFull" > channelFull< / a > #e13c3d20 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 > 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/Vector%20t" > Vector< / a > < < a href = "/type/string" > string< / a > > = < a href = "/type/ChatFull" > ChatFull< / a > ;< br >
< a href = "/constructor/sponsoredMessage" > sponsoredMessage< / a > #3a836df8 flags:< a href = "/type/%23" > #< / a > random_id:< a href = "/type/bytes" > bytes< / a > from_id:flags.3?< a href = "/type/Peer" > Peer< / a > chat_invite:flags.4?< a href = "/type/ChatInvite" > ChatInvite< / a > chat_invite_hash:flags.4?< a href = "/type/string" > string< / a > channel_post:flags.2?< a href = "/type/int" > int< / a > start_param:flags.0?< a href = "/type/string" > string< / a > message:< a href = "/type/string" > string< / a > entities:flags.1?< a href = "/type/Vector%20t" > Vector< / a > < < a href = "/type/MessageEntity" > MessageEntity< / a > > = < a href = "/type/SponsoredMessage" > SponsoredMessage< / a > ;< br >
< a href = "/constructor/updateMessageReactions" > updateMessageReactions< / a > #154798c3 peer:< a href = "/type/Peer" > Peer< / a > msg_id:< a href = "/type/int" > int< / a > reactions:< a href = "/type/MessageReactions" > MessageReactions< / a > = < a href = "/type/Update" > Update< / a > ;< br >
< a href = "/constructor/reactionCount" > reactionCount< / a > #6fb250d1 flags:< a href = "/type/%23" > #< / a > chosen:flags.0?< a href = "/constructor/true" > true< / a > reaction:< a href = "/type/string" > string< / a > count:< a href = "/type/int" > int< / a > = < a href = "/type/ReactionCount" > ReactionCount< / a > ;< br >
< a href = "/constructor/messageReactions" > messageReactions< / a > #087b6e36 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_reactons:flags.1?< a href = "/type/Vector%20t" > Vector< / a > < < a href = "/type/MessageUserReaction" > MessageUserReaction< / a > > = < a href = "/type/MessageReactions" > MessageReactions< / a > ;
< a href = "/constructor/messageUserReaction" > messageUserReaction< / a > #932844fa user_id:< a href = "/type/long" > long< / a > reaction:< a href = "/type/string" > string< / a > = < a href = "/type/MessageUserReaction" > MessageUserReaction< / a > ;
< a href = "/constructor/messages.messageReactionsList" > messages.messageReactionsList< / a > #a366923c flags:< a href = "/type/%23" > #< / a > count:< a href = "/type/int" > int< / a > reactions:< a href = "/type/Vector%20t" > Vector< / a > < < a href = "/type/MessageUserReaction" > MessageUserReaction< / 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 > ;< br >
< a href = "/constructor/availableReaction" > availableReaction< / a > #021d7c4b flags:< a href = "/type/%23" > #< / a > inactive:flags.0?< 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 > = < a href = "/type/AvailableReaction" > AvailableReaction< / a > ;< br >
< 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 > ;
< a href = "/constructor/messageEntitySpoiler" > messageEntitySpoiler< / a > #32ca960f offset:< a href = "/type/int" > int< / a > length:< a href = "/type/int" > int< / a > = < a href = "/type/MessageEntity" > MessageEntity< / a > ;< br >
< a href = "/constructor/channelAdminLogEventActionChangeAvailableReactions" > channelAdminLogEventActionChangeAvailableReactions< / a > #9cf7f76a prev_value:< a href = "/type/Vector%20t" > Vector< / a > < < a href = "/type/string" > string< / a > > new_value:< a href = "/type/Vector%20t" > Vector< / a > < < a href = "/type/string" > string< / a > > = < a href = "/type/ChannelAdminLogEventAction" > ChannelAdminLogEventAction< / a > ;< br >
---functions---< br >
< a href = "/method/messages.sendReaction" > messages.sendReaction< / a > #25690ce4 flags:< a href = "/type/%23" > #< / a > big:flags.1?< 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/string" > string< / a > = < a href = "/type/Updates" > Updates< / a > ;
< 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 > ;
< a href = "/method/messages.getMessageReactionsList" > messages.getMessageReactionsList< / a > #e0ee6b77 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/string" > string< / 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 > ;
< a href = "/method/messages.setChatAvailableReactions" > messages.setChatAvailableReactions< / a > #14050ea6 peer:< a href = "/type/InputPeer" > InputPeer< / a > available_reactions:< a href = "/type/Vector%20t" > Vector< / a > < < a href = "/type/string" > string< / a > > = < a href = "/type/Updates" > Updates< / a > ;
< a href = "/method/messages.getAvailableReactions" > messages.getAvailableReactions< / a > #18dea0ac hash:< a href = "/type/int" > int< / a > = < a href = "/type/messages.AvailableReactions" > messages.AvailableReactions< / a > ;
< a href = "/method/messages.setDefaultReaction" > messages.setDefaultReaction< / a > #d960c4d4 reaction:< a href = "/type/string" > string< / a > = < a href = "/type/Bool" > Bool< / a > ;< br > < / code > < / pre > < / div >
< h3 > < a class = "anchor" href = "#layer-135" id = "layer-135" name = "layer-135" > < i class = "anchor-icon" > < / i > < / a > < a href = "/schema?layer=135" > Layer 135< / a > < / h3 >
< p > < a href = "https://telegram.org/blog/protected-content-delete-by-date-and-more#anonymous-posting-in-public-groups" > Anonymous posting in public groups< / a > , < a href = "https://telegram.org/blog/protected-content-delete-by-date-and-more#protected-content-in-groups-and-channels" > protected content< / a > , < a href = "https://telegram.org/blog/protected-content-delete-by-date-and-more#manage-connected-devices" > device management< / a > , < a href = "https://telegram.org/blog/protected-content-delete-by-date-and-more#new-ways-to-log-in-via-call" > login via missed call< / a > , < a href = "/constructor/inputKeyboardButtonUserProfile" > mention users in inline buttons even if they don't have a username< / a > , < a href = "/api/auth#logout-tokens" > logout tokens< / a > , improvements to join requests and stickers.< / p >
< h4 > < a class = "anchor" href = "#schema-changes" id = "schema-changes" name = "schema-changes" > < i class = "anchor-icon" > < / i > < / a > Schema changes< / h4 >
< h5 > < a class = "anchor" href = "#new-methods" id = "new-methods" name = "new-methods" > < i class = "anchor-icon" > < / i > < / a > New Methods< / h5 >
< ul >
< li > Added < a href = "/method/messages.hideAllChatJoinRequests" > messages.hideAllChatJoinRequests< / a > - Dismiss or approve all < a href = "/api/invites#join-requests" > join requests< / a > related to a specific chat or channel.< / li >
< li > Added < a href = "/method/messages.toggleNoForwards" > messages.toggleNoForwards< / a > - Enable or disable < a href = "https://telegram.org/blog/protected-content-delete-by-date-and-more" > content protection< / a > on a channel or chat< / li >
< li > Added < a href = "/method/messages.saveDefaultSendAs" > messages.saveDefaultSendAs< / a > - Change the default peer that should be used when sending messages to a specific group< / li >
< li > Added < a href = "/method/channels.getSendAs" > channels.getSendAs< / a > - Obtains a list of peers that can be used to send messages in a specific group< / li >
< li > Added < a href = "/method/account.setAuthorizationTTL" > account.setAuthorizationTTL< / a > - Set time-to-live of current session< / li >
< li > Added < a href = "/method/account.changeAuthorizationSettings" > account.changeAuthorizationSettings< / a > - Change authorization settings< / li >
< li > Added < a href = "/method/channels.deleteParticipantHistory" > channels.deleteParticipantHistory< / a > - Delete all messages sent by a specific participant of a given supergroup< / li >
< / ul >
< h5 > < a class = "anchor" href = "#changed-methods" id = "changed-methods" name = "changed-methods" > < i class = "anchor-icon" > < / i > < / a > Changed Methods< / h5 >
< ul >
< li > Changed type of < a href = "/method/auth.logOut" > auth.logOut< / a > from < strong > Bool< / strong > to < strong > auth.LoggedOut< / strong > < / li >
< li > Changed type of < a href = "/method/users.getFullUser" > users.getFullUser< / a > from < strong > UserFull< / strong > to < strong > users.UserFull< / strong > < / li >
< li > Added < strong > noforwards< / strong > , < strong > send_as< / strong > parameters in < a href = "/method/messages.sendMessage" > messages.sendMessage< / a > < / li >
< li > Added < strong > noforwards< / strong > , < strong > send_as< / strong > parameters in < a href = "/method/messages.sendMedia" > messages.sendMedia< / a > < / li >
< li > Added < strong > noforwards< / strong > , < strong > send_as< / strong > parameters in < a href = "/method/messages.forwardMessages" > messages.forwardMessages< / a > < / li >
< li > Changed type of < a href = "/method/messages.getPeerSettings" > messages.getPeerSettings< / a > from < strong > PeerSettings< / strong > to < strong > messages.PeerSettings< / strong > < / li >
< li > Added < strong > hash< / strong > parameter in < a href = "/method/messages.getStickerSet" > messages.getStickerSet< / a > < / li >
< li > Added < strong > participant< / strong > parameter, removed < strong > user_id< / strong > parameter in < a href = "/method/channels.reportSpam" > channels.reportSpam< / a > < / li >
< li > Added < strong > send_as< / strong > parameter in < a href = "/method/messages.sendInlineBotResult" > messages.sendInlineBotResult< / a > < / li >
< li > Added < strong > noforwards< / strong > , < strong > send_as< / strong > parameters in < a href = "/method/messages.sendMultiMedia" > messages.sendMultiMedia< / a > < / li >
< / ul >
< h5 > < a class = "anchor" href = "#deleted-methods" id = "deleted-methods" name = "deleted-methods" > < i class = "anchor-icon" > < / i > < / a > Deleted Methods< / h5 >
< ul >
< li > Removed channels.deleteUserHistory< / li >
< / ul >
< h5 > < a class = "anchor" href = "#new-constructors" id = "new-constructors" name = "new-constructors" > < i class = "anchor-icon" > < / i > < / a > New Constructors< / h5 >
< ul >
< li > Added < a href = "/constructor/inputKeyboardButtonUserProfile" > inputKeyboardButtonUserProfile< / a > - Button that links directly to a user profile< / li >
< li > Added < a href = "/constructor/keyboardButtonUserProfile" > keyboardButtonUserProfile< / a > - Button that links directly to a user profile< / li >
< li > Added < a href = "/constructor/channels.sendAsPeers" > channels.sendAsPeers< / a > - A list of peers that can be used to send messages in a specific group< / li >
< li > Added < a href = "/constructor/channelAdminLogEventActionToggleNoForwards" > channelAdminLogEventActionToggleNoForwards< / a > - Forwards were enabled or disabled< / li >
< li > Added < a href = "/constructor/messages.stickerSetNotModified" > messages.stickerSetNotModified< / a > - The stickerset hasn't changed< / li >
< li > Added < a href = "/constructor/users.userFull" > users.userFull< / a > - Full user information< / li >
< li > Added < a href = "/constructor/messages.peerSettings" > messages.peerSettings< / a > - Peer settings< / li >
< li > Added < a href = "/constructor/channelAdminLogEventActionSendMessage" > channelAdminLogEventActionSendMessage< / a > - A message was posted in a channel< / li >
< li > Added < a href = "/constructor/auth.codeTypeMissedCall" > auth.codeTypeMissedCall< / a > - The next time, the authentication code will be delivered via an immediately canceled incoming call, handled manually by the user.< / li >
< li > Added < a href = "/constructor/auth.sentCodeTypeMissedCall" > auth.sentCodeTypeMissedCall< / a > - The code will be sent via a flash phone call, that will be closed immediately. The last digits of the phone number that calls are the code that must be entered manually by the user.< / li >
< li > Added < a href = "/constructor/auth.loggedOut" > auth.loggedOut< / a > - < a href = "/api/auth#logout-tokens" > Logout token »< / a > to be used on subsequent authorizations< / li >
< / ul >
< h5 > < a class = "anchor" href = "#changed-constructors" id = "changed-constructors" name = "changed-constructors" > < i class = "anchor-icon" > < / i > < / a > Changed Constructors< / h5 >
< ul >
< li > Added < strong > noforwards< / strong > parameter in < a href = "/constructor/chat" > chat< / a > < / li >
< li > Added < strong > noforwards< / strong > parameter in < a href = "/constructor/message" > message< / a > < / li >
< li > Added < strong > setup_password_required< / strong > , < strong > otherwise_relogin_days< / strong > parameters in < a href = "/constructor/auth.authorization" > auth.authorization< / a > < / li >
< li > Added < strong > request_chat_broadcast< / strong > , < strong > request_chat_title< / strong > , < strong > request_chat_date< / strong > parameters in < a href = "/constructor/peerSettings" > peerSettings< / a > < / li >
< li > Added < strong > id< / strong > , < strong > private_forward_name< / strong > parameters, removed < strong > user< / strong > parameter in < a href = "/constructor/userFull" > userFull< / a > < / li >
< li > Added < strong > encrypted_requests_disabled< / strong > , < strong > call_requests_disabled< / strong > parameters in < a href = "/constructor/authorization" > authorization< / a > < / li >
< li > Added < strong > authorization_ttl_days< / strong > parameter in < a href = "/constructor/account.authorizations" > account.authorizations< / a > < / li >
< li > Added < strong > noforwards< / strong > parameter in < a href = "/constructor/channel" > channel< / a > < / li >
< li > Added < strong > default_send_as< / strong > parameter in < a href = "/constructor/channelFull" > channelFull< / a > < / li >
< li > Added < strong > allow_missed_call< / strong > , < strong > logout_tokens< / strong > parameters in < a href = "/constructor/codeSettings" > codeSettings< / a > < / li >
< / ul >
< h4 > < a class = "anchor" href = "#schema" id = "schema" name = "schema" > < i class = "anchor-icon" > < / i > < / a > Schema< / h4 >
< div > < pre > < code > < a href = "/constructor/chat" > chat< / a > #41cbf256 flags:< a href = "/type/%23" > #< / a > creator:flags.0?< a href = "/constructor/true" > true< / a > kicked:flags.1?< a href = "/constructor/true" > true< / a > left:flags.2?< a href = "/constructor/true" > true< / a > deactivated:flags.5?< a href = "/constructor/true" > true< / a > call_active:flags.23?< a href = "/constructor/true" > true< / a > call_not_empty:flags.24?< a href = "/constructor/true" > true< / a > noforwards:flags.25?< a href = "/constructor/true" > true< / a > id:< a href = "/type/long" > long< / a > title:< a href = "/type/string" > string< / a > photo:< a href = "/type/ChatPhoto" > ChatPhoto< / a > participants_count:< a href = "/type/int" > int< / a > date:< a href = "/type/int" > int< / a > version:< a href = "/type/int" > int< / a > migrated_to:flags.6?< a href = "/type/InputChannel" > InputChannel< / a > admin_rights:flags.14?< a href = "/type/ChatAdminRights" > ChatAdminRights< / a > default_banned_rights:flags.18?< a href = "/type/ChatBannedRights" > ChatBannedRights< / a > = < a href = "/type/Chat" > Chat< / a > ;< br >
< a href = "/constructor/message" > message< / a > #85d6cbe2 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 > 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 > 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 > 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 > ;< br >
< a href = "/constructor/auth.authorization" > auth.authorization< / a > #33fb7bb8 flags:< a href = "/type/%23" > #< / a > setup_password_required:flags.1?< a href = "/constructor/true" > true< / a > otherwise_relogin_days:flags.1?< a href = "/type/int" > int< / a > tmp_sessions:flags.0?< a href = "/type/int" > int< / a > user:< a href = "/type/User" > User< / a > = < a href = "/type/auth.Authorization" > auth.Authorization< / a > ;< br >
< a href = "/constructor/peerSettings" > peerSettings< / a > #a518110d flags:< a href = "/type/%23" > #< / a > report_spam:flags.0?< a href = "/constructor/true" > true< / a > add_contact:flags.1?< a href = "/constructor/true" > true< / a > block_contact:flags.2?< a href = "/constructor/true" > true< / a > share_contact:flags.3?< a href = "/constructor/true" > true< / a > need_contacts_exception:flags.4?< a href = "/constructor/true" > true< / a > report_geo:flags.5?< a href = "/constructor/true" > true< / a > autoarchived:flags.7?< a href = "/constructor/true" > true< / a > invite_members:flags.8?< a href = "/constructor/true" > true< / a > request_chat_broadcast:flags.10?< a href = "/constructor/true" > true< / a > geo_distance:flags.6?< a href = "/type/int" > int< / a > request_chat_title:flags.9?< a href = "/type/string" > string< / a > request_chat_date:flags.9?< a href = "/type/int" > int< / a > = < a href = "/type/PeerSettings" > PeerSettings< / a > ;< br >
< a href = "/constructor/userFull" > userFull< / a > #cf366521 flags:< a href = "/type/%23" > #< / a > blocked:flags.0?< a href = "/constructor/true" > true< / a > phone_calls_available:flags.4?< a href = "/constructor/true" > true< / a > phone_calls_private:flags.5?< a href = "/constructor/true" > true< / a > can_pin_message:flags.7?< a href = "/constructor/true" > true< / a > has_scheduled:flags.12?< a href = "/constructor/true" > true< / a > video_calls_available:flags.13?< a href = "/constructor/true" > true< / a > id:< a href = "/type/long" > long< / a > about:flags.1?< a href = "/type/string" > string< / a > settings:< a href = "/type/PeerSettings" > PeerSettings< / a > profile_photo:flags.2?< a href = "/type/Photo" > Photo< / a > notify_settings:< a href = "/type/PeerNotifySettings" > PeerNotifySettings< / a > bot_info:flags.3?< a href = "/type/BotInfo" > BotInfo< / a > pinned_msg_id:flags.6?< a href = "/type/int" > int< / a > common_chats_count:< a href = "/type/int" > int< / a > folder_id:flags.11?< a href = "/type/int" > int< / a > ttl_period:flags.14?< a href = "/type/int" > int< / a > theme_emoticon:flags.15?< a href = "/type/string" > string< / a > private_forward_name:flags.16?< a href = "/type/string" > string< / a > = < a href = "/type/UserFull" > UserFull< / a > ;< br >
< a href = "/constructor/authorization" > authorization< / a > #ad01d61d flags:< a href = "/type/%23" > #< / a > current:flags.0?< a href = "/constructor/true" > true< / a > official_app:flags.1?< a href = "/constructor/true" > true< / a > password_pending:flags.2?< a href = "/constructor/true" > true< / a > encrypted_requests_disabled:flags.3?< a href = "/constructor/true" > true< / a > call_requests_disabled:flags.4?< a href = "/constructor/true" > true< / a > hash:< a href = "/type/long" > long< / a > device_model:< a href = "/type/string" > string< / a > platform:< a href = "/type/string" > string< / a > system_version:< a href = "/type/string" > string< / a > api_id:< a href = "/type/int" > int< / a > app_name:< a href = "/type/string" > string< / a > app_version:< a href = "/type/string" > string< / a > date_created:< a href = "/type/int" > int< / a > date_active:< a href = "/type/int" > int< / a > ip:< a href = "/type/string" > string< / a > country:< a href = "/type/string" > string< / a > region:< a href = "/type/string" > string< / a > = < a href = "/type/Authorization" > Authorization< / a > ;
< a href = "/constructor/account.authorizations" > account.authorizations< / a > #4bff8ea0 authorization_ttl_days:< a href = "/type/int" > int< / a > authorizations:< a href = "/type/Vector%20t" > Vector< / a > < < a href = "/type/Authorization" > Authorization< / a > > = < a href = "/type/account.Authorizations" > account.Authorizations< / a > ;< br >
< a href = "/constructor/channel" > channel< / a > #8261ac61 flags:< a href = "/type/%23" > #< / a > creator:flags.0?< a href = "/constructor/true" > true< / a > left:flags.2?< a href = "/constructor/true" > true< / a > broadcast:flags.5?< a href = "/constructor/true" > true< / a > verified:flags.7?< a href = "/constructor/true" > true< / a > megagroup:flags.8?< a href = "/constructor/true" > true< / a > restricted:flags.9?< a href = "/constructor/true" > true< / a > signatures:flags.11?< a href = "/constructor/true" > true< / a > min:flags.12?< a href = "/constructor/true" > true< / a > scam:flags.19?< a href = "/constructor/true" > true< / a > has_link:flags.20?< a href = "/constructor/true" > true< / a > has_geo:flags.21?< a href = "/constructor/true" > true< / a > slowmode_enabled:flags.22?< a href = "/constructor/true" > true< / a > call_active:flags.23?< a href = "/constructor/true" > true< / a > call_not_empty:flags.24?< a href = "/constructor/true" > true< / a > fake:flags.25?< a href = "/constructor/true" > true< / a > gigagroup:flags.26?< a href = "/constructor/true" > true< / a > noforwards:flags.27?< a href = "/constructor/true" > true< / a > id:< a href = "/type/long" > long< / a > access_hash:flags.13?< a href = "/type/long" > long< / a > title:< a href = "/type/string" > string< / a > username:flags.6?< a href = "/type/string" > string< / a > photo:< a href = "/type/ChatPhoto" > ChatPhoto< / a > date:< a href = "/type/int" > int< / a > restriction_reason:flags.9?< a href = "/type/Vector%20t" > Vector< / a > < < a href = "/type/RestrictionReason" > RestrictionReason< / a > > admin_rights:flags.14?< a href = "/type/ChatAdminRights" > ChatAdminRights< / a > banned_rights:flags.15?< a href = "/type/ChatBannedRights" > ChatBannedRights< / a > default_banned_rights:flags.18?< a href = "/type/ChatBannedRights" > ChatBannedRights< / a > participants_count:flags.17?< a href = "/type/int" > int< / a > = < a href = "/type/Chat" > Chat< / a > ;
< a href = "/constructor/channelFull" > channelFull< / a > #56662e2e 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 > 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 > = < a href = "/type/ChatFull" > ChatFull< / a > ;
< a href = "/constructor/codeSettings" > codeSettings< / a > #8a6469c2 flags:< a href = "/type/%23" > #< / a > allow_flashcall:flags.0?< a href = "/constructor/true" > true< / a > current_number:flags.1?< a href = "/constructor/true" > true< / a > allow_app_hash:flags.4?< a href = "/constructor/true" > true< / a > allow_missed_call:flags.5?< a href = "/constructor/true" > true< / a > logout_tokens:flags.6?< a href = "/type/Vector%20t" > Vector< / a > < < a href = "/type/bytes" > bytes< / a > > = < a href = "/type/CodeSettings" > CodeSettings< / a > ;< br >
< a href = "/constructor/inputKeyboardButtonUserProfile" > inputKeyboardButtonUserProfile< / a > #e988037b text:< a href = "/type/string" > string< / a > user_id:< a href = "/type/InputUser" > InputUser< / a > = < a href = "/type/KeyboardButton" > KeyboardButton< / a > ;< br >
< a href = "/constructor/keyboardButtonUserProfile" > keyboardButtonUserProfile< / a > #308660c1 text:< a href = "/type/string" > string< / a > user_id:< a href = "/type/long" > long< / a > = < a href = "/type/KeyboardButton" > KeyboardButton< / a > ;< br >
< a href = "/constructor/channels.sendAsPeers" > channels.sendAsPeers< / a > #8356cda9 peers:< a href = "/type/Vector%20t" > Vector< / a > < < a href = "/type/Peer" > Peer< / 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 > > = < a href = "/type/channels.SendAsPeers" > channels.SendAsPeers< / a > ;
< a href = "/constructor/channelAdminLogEventActionToggleNoForwards" > channelAdminLogEventActionToggleNoForwards< / a > #cb2ac766 new_value:< a href = "/type/Bool" > Bool< / a > = < a href = "/type/ChannelAdminLogEventAction" > ChannelAdminLogEventAction< / a > ;< br >
< a href = "/constructor/messages.stickerSetNotModified" > messages.stickerSetNotModified< / a > #d3f924eb = < a href = "/type/messages.StickerSet" > messages.StickerSet< / a > ;< br >
< a href = "/constructor/users.userFull" > users.userFull< / a > #3b6d152e full_user:< a href = "/type/UserFull" > UserFull< / 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 > > = < a href = "/type/users.UserFull" > users.UserFull< / a > ;< br >
< a href = "/constructor/messages.peerSettings" > messages.peerSettings< / a > #6880b94d settings:< a href = "/type/PeerSettings" > PeerSettings< / 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 > > = < a href = "/type/messages.PeerSettings" > messages.PeerSettings< / a > ;< br >
< a href = "/constructor/channelAdminLogEventActionSendMessage" > channelAdminLogEventActionSendMessage< / a > #278f2868 message:< a href = "/type/Message" > Message< / a > = < a href = "/type/ChannelAdminLogEventAction" > ChannelAdminLogEventAction< / a > ;< br >
< a href = "/constructor/auth.codeTypeMissedCall" > auth.codeTypeMissedCall< / a > #d61ad6ee = < a href = "/type/auth.CodeType" > auth.CodeType< / a > ;
< a href = "/constructor/auth.sentCodeTypeMissedCall" > auth.sentCodeTypeMissedCall< / a > #82006484 prefix:< a href = "/type/string" > string< / a > length:< a href = "/type/int" > int< / a > = < a href = "/type/auth.SentCodeType" > auth.SentCodeType< / a > ;
< a href = "/constructor/auth.loggedOut" > auth.loggedOut< / a > #c3a2835f flags:< a href = "/type/%23" > #< / a > future_auth_token:flags.0?< a href = "/type/bytes" > bytes< / a > = < a href = "/type/auth.LoggedOut" > auth.LoggedOut< / a > ;< br >
---functions---< br >
< a href = "/method/auth.logOut" > auth.logOut< / a > #3e72ba19 = < a href = "/type/auth.LoggedOut" > auth.LoggedOut< / a > ;< br >
< a href = "/method/users.getFullUser" > users.getFullUser< / a > #b60f5918 id:< a href = "/type/InputUser" > InputUser< / a > = < a href = "/type/users.UserFull" > users.UserFull< / a > ;< br >
< a href = "/method/messages.sendMessage" > messages.sendMessage< / a > #0d9d75a4 flags:< a href = "/type/%23" > #< / a > no_webpage:flags.1?< a href = "/constructor/true" > true< / a > silent:flags.5?< a href = "/constructor/true" > true< / a > background:flags.6?< a href = "/constructor/true" > true< / a > clear_draft:flags.7?< a href = "/constructor/true" > true< / a > noforwards:flags.14?< a href = "/constructor/true" > true< / a > peer:< a href = "/type/InputPeer" > InputPeer< / a > reply_to_msg_id:flags.0?< a href = "/type/int" > int< / a > message:< a href = "/type/string" > string< / a > random_id:< a href = "/type/long" > long< / a > reply_markup:flags.2?< a href = "/type/ReplyMarkup" > ReplyMarkup< / a > entities:flags.3?< a href = "/type/Vector%20t" > Vector< / a > < < a href = "/type/MessageEntity" > MessageEntity< / a > > schedule_date:flags.10?< a href = "/type/int" > int< / a > send_as:flags.13?< a href = "/type/InputPeer" > InputPeer< / a > = < a href = "/type/Updates" > Updates< / a > ;
< a href = "/method/messages.sendMedia" > messages.sendMedia< / a > #e25ff8e0 flags:< a href = "/type/%23" > #< / a > silent:flags.5?< a href = "/constructor/true" > true< / a > background:flags.6?< a href = "/constructor/true" > true< / a > clear_draft:flags.7?< a href = "/constructor/true" > true< / a > noforwards:flags.14?< a href = "/constructor/true" > true< / a > peer:< a href = "/type/InputPeer" > InputPeer< / a > reply_to_msg_id:flags.0?< a href = "/type/int" > int< / a > media:< a href = "/type/InputMedia" > InputMedia< / a > message:< a href = "/type/string" > string< / a > random_id:< a href = "/type/long" > long< / a > reply_markup:flags.2?< a href = "/type/ReplyMarkup" > ReplyMarkup< / a > entities:flags.3?< a href = "/type/Vector%20t" > Vector< / a > < < a href = "/type/MessageEntity" > MessageEntity< / a > > schedule_date:flags.10?< a href = "/type/int" > int< / a > send_as:flags.13?< a href = "/type/InputPeer" > InputPeer< / a > = < a href = "/type/Updates" > Updates< / a > ;
< a href = "/method/messages.forwardMessages" > messages.forwardMessages< / a > #cc30290b flags:< a href = "/type/%23" > #< / a > silent:flags.5?< a href = "/constructor/true" > true< / a > background:flags.6?< a href = "/constructor/true" > true< / a > with_my_score:flags.8?< a href = "/constructor/true" > true< / a > drop_author:flags.11?< a href = "/constructor/true" > true< / a > drop_media_captions:flags.12?< a href = "/constructor/true" > true< / a > noforwards:flags.14?< a href = "/constructor/true" > true< / a > from_peer:< a href = "/type/InputPeer" > InputPeer< / a > id:< a href = "/type/Vector%20t" > Vector< / a > < < a href = "/type/int" > int< / a > > random_id:< a href = "/type/Vector%20t" > Vector< / a > < < a href = "/type/long" > long< / a > > to_peer:< a href = "/type/InputPeer" > InputPeer< / a > schedule_date:flags.10?< a href = "/type/int" > int< / a > send_as:flags.13?< a href = "/type/InputPeer" > InputPeer< / a > = < a href = "/type/Updates" > Updates< / a > ;
< a href = "/method/messages.getPeerSettings" > messages.getPeerSettings< / a > #efd9a6a2 peer:< a href = "/type/InputPeer" > InputPeer< / a > = < a href = "/type/messages.PeerSettings" > messages.PeerSettings< / a > ;
< a href = "/method/messages.getStickerSet" > messages.getStickerSet< / a > #c8a0ec74 stickerset:< a href = "/type/InputStickerSet" > InputStickerSet< / a > hash:< a href = "/type/int" > int< / a > = < a href = "/type/messages.StickerSet" > messages.StickerSet< / a > ;< br >
< a href = "/method/channels.reportSpam" > channels.reportSpam< / a > #f44a8315 channel:< a href = "/type/InputChannel" > InputChannel< / a > participant:< a href = "/type/InputPeer" > InputPeer< / a > id:< a href = "/type/Vector%20t" > Vector< / a > < < a href = "/type/int" > int< / a > > = < a href = "/type/Bool" > Bool< / a > ;< br >
< a href = "/method/messages.sendInlineBotResult" > messages.sendInlineBotResult< / a > #7aa11297 flags:< a href = "/type/%23" > #< / a > silent:flags.5?< a href = "/constructor/true" > true< / a > background:flags.6?< a href = "/constructor/true" > true< / a > clear_draft:flags.7?< a href = "/constructor/true" > true< / a > hide_via:flags.11?< a href = "/constructor/true" > true< / a > peer:< a href = "/type/InputPeer" > InputPeer< / a > reply_to_msg_id:flags.0?< a href = "/type/int" > int< / a > random_id:< a href = "/type/long" > long< / a > query_id:< a href = "/type/long" > long< / a > id:< a href = "/type/string" > string< / a > schedule_date:flags.10?< a href = "/type/int" > int< / a > send_as:flags.13?< a href = "/type/InputPeer" > InputPeer< / a > = < a href = "/type/Updates" > Updates< / a > ;
< a href = "/method/messages.sendMultiMedia" > messages.sendMultiMedia< / a > #f803138f flags:< a href = "/type/%23" > #< / a > silent:flags.5?< a href = "/constructor/true" > true< / a > background:flags.6?< a href = "/constructor/true" > true< / a > clear_draft:flags.7?< a href = "/constructor/true" > true< / a > noforwards:flags.14?< a href = "/constructor/true" > true< / a > peer:< a href = "/type/InputPeer" > InputPeer< / a > reply_to_msg_id:flags.0?< a href = "/type/int" > int< / a > multi_media:< a href = "/type/Vector%20t" > Vector< / a > < < a href = "/type/InputSingleMedia" > InputSingleMedia< / a > > schedule_date:flags.10?< a href = "/type/int" > int< / a > send_as:flags.13?< a href = "/type/InputPeer" > InputPeer< / a > = < a href = "/type/Updates" > Updates< / a > ;
< a href = "/method/messages.hideAllChatJoinRequests" > messages.hideAllChatJoinRequests< / a > #e085f4ea flags:< a href = "/type/%23" > #< / a > approved:flags.0?< a href = "/constructor/true" > true< / a > peer:< a href = "/type/InputPeer" > InputPeer< / a > link:flags.1?< a href = "/type/string" > string< / a > = < a href = "/type/Updates" > Updates< / a > ;
< a href = "/method/messages.toggleNoForwards" > messages.toggleNoForwards< / a > #b11eafa2 peer:< a href = "/type/InputPeer" > InputPeer< / a > enabled:< a href = "/type/Bool" > Bool< / a > = < a href = "/type/Updates" > Updates< / a > ;
< a href = "/method/messages.saveDefaultSendAs" > messages.saveDefaultSendAs< / a > #ccfddf96 peer:< a href = "/type/InputPeer" > InputPeer< / a > send_as:< a href = "/type/InputPeer" > InputPeer< / a > = < a href = "/type/Bool" > Bool< / a > ;< br >
< a href = "/method/channels.getSendAs" > channels.getSendAs< / a > #0dc770ee peer:< a href = "/type/InputPeer" > InputPeer< / a > = < a href = "/type/channels.SendAsPeers" > channels.SendAsPeers< / a > ;< br >
< a href = "/method/account.setAuthorizationTTL" > account.setAuthorizationTTL< / a > #bf899aa0 authorization_ttl_days:< a href = "/type/int" > int< / a > = < a href = "/type/Bool" > Bool< / a > ;
< a href = "/method/account.changeAuthorizationSettings" > account.changeAuthorizationSettings< / a > #40f48462 flags:< a href = "/type/%23" > #< / a > hash:< a href = "/type/long" > long< / a > encrypted_requests_disabled:flags.0?< a href = "/type/Bool" > Bool< / a > call_requests_disabled:flags.1?< a href = "/type/Bool" > Bool< / a > = < a href = "/type/Bool" > Bool< / a > ;< br >
< a href = "/method/channels.deleteParticipantHistory" > channels.deleteParticipantHistory< / a > #367544db channel:< a href = "/type/InputChannel" > InputChannel< / a > participant:< a href = "/type/InputPeer" > InputPeer< / a > = < a href = "/type/messages.AffectedHistory" > messages.AffectedHistory< / a > ;< br > < / code > < / pre > < / div >
< h3 > < a class = "anchor" href = "#layer-134" id = "layer-134" name = "layer-134" > < i class = "anchor-icon" > < / i > < / a > < a href = "/schema?layer=134" > Layer 134< / a > < / h3 >
< p > < a href = "/api/invites#join-requests" > Join requests< / a > , < a href = "https://telegram.org/blog/protected-content-delete-by-date-and-more#delete-messages-by-date" > delete by date< / a > , < a href = "https://telegram.org/blog/shared-media-scrolling-calendar-join-requests-and-more#global-chat-themes-on-ios" > global chat themes< / a > , < a href = "https://telegram.org/blog/shared-media-scrolling-calendar-join-requests-and-more" > hyper-speed scrolling and calendar view for shared media< / a > , sponsored channel posts.< / p >
< h4 > < a class = "anchor" href = "#schema-changes" id = "schema-changes" name = "schema-changes" > < i class = "anchor-icon" > < / i > < / a > Schema changes< / h4 >
< h5 > < a class = "anchor" href = "#new-methods" id = "new-methods" name = "new-methods" > < i class = "anchor-icon" > < / i > < / a > New Methods< / h5 >
< ul >
< li > Added < a href = "/method/messages.getSearchResultsCalendar" > messages.getSearchResultsCalendar< / a > - Returns information about the next messages of the specified type in the chat split by days.< / li >
< li > Added < a href = "/method/messages.getSearchResultsPositions" > messages.getSearchResultsPositions< / a > - Returns sparse positions of messages of the specified type in the chat to be used for shared media scroll implementation.< / li >
< li > Added < a href = "/method/messages.hideChatJoinRequest" > messages.hideChatJoinRequest< / a > - Dismiss or approve a chat < a href = "/api/invites#join-requests" > join request< / a > related to a specific chat or channel.< / li >
< / ul >
< h5 > < a class = "anchor" href = "#changed-methods" id = "changed-methods" name = "changed-methods" > < i class = "anchor-icon" > < / i > < / a > Changed Methods< / h5 >
< ul >
< li > Added < strong > min_date< / strong > , < strong > max_date< / strong > parameters in < a href = "/method/messages.deleteHistory" > messages.deleteHistory< / a > < / li >
< li > Added < strong > request_needed< / strong > , < strong > title< / strong > parameters in < a href = "/method/messages.exportChatInvite" > messages.exportChatInvite< / a > < / li >
< li > Changed type of < strong > settings< / strong > from < strong > flags.3?InputThemeSettings< / strong > to < strong > flags.3?Vector< InputThemeSettings> < / strong > in < a href = "/method/account.createTheme" > account.createTheme< / a > < / li >
< li > Changed type of < strong > settings< / strong > from < strong > flags.3?InputThemeSettings< / strong > to < strong > flags.3?Vector< InputThemeSettings> < / strong > in < a href = "/method/account.updateTheme" > account.updateTheme< / a > < / li >
< li > Added < strong > base_theme< / strong > parameter, changed type of < strong > format< / strong > from < strong > flags.1?string< / strong > to < strong > flags.2?string< / strong > in < a href = "/method/account.installTheme" > account.installTheme< / a > < / li >
< li > Added < strong > request_needed< / strong > , < strong > title< / strong > parameters in < a href = "/method/messages.editExportedChatInvite" > messages.editExportedChatInvite< / a > < / li >
< li > Added < strong > flags< / strong > , < strong > requested< / strong > , < strong > q< / strong > parameters, changed type of < strong > link< / strong > from < strong > string< / strong > to < strong > flags.1?string< / strong > in < a href = "/method/messages.getChatInviteImporters" > messages.getChatInviteImporters< / a > < / li >
< li > Changed type of < a href = "/method/account.getChatThemes" > account.getChatThemes< / a > from < strong > account.ChatThemes< / strong > to < strong > account.Themes< / strong > < / li >
< li > Changed type of < strong > hash< / strong > from < strong > int< / strong > to < strong > long< / strong > in < a href = "/method/account.getChatThemes" > account.getChatThemes< / a > < / li >
< / ul >
< h5 > < a class = "anchor" href = "#new-constructors" id = "new-constructors" name = "new-constructors" > < i class = "anchor-icon" > < / i > < / a > New Constructors< / h5 >
< ul >
< li > Added < a href = "/constructor/searchResultsCalendarPeriod" > searchResultsCalendarPeriod< / a > - Information about found messages sent on a specific day, used to split the < code > messages< / code > in < a href = "/constructor/messages.searchResultsCalendar" > messages.searchResultsCalendar< / a > constructors by days.< / li >
< li > Added < a href = "/constructor/messages.searchResultsCalendar" > messages.searchResultsCalendar< / a > - Information about found messages sent on a specific day< / li >
< li > Added < a href = "/constructor/searchResultPosition" > searchResultPosition< / a > - Information about a message in a specific position< / li >
< li > Added < a href = "/constructor/messages.searchResultsPositions" > messages.searchResultsPositions< / a > - Information about sparse positions of messages< / li >
< li > Added < a href = "/constructor/messageActionChatJoinedByRequest" > messageActionChatJoinedByRequest< / a > - A user was accepted into the group by an admin< / li >
< li > Added < a href = "/constructor/updatePendingJoinRequests" > updatePendingJoinRequests< / a > - Someone has requested to join a chat or channel< / li >
< li > Added < a href = "/constructor/updateBotChatInviteRequester" > updateBotChatInviteRequester< / a > - Someone has requested to join a chat or channel (bots only, users will receive an < a href = "/constructor/updatePendingJoinRequests" > updatePendingJoinRequests< / a > , instead)< / li >
< li > Added < a href = "/constructor/channelAdminLogEventActionParticipantJoinByRequest" > channelAdminLogEventActionParticipantJoinByRequest< / a > - A new member was accepted to the chat by an admin< / li >
< / ul >
< h5 > < a class = "anchor" href = "#changed-constructors" id = "changed-constructors" name = "changed-constructors" > < i class = "anchor-icon" > < / i > < / a > Changed Constructors< / h5 >
< ul >
< li > Added < strong > requests_pending< / strong > , < strong > recent_requesters< / strong > parameters in < a href = "/constructor/chatFull" > chatFull< / a > < / li >
< li > Added < strong > request_needed< / strong > , < strong > requested< / strong > , < strong > title< / strong > parameters in < a href = "/constructor/chatInviteExported" > chatInviteExported< / a > < / li >
< li > Added < strong > request_needed< / strong > , < strong > about< / strong > parameters in < a href = "/constructor/chatInvite" > chatInvite< / a > < / li >
< li > Added < strong > requests_pending< / strong > , < strong > recent_requesters< / strong > parameters in < a href = "/constructor/channelFull" > channelFull< / a > < / li >
< li > Added < strong > flags< / strong > , < strong > via_request< / strong > parameters in < a href = "/constructor/channelParticipantSelf" > channelParticipantSelf< / a > < / li >
< li > Added < strong > send< / strong > parameter in < a href = "/constructor/channelAdminLogEventsFilter" > channelAdminLogEventsFilter< / a > < / li >
< li > Added < strong > emoticon< / strong > parameter, changed type of < strong > settings< / strong > from < strong > flags.3?ThemeSettings< / strong > to < strong > flags.3?Vector< ThemeSettings> < / strong > in < a href = "/constructor/theme" > theme< / a > < / li >
< li > Added < strong > flags< / strong > , < strong > requested< / strong > , < strong > about< / strong > , < strong > approved_by< / strong > parameters in < a href = "/constructor/chatInviteImporter" > chatInviteImporter< / a > < / li >
< li > Added < strong > channel_post< / strong > parameter in < a href = "/constructor/sponsoredMessage" > sponsoredMessage< / a > < / li >
< / ul >
< h5 > < a class = "anchor" href = "#deleted-constructors" id = "deleted-constructors" name = "deleted-constructors" > < i class = "anchor-icon" > < / i > < / a > Deleted Constructors< / h5 >
< ul >
< li > Removed chatTheme< / li >
< li > Removed account.chatThemesNotModified< / li >
< li > Removed account.chatThemes< / li >
< / ul >
< h4 > < a class = "anchor" href = "#push-notification-changes" id = "push-notification-changes" name = "push-notification-changes" > < i class = "anchor-icon" > < / i > < / a > PUSH notification changes< / h4 >
< h5 > < a class = "anchor" href = "#new-push-notifications" id = "new-push-notifications" name = "new-push-notifications" > < i class = "anchor-icon" > < / i > < / a > New PUSH notifications< / h5 >
< ul >
< li > Added < a href = "/api/push-updates#possible-notifications" > CHAT_REQ_JOINED< / a > - < code > {2}|{1} was accepted into the group< / code > < / li >
< / ul >
< h4 > < a class = "anchor" href = "#schema" id = "schema" name = "schema" > < i class = "anchor-icon" > < / i > < / a > Schema< / h4 >
< div > < pre > < code > < a href = "/constructor/chatFull" > chatFull< / a > #46a6ffb4 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 > 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 > > = < a href = "/type/ChatFull" > ChatFull< / a > ;
< a href = "/constructor/chatInviteExported" > chatInviteExported< / a > #0ab4a819 flags:< a href = "/type/%23" > #< / a > revoked:flags.0?< a href = "/constructor/true" > true< / a > permanent:flags.5?< a href = "/constructor/true" > true< / a > request_needed:flags.6?< a href = "/constructor/true" > true< / a > link:< a href = "/type/string" > string< / a > admin_id:< a href = "/type/long" > long< / a > date:< a href = "/type/int" > int< / a > start_date:flags.4?< a href = "/type/int" > int< / a > expire_date:flags.1?< a href = "/type/int" > int< / a > usage_limit:flags.2?< a href = "/type/int" > int< / a > usage:flags.3?< a href = "/type/int" > int< / a > requested:flags.7?< a href = "/type/int" > int< / a > title:flags.8?< a href = "/type/string" > string< / a > = < a href = "/type/ExportedChatInvite" > ExportedChatInvite< / a > ;
< a href = "/constructor/chatInvite" > chatInvite< / a > #300c44c1 flags:< a href = "/type/%23" > #< / a > channel:flags.0?< a href = "/constructor/true" > true< / a > broadcast:flags.1?< a href = "/constructor/true" > true< / a > public:flags.2?< a href = "/constructor/true" > true< / a > megagroup:flags.3?< a href = "/constructor/true" > true< / a > request_needed:flags.6?< a href = "/constructor/true" > true< / a > title:< a href = "/type/string" > string< / a > about:flags.5?< a href = "/type/string" > string< / a > photo:< a href = "/type/Photo" > Photo< / a > participants_count:< a href = "/type/int" > int< / a > participants:flags.4?< a href = "/type/Vector%20t" > Vector< / a > < < a href = "/type/User" > User< / a > > = < a href = "/type/ChatInvite" > ChatInvite< / a > ;
< a href = "/constructor/channelFull" > channelFull< / a > #59cff963 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 > 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 > > = < a href = "/type/ChatFull" > ChatFull< / a > ;
< a href = "/constructor/channelParticipantSelf" > channelParticipantSelf< / a > #35a8bfa7 flags:< a href = "/type/%23" > #< / a > via_request:flags.0?< a href = "/constructor/true" > true< / a > user_id:< a href = "/type/long" > long< / a > inviter_id:< a href = "/type/long" > long< / a > date:< a href = "/type/int" > int< / a > = < a href = "/type/ChannelParticipant" > ChannelParticipant< / a > ;
< a href = "/constructor/channelAdminLogEventsFilter" > channelAdminLogEventsFilter< / a > #ea107ae4 flags:< a href = "/type/%23" > #< / a > join:flags.0?< a href = "/constructor/true" > true< / a > leave:flags.1?< a href = "/constructor/true" > true< / a > invite:flags.2?< a href = "/constructor/true" > true< / a > ban:flags.3?< a href = "/constructor/true" > true< / a > unban:flags.4?< a href = "/constructor/true" > true< / a > kick:flags.5?< a href = "/constructor/true" > true< / a > unkick:flags.6?< a href = "/constructor/true" > true< / a > promote:flags.7?< a href = "/constructor/true" > true< / a > demote:flags.8?< a href = "/constructor/true" > true< / a > info:flags.9?< a href = "/constructor/true" > true< / a > settings:flags.10?< a href = "/constructor/true" > true< / a > pinned:flags.11?< a href = "/constructor/true" > true< / a > edit:flags.12?< a href = "/constructor/true" > true< / a > delete:flags.13?< a href = "/constructor/true" > true< / a > group_call:flags.14?< a href = "/constructor/true" > true< / a > invites:flags.15?< a href = "/constructor/true" > true< / a > send:flags.16?< a href = "/constructor/true" > true< / a > = < a href = "/type/ChannelAdminLogEventsFilter" > ChannelAdminLogEventsFilter< / a > ;< br >
< a href = "/constructor/theme" > theme< / a > #a00e67d6 flags:< a href = "/type/%23" > #< / a > creator:flags.0?< a href = "/constructor/true" > true< / a > default:flags.1?< a href = "/constructor/true" > true< / a > for_chat:flags.5?< a href = "/constructor/true" > true< / a > id:< a href = "/type/long" > long< / a > access_hash:< a href = "/type/long" > long< / a > slug:< a href = "/type/string" > string< / a > title:< a href = "/type/string" > string< / a > document:flags.2?< a href = "/type/Document" > Document< / a > settings:flags.3?< a href = "/type/Vector%20t" > Vector< / a > < < a href = "/type/ThemeSettings" > ThemeSettings< / a > > emoticon:flags.6?< a href = "/type/string" > string< / a > installs_count:flags.4?< a href = "/type/int" > int< / a > = < a href = "/type/Theme" > Theme< / a > ;< br >
< a href = "/constructor/chatInviteImporter" > chatInviteImporter< / a > #8c5adfd9 flags:< a href = "/type/%23" > #< / a > requested:flags.0?< a href = "/constructor/true" > true< / a > user_id:< a href = "/type/long" > long< / a > date:< a href = "/type/int" > int< / a > about:flags.2?< a href = "/type/string" > string< / a > approved_by:flags.1?< a href = "/type/long" > long< / a > = < a href = "/type/ChatInviteImporter" > ChatInviteImporter< / a > ;< br >
< a href = "/constructor/sponsoredMessage" > sponsoredMessage< / a > #d151e19a flags:< a href = "/type/%23" > #< / a > random_id:< a href = "/type/bytes" > bytes< / a > from_id:< a href = "/type/Peer" > Peer< / a > channel_post:flags.2?< a href = "/type/int" > int< / a > start_param:flags.0?< a href = "/type/string" > string< / a > message:< a href = "/type/string" > string< / a > entities:flags.1?< a href = "/type/Vector%20t" > Vector< / a > < < a href = "/type/MessageEntity" > MessageEntity< / a > > = < a href = "/type/SponsoredMessage" > SponsoredMessage< / a > ;
< a href = "/constructor/searchResultsCalendarPeriod" > searchResultsCalendarPeriod< / a > #c9b0539f date:< a href = "/type/int" > int< / a > min_msg_id:< a href = "/type/int" > int< / a > max_msg_id:< a href = "/type/int" > int< / a > count:< a href = "/type/int" > int< / a > = < a href = "/type/SearchResultsCalendarPeriod" > SearchResultsCalendarPeriod< / a > ;< br >
< a href = "/constructor/messages.searchResultsCalendar" > messages.searchResultsCalendar< / a > #147ee23c flags:< a href = "/type/%23" > #< / a > inexact:flags.0?< a href = "/constructor/true" > true< / a > count:< a href = "/type/int" > int< / a > min_date:< a href = "/type/int" > int< / a > min_msg_id:< a href = "/type/int" > int< / a > offset_id_offset:flags.1?< a href = "/type/int" > int< / a > periods:< a href = "/type/Vector%20t" > Vector< / a > < < a href = "/type/SearchResultsCalendarPeriod" > SearchResultsCalendarPeriod< / a > > messages:< a href = "/type/Vector%20t" > Vector< / a > < < a href = "/type/Message" > Message< / 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 > > = < a href = "/type/messages.SearchResultsCalendar" > messages.SearchResultsCalendar< / a > ;< br >
< a href = "/constructor/searchResultPosition" > searchResultPosition< / a > #7f648b67 msg_id:< a href = "/type/int" > int< / a > date:< a href = "/type/int" > int< / a > offset:< a href = "/type/int" > int< / a > = < a href = "/type/SearchResultsPosition" > SearchResultsPosition< / a > ;< br >
< a href = "/constructor/messages.searchResultsPositions" > messages.searchResultsPositions< / a > #53b22baf count:< a href = "/type/int" > int< / a > positions:< a href = "/type/Vector%20t" > Vector< / a > < < a href = "/type/SearchResultsPosition" > SearchResultsPosition< / a > > = < a href = "/type/messages.SearchResultsPositions" > messages.SearchResultsPositions< / a > ;
< a href = "/constructor/messageActionChatJoinedByRequest" > messageActionChatJoinedByRequest< / a > #ebbca3cb = < a href = "/type/MessageAction" > MessageAction< / a > ;< br >
< a href = "/constructor/updatePendingJoinRequests" > updatePendingJoinRequests< / a > #7063c3db peer:< a href = "/type/Peer" > Peer< / a > requests_pending:< a href = "/type/int" > int< / a > recent_requesters:< a href = "/type/Vector%20t" > Vector< / a > < < a href = "/type/long" > long< / a > > = < a href = "/type/Update" > Update< / a > ;
< a href = "/constructor/updateBotChatInviteRequester" > updateBotChatInviteRequester< / a > #11dfa986 peer:< a href = "/type/Peer" > Peer< / a > date:< a href = "/type/int" > int< / a > user_id:< a href = "/type/long" > long< / a > about:< a href = "/type/string" > string< / a > invite:< a href = "/type/ExportedChatInvite" > ExportedChatInvite< / a > qts:< a href = "/type/int" > int< / a > = < a href = "/type/Update" > Update< / a > ;< br >
< a href = "/constructor/channelAdminLogEventActionParticipantJoinByRequest" > channelAdminLogEventActionParticipantJoinByRequest< / a > #afb6144a invite:< a href = "/type/ExportedChatInvite" > ExportedChatInvite< / a > approved_by:< a href = "/type/long" > long< / a > = < a href = "/type/ChannelAdminLogEventAction" > ChannelAdminLogEventAction< / a > ;< br >
---functions---< br >
< a href = "/method/messages.deleteHistory" > messages.deleteHistory< / a > #b08f922a flags:< a href = "/type/%23" > #< / a > just_clear:flags.0?< a href = "/constructor/true" > true< / a > revoke:flags.1?< a href = "/constructor/true" > true< / a > peer:< a href = "/type/InputPeer" > InputPeer< / a > max_id:< a href = "/type/int" > int< / a > min_date:flags.2?< a href = "/type/int" > int< / a > max_date:flags.3?< a href = "/type/int" > int< / a > = < a href = "/type/messages.AffectedHistory" > messages.AffectedHistory< / a > ;
< a href = "/method/messages.exportChatInvite" > messages.exportChatInvite< / a > #a02ce5d5 flags:< a href = "/type/%23" > #< / a > legacy_revoke_permanent:flags.2?< a href = "/constructor/true" > true< / a > request_needed:flags.3?< a href = "/constructor/true" > true< / a > peer:< a href = "/type/InputPeer" > InputPeer< / a > expire_date:flags.0?< a href = "/type/int" > int< / a > usage_limit:flags.1?< a href = "/type/int" > int< / a > title:flags.4?< a href = "/type/string" > string< / a > = < a href = "/type/ExportedChatInvite" > ExportedChatInvite< / a > ;< br >
< a href = "/method/account.createTheme" > account.createTheme< / a > #652e4400 flags:< a href = "/type/%23" > #< / a > slug:< a href = "/type/string" > string< / a > title:< a href = "/type/string" > string< / a > document:flags.2?< a href = "/type/InputDocument" > InputDocument< / a > settings:flags.3?< a href = "/type/Vector%20t" > Vector< / a > < < a href = "/type/InputThemeSettings" > InputThemeSettings< / a > > = < a href = "/type/Theme" > Theme< / a > ;
< a href = "/method/account.updateTheme" > account.updateTheme< / a > #2bf40ccc flags:< a href = "/type/%23" > #< / a > format:< a href = "/type/string" > string< / a > theme:< a href = "/type/InputTheme" > InputTheme< / a > slug:flags.0?< a href = "/type/string" > string< / a > title:flags.1?< a href = "/type/string" > string< / a > document:flags.2?< a href = "/type/InputDocument" > InputDocument< / a > settings:flags.3?< a href = "/type/Vector%20t" > Vector< / a > < < a href = "/type/InputThemeSettings" > InputThemeSettings< / a > > = < a href = "/type/Theme" > Theme< / a > ;
< a href = "/method/account.installTheme" > account.installTheme< / a > #c727bb3b flags:< a href = "/type/%23" > #< / a > dark:flags.0?< a href = "/constructor/true" > true< / a > theme:flags.1?< a href = "/type/InputTheme" > InputTheme< / a > format:flags.2?< a href = "/type/string" > string< / a > base_theme:flags.3?< a href = "/type/BaseTheme" > BaseTheme< / a > = < a href = "/type/Bool" > Bool< / a > ;< br >
< a href = "/method/messages.editExportedChatInvite" > messages.editExportedChatInvite< / a > #bdca2f75 flags:< a href = "/type/%23" > #< / a > revoked:flags.2?< a href = "/constructor/true" > true< / a > peer:< a href = "/type/InputPeer" > InputPeer< / a > link:< a href = "/type/string" > string< / a > expire_date:flags.0?< a href = "/type/int" > int< / a > usage_limit:flags.1?< a href = "/type/int" > int< / a > request_needed:flags.3?< a href = "/type/Bool" > Bool< / a > title:flags.4?< a href = "/type/string" > string< / a > = < a href = "/type/messages.ExportedChatInvite" > messages.ExportedChatInvite< / a > ;
< a href = "/method/messages.getChatInviteImporters" > messages.getChatInviteImporters< / a > #df04dd4e flags:< a href = "/type/%23" > #< / a > requested:flags.0?< a href = "/constructor/true" > true< / a > peer:< a href = "/type/InputPeer" > InputPeer< / a > link:flags.1?< a href = "/type/string" > string< / a > q:flags.2?< a href = "/type/string" > string< / a > offset_date:< a href = "/type/int" > int< / a > offset_user:< a href = "/type/InputUser" > InputUser< / a > limit:< a href = "/type/int" > int< / a > = < a href = "/type/messages.ChatInviteImporters" > messages.ChatInviteImporters< / a > ;< br >
< a href = "/method/account.getChatThemes" > account.getChatThemes< / a > #d638de89 hash:< a href = "/type/long" > long< / a > = < a href = "/type/account.Themes" > account.Themes< / a > ;< br >
< a href = "/method/messages.getSearchResultsCalendar" > messages.getSearchResultsCalendar< / a > #49f0bde9 peer:< a href = "/type/InputPeer" > InputPeer< / a > filter:< a href = "/type/MessagesFilter" > MessagesFilter< / a > offset_id:< a href = "/type/int" > int< / a > offset_date:< a href = "/type/int" > int< / a > = < a href = "/type/messages.SearchResultsCalendar" > messages.SearchResultsCalendar< / a > ;
< a href = "/method/messages.getSearchResultsPositions" > messages.getSearchResultsPositions< / a > #6e9583a3 peer:< a href = "/type/InputPeer" > InputPeer< / a > filter:< a href = "/type/MessagesFilter" > MessagesFilter< / a > offset_id:< a href = "/type/int" > int< / a > limit:< a href = "/type/int" > int< / a > = < a href = "/type/messages.SearchResultsPositions" > messages.SearchResultsPositions< / a > ;
< a href = "/method/messages.hideChatJoinRequest" > messages.hideChatJoinRequest< / a > #7fe7e815 flags:< a href = "/type/%23" > #< / a > approved:flags.0?< a href = "/constructor/true" > true< / a > peer:< a href = "/type/InputPeer" > InputPeer< / a > user_id:< a href = "/type/InputUser" > InputUser< / a > = < a href = "/type/Updates" > Updates< / a > ;< br > < / code > < / pre > < / div >
2022-11-15 00:55:37 +01:00
< h4 > < a class = "anchor" href = "#end-to-end-schema-changes" id = "end-to-end-schema-changes" name = "end-to-end-schema-changes" > < i class = "anchor-icon" > < / i > < / a > End-to-end schema changes< / h4 >
< h5 > < a class = "anchor" href = "#new-constructors" id = "new-constructors" name = "new-constructors" > < i class = "anchor-icon" > < / i > < / a > New Constructors< / h5 >
< ul >
< li > Added < a href = "/constructor/messageEntityUnderline" > messageEntityUnderline< / a > - Message entity representing underlined text.< / li >
< li > Added < a href = "/constructor/messageEntityStrike" > messageEntityStrike< / a > - Message entity representing < del > strikethrough< / del > text.< / li >
< li > Added < a href = "/constructor/messageEntityBlockquote" > messageEntityBlockquote< / a > - Message entity representing a block quote.< / li >
< / ul >
< h4 > < a class = "anchor" href = "#end-to-end-schema" id = "end-to-end-schema" name = "end-to-end-schema" > < i class = "anchor-icon" > < / i > < / a > End-to-end schema< / h4 >
< div > < pre > < code > ===101===< br >
< a href = "/constructor/messageEntityUnderline" > messageEntityUnderline< / a > #9c4e7e8b offset:< a href = "/type/int" > int< / a > length:< a href = "/type/int" > int< / a > = < a href = "/type/MessageEntity" > MessageEntity< / a > ;
< a href = "/constructor/messageEntityStrike" > messageEntityStrike< / a > #bf0693d4 offset:< a href = "/type/int" > int< / a > length:< a href = "/type/int" > int< / a > = < a href = "/type/MessageEntity" > MessageEntity< / a > ;
< a href = "/constructor/messageEntityBlockquote" > messageEntityBlockquote< / a > #020df5d0 offset:< a href = "/type/int" > int< / a > length:< a href = "/type/int" > int< / a > = < a href = "/type/MessageEntity" > MessageEntity< / a > ;< br > < / code > < / pre > < / div >
2022-05-14 00:37:40 +02:00
< h3 > < a class = "anchor" href = "#layer-133" id = "layer-133" name = "layer-133" > < i class = "anchor-icon" > < / i > < / a > < a href = "/schema?layer=133" > Layer 133< / a > < / h3 >
< p > Group message receipts, < a href = "/api/animated-emojis#emoji-reactions" > animated emoji reactions »< / a > and switch to 64-bit identifiers for users, groups, supergroups and channels.< / p >
< p > Over 160 constructors and methods were changed, changing parameter types from < a href = "/type/int" > int< / a > to < a href = "/type/long" > long< / a > , including < a href = "/constructor/user" > user< / a > , < a href = "/constructor/chat" > chat< / a > and < a href = "/constructor/channel" > channel< / a > : the full changelog is elided for space reasons.< br >
You can visit < a href = "/schema" > the schema< / a > for an updated list of constructors.< / p >
< p > Also note that the < a href = "/api/offsets#hash-generation" > hashing algorithm for pagination< / a > was also changed to account for 64-bit IDs.< / p >
< p > All layers 1-132 are deprecated due to impossible backwards compatibility between 32-bit and 64-bit IDs.< / p >
< h4 > < a class = "anchor" href = "#changes" id = "changes" name = "changes" > < i class = "anchor-icon" > < / i > < / a > Changes< / h4 >
< ul >
< li > Added < a href = "/method/messages.getMessageReadParticipants" > messages.getMessageReadParticipants< / a > - Get which users read a specific message< / li >
< li > Added < a href = "/constructor/inputStickerSetAnimatedEmojiAnimations" > inputStickerSetAnimatedEmojiAnimations< / a > - Animated emoji reaction stickerset (contains animations to play when a user clicks on a given animated emoji)< / li >
< li > Added < a href = "/constructor/sendMessageEmojiInteraction" > sendMessageEmojiInteraction< / a > - User has clicked on an animated emoji triggering a < a href = "/api/animated-emojis#emoji-reactions" > reaction, click here for more info »< / a > .< / li >
< li > Added < a href = "/constructor/sendMessageEmojiInteractionSeen" > sendMessageEmojiInteractionSeen< / a > - User is watching an animated emoji reaction triggered by another user, < a href = "/api/animated-emojis#emoji-reactions" > click here for more info »< / a > .< / li >
< li > Added < a href = "/constructor/inputBotInlineMessageID64" > inputBotInlineMessageID64< / a > - Represents a sent inline message from the perspective of a bot< / li >
< / ul > < / div >
< / 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" >
< h5 > < a href = "https://twitter.com/telegram" target = "_blank" data-track = "Follow/Twitter" onclick = "trackDlClick(this, event)" > Twitter< / a > < / h5 >
< / 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 >