2022-02-23 06:45:45 +01:00
<!DOCTYPE html>
< html class = "" >
< head >
< meta charset = "utf-8" >
< title > Layers< / title >
< meta name = "viewport" content = "width=device-width, initial-scale=1.0" >
< meta property = "description" content = "Below you will find information on schema changes . For more details on the use of layers , see Invoking API methods .
Layer…">
< meta property = "og:title" content = "Layers" >
< meta property = "og:image" content = "" >
< meta property = "og:description" content = "Below you will find information on schema changes . For more details on the use of layers , see Invoking API methods .
Layer…">
< link rel = "shortcut icon" href = "/favicon.ico?4" type = "image/x-icon" / >
< link href = "/css/bootstrap.min.css?3" rel = "stylesheet" >
2022-03-03 21:00:19 +01:00
< link href = "/css/telegram.css?219" rel = "stylesheet" media = "screen" >
2022-02-23 06:45:45 +01: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 >
< h3 > < a class = "anchor" name = "layer-133" href = "#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 >
< h4 > < a class = "anchor" name = "changes" href = "#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 >
< h3 > < a class = "anchor" name = "layer-132" href = "#layer-132" > < i class = "anchor-icon" > < / i > < / a > < a href = "/schema?layer=132" > Layer 132< / a > < / h3 >
< p > Chat themes and < a href = "https://core.telegram.org/api/sponsored-messages" > sponsored messages< / a > , save video recordings of group calls and livestreams.< / p >
< h4 > < a class = "anchor" name = "schema-changes" href = "#schema-changes" > < i class = "anchor-icon" > < / i > < / a > Schema changes< / h4 >
< h5 > < a class = "anchor" name = "new-methods" href = "#new-methods" > < i class = "anchor-icon" > < / i > < / a > New Methods< / h5 >
< ul >
< li > Added < a href = "/method/account.getChatThemes" > account.getChatThemes< / a > - Get all available chat themes< / li >
< li > Added < a href = "/method/messages.setChatTheme" > messages.setChatTheme< / a > - Change the chat theme of a certain chat< / li >
< li > Added < a href = "/method/channels.viewSponsoredMessage" > channels.viewSponsoredMessage< / a > - Mark a specific sponsored message as read< / li >
< li > Added < a href = "/method/channels.getSponsoredMessages" > channels.getSponsoredMessages< / a > - Get a list of sponsored messages< / li >
< / ul >
< h5 > < a class = "anchor" name = "changed-methods" href = "#changed-methods" > < i class = "anchor-icon" > < / i > < / a > Changed Methods< / h5 >
< ul >
< li > Added < strong > video< / strong > , < strong > video_portrait< / strong > parameters in < a href = "/method/phone.toggleGroupCallRecord" > phone.toggleGroupCallRecord< / a > < / li >
< / ul >
< h5 > < a class = "anchor" name = "new-constructors" href = "#new-constructors" > < i class = "anchor-icon" > < / i > < / a > New Constructors< / h5 >
< ul >
< li > Added < a href = "/constructor/chatTheme" > chatTheme< / a > - A chat theme< / li >
< li > Added < a href = "/constructor/account.chatThemesNotModified" > account.chatThemesNotModified< / a > - The available chat themes were not modified< / li >
< li > Added < a href = "/constructor/account.chatThemes" > account.chatThemes< / a > - Available chat themes< / li >
< li > Added < a href = "/constructor/messageActionSetChatTheme" > messageActionSetChatTheme< / a > - The chat theme was changed< / li >
< li > Added < a href = "/constructor/sendMessageChooseStickerAction" > sendMessageChooseStickerAction< / a > - User is choosing a sticker< / li >
< li > Added < a href = "/constructor/sponsoredMessage" > sponsoredMessage< / a > - A sponsored message< / li >
< li > Added < a href = "/constructor/messages.sponsoredMessages" > messages.sponsoredMessages< / a > - A set of sponsored messages associated with a channel< / li >
< / ul >
< h5 > < a class = "anchor" name = "changed-constructors" href = "#changed-constructors" > < i class = "anchor-icon" > < / i > < / a > Changed Constructors< / h5 >
< ul >
< li > Added < strong > theme_emoticon< / strong > parameter in < a href = "/constructor/chatFull" > chatFull< / a > < / li >
< li > Added < strong > theme_emoticon< / strong > parameter in < a href = "/constructor/userFull" > userFull< / a > < / li >
< li > Added < strong > theme_emoticon< / strong > parameter in < a href = "/constructor/channelFull" > channelFull< / a > < / li >
< li > Added < strong > for_chat< / strong > parameter, changed type of < strong > installs_count< / strong > from < strong > int< / strong > to < strong > flags.4?int< / strong > in < a href = "/constructor/theme" > theme< / a > < / li >
< li > Added < strong > message_colors_animated< / strong > , < strong > message_colors< / strong > parameters, removed < strong > message_top_color< / strong > , < strong > message_bottom_color< / strong > parameters in < a href = "/constructor/inputThemeSettings" > inputThemeSettings< / a > < / li >
< li > Added < strong > message_colors_animated< / strong > , < strong > message_colors< / strong > parameters, removed < strong > message_top_color< / strong > , < strong > message_bottom_color< / strong > parameters in < a href = "/constructor/themeSettings" > themeSettings< / a > < / li >
< li > Added < strong > unread_count< / strong > parameter in < a href = "/constructor/messages.discussionMessage" > messages.discussionMessage< / a > < / li >
< li > Added < strong > flags< / strong > , < strong > video_channel< / strong > , < strong > video_quality< / strong > parameters in < a href = "/constructor/inputGroupCallStream" > inputGroupCallStream< / a > < / li >
< / ul >
< h4 > < a class = "anchor" name = "schema" href = "#schema" > < i class = "anchor-icon" > < / i > < / a > Schema< / h4 >
< div > < pre > < code > < a href = "/constructor/chatFull" > chatFull< / a > #49a0a5d9 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/int" > int< / 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 > = < a href = "/type/ChatFull" > ChatFull< / a > ;\
< a href = "/constructor/userFull" > userFull< / a > #d697ff05 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 > user:< a href = "/type/User" > User< / 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 > = < a href = "/type/UserFull" > UserFull< / a > ;\
< a href = "/constructor/channelFull" > channelFull< / a > #2f532f3c 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/int" > int< / 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/int" > int< / 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/int" > int< / 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 > = < a href = "/type/ChatFull" > ChatFull< / a > ;\
< a href = "/constructor/theme" > theme< / a > #e802b8dc 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/ThemeSettings" > ThemeSettings< / a > installs_count:flags.4?< a href = "/type/int" > int< / a > = < a href = "/type/Theme" > Theme< / a > ;\
< a href = "/constructor/inputThemeSettings" > inputThemeSettings< / a > #ff38f912 flags:< a href = "/type/%23" > #< / a > message_colors_animated:flags.2?< a href = "/constructor/true" > true< / a > base_theme:< a href = "/type/BaseTheme" > BaseTheme< / a > accent_color:< a href = "/type/int" > int< / a > message_colors:flags.0?< a href = "/type/Vector%20t" > Vector< / a > < < a href = "/type/int" > int< / a > > wallpaper:flags.1?< a href = "/type/InputWallPaper" > InputWallPaper< / a > wallpaper_settings:flags.1?< a href = "/type/WallPaperSettings" > WallPaperSettings< / a > = < a href = "/type/InputThemeSettings" > InputThemeSettings< / a > ;\
< a href = "/constructor/themeSettings" > themeSettings< / a > #8db4e76c flags:< a href = "/type/%23" > #< / a > message_colors_animated:flags.2?< a href = "/constructor/true" > true< / a > base_theme:< a href = "/type/BaseTheme" > BaseTheme< / a > accent_color:< a href = "/type/int" > int< / a > message_colors:flags.0?< a href = "/type/Vector%20t" > Vector< / a > < < a href = "/type/int" > int< / a > > wallpaper:flags.1?< a href = "/type/WallPaper" > WallPaper< / a > = < a href = "/type/ThemeSettings" > ThemeSettings< / a > ;\
< a href = "/constructor/messages.discussionMessage" > messages.discussionMessage< / a > #a6341782 flags:< a href = "/type/%23" > #< / a > messages:< a href = "/type/Vector%20t" > Vector< / a > < < a href = "/type/Message" > Message< / a > > max_id:flags.0?< a href = "/type/int" > int< / a > read_inbox_max_id:flags.1?< a href = "/type/int" > int< / a > read_outbox_max_id:flags.2?< a href = "/type/int" > int< / a > unread_count:< a href = "/type/int" > int< / 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.DiscussionMessage" > messages.DiscussionMessage< / a > ;\
< a href = "/constructor/inputGroupCallStream" > inputGroupCallStream< / a > #0598a92a flags:< a href = "/type/%23" > #< / a > call:< a href = "/type/InputGroupCall" > InputGroupCall< / a > time_ms:< a href = "/type/long" > long< / a > scale:< a href = "/type/int" > int< / a > video_channel:flags.0?< a href = "/type/int" > int< / a > video_quality:flags.0?< a href = "/type/int" > int< / a > = < a href = "/type/InputFileLocation" > InputFileLocation< / a > ;\
< a href = "/constructor/chatTheme" > chatTheme< / a > #ed0b5c33 emoticon:< a href = "/type/string" > string< / a > theme:< a href = "/type/Theme" > Theme< / a > dark_theme:< a href = "/type/Theme" > Theme< / a > = < a href = "/type/ChatTheme" > ChatTheme< / a > ;\
< a href = "/constructor/account.chatThemesNotModified" > account.chatThemesNotModified< / a > #e011e1c4 = < a href = "/type/account.ChatThemes" > account.ChatThemes< / a > ;
< a href = "/constructor/account.chatThemes" > account.chatThemes< / a > #fe4cbebd hash:< a href = "/type/int" > int< / a > themes:< a href = "/type/Vector%20t" > Vector< / a > < < a href = "/type/ChatTheme" > ChatTheme< / a > > = < a href = "/type/account.ChatThemes" > account.ChatThemes< / a > ;\
< a href = "/constructor/messageActionSetChatTheme" > messageActionSetChatTheme< / a > #aa786345 emoticon:< a href = "/type/string" > string< / a > = < a href = "/type/MessageAction" > MessageAction< / a > ;\
< a href = "/constructor/sendMessageChooseStickerAction" > sendMessageChooseStickerAction< / a > #b05ac6b1 = < a href = "/type/SendMessageAction" > SendMessageAction< / a > ;
< a href = "/constructor/sponsoredMessage" > sponsoredMessage< / a > #2a3c381f flags:< a href = "/type/%23" > #< / a > random_id:< a href = "/type/bytes" > bytes< / a > from_id:< a href = "/type/Peer" > Peer< / 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/messages.sponsoredMessages" > messages.sponsoredMessages< / a > #65a4c7d5 messages:< a href = "/type/Vector%20t" > Vector< / a > < < a href = "/type/SponsoredMessage" > SponsoredMessage< / 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.SponsoredMessages" > messages.SponsoredMessages< / a > ;\
---functions---\
< a href = "/method/phone.toggleGroupCallRecord" > phone.toggleGroupCallRecord< / a > #f128c708 flags:< a href = "/type/%23" > #< / a > start:flags.0?< a href = "/constructor/true" > true< / a > video:flags.2?< a href = "/constructor/true" > true< / a > call:< a href = "/type/InputGroupCall" > InputGroupCall< / a > title:flags.1?< a href = "/type/string" > string< / a > video_portrait:flags.2?< a href = "/type/Bool" > Bool< / a > = < a href = "/type/Updates" > Updates< / a > ;\
< a href = "/method/account.getChatThemes" > account.getChatThemes< / a > #d6d71d7b hash:< a href = "/type/int" > int< / a > = < a href = "/type/account.ChatThemes" > account.ChatThemes< / a > ;\
< a href = "/method/messages.setChatTheme" > messages.setChatTheme< / a > #e63be13f peer:< a href = "/type/InputPeer" > InputPeer< / a > emoticon:< a href = "/type/string" > string< / a > = < a href = "/type/Updates" > Updates< / a > ;\
< a href = "/method/channels.viewSponsoredMessage" > channels.viewSponsoredMessage< / a > #beaedb94 channel:< a href = "/type/InputChannel" > InputChannel< / a > random_id:< a href = "/type/bytes" > bytes< / a > = < a href = "/type/Bool" > Bool< / a > ;
< a href = "/method/channels.getSponsoredMessages" > channels.getSponsoredMessages< / a > #ec210fbf channel:< a href = "/type/InputChannel" > InputChannel< / a > = < a href = "/type/messages.SponsoredMessages" > messages.SponsoredMessages< / a > ;\
< / code > < / pre > < / div >
< h3 > < a class = "anchor" name = "layer-131" href = "#layer-131" > < i class = "anchor-icon" > < / i > < / a > < a href = "/schema?layer=131" > Layer 131< / a > < / h3 >
< p > 2FA password reset for logged-in accounts, add a method to check the validity of the e-mail recovery code before use.< / p >
< h4 > < a class = "anchor" name = "schema-changes" href = "#schema-changes" > < i class = "anchor-icon" > < / i > < / a > Schema changes< / h4 >
< h5 > < a class = "anchor" name = "new-methods" href = "#new-methods" > < i class = "anchor-icon" > < / i > < / a > New Methods< / h5 >
< ul >
< li > Added < a href = "/method/account.resetPassword" > account.resetPassword< / a > - Initiate a 2FA password reset: can only be used if the user is already logged-in, < a href = "/api/srp#password-reset" > see here for more info »< / a > < / li >
< li > Added < a href = "/method/account.declinePasswordReset" > account.declinePasswordReset< / a > - Abort a pending 2FA password reset, < a href = "/api/srp#password-reset" > see here for more info »< / a > < / li >
< li > Added < a href = "/method/auth.checkRecoveryPassword" > auth.checkRecoveryPassword< / a > - Check if the < a href = "/api/srp" > 2FA recovery code< / a > sent using < a href = "/method/auth.requestPasswordRecovery" > auth.requestPasswordRecovery< / a > is valid, before passing it to < a href = "/method/auth.recoverPassword" > auth.recoverPassword< / a > .< / li >
< / ul >
< h5 > < a class = "anchor" name = "changed-methods" href = "#changed-methods" > < i class = "anchor-icon" > < / i > < / a > Changed Methods< / h5 >
< ul >
< li > Added < strong > flags< / strong > , < strong > new_settings< / strong > parameters in < a href = "/method/auth.recoverPassword" > auth.recoverPassword< / a > < / li >
< li > Added < strong > limit< / strong > parameter in < a href = "/method/phone.getGroupCall" > phone.getGroupCall< / a > < / li >
< / ul >
< h5 > < a class = "anchor" name = "new-constructors" href = "#new-constructors" > < i class = "anchor-icon" > < / i > < / a > New Constructors< / h5 >
< ul >
< li > Added < a href = "/constructor/account.resetPasswordFailedWait" > account.resetPasswordFailedWait< / a > - You recently requested a password reset that was canceled, please wait until the specified date before requesting another reset.< / li >
< li > Added < a href = "/constructor/account.resetPasswordRequestedWait" > account.resetPasswordRequestedWait< / a > - You successfully requested a password reset, please wait until the specified date before finalizing the reset.< / li >
< li > Added < a href = "/constructor/account.resetPasswordOk" > account.resetPasswordOk< / a > - The 2FA password was reset successfully.< / li >
< li > Added < a href = "/constructor/updateBotCommands" > updateBotCommands< / a > - The < a href = "/bots/api#june-25-2021" > command set< / a > of a certain bot in a certain chat has changed.< / li >
< / ul >
< h5 > < a class = "anchor" name = "changed-constructors" href = "#changed-constructors" > < i class = "anchor-icon" > < / i > < / a > Changed Constructors< / h5 >
< ul >
< li > Added < strong > pending_reset_date< / strong > parameter in < a href = "/constructor/account.password" > account.password< / a > < / li >
< li > Added < strong > record_video_active< / strong > , < strong > unmuted_video_count< / strong > , < strong > unmuted_video_limit< / strong > parameters in < a href = "/constructor/groupCall" > groupCall< / a > < / li >
< li > Added < strong > audio_source< / strong > parameter in < a href = "/constructor/groupCallParticipantVideo" > groupCallParticipantVideo< / a > < / li >
< / ul >
< h4 > < a class = "anchor" name = "schema" href = "#schema" > < i class = "anchor-icon" > < / i > < / a > Schema< / h4 >
< div > < pre > < code > < a href = "/constructor/account.password" > account.password< / a > #185b184f 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 > = < a href = "/type/account.Password" > account.Password< / a > ;\
< 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 > 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/groupCallParticipantVideo" > groupCallParticipantVideo< / a > #67753ac8 flags:< a href = "/type/%23" > #< / a > paused:flags.0?< a href = "/constructor/true" > true< / a > endpoint:< a href = "/type/string" > string< / a > source_groups:< a href = "/type/Vector%20t" > Vector< / a > < < a href = "/type/GroupCallParticipantVideoSourceGroup" > GroupCallParticipantVideoSourceGroup< / a > > audio_source:flags.1?< a href = "/type/int" > int< / a > = < a href = "/type/GroupCallParticipantVideo" > GroupCallParticipantVideo< / a > ;\
< a href = "/constructor/account.resetPasswordFailedWait" > account.resetPasswordFailedWait< / a > #e3779861 retry_date:< a href = "/type/int" > int< / a > = < a href = "/type/account.ResetPasswordResult" > account.ResetPasswordResult< / a > ;
< a href = "/constructor/account.resetPasswordRequestedWait" > account.resetPasswordRequestedWait< / a > #e9effc7d until_date:< a href = "/type/int" > int< / a > = < a href = "/type/account.ResetPasswordResult" > account.ResetPasswordResult< / a > ;
< a href = "/constructor/account.resetPasswordOk" > account.resetPasswordOk< / a > #e926d63e = < a href = "/type/account.ResetPasswordResult" > account.ResetPasswordResult< / a > ;\
< a href = "/constructor/updateBotCommands" > updateBotCommands< / a > #cf7e0873 peer:< a href = "/type/Peer" > Peer< / a > bot_id:< a href = "/type/int" > int< / a > commands:< a href = "/type/Vector%20t" > Vector< / a > < < a href = "/type/BotCommand" > BotCommand< / a > > = < a href = "/type/Update" > Update< / a > ;\
---functions---\
< a href = "/method/auth.recoverPassword" > auth.recoverPassword< / a > #37096c70 flags:< a href = "/type/%23" > #< / a > code:< a href = "/type/string" > string< / a > new_settings:flags.0?< a href = "/type/account.PasswordInputSettings" > account.PasswordInputSettings< / a > = < a href = "/type/auth.Authorization" > auth.Authorization< / a > ;\
< a href = "/method/phone.getGroupCall" > phone.getGroupCall< / a > #041845db call:< a href = "/type/InputGroupCall" > InputGroupCall< / a > limit:< a href = "/type/int" > int< / a > = < a href = "/type/phone.GroupCall" > phone.GroupCall< / a > ;\
< a href = "/method/account.resetPassword" > account.resetPassword< / a > #9308ce1b = < a href = "/type/account.ResetPasswordResult" > account.ResetPasswordResult< / a > ;
< a href = "/method/account.declinePasswordReset" > account.declinePasswordReset< / a > #4c9409f6 = < a href = "/type/Bool" > Bool< / a > ;
< a href = "/method/auth.checkRecoveryPassword" > auth.checkRecoveryPassword< / a > #0d36bf79 code:< a href = "/type/string" > string< / a > = < a href = "/type/Bool" > Bool< / a > ;\
< / code > < / pre > < / div >
< h3 > < a class = "anchor" name = "layer-130" href = "#layer-130" > < i class = "anchor-icon" > < / i > < / a > < a href = "/schema?layer=130" > Layer 130< / a > < / h3 >
< p > Custom placeholder for bot reply keyboards.< / p >
< h4 > < a class = "anchor" name = "schema-changes" href = "#schema-changes" > < i class = "anchor-icon" > < / i > < / a > Schema changes< / h4 >
< h5 > < a class = "anchor" name = "changed-constructors" href = "#changed-constructors" > < i class = "anchor-icon" > < / i > < / a > Changed Constructors< / h5 >
< ul >
< li > Added < strong > placeholder< / strong > parameter in < a href = "/constructor/replyKeyboardForceReply" > replyKeyboardForceReply< / a > < / li >
< li > Added < strong > placeholder< / strong > parameter in < a href = "/constructor/replyKeyboardMarkup" > replyKeyboardMarkup< / a > < / li >
< / ul >
< h4 > < a class = "anchor" name = "schema" href = "#schema" > < i class = "anchor-icon" > < / i > < / a > Schema< / h4 >
< div > < pre > < code > < a href = "/constructor/replyKeyboardForceReply" > replyKeyboardForceReply< / a > #86b40b08 flags:< a href = "/type/%23" > #< / a > single_use:flags.1?< a href = "/constructor/true" > true< / a > selective:flags.2?< a href = "/constructor/true" > true< / a > placeholder:flags.3?< a href = "/type/string" > string< / a > = < a href = "/type/ReplyMarkup" > ReplyMarkup< / a > ;
< a href = "/constructor/replyKeyboardMarkup" > replyKeyboardMarkup< / a > #85dd99d1 flags:< a href = "/type/%23" > #< / a > resize:flags.0?< a href = "/constructor/true" > true< / a > single_use:flags.1?< a href = "/constructor/true" > true< / a > selective:flags.2?< a href = "/constructor/true" > true< / a > rows:< a href = "/type/Vector%20t" > Vector< / a > < < a href = "/type/KeyboardButtonRow" > KeyboardButtonRow< / a > > placeholder:flags.3?< a href = "/type/string" > string< / a > = < a href = "/type/ReplyMarkup" > ReplyMarkup< / a > ;\
< / code > < / pre > < / div >
< h3 > < a class = "anchor" name = "layer-129" href = "#layer-129" > < i class = "anchor-icon" > < / i > < / a > < a href = "/schema?layer=129" > Layer 129< / a > < / h3 >
< p > Group call screen sharing, short name suggestions for stickerpacks, scoped bot commands, < a href = "/import-stickers" > imported stickers< / a > , wallpaper and group call improvements.< / p >
< h4 > < a class = "anchor" name = "schema-changes" href = "#schema-changes" > < i class = "anchor-icon" > < / i > < / a > Schema changes< / h4 >
< h5 > < a class = "anchor" name = "new-methods" href = "#new-methods" > < i class = "anchor-icon" > < / i > < / a > New Methods< / h5 >
< ul >
< li > Added < a href = "/method/phone.joinGroupCallPresentation" > phone.joinGroupCallPresentation< / a > - Start screen sharing in a call< / li >
< li > Added < a href = "/method/phone.leaveGroupCallPresentation" > phone.leaveGroupCallPresentation< / a > - Stop screen sharing in a group call< / li >
< li > Added < a href = "/method/stickers.checkShortName" > stickers.checkShortName< / a > - Check whether the given short name is available< / li >
< li > Added < a href = "/method/stickers.suggestShortName" > stickers.suggestShortName< / a > - Suggests a short name for a given stickerpack name< / li >
< li > Added < a href = "/method/bots.resetBotCommands" > bots.resetBotCommands< / a > - Clear bot commands for the specified bot scope and language code< / li >
< li > Added < a href = "/method/bots.getBotCommands" > bots.getBotCommands< / a > - Obtain a list of bot commands for the specified bot scope and language code< / li >
< / ul >
< h5 > < a class = "anchor" name = "changed-methods" href = "#changed-methods" > < i class = "anchor-icon" > < / i > < / a > Changed Methods< / h5 >
< ul >
< li > Added < strong > software< / strong > parameter in < a href = "/method/stickers.createStickerSet" > stickers.createStickerSet< / a > < / li >
< li > Added < strong > scope< / strong > , < strong > lang_code< / strong > parameters in < a href = "/method/bots.setBotCommands" > bots.setBotCommands< / a > < / li >
< li > Changed type of < a href = "/method/phone.checkGroupCall" > phone.checkGroupCall< / a > from < strong > Bool< / strong > to < strong > Vector< int> < / strong > < / li >
< li > Added < strong > sources< / strong > parameter, removed < strong > source< / strong > parameter in < a href = "/method/phone.checkGroupCall" > phone.checkGroupCall< / a > < / li >
< li > Added < strong > video_stopped< / strong > , < strong > video_paused< / strong > , < strong > presentation_paused< / strong > parameters, removed < strong > video_muted< / strong > parameter in < a href = "/method/phone.editGroupCallParticipant" > phone.editGroupCallParticipant< / a > < / li >
< / ul >
< h5 > < a class = "anchor" name = "new-constructors" href = "#new-constructors" > < i class = "anchor-icon" > < / i > < / a > New Constructors< / h5 >
< ul >
< li > Added < a href = "/constructor/groupCallParticipantVideoSourceGroup" > groupCallParticipantVideoSourceGroup< / a > - Describes a group of video synchronization source identifiers< / li >
< li > Added < a href = "/constructor/groupCallParticipantVideo" > groupCallParticipantVideo< / a > - Info about a video stream< / li >
< li > Added < a href = "/constructor/updateGroupCallConnection" > updateGroupCallConnection< / a > - New WebRTC parameters< / li >
< li > Added < a href = "/constructor/stickers.suggestedShortName" > stickers.suggestedShortName< / a > - A suggested short name for a stickerpack< / li >
< li > Added < a href = "/constructor/botCommandScopeDefault" > botCommandScopeDefault< / a > - The commands will be valid in all dialogs< / li >
< li > Added < a href = "/constructor/botCommandScopeUsers" > botCommandScopeUsers< / a > - The specified bot commands will only be valid in all private chats with users.< / li >
< li > Added < a href = "/constructor/botCommandScopeChats" > botCommandScopeChats< / a > - The specified bot commands will be valid in all < a href = "/api/channel" > groups and supergroups< / a > .< / li >
< li > Added < a href = "/constructor/botCommandScopeChatAdmins" > botCommandScopeChatAdmins< / a > - The specified bot commands will be valid only for chat administrators, in all < a href = "/api/channel" > groups and supergroups< / a > .< / li >
< li > Added < a href = "/constructor/botCommandScopePeer" > botCommandScopePeer< / a > - The specified bot commands will be valid only in a specific dialog.< / li >
< li > Added < a href = "/constructor/botCommandScopePeerAdmins" > botCommandScopePeerAdmins< / a > - The specified bot commands will be valid for all admins of the specified < a href = "/api/channel" > group or supergroup< / a > .< / li >
< li > Added < a href = "/constructor/botCommandScopePeerUser" > botCommandScopePeerUser< / a > - The specified bot commands will be valid only for a specific user in the specified < a href = "/api/channel" > group or supergroup< / a > .< / li >
< / ul >
< h5 > < a class = "anchor" name = "changed-constructors" href = "#changed-constructors" > < i class = "anchor-icon" > < / i > < / a > Changed Constructors< / h5 >
< ul >
< li > Added < strong > sticker< / strong > parameter in < a href = "/constructor/help.appUpdate" > help.appUpdate< / a > < / li >
< li > Added < strong > third_background_color< / strong > , < strong > fourth_background_color< / strong > parameters in < a href = "/constructor/wallPaperSettings" > wallPaperSettings< / a > < / li >
< li > Added < strong > id< / strong > parameter in < a href = "/constructor/inputWallPaperNoFile" > inputWallPaperNoFile< / a > < / li >
< li > Added < strong > id< / strong > parameter in < a href = "/constructor/wallPaperNoFile" > wallPaperNoFile< / a > < / li >
< li > Added < strong > qts< / strong > parameter in < a href = "/constructor/updateMessagePollVote" > updateMessagePollVote< / a > < / li >
< li > Added < strong > can_start_video< / strong > parameter, removed < strong > params< / strong > parameter in < a href = "/constructor/groupCall" > groupCall< / a > < / li >
< li > Added < strong > video_joined< / strong > , < strong > video< / strong > , < strong > presentation< / strong > parameters, removed < strong > params< / strong > parameter in < a href = "/constructor/groupCallParticipant" > groupCallParticipant< / a > < / li >
< / ul >
< h4 > < a class = "anchor" name = "schema" href = "#schema" > < i class = "anchor-icon" > < / i > < / a > Schema< / h4 >
< div > < pre > < code > < a href = "/constructor/help.appUpdate" > help.appUpdate< / a > #ccbbce30 flags:< a href = "/type/%23" > #< / a > can_not_skip:flags.0?< a href = "/constructor/true" > true< / a > id:< a href = "/type/int" > int< / a > version:< a href = "/type/string" > string< / a > text:< a href = "/type/string" > string< / a > entities:< a href = "/type/Vector%20t" > Vector< / a > < < a href = "/type/MessageEntity" > MessageEntity< / a > > document:flags.1?< a href = "/type/Document" > Document< / a > url:flags.2?< a href = "/type/string" > string< / a > sticker:flags.3?< a href = "/type/Document" > Document< / a > = < a href = "/type/help.AppUpdate" > help.AppUpdate< / a > ;\
< a href = "/constructor/wallPaperSettings" > wallPaperSettings< / a > #1dc1bca4 flags:< a href = "/type/%23" > #< / a > blur:flags.1?< a href = "/constructor/true" > true< / a > motion:flags.2?< a href = "/constructor/true" > true< / a > background_color:flags.0?< a href = "/type/int" > int< / a > second_background_color:flags.4?< a href = "/type/int" > int< / a > third_background_color:flags.5?< a href = "/type/int" > int< / a > fourth_background_color:flags.6?< a href = "/type/int" > int< / a > intensity:flags.3?< a href = "/type/int" > int< / a > rotation:flags.4?< a href = "/type/int" > int< / a > = < a href = "/type/WallPaperSettings" > WallPaperSettings< / a > ;\
< a href = "/constructor/inputWallPaperNoFile" > inputWallPaperNoFile< / a > #967a462e id:< a href = "/type/long" > long< / a > = < a href = "/type/InputWallPaper" > InputWallPaper< / a > ;\
< a href = "/constructor/wallPaperNoFile" > wallPaperNoFile< / a > #e0804116 id:< a href = "/type/long" > long< / a > flags:< a href = "/type/%23" > #< / a > default:flags.1?< a href = "/constructor/true" > true< / a > dark:flags.4?< a href = "/constructor/true" > true< / a > settings:flags.2?< a href = "/type/WallPaperSettings" > WallPaperSettings< / a > = < a href = "/type/WallPaper" > WallPaper< / a > ;\
< a href = "/constructor/updateMessagePollVote" > updateMessagePollVote< / a > #37f69f0b poll_id:< a href = "/type/long" > long< / a > user_id:< a href = "/type/int" > int< / a > options:< a href = "/type/Vector%20t" > Vector< / a > < < a href = "/type/bytes" > bytes< / a > > qts:< a href = "/type/int" > int< / a > = < a href = "/type/Update" > Update< / a > ;\
< a href = "/constructor/groupCall" > groupCall< / a > #653dbaad 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 > 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 > version:< a href = "/type/int" > int< / a > = < a href = "/type/GroupCall" > GroupCall< / a > ;
< a href = "/constructor/groupCallParticipant" > groupCallParticipant< / a > #eba636fe flags:< a href = "/type/%23" > #< / a > muted:flags.0?< a href = "/constructor/true" > true< / a > left:flags.1?< a href = "/constructor/true" > true< / a > can_self_unmute:flags.2?< a href = "/constructor/true" > true< / a > just_joined:flags.4?< a href = "/constructor/true" > true< / a > versioned:flags.5?< a href = "/constructor/true" > true< / a > min:flags.8?< a href = "/constructor/true" > true< / a > muted_by_you:flags.9?< a href = "/constructor/true" > true< / a > volume_by_admin:flags.10?< a href = "/constructor/true" > true< / a > self:flags.12?< a href = "/constructor/true" > true< / a > video_joined:flags.15?< a href = "/constructor/true" > true< / a > peer:< a href = "/type/Peer" > Peer< / a > date:< a href = "/type/int" > int< / a > active_date:flags.3?< a href = "/type/int" > int< / a > source:< a href = "/type/int" > int< / a > volume:flags.7?< a href = "/type/int" > int< / a > about:flags.11?< a href = "/type/string" > string< / a > raise_hand_rating:flags.13?< a href = "/type/long" > long< / a > video:flags.6?< a href = "/type/GroupCallParticipantVideo" > GroupCallParticipantVideo< / a > presentation:flags.14?< a href = "/type/GroupCallParticipantVideo" > GroupCallParticipantVideo< / a > = < a href = "/type/GroupCallParticipant" > GroupCallParticipant< / a > ;
< a href = "/constructor/groupCallParticipantVideoSourceGroup" > groupCallParticipantVideoSourceGroup< / a > #dcb118b7 semantics:< a href = "/type/string" > string< / a > sources:< a href = "/type/Vector%20t" > Vector< / a > < < a href = "/type/int" > int< / a > > = < a href = "/type/GroupCallParticipantVideoSourceGroup" > GroupCallParticipantVideoSourceGroup< / a > ;
< a href = "/constructor/groupCallParticipantVideo" > groupCallParticipantVideo< / a > #78e41663 flags:< a href = "/type/%23" > #< / a > paused:flags.0?< a href = "/constructor/true" > true< / a > endpoint:< a href = "/type/string" > string< / a > source_groups:< a href = "/type/Vector%20t" > Vector< / a > < < a href = "/type/GroupCallParticipantVideoSourceGroup" > GroupCallParticipantVideoSourceGroup< / a > > = < a href = "/type/GroupCallParticipantVideo" > GroupCallParticipantVideo< / a > ;\
< a href = "/constructor/updateGroupCallConnection" > updateGroupCallConnection< / a > #0b783982 flags:< a href = "/type/%23" > #< / a > presentation:flags.0?< a href = "/constructor/true" > true< / a > params:< a href = "/type/DataJSON" > DataJSON< / a > = < a href = "/type/Update" > Update< / a > ;\
< a href = "/constructor/stickers.suggestedShortName" > stickers.suggestedShortName< / a > #85fea03f short_name:< a href = "/type/string" > string< / a > = < a href = "/type/stickers.SuggestedShortName" > stickers.SuggestedShortName< / a > ;\
< a href = "/constructor/botCommandScopeDefault" > botCommandScopeDefault< / a > #2f6cb2ab = < a href = "/type/BotCommandScope" > BotCommandScope< / a > ;
< a href = "/constructor/botCommandScopeUsers" > botCommandScopeUsers< / a > #3c4f04d8 = < a href = "/type/BotCommandScope" > BotCommandScope< / a > ;
< a href = "/constructor/botCommandScopeChats" > botCommandScopeChats< / a > #6fe1a881 = < a href = "/type/BotCommandScope" > BotCommandScope< / a > ;
< a href = "/constructor/botCommandScopeChatAdmins" > botCommandScopeChatAdmins< / a > #b9aa606a = < a href = "/type/BotCommandScope" > BotCommandScope< / a > ;
< a href = "/constructor/botCommandScopePeer" > botCommandScopePeer< / a > #db9d897d peer:< a href = "/type/InputPeer" > InputPeer< / a > = < a href = "/type/BotCommandScope" > BotCommandScope< / a > ;
< a href = "/constructor/botCommandScopePeerAdmins" > botCommandScopePeerAdmins< / a > #3fd863d1 peer:< a href = "/type/InputPeer" > InputPeer< / a > = < a href = "/type/BotCommandScope" > BotCommandScope< / a > ;
< a href = "/constructor/botCommandScopePeerUser" > botCommandScopePeerUser< / a > #0a1321f3 peer:< a href = "/type/InputPeer" > InputPeer< / a > user_id:< a href = "/type/InputUser" > InputUser< / a > = < a href = "/type/BotCommandScope" > BotCommandScope< / a > ;\
---functions---\
< 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 > 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 > ;\
< a href = "/method/bots.setBotCommands" > bots.setBotCommands< / a > #0517165a scope:< a href = "/type/BotCommandScope" > BotCommandScope< / a > lang_code:< a href = "/type/string" > string< / a > commands:< a href = "/type/Vector%20t" > Vector< / a > < < a href = "/type/BotCommand" > BotCommand< / a > > = < a href = "/type/Bool" > Bool< / a > ;\
< a href = "/method/phone.checkGroupCall" > phone.checkGroupCall< / a > #b59cf977 call:< a href = "/type/InputGroupCall" > InputGroupCall< / a > sources:< a href = "/type/Vector%20t" > Vector< / a > < < a href = "/type/int" > int< / a > > = < a href = "/type/Vector%20t" > Vector< / a > < < a href = "/type/int" > int< / a > > ;
< a href = "/method/phone.editGroupCallParticipant" > phone.editGroupCallParticipant< / a > #a5273abf flags:< a href = "/type/%23" > #< / a > call:< a href = "/type/InputGroupCall" > InputGroupCall< / a > participant:< a href = "/type/InputPeer" > InputPeer< / a > muted:flags.0?< a href = "/type/Bool" > Bool< / a > volume:flags.1?< a href = "/type/int" > int< / a > raise_hand:flags.2?< a href = "/type/Bool" > Bool< / a > video_stopped:flags.3?< a href = "/type/Bool" > Bool< / a > video_paused:flags.4?< a href = "/type/Bool" > Bool< / a > presentation_paused:flags.5?< a href = "/type/Bool" > Bool< / a > = < a href = "/type/Updates" > Updates< / a > ;
< a href = "/method/phone.joinGroupCallPresentation" > phone.joinGroupCallPresentation< / a > #cbea6bc4 call:< a href = "/type/InputGroupCall" > InputGroupCall< / a > params:< a href = "/type/DataJSON" > DataJSON< / a > = < a href = "/type/Updates" > Updates< / a > ;
< a href = "/method/phone.leaveGroupCallPresentation" > phone.leaveGroupCallPresentation< / a > #1c50d144 call:< a href = "/type/InputGroupCall" > InputGroupCall< / a > = < a href = "/type/Updates" > Updates< / a > ;\
< a href = "/method/stickers.checkShortName" > stickers.checkShortName< / a > #284b3639 short_name:< a href = "/type/string" > string< / a > = < a href = "/type/Bool" > Bool< / a > ;
< a href = "/method/stickers.suggestShortName" > stickers.suggestShortName< / a > #4dafc503 title:< a href = "/type/string" > string< / a > = < a href = "/type/stickers.SuggestedShortName" > stickers.SuggestedShortName< / a > ;\
< a href = "/method/bots.resetBotCommands" > bots.resetBotCommands< / a > #3d8de0f9 scope:< a href = "/type/BotCommandScope" > BotCommandScope< / a > lang_code:< a href = "/type/string" > string< / a > = < a href = "/type/Bool" > Bool< / a > ;
< a href = "/method/bots.getBotCommands" > bots.getBotCommands< / a > #e34c0dd6 scope:< a href = "/type/BotCommandScope" > BotCommandScope< / a > lang_code:< a href = "/type/string" > string< / a > = < a href = "/type/Vector%20t" > Vector< / a > < < a href = "/type/BotCommand" > BotCommand< / a > > ;\
< / code > < / pre > < / div >
< h3 > < a class = "anchor" name = "layer-128" href = "#layer-128" > < i class = "anchor-icon" > < / i > < / a > < a href = "/schema?layer=128" > Layer 128< / a > < / h3 >
< p > Deprecate legacy profile picture locations, group call improvements.< br > See the < a href = "/api/files#downloading-files" > file documentation article for more info on the new file constructors »< / a > .< / p >
< h4 > < a class = "anchor" name = "schema-changes" href = "#schema-changes" > < i class = "anchor-icon" > < / i > < / a > Schema changes< / h4 >
< h5 > < a class = "anchor" name = "changed-methods" href = "#changed-methods" > < i class = "anchor-icon" > < / i > < / a > Changed Methods< / h5 >
< ul >
< li > Added < strong > video_muted< / strong > parameter, changed type of < strong > muted< / strong > from < strong > flags.0?true< / strong > to < strong > flags.0?Bool< / strong > in < a href = "/method/phone.editGroupCallParticipant" > phone.editGroupCallParticipant< / a > < / li >
< / ul >
< h5 > < a class = "anchor" name = "changed-constructors" href = "#changed-constructors" > < i class = "anchor-icon" > < / i > < / a > Changed Constructors< / h5 >
< ul >
< li > Removed < strong > photo_small< / strong > , < strong > photo_big< / strong > parameters in < a href = "/constructor/userProfilePhoto" > userProfilePhoto< / a > < / li >
< li > Added < strong > photo_id< / strong > parameter, removed < strong > photo_small< / strong > , < strong > photo_big< / strong > parameters in < a href = "/constructor/chatPhoto" > chatPhoto< / a > < / li >
< li > Removed < strong > location< / strong > parameter in < a href = "/constructor/photoSize" > photoSize< / a > < / li >
< li > Removed < strong > location< / strong > parameter in < a href = "/constructor/photoCachedSize" > photoCachedSize< / a > < / li >
< li > Added < strong > photo_id< / strong > parameter, removed < strong > volume_id< / strong > , < strong > local_id< / strong > parameters in < a href = "/constructor/inputPeerPhotoFileLocation" > inputPeerPhotoFileLocation< / a > < / li >
< li > Added < strong > thumb_version< / strong > parameter, removed < strong > volume_id< / strong > , < strong > local_id< / strong > parameters in < a href = "/constructor/inputStickerSetThumb" > inputStickerSetThumb< / a > < / li >
< li > Removed < strong > location< / strong > parameter in < a href = "/constructor/videoSize" > videoSize< / a > < / li >
< li > Removed < strong > location< / strong > parameter in < a href = "/constructor/photoSizeProgressive" > photoSizeProgressive< / a > < / li >
< / ul >
< h5 > < a class = "anchor" name = "deleted-constructors" href = "#deleted-constructors" > < i class = "anchor-icon" > < / i > < / a > Deleted Constructors< / h5 >
< ul >
< li > Removed fileLocationToBeDeprecated< / li >
< / ul >
< h4 > < a class = "anchor" name = "schema" href = "#schema" > < i class = "anchor-icon" > < / i > < / a > Schema< / h4 >
< div > < pre > < code > < a href = "/constructor/userProfilePhoto" > userProfilePhoto< / a > #82d1f706 flags:< a href = "/type/%23" > #< / a > has_video:flags.0?< a href = "/constructor/true" > true< / a > photo_id:< a href = "/type/long" > long< / a > stripped_thumb:flags.1?< a href = "/type/bytes" > bytes< / a > dc_id:< a href = "/type/int" > int< / a > = < a href = "/type/UserProfilePhoto" > UserProfilePhoto< / a > ;\
< a href = "/constructor/chatPhoto" > chatPhoto< / a > #1c6e1c11 flags:< a href = "/type/%23" > #< / a > has_video:flags.0?< a href = "/constructor/true" > true< / a > photo_id:< a href = "/type/long" > long< / a > stripped_thumb:flags.1?< a href = "/type/bytes" > bytes< / a > dc_id:< a href = "/type/int" > int< / a > = < a href = "/type/ChatPhoto" > ChatPhoto< / a > ;\
< a href = "/constructor/photoSize" > photoSize< / a > #75c78e60 type:< a href = "/type/string" > string< / a > w:< a href = "/type/int" > int< / a > h:< a href = "/type/int" > int< / a > size:< a href = "/type/int" > int< / a > = < a href = "/type/PhotoSize" > PhotoSize< / a > ;
< a href = "/constructor/photoCachedSize" > photoCachedSize< / a > #021e1ad6 type:< a href = "/type/string" > string< / a > w:< a href = "/type/int" > int< / a > h:< a href = "/type/int" > int< / a > bytes:< a href = "/type/bytes" > bytes< / a > = < a href = "/type/PhotoSize" > PhotoSize< / a > ;\
< a href = "/constructor/inputPeerPhotoFileLocation" > inputPeerPhotoFileLocation< / a > #37257e99 flags:< a href = "/type/%23" > #< / a > big:flags.0?< a href = "/constructor/true" > true< / a > peer:< a href = "/type/InputPeer" > InputPeer< / a > photo_id:< a href = "/type/long" > long< / a > = < a href = "/type/InputFileLocation" > InputFileLocation< / a > ;
< a href = "/constructor/inputStickerSetThumb" > inputStickerSetThumb< / a > #9d84f3db stickerset:< a href = "/type/InputStickerSet" > InputStickerSet< / a > thumb_version:< a href = "/type/int" > int< / a > = < a href = "/type/InputFileLocation" > InputFileLocation< / a > ;\
< a href = "/constructor/videoSize" > videoSize< / a > #de33b094 flags:< a href = "/type/%23" > #< / a > type:< a href = "/type/string" > string< / a > w:< a href = "/type/int" > int< / a > h:< a href = "/type/int" > int< / a > size:< a href = "/type/int" > int< / a > video_start_ts:flags.0?< a href = "/type/double" > double< / a > = < a href = "/type/VideoSize" > VideoSize< / a > ;\
< a href = "/constructor/photoSizeProgressive" > photoSizeProgressive< / a > #fa3efb95 type:< a href = "/type/string" > string< / a > w:< a href = "/type/int" > int< / a > h:< a href = "/type/int" > int< / a > sizes:< a href = "/type/Vector%20t" > Vector< / a > < < a href = "/type/int" > int< / a > > = < a href = "/type/PhotoSize" > PhotoSize< / a > ;\
---functions---\
< a href = "/method/phone.editGroupCallParticipant" > phone.editGroupCallParticipant< / a > #aec610e4 flags:< a href = "/type/%23" > #< / a > call:< a href = "/type/InputGroupCall" > InputGroupCall< / a > participant:< a href = "/type/InputPeer" > InputPeer< / a > muted:flags.0?< a href = "/type/Bool" > Bool< / a > volume:flags.1?< a href = "/type/int" > int< / a > raise_hand:flags.2?< a href = "/type/Bool" > Bool< / a > video_muted:flags.3?< a href = "/type/Bool" > Bool< / a > = < a href = "/type/Updates" > Updates< / a > ;\
< / code > < / pre > < / div >
< h3 > < a class = "anchor" name = "layer-127" href = "#layer-127" > < i class = "anchor-icon" > < / i > < / a > < a href = "/schema?layer=127" > Layer 127< / a > < / h3 >
< p > Scheduled group calls, payments in channels, payment tips, stripped profile picture thumbnails.< / p >
< h4 > < a class = "anchor" name = "schema-changes" href = "#schema-changes" > < i class = "anchor-icon" > < / i > < / a > Schema changes< / h4 >
< h5 > < a class = "anchor" name = "new-methods" href = "#new-methods" > < i class = "anchor-icon" > < / i > < / a > New Methods< / h5 >
< ul >
< li > Added < a href = "/method/phone.toggleGroupCallStartSubscription" > phone.toggleGroupCallStartSubscription< / a > - Subscribe or unsubscribe to a scheduled group call< / li >
< li > Added < a href = "/method/phone.startScheduledGroupCall" > phone.startScheduledGroupCall< / a > - Start a scheduled group call.< / li >
< li > Added < a href = "/method/phone.saveDefaultGroupCallJoinAs" > phone.saveDefaultGroupCallJoinAs< / a > - Set the default peer that will be used to join a group call in a specific dialog.< / li >
< / ul >
< h5 > < a class = "anchor" name = "changed-methods" href = "#changed-methods" > < i class = "anchor-icon" > < / i > < / a > Changed Methods< / h5 >
< ul >
< li > Added < strong > flags< / strong > , < strong > peer< / strong > , < strong > theme_params< / strong > parameters in < a href = "/method/payments.getPaymentForm" > payments.getPaymentForm< / a > < / li >
< li > Added < strong > peer< / strong > parameter in < a href = "/method/payments.getPaymentReceipt" > payments.getPaymentReceipt< / a > < / li >
< li > Added < strong > peer< / strong > parameter in < a href = "/method/payments.validateRequestedInfo" > payments.validateRequestedInfo< / a > < / li >
< li > Added < strong > form_id< / strong > , < strong > peer< / strong > , < strong > tip_amount< / strong > parameters in < a href = "/method/payments.sendPaymentForm" > payments.sendPaymentForm< / a > < / li >
< li > Added < strong > flags< / strong > , < strong > title< / strong > , < strong > schedule_date< / strong > parameters in < a href = "/method/phone.createGroupCall" > phone.createGroupCall< / a > < / li >
< / ul >
< h5 > < a class = "anchor" name = "new-constructors" href = "#new-constructors" > < i class = "anchor-icon" > < / i > < / a > New Constructors< / h5 >
< ul >
< li > Added < a href = "/constructor/inputBotInlineMessageMediaInvoice" > inputBotInlineMessageMediaInvoice< / a > - An invoice< / li >
< li > Added < a href = "/constructor/botInlineMessageMediaInvoice" > botInlineMessageMediaInvoice< / a > - Send an invoice< / li >
< li > Added < a href = "/constructor/messageActionGroupCallScheduled" > messageActionGroupCallScheduled< / a > - A group call was scheduled< / li >
< / ul >
< h5 > < a class = "anchor" name = "changed-constructors" href = "#changed-constructors" > < i class = "anchor-icon" > < / i > < / a > Changed Constructors< / h5 >
< ul >
< li > Added < strong > stripped_thumb< / strong > parameter in < a href = "/constructor/userProfilePhoto" > userProfilePhoto< / a > < / li >
< li > Added < strong > stripped_thumb< / strong > parameter in < a href = "/constructor/chatPhoto" > chatPhoto< / a > < / li >
< li > Added < strong > thumb_version< / strong > parameter in < a href = "/constructor/stickerSet" > stickerSet< / a > < / li >
< li > Added < strong > max_tip_amount< / strong > , < strong > suggested_tip_amounts< / strong > parameters in < a href = "/constructor/invoice" > invoice< / a > < / li >
< li > Changed type of < strong > start_param< / strong > from < strong > string< / strong > to < strong > flags.1?string< / strong > in < a href = "/constructor/inputMediaInvoice" > inputMediaInvoice< / a > < / li >
< li > Added < strong > form_id< / strong > parameter in < a href = "/constructor/payments.paymentForm" > payments.paymentForm< / a > < / li >
< li > Added < strong > title< / strong > , < strong > description< / strong > , < strong > photo< / strong > , < strong > tip_amount< / strong > parameters in < a href = "/constructor/payments.paymentReceipt" > payments.paymentReceipt< / a > < / li >
< li > Added < strong > schedule_start_subscribed< / strong > , < strong > schedule_date< / strong > parameters in < a href = "/constructor/groupCall" > groupCall< / a > < / li >
< li > Added < strong > params< / strong > parameter in < a href = "/constructor/groupCallParticipant" > groupCallParticipant< / a > < / li >
< / ul >
< h4 > < a class = "anchor" name = "schema" href = "#schema" > < i class = "anchor-icon" > < / i > < / a > Schema< / h4 >
< div > < pre > < code > < a href = "/constructor/userProfilePhoto" > userProfilePhoto< / a > #cc656077 flags:< a href = "/type/%23" > #< / a > has_video:flags.0?< a href = "/constructor/true" > true< / a > photo_id:< a href = "/type/long" > long< / a > photo_small:< a href = "/type/FileLocation" > FileLocation< / a > photo_big:< a href = "/type/FileLocation" > FileLocation< / a > stripped_thumb:flags.1?< a href = "/type/bytes" > bytes< / a > dc_id:< a href = "/type/int" > int< / a > = < a href = "/type/UserProfilePhoto" > UserProfilePhoto< / a > ;\
< a href = "/constructor/chatPhoto" > chatPhoto< / a > #4790ee05 flags:< a href = "/type/%23" > #< / a > has_video:flags.0?< a href = "/constructor/true" > true< / a > photo_small:< a href = "/type/FileLocation" > FileLocation< / a > photo_big:< a href = "/type/FileLocation" > FileLocation< / a > stripped_thumb:flags.1?< a href = "/type/bytes" > bytes< / a > dc_id:< a href = "/type/int" > int< / a > = < a href = "/type/ChatPhoto" > ChatPhoto< / a > ;\
< 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 > 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 > ;\
< a href = "/constructor/invoice" > invoice< / a > #0cd886e0 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 > 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 > > = < a href = "/type/Invoice" > Invoice< / a > ;
< a href = "/constructor/inputMediaInvoice" > inputMediaInvoice< / a > #d9799874 flags:< a href = "/type/%23" > #< / a > title:< a href = "/type/string" > string< / a > description:< a href = "/type/string" > string< / a > photo:flags.0?< a href = "/type/InputWebDocument" > InputWebDocument< / a > invoice:< a href = "/type/Invoice" > Invoice< / a > payload:< a href = "/type/bytes" > bytes< / a > provider:< a href = "/type/string" > string< / a > provider_data:< a href = "/type/DataJSON" > DataJSON< / a > start_param:flags.1?< a href = "/type/string" > string< / a > = < a href = "/type/InputMedia" > InputMedia< / a > ;\
< a href = "/constructor/payments.paymentForm" > payments.paymentForm< / a > #8d0b2415 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/int" > int< / a > invoice:< a href = "/type/Invoice" > Invoice< / a > provider_id:< a href = "/type/int" > int< / 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 > ;
< a href = "/constructor/payments.paymentReceipt" > payments.paymentReceipt< / a > #10b555d0 flags:< a href = "/type/%23" > #< / a > date:< a href = "/type/int" > int< / a > bot_id:< a href = "/type/int" > int< / a > provider_id:< a href = "/type/int" > int< / a > title:< a href = "/type/string" > string< / a > description:< a href = "/type/string" > string< / a > photo:flags.2?< a href = "/type/WebDocument" > WebDocument< / a > invoice:< a href = "/type/Invoice" > Invoice< / a > info:flags.0?< a href = "/type/PaymentRequestedInfo" > PaymentRequestedInfo< / a > shipping:flags.1?< a href = "/type/ShippingOption" > ShippingOption< / a > tip_amount:flags.3?< a href = "/type/long" > long< / a > currency:< a href = "/type/string" > string< / a > total_amount:< a href = "/type/long" > long< / a > credentials_title:< a href = "/type/string" > string< / a > users:< a href = "/type/Vector%20t" > Vector< / a > < < a href = "/type/User" > User< / a > > = < a href = "/type/payments.PaymentReceipt" > payments.PaymentReceipt< / a > ;\
< a href = "/constructor/groupCall" > groupCall< / a > #c95c6654 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 > id:< a href = "/type/long" > long< / a > access_hash:< a href = "/type/long" > long< / a > participants_count:< a href = "/type/int" > int< / a > params:flags.0?< a href = "/type/DataJSON" > DataJSON< / 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 > version:< a href = "/type/int" > int< / a > = < a href = "/type/GroupCall" > GroupCall< / a > ;
< a href = "/constructor/groupCallParticipant" > groupCallParticipant< / a > #b96b25ee flags:< a href = "/type/%23" > #< / a > muted:flags.0?< a href = "/constructor/true" > true< / a > left:flags.1?< a href = "/constructor/true" > true< / a > can_self_unmute:flags.2?< a href = "/constructor/true" > true< / a > just_joined:flags.4?< a href = "/constructor/true" > true< / a > versioned:flags.5?< a href = "/constructor/true" > true< / a > min:flags.8?< a href = "/constructor/true" > true< / a > muted_by_you:flags.9?< a href = "/constructor/true" > true< / a > volume_by_admin:flags.10?< a href = "/constructor/true" > true< / a > self:flags.12?< a href = "/constructor/true" > true< / a > peer:< a href = "/type/Peer" > Peer< / a > date:< a href = "/type/int" > int< / a > active_date:flags.3?< a href = "/type/int" > int< / a > source:< a href = "/type/int" > int< / a > volume:flags.7?< a href = "/type/int" > int< / a > about:flags.11?< a href = "/type/string" > string< / a > raise_hand_rating:flags.13?< a href = "/type/long" > long< / a > params:flags.6?< a href = "/type/DataJSON" > DataJSON< / a > = < a href = "/type/GroupCallParticipant" > GroupCallParticipant< / a > ;\
< a href = "/constructor/inputBotInlineMessageMediaInvoice" > inputBotInlineMessageMediaInvoice< / a > #d7e78225 flags:< a href = "/type/%23" > #< / a > title:< a href = "/type/string" > string< / a > description:< a href = "/type/string" > string< / a > photo:flags.0?< a href = "/type/InputWebDocument" > InputWebDocument< / a > invoice:< a href = "/type/Invoice" > Invoice< / a > payload:< a href = "/type/bytes" > bytes< / a > provider:< a href = "/type/string" > string< / a > provider_data:< a href = "/type/DataJSON" > DataJSON< / a > reply_markup:flags.2?< a href = "/type/ReplyMarkup" > ReplyMarkup< / a > = < a href = "/type/InputBotInlineMessage" > InputBotInlineMessage< / a > ;\
< a href = "/constructor/botInlineMessageMediaInvoice" > botInlineMessageMediaInvoice< / a > #354a9b09 flags:< a href = "/type/%23" > #< / a > shipping_address_requested:flags.1?< a href = "/constructor/true" > true< / a > test:flags.3?< a href = "/constructor/true" > true< / a > title:< a href = "/type/string" > string< / a > description:< a href = "/type/string" > string< / a > photo:flags.0?< a href = "/type/WebDocument" > WebDocument< / a > currency:< a href = "/type/string" > string< / a > total_amount:< a href = "/type/long" > long< / a > reply_markup:flags.2?< a href = "/type/ReplyMarkup" > ReplyMarkup< / a > = < a href = "/type/BotInlineMessage" > BotInlineMessage< / a > ;\
< a href = "/constructor/messageActionGroupCallScheduled" > messageActionGroupCallScheduled< / a > #b3a07661 call:< a href = "/type/InputGroupCall" > InputGroupCall< / a > schedule_date:< a href = "/type/int" > int< / a > = < a href = "/type/MessageAction" > MessageAction< / a > ;\
---functions---\
< a href = "/method/payments.getPaymentForm" > payments.getPaymentForm< / a > #8a333c8d flags:< a href = "/type/%23" > #< / a > peer:< a href = "/type/InputPeer" > InputPeer< / a > msg_id:< a href = "/type/int" > int< / a > theme_params:flags.0?< a href = "/type/DataJSON" > DataJSON< / a > = < a href = "/type/payments.PaymentForm" > payments.PaymentForm< / a > ;
< a href = "/method/payments.getPaymentReceipt" > payments.getPaymentReceipt< / a > #2478d1cc peer:< a href = "/type/InputPeer" > InputPeer< / a > msg_id:< a href = "/type/int" > int< / a > = < a href = "/type/payments.PaymentReceipt" > payments.PaymentReceipt< / a > ;
< a href = "/method/payments.validateRequestedInfo" > payments.validateRequestedInfo< / a > #db103170 flags:< a href = "/type/%23" > #< / a > save:flags.0?< a href = "/constructor/true" > true< / a > peer:< a href = "/type/InputPeer" > InputPeer< / a > msg_id:< a href = "/type/int" > int< / a > info:< a href = "/type/PaymentRequestedInfo" > PaymentRequestedInfo< / a > = < a href = "/type/payments.ValidatedRequestedInfo" > payments.ValidatedRequestedInfo< / a > ;
< a href = "/method/payments.sendPaymentForm" > payments.sendPaymentForm< / a > #30c3bc9d flags:< a href = "/type/%23" > #< / a > form_id:< a href = "/type/long" > long< / a > peer:< a href = "/type/InputPeer" > InputPeer< / a > msg_id:< a href = "/type/int" > int< / 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 > ;
< a href = "/method/phone.createGroupCall" > phone.createGroupCall< / a > #48cdc6d8 flags:< a href = "/type/%23" > #< / 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 > ;
< a href = "/method/phone.toggleGroupCallStartSubscription" > phone.toggleGroupCallStartSubscription< / a > #219c34e6 call:< a href = "/type/InputGroupCall" > InputGroupCall< / a > subscribed:< a href = "/type/Bool" > Bool< / a > = < a href = "/type/Updates" > Updates< / a > ;
< a href = "/method/phone.startScheduledGroupCall" > phone.startScheduledGroupCall< / a > #5680e342 call:< a href = "/type/InputGroupCall" > InputGroupCall< / a > = < a href = "/type/Updates" > Updates< / a > ;
< a href = "/method/phone.saveDefaultGroupCallJoinAs" > phone.saveDefaultGroupCallJoinAs< / a > #575e1f8c peer:< a href = "/type/InputPeer" > InputPeer< / a > join_as:< a href = "/type/InputPeer" > InputPeer< / a > = < a href = "/type/Bool" > Bool< / a > ;\
< / code > < / pre > < / div >
< h3 > < a class = "anchor" name = "layer-126" href = "#layer-126" > < i class = "anchor-icon" > < / i > < / a > < a href = "/schema?layer=126" > Layer 126< / a > < / h3 >
< p > Ban channels in chats.< / p >
< h4 > < a class = "anchor" name = "schema-changes" href = "#schema-changes" > < i class = "anchor-icon" > < / i > < / a > Schema changes< / h4 >
< h5 > < a class = "anchor" name = "changed-methods" href = "#changed-methods" > < i class = "anchor-icon" > < / i > < / a > Changed Methods< / h5 >
< ul >
< li > Added < strong > participant< / strong > parameter, removed < strong > user_id< / strong > parameter in < a href = "/method/channels.getParticipant" > channels.getParticipant< / a > < / li >
< li > Added < strong > participant< / strong > parameter, removed < strong > user_id< / strong > parameter in < a href = "/method/channels.editBanned" > channels.editBanned< / a > < / li >
< / ul >
< h5 > < a class = "anchor" name = "changed-constructors" href = "#changed-constructors" > < i class = "anchor-icon" > < / i > < / a > Changed Constructors< / h5 >
< ul >
< li > Added < strong > chats< / strong > parameter in < a href = "/constructor/channels.channelParticipants" > channels.channelParticipants< / a > < / li >
< li > Added < strong > chats< / strong > parameter in < a href = "/constructor/channels.channelParticipant" > channels.channelParticipant< / a > < / li >
< li > Added < strong > peer< / strong > parameter, removed < strong > user_id< / strong > parameter in < a href = "/constructor/channelParticipantBanned" > channelParticipantBanned< / a > < / li >
< li > Added < strong > peer< / strong > parameter, removed < strong > user_id< / strong > parameter in < a href = "/constructor/channelParticipantLeft" > channelParticipantLeft< / a > < / li >
< / ul >
< h4 > < a class = "anchor" name = "schema" href = "#schema" > < i class = "anchor-icon" > < / i > < / a > Schema< / h4 >
< div > < pre > < code > < a href = "/constructor/channels.channelParticipants" > channels.channelParticipants< / a > #9ab0feaf count:< a href = "/type/int" > int< / a > participants:< a href = "/type/Vector%20t" > Vector< / a > < < a href = "/type/ChannelParticipant" > ChannelParticipant< / 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.ChannelParticipants" > channels.ChannelParticipants< / a > ;
< a href = "/constructor/channels.channelParticipant" > channels.channelParticipant< / a > #dfb80317 participant:< a href = "/type/ChannelParticipant" > ChannelParticipant< / 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.ChannelParticipant" > channels.ChannelParticipant< / a > ;
< a href = "/constructor/channelParticipantBanned" > channelParticipantBanned< / a > #50a1dfd6 flags:< a href = "/type/%23" > #< / a > left:flags.0?< a href = "/constructor/true" > true< / a > peer:< a href = "/type/Peer" > Peer< / a > kicked_by:< a href = "/type/int" > int< / a > date:< a href = "/type/int" > int< / a > banned_rights:< a href = "/type/ChatBannedRights" > ChatBannedRights< / a > = < a href = "/type/ChannelParticipant" > ChannelParticipant< / a > ;
< a href = "/constructor/channelParticipantLeft" > channelParticipantLeft< / a > #1b03f006 peer:< a href = "/type/Peer" > Peer< / a > = < a href = "/type/ChannelParticipant" > ChannelParticipant< / a > ;\
---functions---\
< a href = "/method/channels.getParticipant" > channels.getParticipant< / a > #a0ab6cc6 channel:< a href = "/type/InputChannel" > InputChannel< / a > participant:< a href = "/type/InputPeer" > InputPeer< / a > = < a href = "/type/channels.ChannelParticipant" > channels.ChannelParticipant< / a > ;
< a href = "/method/channels.editBanned" > channels.editBanned< / a > #96e6cd81 channel:< a href = "/type/InputChannel" > InputChannel< / a > participant:< a href = "/type/InputPeer" > InputPeer< / a > banned_rights:< a href = "/type/ChatBannedRights" > ChatBannedRights< / a > = < a href = "/type/Updates" > Updates< / a > ;\
< / code > < / pre > < / div >
< h3 > < a class = "anchor" name = "layer-125" href = "#layer-125" > < i class = "anchor-icon" > < / i > < / a > < a href = "/schema?layer=125" > Layer 125< / a > < / h3 >
< p > Voice chats in channels.< / p >
< h4 > < a class = "anchor" name = "schema-changes" href = "#schema-changes" > < i class = "anchor-icon" > < / i > < / a > Schema changes< / h4 >
< h5 > < a class = "anchor" name = "new-methods" href = "#new-methods" > < i class = "anchor-icon" > < / i > < / a > New Methods< / h5 >
< ul >
< li > Added < a href = "/method/phone.toggleGroupCallRecord" > phone.toggleGroupCallRecord< / a > - Start or stop recording a group call: the recorded audio and video streams will be automatically sent to < code > Saved messages< / code > (the chat with ourselves).< / li >
< li > Added < a href = "/method/phone.editGroupCallParticipant" > phone.editGroupCallParticipant< / a > - Edit information about a given group call participant< / li >
< li > Added < a href = "/method/phone.editGroupCallTitle" > phone.editGroupCallTitle< / a > - Edit the title of a group call or livestream< / li >
< li > Added < a href = "/method/phone.getGroupCallJoinAs" > phone.getGroupCallJoinAs< / a > - Get a list of peers that can be used to join a group call, presenting yourself as a specific user/channel.< / li >
< li > Added < a href = "/method/phone.exportGroupCallInvite" > phone.exportGroupCallInvite< / a > - Get an invite link for a group call or livestream< / li >
< / ul >
< h5 > < a class = "anchor" name = "changed-methods" href = "#changed-methods" > < i class = "anchor-icon" > < / i > < / a > Changed Methods< / h5 >
< ul >
< li > Added < strong > flags< / strong > , < strong > url< / strong > parameters, changed type of < strong > peer< / strong > from < strong > InputPeer< / strong > to < strong > flags.1?InputPeer< / strong > , < strong > msg_id< / strong > from < strong > int< / strong > to < strong > flags.1?int< / strong > , < strong > button_id< / strong > from < strong > int< / strong > to < strong > flags.1?int< / strong > in < a href = "/method/messages.requestUrlAuth" > messages.requestUrlAuth< / a > < / li >
< li > Added < strong > url< / strong > parameter, changed type of < strong > peer< / strong > from < strong > InputPeer< / strong > to < strong > flags.1?InputPeer< / strong > , < strong > msg_id< / strong > from < strong > int< / strong > to < strong > flags.1?int< / strong > , < strong > button_id< / strong > from < strong > int< / strong > to < strong > flags.1?int< / strong > in < a href = "/method/messages.acceptUrlAuth" > messages.acceptUrlAuth< / a > < / li >
< li > Added < strong > video_stopped< / strong > , < strong > join_as< / strong > , < strong > invite_hash< / strong > parameters in < a href = "/method/phone.joinGroupCall" > phone.joinGroupCall< / a > < / li >
< li > Added < strong > reset_invite_hash< / strong > parameter in < a href = "/method/phone.toggleGroupCallSettings" > phone.toggleGroupCallSettings< / a > < / li >
< li > Changed type of < strong > ids< / strong > from < strong > Vector< int> < / strong > to < strong > Vector< InputPeer> < / strong > in < a href = "/method/phone.getGroupParticipants" > phone.getGroupParticipants< / a > < / li >
< / ul >
< h5 > < a class = "anchor" name = "deleted-methods" href = "#deleted-methods" > < i class = "anchor-icon" > < / i > < / a > Deleted Methods< / h5 >
< ul >
< li > Removed phone.editGroupCallMember< / li >
< / ul >
< h5 > < a class = "anchor" name = "new-constructors" href = "#new-constructors" > < i class = "anchor-icon" > < / i > < / a > New Constructors< / h5 >
< ul >
< li > Added < a href = "/constructor/inputGroupCallStream" > inputGroupCallStream< / a > - Chunk of a livestream< / li >
< li > Added < a href = "/constructor/phone.joinAsPeers" > phone.joinAsPeers< / a > - A list of peers that can be used to join a group call, presenting yourself as a specific user/channel.< / li >
< li > Added < a href = "/constructor/phone.exportedGroupCallInvite" > phone.exportedGroupCallInvite< / a > - An invite to a group call or livestream< / li >
< / ul >
< h5 > < a class = "anchor" name = "changed-constructors" href = "#changed-constructors" > < i class = "anchor-icon" > < / i > < / a > Changed Constructors< / h5 >
< ul >
< li > Added < strong > groupcall_default_join_as< / strong > parameter in < a href = "/constructor/chatFull" > chatFull< / a > < / li >
< li > Added < strong > from_id< / strong > parameter, removed < strong > user_id< / strong > parameter in < a href = "/constructor/updateChatUserTyping" > updateChatUserTyping< / a > < / li >
< li > Added < strong > groupcall_default_join_as< / strong > parameter in < a href = "/constructor/channelFull" > channelFull< / a > < / li >
< li > Added < strong > from_id< / strong > parameter, removed < strong > user_id< / strong > parameter in < a href = "/constructor/updateChannelUserTyping" > updateChannelUserTyping< / a > < / li >
< li > Added < strong > join_date_asc< / strong > , < strong > title< / strong > , < strong > stream_dc_id< / strong > , < strong > record_start_date< / strong > parameters in < a href = "/constructor/groupCall" > groupCall< / a > < / li >
< li > Added < strong > self< / strong > , < strong > peer< / strong > , < strong > about< / strong > , < strong > raise_hand_rating< / strong > parameters, removed < strong > user_id< / strong > parameter in < a href = "/constructor/groupCallParticipant" > groupCallParticipant< / a > < / li >
< li > Added < strong > chats< / strong > parameter in < a href = "/constructor/phone.groupCall" > phone.groupCall< / a > < / li >
< li > Added < strong > chats< / strong > parameter in < a href = "/constructor/phone.groupParticipants" > phone.groupParticipants< / a > < / li >
< / ul >
< h4 > < a class = "anchor" name = "schema" href = "#schema" > < i class = "anchor-icon" > < / i > < / a > Schema< / h4 >
< div > < pre > < code > < a href = "/constructor/chatFull" > chatFull< / a > #8a1e2983 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/int" > int< / 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 > = < a href = "/type/ChatFull" > ChatFull< / a > ;\
< a href = "/constructor/updateChatUserTyping" > updateChatUserTyping< / a > #86cadb6c chat_id:< a href = "/type/int" > int< / a > from_id:< a href = "/type/Peer" > Peer< / a > action:< a href = "/type/SendMessageAction" > SendMessageAction< / a > = < a href = "/type/Update" > Update< / a > ;\
< a href = "/constructor/channelFull" > channelFull< / a > #548c3f93 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/int" > int< / 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/int" > int< / 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/int" > int< / 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 > = < a href = "/type/ChatFull" > ChatFull< / a > ;\
< a href = "/constructor/updateChannelUserTyping" > updateChannelUserTyping< / a > #6b171718 flags:< a href = "/type/%23" > #< / a > channel_id:< a href = "/type/int" > int< / a > top_msg_id:flags.0?< a href = "/type/int" > int< / a > from_id:< a href = "/type/Peer" > Peer< / a > action:< a href = "/type/SendMessageAction" > SendMessageAction< / a > = < a href = "/type/Update" > Update< / a > ;\
< a href = "/constructor/groupCall" > groupCall< / a > #c0c2052e 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 > id:< a href = "/type/long" > long< / a > access_hash:< a href = "/type/long" > long< / a > participants_count:< a href = "/type/int" > int< / a > params:flags.0?< a href = "/type/DataJSON" > DataJSON< / 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 > version:< a href = "/type/int" > int< / a > = < a href = "/type/GroupCall" > GroupCall< / a > ;
< a href = "/constructor/groupCallParticipant" > groupCallParticipant< / a > #19adba89 flags:< a href = "/type/%23" > #< / a > muted:flags.0?< a href = "/constructor/true" > true< / a > left:flags.1?< a href = "/constructor/true" > true< / a > can_self_unmute:flags.2?< a href = "/constructor/true" > true< / a > just_joined:flags.4?< a href = "/constructor/true" > true< / a > versioned:flags.5?< a href = "/constructor/true" > true< / a > min:flags.8?< a href = "/constructor/true" > true< / a > muted_by_you:flags.9?< a href = "/constructor/true" > true< / a > volume_by_admin:flags.10?< a href = "/constructor/true" > true< / a > self:flags.12?< a href = "/constructor/true" > true< / a > peer:< a href = "/type/Peer" > Peer< / a > date:< a href = "/type/int" > int< / a > active_date:flags.3?< a href = "/type/int" > int< / a > source:< a href = "/type/int" > int< / a > volume:flags.7?< a href = "/type/int" > int< / a > about:flags.11?< a href = "/type/string" > string< / a > raise_hand_rating:flags.13?< a href = "/type/long" > long< / a > = < a href = "/type/GroupCallParticipant" > GroupCallParticipant< / a > ;\
< a href = "/constructor/phone.groupCall" > phone.groupCall< / a > #9e727aad call:< a href = "/type/GroupCall" > GroupCall< / a > participants:< a href = "/type/Vector%20t" > Vector< / a > < < a href = "/type/GroupCallParticipant" > GroupCallParticipant< / a > > participants_next_offset:< a href = "/type/string" > string< / 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/phone.GroupCall" > phone.GroupCall< / a > ;
< a href = "/constructor/phone.groupParticipants" > phone.groupParticipants< / a > #f47751b6 count:< a href = "/type/int" > int< / a > participants:< a href = "/type/Vector%20t" > Vector< / a > < < a href = "/type/GroupCallParticipant" > GroupCallParticipant< / a > > next_offset:< a href = "/type/string" > string< / 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 > > version:< a href = "/type/int" > int< / a > = < a href = "/type/phone.GroupParticipants" > phone.GroupParticipants< / a > ;\
< a href = "/constructor/inputGroupCallStream" > inputGroupCallStream< / a > #bba51639 call:< a href = "/type/InputGroupCall" > InputGroupCall< / a > time_ms:< a href = "/type/long" > long< / a > scale:< a href = "/type/int" > int< / a > = < a href = "/type/InputFileLocation" > InputFileLocation< / a > ;\
< a href = "/constructor/phone.joinAsPeers" > phone.joinAsPeers< / a > #afe5623f 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/phone.JoinAsPeers" > phone.JoinAsPeers< / a > ;
< a href = "/constructor/phone.exportedGroupCallInvite" > phone.exportedGroupCallInvite< / a > #204bd158 link:< a href = "/type/string" > string< / a > = < a href = "/type/phone.ExportedGroupCallInvite" > phone.ExportedGroupCallInvite< / a > ;\
---functions---\
< a href = "/method/messages.requestUrlAuth" > messages.requestUrlAuth< / a > #198fb446 flags:< a href = "/type/%23" > #< / a > peer:flags.1?< a href = "/type/InputPeer" > InputPeer< / a > msg_id:flags.1?< a href = "/type/int" > int< / a > button_id:flags.1?< a href = "/type/int" > int< / a > url:flags.2?< a href = "/type/string" > string< / a > = < a href = "/type/UrlAuthResult" > UrlAuthResult< / a > ;
< a href = "/method/messages.acceptUrlAuth" > messages.acceptUrlAuth< / a > #b12c7125 flags:< a href = "/type/%23" > #< / a > write_allowed:flags.0?< a href = "/constructor/true" > true< / a > peer:flags.1?< a href = "/type/InputPeer" > InputPeer< / a > msg_id:flags.1?< a href = "/type/int" > int< / a > button_id:flags.1?< a href = "/type/int" > int< / a > url:flags.2?< a href = "/type/string" > string< / a > = < a href = "/type/UrlAuthResult" > UrlAuthResult< / a > ;\
< a href = "/method/phone.joinGroupCall" > phone.joinGroupCall< / a > #b132ff7b flags:< a href = "/type/%23" > #< / a > muted:flags.0?< a href = "/constructor/true" > true< / a > video_stopped:flags.2?< a href = "/constructor/true" > true< / a > call:< a href = "/type/InputGroupCall" > InputGroupCall< / a > join_as:< a href = "/type/InputPeer" > InputPeer< / a > invite_hash:flags.1?< a href = "/type/string" > string< / a > params:< a href = "/type/DataJSON" > DataJSON< / a > = < a href = "/type/Updates" > Updates< / a > ;
< a href = "/method/phone.toggleGroupCallSettings" > phone.toggleGroupCallSettings< / a > #74bbb43d flags:< a href = "/type/%23" > #< / a > reset_invite_hash:flags.1?< a href = "/constructor/true" > true< / a > call:< a href = "/type/InputGroupCall" > InputGroupCall< / a > join_muted:flags.0?< a href = "/type/Bool" > Bool< / a > = < a href = "/type/Updates" > Updates< / a > ;
< a href = "/method/phone.getGroupParticipants" > phone.getGroupParticipants< / a > #c558d8ab call:< a href = "/type/InputGroupCall" > InputGroupCall< / a > ids:< a href = "/type/Vector%20t" > Vector< / a > < < a href = "/type/InputPeer" > InputPeer< / a > > sources:< a href = "/type/Vector%20t" > Vector< / a > < < a href = "/type/int" > int< / a > > offset:< a href = "/type/string" > string< / a > limit:< a href = "/type/int" > int< / a > = < a href = "/type/phone.GroupParticipants" > phone.GroupParticipants< / a > ;
< a href = "/method/phone.toggleGroupCallRecord" > phone.toggleGroupCallRecord< / a > #c02a66d7 flags:< a href = "/type/%23" > #< / a > start:flags.0?< a href = "/constructor/true" > true< / a > call:< a href = "/type/InputGroupCall" > InputGroupCall< / a > title:flags.1?< a href = "/type/string" > string< / a > = < a href = "/type/Updates" > Updates< / a > ;
< a href = "/method/phone.editGroupCallParticipant" > phone.editGroupCallParticipant< / a > #d975eb80 flags:< a href = "/type/%23" > #< / a > muted:flags.0?< a href = "/constructor/true" > true< / a > call:< a href = "/type/InputGroupCall" > InputGroupCall< / a > participant:< a href = "/type/InputPeer" > InputPeer< / a > volume:flags.1?< a href = "/type/int" > int< / a > raise_hand:flags.2?< a href = "/type/Bool" > Bool< / a > = < a href = "/type/Updates" > Updates< / a > ;
< a href = "/method/phone.editGroupCallTitle" > phone.editGroupCallTitle< / a > #1ca6ac0a call:< a href = "/type/InputGroupCall" > InputGroupCall< / a > title:< a href = "/type/string" > string< / a > = < a href = "/type/Updates" > Updates< / a > ;
< a href = "/method/phone.getGroupCallJoinAs" > phone.getGroupCallJoinAs< / a > #ef7c213a peer:< a href = "/type/InputPeer" > InputPeer< / a > = < a href = "/type/phone.JoinAsPeers" > phone.JoinAsPeers< / a > ;
< a href = "/method/phone.exportGroupCallInvite" > phone.exportGroupCallInvite< / a > #e6aa647f flags:< a href = "/type/%23" > #< / a > can_self_unmute:flags.0?< a href = "/constructor/true" > true< / a > call:< a href = "/type/InputGroupCall" > InputGroupCall< / a > = < a href = "/type/phone.ExportedGroupCallInvite" > phone.ExportedGroupCallInvite< / a > ;\
< / code > < / pre > < / div >
< h3 > < a class = "anchor" name = "layer-124" href = "#layer-124" > < i class = "anchor-icon" > < / i > < / a > < a href = "/schema?layer=124" > Layer 124< / a > < / h3 >
< p > Expiring invite links, self-destruction settings for all messages in a chat, gigagroups, < a href = "/api/import" > chat import< / a > improvements.< / p >
< h4 > < a class = "anchor" name = "schema-changes" href = "#schema-changes" > < i class = "anchor-icon" > < / i > < / a > Schema changes< / h4 >
< h5 > < a class = "anchor" name = "new-methods" href = "#new-methods" > < i class = "anchor-icon" > < / i > < / a > New Methods< / h5 >
< ul >
< li > Added < a href = "/method/messages.getExportedChatInvites" > messages.getExportedChatInvites< / a > - Get info about the chat invites of a specific chat< / li >
< li > Added < a href = "/method/messages.getExportedChatInvite" > messages.getExportedChatInvite< / a > - Get info about a chat invite< / li >
< li > Added < a href = "/method/messages.editExportedChatInvite" > messages.editExportedChatInvite< / a > - Edit an exported chat invite< / li >
< li > Added < a href = "/method/messages.deleteRevokedExportedChatInvites" > messages.deleteRevokedExportedChatInvites< / a > - Delete all revoked chat invites< / li >
< li > Added < a href = "/method/messages.deleteExportedChatInvite" > messages.deleteExportedChatInvite< / a > - Delete a chat invite< / li >
< li > Added < a href = "/method/messages.getAdminsWithInvites" > messages.getAdminsWithInvites< / a > - Get info about chat invites generated by admins.< / li >
< li > Added < a href = "/method/messages.getChatInviteImporters" > messages.getChatInviteImporters< / a > - Get info about the users that joined the chat using a specific chat invite< / li >
< li > Added < a href = "/method/messages.setHistoryTTL" > messages.setHistoryTTL< / a > - Set maximum Time-To-Live of all messages in the specified chat< / li >
< li > Added < a href = "/method/account.reportProfilePhoto" > account.reportProfilePhoto< / a > - Report a profile photo of a dialog< / li >
< li > Added < a href = "/method/channels.convertToGigagroup" > channels.convertToGigagroup< / a > - Convert a < a href = "/api/channel" > supergroup< / a > to a < a href = "/api/channel" > gigagroup< / a > , when requested by < a href = "/api/config#channel-suggestions" > channel suggestions< / a > .< / li >
< li > Added < a href = "/method/messages.checkHistoryImportPeer" > messages.checkHistoryImportPeer< / a > - Check whether chat history exported from another chat app can be < a href = "/api/import" > imported into a specific Telegram chat, click here for more info »< / a > .< / li >
< / ul >
< h5 > < a class = "anchor" name = "changed-methods" href = "#changed-methods" > < i class = "anchor-icon" > < / i > < / a > Changed Methods< / h5 >
< ul >
< li > Added < strong > message< / strong > parameter in < a href = "/method/account.reportPeer" > account.reportPeer< / a > < / li >
< li > Added < strong > message< / strong > parameter in < a href = "/method/messages.report" > messages.report< / a > < / li >
< li > Added < strong > flags< / strong > , < strong > legacy_revoke_permanent< / strong > , < strong > expire_date< / strong > , < strong > usage_limit< / strong > parameters in < a href = "/method/messages.exportChatInvite" > messages.exportChatInvite< / a > < / li >
< li > Added < strong > peer< / strong > parameter in < a href = "/method/help.dismissSuggestion" > help.dismissSuggestion< / a > < / li >
< / ul >
< h5 > < a class = "anchor" name = "new-constructors" href = "#new-constructors" > < i class = "anchor-icon" > < / i > < / a > New Constructors< / h5 >
< ul >
< li > Added < a href = "/constructor/messageActionSetMessagesTTL" > messageActionSetMessagesTTL< / a > - The Time-To-Live of messages in this chat was changed.< / li >
< li > Added < a href = "/constructor/updatePeerHistoryTTL" > updatePeerHistoryTTL< / a > - The Time-To-Live for messages sent by the current user in a specific chat has changed< / li >
< li > Added < a href = "/constructor/updateChatParticipant" > updateChatParticipant< / a > - A user has joined or left a specific chat< / li >
< li > Added < a href = "/constructor/updateChannelParticipant" > updateChannelParticipant< / a > - A participant has left, joined, was banned or admined in a < a href = "/api/channel" > channel or supergroup< / a > .< / li >
< li > Added < a href = "/constructor/updateBotStopped" > updateBotStopped< / a > - A bot was stopped or re-started.< / li >
< li > Added < a href = "/constructor/chatInviteImporter" > chatInviteImporter< / a > - When and which user joined the chat using a chat invite< / li >
< li > Added < a href = "/constructor/messages.exportedChatInvites" > messages.exportedChatInvites< / a > - Info about chat invites exported by a certain admin.< / li >
< li > Added < a href = "/constructor/messages.exportedChatInvite" > messages.exportedChatInvite< / a > - Info about a chat invite< / li >
< li > Added < a href = "/constructor/messages.exportedChatInviteReplaced" > messages.exportedChatInviteReplaced< / a > - The specified chat invite was replaced with another one< / li >
< li > Added < a href = "/constructor/messages.chatInviteImporters" > messages.chatInviteImporters< / a > - Info about the users that joined the chat using a specific chat invite< / li >
< li > Added < a href = "/constructor/chatAdminWithInvites" > chatAdminWithInvites< / a > - Info about chat invites generated by admins.< / li >
< li > Added < a href = "/constructor/messages.chatAdminsWithInvites" > messages.chatAdminsWithInvites< / a > - Info about chat invites generated by admins.< / li >
< li > Added < a href = "/constructor/channelAdminLogEventActionParticipantJoinByInvite" > channelAdminLogEventActionParticipantJoinByInvite< / a > - A user joined the < a href = "/api/channel" > supergroup/channel< / a > using a specific invite link< / li >
< li > Added < a href = "/constructor/channelAdminLogEventActionExportedInviteDelete" > channelAdminLogEventActionExportedInviteDelete< / a > - A chat invite was deleted< / li >
< li > Added < a href = "/constructor/channelAdminLogEventActionExportedInviteRevoke" > channelAdminLogEventActionExportedInviteRevoke< / a > - A specific invite link was revoked< / li >
< li > Added < a href = "/constructor/channelAdminLogEventActionExportedInviteEdit" > channelAdminLogEventActionExportedInviteEdit< / a > - A chat invite was edited< / li >
< li > Added < a href = "/constructor/channelAdminLogEventActionParticipantVolume" > channelAdminLogEventActionParticipantVolume< / a > - channelAdminLogEvent.user_id has set the volume of participant.peer to participant.volume< / li >
< li > Added < a href = "/constructor/channelAdminLogEventActionChangeHistoryTTL" > channelAdminLogEventActionChangeHistoryTTL< / a > - The Time-To-Live of messages in this chat was changed< / li >
< li > Added < a href = "/constructor/messages.checkedHistoryImportPeer" > messages.checkedHistoryImportPeer< / a > - Contains a confirmation text to be shown to the user, upon < a href = "/api/import" > importing chat history, click here for more info »< / a > .< / li >
< / ul >
< h5 > < a class = "anchor" name = "changed-constructors" href = "#changed-constructors" > < i class = "anchor-icon" > < / i > < / a > Changed Constructors< / h5 >
< ul >
< li > Added < strong > ttl_period< / strong > parameter in < a href = "/constructor/chatFull" > chatFull< / a > < / li >
< li > Added < strong > ttl_period< / strong > parameter in < a href = "/constructor/message" > message< / a > < / li >
< li > Added < strong > ttl_period< / strong > parameter in < a href = "/constructor/messageService" > messageService< / a > < / li >
< li > Removed < strong > text< / strong > parameter in < a href = "/constructor/inputReportReasonOther" > inputReportReasonOther< / a > < / li >
< li > Added < strong > ttl_period< / strong > parameter in < a href = "/constructor/userFull" > userFull< / a > < / li >
< li > Added < strong > ttl_period< / strong > parameter in < a href = "/constructor/updateShortMessage" > updateShortMessage< / a > < / li >
< li > Added < strong > ttl_period< / strong > parameter in < a href = "/constructor/updateShortChatMessage" > updateShortChatMessage< / a > < / li >
< li > Added < strong > ttl_period< / strong > parameter in < a href = "/constructor/updateShortSentMessage" > updateShortSentMessage< / a > < / li >
< li > Added < strong > ttl_period< / strong > , < strong > pending_suggestions< / strong > parameters in < a href = "/constructor/channelFull" > channelFull< / a > < / li >
< / ul >
< h4 > < a class = "anchor" name = "schema" href = "#schema" > < i class = "anchor-icon" > < / i > < / a > Schema< / h4 >
< div > < pre > < code > < a href = "/constructor/chatFull" > chatFull< / a > #f06c4018 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/int" > int< / 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 > = < a href = "/type/ChatFull" > ChatFull< / a > ;\
< a href = "/constructor/message" > message< / a > #bce383d2 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 > 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/int" > int< / 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 > ;
< a href = "/constructor/messageService" > messageService< / a > #2b085862 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 > legacy:flags.19?< 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 > reply_to:flags.3?< a href = "/type/MessageReplyHeader" > MessageReplyHeader< / a > date:< a href = "/type/int" > int< / a > action:< a href = "/type/MessageAction" > MessageAction< / a > ttl_period:flags.25?< a href = "/type/int" > int< / a > = < a href = "/type/Message" > Message< / a > ;\
< a href = "/constructor/inputReportReasonOther" > inputReportReasonOther< / a > #c1e4a2b1 = < a href = "/type/ReportReason" > ReportReason< / a > ;\
< a href = "/constructor/userFull" > userFull< / a > #139a9a77 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 > user:< a href = "/type/User" > User< / 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 > = < a href = "/type/UserFull" > UserFull< / a > ;
< a href = "/constructor/updateShortMessage" > updateShortMessage< / a > #faeff833 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 > id:< a href = "/type/int" > int< / a > user_id:< a href = "/type/int" > int< / a > message:< a href = "/type/string" > string< / a > pts:< a href = "/type/int" > int< / a > pts_count:< a href = "/type/int" > int< / a > date:< a href = "/type/int" > int< / a > fwd_from:flags.2?< a href = "/type/MessageFwdHeader" > MessageFwdHeader< / a > via_bot_id:flags.11?< a href = "/type/int" > int< / a > reply_to:flags.3?< a href = "/type/MessageReplyHeader" > MessageReplyHeader< / a > entities:flags.7?< a href = "/type/Vector%20t" > Vector< / a > < < a href = "/type/MessageEntity" > MessageEntity< / a > > ttl_period:flags.25?< a href = "/type/int" > int< / a > = < a href = "/type/Updates" > Updates< / a > ;
< a href = "/constructor/updateShortChatMessage" > updateShortChatMessage< / a > #1157b858 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 > id:< a href = "/type/int" > int< / a > from_id:< a href = "/type/int" > int< / a > chat_id:< a href = "/type/int" > int< / a > message:< a href = "/type/string" > string< / a > pts:< a href = "/type/int" > int< / a > pts_count:< a href = "/type/int" > int< / a > date:< a href = "/type/int" > int< / a > fwd_from:flags.2?< a href = "/type/MessageFwdHeader" > MessageFwdHeader< / a > via_bot_id:flags.11?< a href = "/type/int" > int< / a > reply_to:flags.3?< a href = "/type/MessageReplyHeader" > MessageReplyHeader< / a > entities:flags.7?< a href = "/type/Vector%20t" > Vector< / a > < < a href = "/type/MessageEntity" > MessageEntity< / a > > ttl_period:flags.25?< a href = "/type/int" > int< / a > = < a href = "/type/Updates" > Updates< / a > ;
< a href = "/constructor/updateShortSentMessage" > updateShortSentMessage< / a > #9015e101 flags:< a href = "/type/%23" > #< / a > out:flags.1?< a href = "/constructor/true" > true< / a > id:< a href = "/type/int" > int< / a > pts:< a href = "/type/int" > int< / a > pts_count:< a href = "/type/int" > int< / a > date:< a href = "/type/int" > int< / a > media:flags.9?< a href = "/type/MessageMedia" > MessageMedia< / a > entities:flags.7?< a href = "/type/Vector%20t" > Vector< / a > < < a href = "/type/MessageEntity" > MessageEntity< / a > > ttl_period:flags.25?< a href = "/type/int" > int< / a > = < a href = "/type/Updates" > Updates< / a > ;\
< a href = "/constructor/channelFull" > channelFull< / a > #2548c037 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/int" > int< / 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/int" > int< / 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/int" > int< / 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 > > = < a href = "/type/ChatFull" > ChatFull< / a > ;\
< a href = "/constructor/messageActionSetMessagesTTL" > messageActionSetMessagesTTL< / a > #aa1afbfd period:< a href = "/type/int" > int< / a > = < a href = "/type/MessageAction" > MessageAction< / a > ;\
< a href = "/constructor/updatePeerHistoryTTL" > updatePeerHistoryTTL< / a > #bb9bb9a5 flags:< a href = "/type/%23" > #< / a > peer:< a href = "/type/Peer" > Peer< / a > ttl_period:flags.0?< a href = "/type/int" > int< / a > = < a href = "/type/Update" > Update< / a > ;
< a href = "/constructor/updateChatParticipant" > updateChatParticipant< / a > #f3b3781f flags:< a href = "/type/%23" > #< / a > chat_id:< a href = "/type/int" > int< / a > date:< a href = "/type/int" > int< / a > actor_id:< a href = "/type/int" > int< / a > user_id:< a href = "/type/int" > int< / a > prev_participant:flags.0?< a href = "/type/ChatParticipant" > ChatParticipant< / a > new_participant:flags.1?< a href = "/type/ChatParticipant" > ChatParticipant< / a > invite:flags.2?< a href = "/type/ExportedChatInvite" > ExportedChatInvite< / a > qts:< a href = "/type/int" > int< / a > = < a href = "/type/Update" > Update< / a > ;
< a href = "/constructor/updateChannelParticipant" > updateChannelParticipant< / a > #7fecb1ec flags:< a href = "/type/%23" > #< / a > channel_id:< a href = "/type/int" > int< / a > date:< a href = "/type/int" > int< / a > actor_id:< a href = "/type/int" > int< / a > user_id:< a href = "/type/int" > int< / a > prev_participant:flags.0?< a href = "/type/ChannelParticipant" > ChannelParticipant< / a > new_participant:flags.1?< a href = "/type/ChannelParticipant" > ChannelParticipant< / a > invite:flags.2?< a href = "/type/ExportedChatInvite" > ExportedChatInvite< / a > qts:< a href = "/type/int" > int< / a > = < a href = "/type/Update" > Update< / a > ;
< a href = "/constructor/updateBotStopped" > updateBotStopped< / a > #07f9488a user_id:< a href = "/type/int" > int< / a > date:< a href = "/type/int" > int< / a > stopped:< a href = "/type/Bool" > Bool< / a > qts:< a href = "/type/int" > int< / a > = < a href = "/type/Update" > Update< / a > ;\
< a href = "/constructor/chatInviteImporter" > chatInviteImporter< / a > #1e3e6680 user_id:< a href = "/type/int" > int< / a > date:< a href = "/type/int" > int< / a > = < a href = "/type/ChatInviteImporter" > ChatInviteImporter< / a > ;\
< a href = "/constructor/messages.exportedChatInvites" > messages.exportedChatInvites< / a > #bdc62dcc count:< a href = "/type/int" > int< / a > invites:< a href = "/type/Vector%20t" > Vector< / a > < < a href = "/type/ExportedChatInvite" > ExportedChatInvite< / a > > users:< a href = "/type/Vector%20t" > Vector< / a > < < a href = "/type/User" > User< / a > > = < a href = "/type/messages.ExportedChatInvites" > messages.ExportedChatInvites< / a > ;
< a href = "/constructor/messages.exportedChatInvite" > messages.exportedChatInvite< / a > #1871be50 invite:< a href = "/type/ExportedChatInvite" > ExportedChatInvite< / a > users:< a href = "/type/Vector%20t" > Vector< / a > < < a href = "/type/User" > User< / a > > = < a href = "/type/messages.ExportedChatInvite" > messages.ExportedChatInvite< / a > ;
< a href = "/constructor/messages.exportedChatInviteReplaced" > messages.exportedChatInviteReplaced< / a > #222600ef invite:< a href = "/type/ExportedChatInvite" > ExportedChatInvite< / a > new_invite:< a href = "/type/ExportedChatInvite" > ExportedChatInvite< / a > users:< a href = "/type/Vector%20t" > Vector< / a > < < a href = "/type/User" > User< / a > > = < a href = "/type/messages.ExportedChatInvite" > messages.ExportedChatInvite< / a > ;
< a href = "/constructor/messages.chatInviteImporters" > messages.chatInviteImporters< / a > #81b6b00a count:< a href = "/type/int" > int< / a > importers:< a href = "/type/Vector%20t" > Vector< / a > < < a href = "/type/ChatInviteImporter" > ChatInviteImporter< / a > > users:< a href = "/type/Vector%20t" > Vector< / a > < < a href = "/type/User" > User< / a > > = < a href = "/type/messages.ChatInviteImporters" > messages.ChatInviteImporters< / a > ;\
< a href = "/constructor/chatAdminWithInvites" > chatAdminWithInvites< / a > #dfd2330f admin_id:< a href = "/type/int" > int< / a > invites_count:< a href = "/type/int" > int< / a > revoked_invites_count:< a href = "/type/int" > int< / a > = < a href = "/type/ChatAdminWithInvites" > ChatAdminWithInvites< / a > ;\
< a href = "/constructor/messages.chatAdminsWithInvites" > messages.chatAdminsWithInvites< / a > #b69b72d7 admins:< a href = "/type/Vector%20t" > Vector< / a > < < a href = "/type/ChatAdminWithInvites" > ChatAdminWithInvites< / a > > users:< a href = "/type/Vector%20t" > Vector< / a > < < a href = "/type/User" > User< / a > > = < a href = "/type/messages.ChatAdminsWithInvites" > messages.ChatAdminsWithInvites< / a > ;\
< a href = "/constructor/channelAdminLogEventActionParticipantJoinByInvite" > channelAdminLogEventActionParticipantJoinByInvite< / a > #5cdada77 invite:< a href = "/type/ExportedChatInvite" > ExportedChatInvite< / a > = < a href = "/type/ChannelAdminLogEventAction" > ChannelAdminLogEventAction< / a > ;
< a href = "/constructor/channelAdminLogEventActionExportedInviteDelete" > channelAdminLogEventActionExportedInviteDelete< / a > #5a50fca4 invite:< a href = "/type/ExportedChatInvite" > ExportedChatInvite< / a > = < a href = "/type/ChannelAdminLogEventAction" > ChannelAdminLogEventAction< / a > ;
< a href = "/constructor/channelAdminLogEventActionExportedInviteRevoke" > channelAdminLogEventActionExportedInviteRevoke< / a > #410a134e invite:< a href = "/type/ExportedChatInvite" > ExportedChatInvite< / a > = < a href = "/type/ChannelAdminLogEventAction" > ChannelAdminLogEventAction< / a > ;
< a href = "/constructor/channelAdminLogEventActionExportedInviteEdit" > channelAdminLogEventActionExportedInviteEdit< / a > #e90ebb59 prev_invite:< a href = "/type/ExportedChatInvite" > ExportedChatInvite< / a > new_invite:< a href = "/type/ExportedChatInvite" > ExportedChatInvite< / a > = < a href = "/type/ChannelAdminLogEventAction" > ChannelAdminLogEventAction< / a > ;
< a href = "/constructor/channelAdminLogEventActionParticipantVolume" > channelAdminLogEventActionParticipantVolume< / a > #3e7f6847 participant:< a href = "/type/GroupCallParticipant" > GroupCallParticipant< / a > = < a href = "/type/ChannelAdminLogEventAction" > ChannelAdminLogEventAction< / a > ;
< a href = "/constructor/channelAdminLogEventActionChangeHistoryTTL" > channelAdminLogEventActionChangeHistoryTTL< / a > #6e941a38 prev_value:< a href = "/type/int" > int< / a > new_value:< a href = "/type/int" > int< / a > = < a href = "/type/ChannelAdminLogEventAction" > ChannelAdminLogEventAction< / a > ;\
< a href = "/constructor/messages.checkedHistoryImportPeer" > messages.checkedHistoryImportPeer< / a > #a24de717 confirm_text:< a href = "/type/string" > string< / a > = < a href = "/type/messages.CheckedHistoryImportPeer" > messages.CheckedHistoryImportPeer< / a > ;\
---functions---\
< a href = "/method/account.reportPeer" > account.reportPeer< / a > #c5ba3d86 peer:< a href = "/type/InputPeer" > InputPeer< / a > reason:< a href = "/type/ReportReason" > ReportReason< / a > message:< a href = "/type/string" > string< / a > = < a href = "/type/Bool" > Bool< / a > ;\
< a href = "/method/messages.report" > messages.report< / a > #8953ab4e peer:< a href = "/type/InputPeer" > InputPeer< / a > id:< a href = "/type/Vector%20t" > Vector< / a > < < a href = "/type/int" > int< / a > > reason:< a href = "/type/ReportReason" > ReportReason< / a > message:< a href = "/type/string" > string< / a > = < a href = "/type/Bool" > Bool< / a > ;
< a href = "/method/messages.exportChatInvite" > messages.exportChatInvite< / a > #14b9bcd7 flags:< a href = "/type/%23" > #< / a > legacy_revoke_permanent:flags.2?< 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 > = < a href = "/type/ExportedChatInvite" > ExportedChatInvite< / a > ;\
< a href = "/method/help.dismissSuggestion" > help.dismissSuggestion< / a > #f50dbaa1 peer:< a href = "/type/InputPeer" > InputPeer< / a > suggestion:< a href = "/type/string" > string< / a > = < a href = "/type/Bool" > Bool< / a > ;\
< a href = "/method/messages.getExportedChatInvites" > messages.getExportedChatInvites< / a > #a2b5a3f6 flags:< a href = "/type/%23" > #< / a > revoked:flags.3?< a href = "/constructor/true" > true< / a > peer:< a href = "/type/InputPeer" > InputPeer< / a > admin_id:< a href = "/type/InputUser" > InputUser< / a > offset_date:flags.2?< a href = "/type/int" > int< / a > offset_link:flags.2?< a href = "/type/string" > string< / a > limit:< a href = "/type/int" > int< / a > = < a href = "/type/messages.ExportedChatInvites" > messages.ExportedChatInvites< / a > ;
< a href = "/method/messages.getExportedChatInvite" > messages.getExportedChatInvite< / a > #73746f5c peer:< a href = "/type/InputPeer" > InputPeer< / a > link:< a href = "/type/string" > string< / a > = < a href = "/type/messages.ExportedChatInvite" > messages.ExportedChatInvite< / a > ;
< a href = "/method/messages.editExportedChatInvite" > messages.editExportedChatInvite< / a > #02e4ffbe 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 > = < a href = "/type/messages.ExportedChatInvite" > messages.ExportedChatInvite< / a > ;
< a href = "/method/messages.deleteRevokedExportedChatInvites" > messages.deleteRevokedExportedChatInvites< / a > #56987bd5 peer:< a href = "/type/InputPeer" > InputPeer< / a > admin_id:< a href = "/type/InputUser" > InputUser< / a > = < a href = "/type/Bool" > Bool< / a > ;
< a href = "/method/messages.deleteExportedChatInvite" > messages.deleteExportedChatInvite< / a > #d464a42b peer:< a href = "/type/InputPeer" > InputPeer< / a > link:< a href = "/type/string" > string< / a > = < a href = "/type/Bool" > Bool< / a > ;
< a href = "/method/messages.getAdminsWithInvites" > messages.getAdminsWithInvites< / a > #3920e6ef peer:< a href = "/type/InputPeer" > InputPeer< / a > = < a href = "/type/messages.ChatAdminsWithInvites" > messages.ChatAdminsWithInvites< / a > ;
< a href = "/method/messages.getChatInviteImporters" > messages.getChatInviteImporters< / a > #26fb7289 peer:< a href = "/type/InputPeer" > InputPeer< / a > link:< 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 > ;
< a href = "/method/messages.setHistoryTTL" > messages.setHistoryTTL< / a > #b80e5fe4 peer:< a href = "/type/InputPeer" > InputPeer< / a > period:< a href = "/type/int" > int< / a > = < a href = "/type/Updates" > Updates< / a > ;\
< a href = "/method/account.reportProfilePhoto" > account.reportProfilePhoto< / a > #fa8cc6f5 peer:< a href = "/type/InputPeer" > InputPeer< / a > photo_id:< a href = "/type/InputPhoto" > InputPhoto< / a > reason:< a href = "/type/ReportReason" > ReportReason< / a > message:< a href = "/type/string" > string< / a > = < a href = "/type/Bool" > Bool< / a > ;\
< a href = "/method/channels.convertToGigagroup" > channels.convertToGigagroup< / a > #0b290c69 channel:< a href = "/type/InputChannel" > InputChannel< / a > = < a href = "/type/Updates" > Updates< / a > ;\
< a href = "/method/messages.checkHistoryImportPeer" > messages.checkHistoryImportPeer< / a > #5dc60f03 peer:< a href = "/type/InputPeer" > InputPeer< / a > = < a href = "/type/messages.CheckedHistoryImportPeer" > messages.CheckedHistoryImportPeer< / a > ;\
< / code > < / pre > < / div >
< h3 > < a class = "anchor" name = "layer-123" href = "#layer-123" > < i class = "anchor-icon" > < / i > < / a > < a href = "/schema?layer=123" > Layer 123< / a > < / h3 >
< p > < a href = "/api/import" > Import messages from foreign chat apps< / a > , delete history for both users upon deletion of a secret chat, delete phone call history, group call improvements.< / p >
< h4 > < a class = "anchor" name = "schema-changes" href = "#schema-changes" > < i class = "anchor-icon" > < / i > < / a > Schema changes< / h4 >
< h5 > < a class = "anchor" name = "new-methods" href = "#new-methods" > < i class = "anchor-icon" > < / i > < / a > New Methods< / h5 >
< ul >
< li > Added < a href = "/method/messages.deleteChat" > messages.deleteChat< / a > - Delete a < a href = "/api/channel" > chat< / a > < / li >
< li > Added < a href = "/method/messages.deletePhoneCallHistory" > messages.deletePhoneCallHistory< / a > - Delete the entire phone call history.< / li >
< li > Added < a href = "/method/messages.checkHistoryImport" > messages.checkHistoryImport< / a > - Obtains information about a chat export file, generated by a foreign chat app, < a href = "/api/import" > click here for more info about imported chats »< / a > .< / li >
< li > Added < a href = "/method/messages.initHistoryImport" > messages.initHistoryImport< / a > - Import chat history from a foreign chat app into a specific Telegram chat, < a href = "/api/import" > click here for more info about imported chats »< / a > .< / li >
< li > Added < a href = "/method/messages.uploadImportedMedia" > messages.uploadImportedMedia< / a > - Upload a media file associated with an < a href = "/api/import" > imported chat, click here for more info »< / a > .< / li >
< li > Added < a href = "/method/messages.startHistoryImport" > messages.startHistoryImport< / a > - Complete the < a href = "/api/import" > history import process< / a > , importing all messages into the chat. < / li >
< / ul >
< h5 > < a class = "anchor" name = "changed-methods" href = "#changed-methods" > < i class = "anchor-icon" > < / i > < / a > Changed Methods< / h5 >
< ul >
< li > Added < strong > flags< / strong > , < strong > revoke_history< / strong > parameters in < a href = "/method/messages.deleteChatUser" > messages.deleteChatUser< / a > < / li >
< li > Added < strong > flags< / strong > , < strong > delete_history< / strong > parameters in < a href = "/method/messages.discardEncryption" > messages.discardEncryption< / a > < / li >
< li > Added < strong > volume< / strong > parameter in < a href = "/method/phone.editGroupCallMember" > phone.editGroupCallMember< / a > < / li >
< / ul >
< h5 > < a class = "anchor" name = "new-constructors" href = "#new-constructors" > < i class = "anchor-icon" > < / i > < / a > New Constructors< / h5 >
< ul >
< li > Added < a href = "/constructor/inputPaymentCredentialsGooglePay" > inputPaymentCredentialsGooglePay< / a > - Google Pay payment credentials< / li >
< li > Added < a href = "/constructor/messages.historyImport" > messages.historyImport< / a > - ID of a specific < a href = "/api/import" > chat import session, click here for more info »< / a > .< / li >
< li > Added < a href = "/constructor/sendMessageHistoryImportAction" > sendMessageHistoryImportAction< / a > - Chat history is being imported< / li >
< li > Added < a href = "/constructor/messages.historyImportParsed" > messages.historyImportParsed< / a > - Contains information about a chat export file < a href = "/api/import" > generated by a foreign chat app, click here for more info< / a > . < / li >
< li > Added < a href = "/constructor/inputReportReasonFake" > inputReportReasonFake< / a > - Report for impersonation< / li >
< li > Added < a href = "/constructor/messages.affectedFoundMessages" > messages.affectedFoundMessages< / a > - Messages found and affected by changes< / li >
< / ul >
< h5 > < a class = "anchor" name = "changed-constructors" href = "#changed-constructors" > < i class = "anchor-icon" > < / i > < / a > Changed Constructors< / h5 >
< ul >
< li > Changed type of < strong > exported_invite< / strong > from < strong > ExportedChatInvite< / strong > to < strong > flags.13?ExportedChatInvite< / strong > in < a href = "/constructor/chatFull" > chatFull< / a > < / li >
< li > Added < strong > flags< / strong > , < strong > peer_id< / strong > parameters in < a href = "/constructor/messageEmpty" > messageEmpty< / a > < / li >
< li > Added < strong > flags< / strong > , < strong > history_deleted< / strong > parameters in < a href = "/constructor/encryptedChatDiscarded" > encryptedChatDiscarded< / a > < / li >
< li > Added < strong > flags< / strong > , < strong > revoked< / strong > , < strong > permanent< / strong > , < strong > admin_id< / strong > , < strong > date< / strong > , < strong > start_date< / strong > , < strong > expire_date< / strong > , < strong > usage_limit< / strong > , < strong > usage< / strong > parameters in < a href = "/constructor/chatInviteExported" > chatInviteExported< / a > < / li >
< li > Added < strong > fake< / strong > parameter in < a href = "/constructor/user" > user< / a > < / li >
< li > Added < strong > fake< / strong > , < strong > gigagroup< / strong > parameters in < a href = "/constructor/channel" > channel< / a > < / li >
< li > Changed type of < strong > exported_invite< / strong > from < strong > ExportedChatInvite< / strong > to < strong > flags.23?ExportedChatInvite< / strong > in < a href = "/constructor/channelFull" > channelFull< / a > < / li >
< li > Added < strong > min< / strong > , < strong > muted_by_you< / strong > , < strong > volume_by_admin< / strong > , < strong > volume< / strong > parameters in < a href = "/constructor/groupCallParticipant" > groupCallParticipant< / a > < / li >
< / ul >
< h5 > < a class = "anchor" name = "deleted-constructors" href = "#deleted-constructors" > < i class = "anchor-icon" > < / i > < / a > Deleted Constructors< / h5 >
< ul >
< li > Removed chatInviteEmpty< / li >
< li > Removed inputPaymentCredentialsAndroidPay< / li >
< / ul >
< h4 > < a class = "anchor" name = "schema" href = "#schema" > < i class = "anchor-icon" > < / i > < / a > Schema< / h4 >
< div > < pre > < code > < a href = "/constructor/chatFull" > chatFull< / a > #f3474af6 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/int" > int< / 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 > = < a href = "/type/ChatFull" > ChatFull< / a > ;\
< a href = "/constructor/messageEmpty" > messageEmpty< / a > #90a6ca84 flags:< a href = "/type/%23" > #< / a > id:< a href = "/type/int" > int< / a > peer_id:flags.0?< a href = "/type/Peer" > Peer< / a > = < a href = "/type/Message" > Message< / a > ;\
< a href = "/constructor/encryptedChatDiscarded" > encryptedChatDiscarded< / a > #1e1c7c45 flags:< a href = "/type/%23" > #< / a > history_deleted:flags.0?< a href = "/constructor/true" > true< / a > id:< a href = "/type/int" > int< / a > = < a href = "/type/EncryptedChat" > EncryptedChat< / a > ;\
< a href = "/constructor/chatInviteExported" > chatInviteExported< / a > #6e24fc9d flags:< a href = "/type/%23" > #< / a > revoked:flags.0?< a href = "/constructor/true" > true< / a > permanent:flags.5?< a href = "/constructor/true" > true< / a > link:< a href = "/type/string" > string< / a > admin_id:< a href = "/type/int" > int< / 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 > = < a href = "/type/ExportedChatInvite" > ExportedChatInvite< / a > ;\
< a href = "/constructor/user" > user< / a > #938458c1 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 > id:< a href = "/type/int" > int< / 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 > ;\
< a href = "/constructor/channel" > channel< / a > #d31a961e 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 > id:< a href = "/type/int" > int< / 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 > version:< 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 > #7a7de4f7 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/int" > int< / 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/int" > int< / 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/int" > int< / 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 > = < a href = "/type/ChatFull" > ChatFull< / a > ;\
< a href = "/constructor/groupCallParticipant" > groupCallParticipant< / a > #64c62a15 flags:< a href = "/type/%23" > #< / a > muted:flags.0?< a href = "/constructor/true" > true< / a > left:flags.1?< a href = "/constructor/true" > true< / a > can_self_unmute:flags.2?< a href = "/constructor/true" > true< / a > just_joined:flags.4?< a href = "/constructor/true" > true< / a > versioned:flags.5?< a href = "/constructor/true" > true< / a > min:flags.8?< a href = "/constructor/true" > true< / a > muted_by_you:flags.9?< a href = "/constructor/true" > true< / a > volume_by_admin:flags.10?< a href = "/constructor/true" > true< / a > user_id:< a href = "/type/int" > int< / a > date:< a href = "/type/int" > int< / a > active_date:flags.3?< a href = "/type/int" > int< / a > source:< a href = "/type/int" > int< / a > volume:flags.7?< a href = "/type/int" > int< / a > = < a href = "/type/GroupCallParticipant" > GroupCallParticipant< / a > ;\
< a href = "/constructor/inputPaymentCredentialsGooglePay" > inputPaymentCredentialsGooglePay< / a > #8ac32801 payment_token:< a href = "/type/DataJSON" > DataJSON< / a > = < a href = "/type/InputPaymentCredentials" > InputPaymentCredentials< / a > ;\
< a href = "/constructor/messages.historyImport" > messages.historyImport< / a > #1662af0b id:< a href = "/type/long" > long< / a > = < a href = "/type/messages.HistoryImport" > messages.HistoryImport< / a > ;\
< a href = "/constructor/sendMessageHistoryImportAction" > sendMessageHistoryImportAction< / a > #dbda9246 progress:< a href = "/type/int" > int< / a > = < a href = "/type/SendMessageAction" > SendMessageAction< / a > ;\
< a href = "/constructor/messages.historyImportParsed" > messages.historyImportParsed< / a > #5e0fb7b9 flags:< a href = "/type/%23" > #< / a > pm:flags.0?< a href = "/constructor/true" > true< / a > group:flags.1?< a href = "/constructor/true" > true< / a > title:flags.2?< a href = "/type/string" > string< / a > = < a href = "/type/messages.HistoryImportParsed" > messages.HistoryImportParsed< / a > ;\
< a href = "/constructor/inputReportReasonFake" > inputReportReasonFake< / a > #f5ddd6e7 = < a href = "/type/ReportReason" > ReportReason< / a > ;\
< a href = "/constructor/messages.affectedFoundMessages" > messages.affectedFoundMessages< / a > #ef8d3e6c pts:< a href = "/type/int" > int< / a > pts_count:< a href = "/type/int" > int< / a > offset:< a href = "/type/int" > int< / a > messages:< a href = "/type/Vector%20t" > Vector< / a > < < a href = "/type/int" > int< / a > > = < a href = "/type/messages.AffectedFoundMessages" > messages.AffectedFoundMessages< / a > ;\
---functions---\
< a href = "/method/messages.deleteChatUser" > messages.deleteChatUser< / a > #c534459a flags:< a href = "/type/%23" > #< / a > revoke_history:flags.0?< a href = "/constructor/true" > true< / a > chat_id:< a href = "/type/int" > int< / a > user_id:< a href = "/type/InputUser" > InputUser< / a > = < a href = "/type/Updates" > Updates< / a > ;
< a href = "/method/messages.discardEncryption" > messages.discardEncryption< / a > #f393aea0 flags:< a href = "/type/%23" > #< / a > delete_history:flags.0?< a href = "/constructor/true" > true< / a > chat_id:< a href = "/type/int" > int< / a > = < a href = "/type/Bool" > Bool< / a > ;\
< a href = "/method/phone.editGroupCallMember" > phone.editGroupCallMember< / a > #a5e76cd8 flags:< a href = "/type/%23" > #< / a > muted:flags.0?< a href = "/constructor/true" > true< / a > call:< a href = "/type/InputGroupCall" > InputGroupCall< / a > user_id:< a href = "/type/InputUser" > InputUser< / a > volume:flags.1?< a href = "/type/int" > int< / a > = < a href = "/type/Updates" > Updates< / a > ;\
< a href = "/method/messages.deleteChat" > messages.deleteChat< / a > #83247d11 chat_id:< a href = "/type/int" > int< / a > = < a href = "/type/Bool" > Bool< / a > ;
< a href = "/method/messages.deletePhoneCallHistory" > messages.deletePhoneCallHistory< / a > #f9cbe409 flags:< a href = "/type/%23" > #< / a > revoke:flags.0?< a href = "/constructor/true" > true< / a > = < a href = "/type/messages.AffectedFoundMessages" > messages.AffectedFoundMessages< / a > ;
< a href = "/method/messages.checkHistoryImport" > messages.checkHistoryImport< / a > #43fe19f3 import_head:< a href = "/type/string" > string< / a > = < a href = "/type/messages.HistoryImportParsed" > messages.HistoryImportParsed< / a > ;
< a href = "/method/messages.initHistoryImport" > messages.initHistoryImport< / a > #34090c3b peer:< a href = "/type/InputPeer" > InputPeer< / a > file:< a href = "/type/InputFile" > InputFile< / a > media_count:< a href = "/type/int" > int< / a > = < a href = "/type/messages.HistoryImport" > messages.HistoryImport< / a > ;
< a href = "/method/messages.uploadImportedMedia" > messages.uploadImportedMedia< / a > #2a862092 peer:< a href = "/type/InputPeer" > InputPeer< / a > import_id:< a href = "/type/long" > long< / a > file_name:< a href = "/type/string" > string< / a > media:< a href = "/type/InputMedia" > InputMedia< / a > = < a href = "/type/MessageMedia" > MessageMedia< / a > ;
< a href = "/method/messages.startHistoryImport" > messages.startHistoryImport< / a > #b43df344 peer:< a href = "/type/InputPeer" > InputPeer< / a > import_id:< a href = "/type/long" > long< / a > = < a href = "/type/Bool" > Bool< / a > ;\
< / code > < / pre > < / div >
< h3 > < a class = "anchor" name = "layer-122" href = "#layer-122" > < i class = "anchor-icon" > < / i > < / a > < a href = "/schema?layer=122" > Layer 122< / a > < / h3 >
< p > Group calls.< / p >
< h4 > < a class = "anchor" name = "schema-changes" href = "#schema-changes" > < i class = "anchor-icon" > < / i > < / a > Schema changes< / h4 >
< h5 > < a class = "anchor" name = "new-methods" href = "#new-methods" > < i class = "anchor-icon" > < / i > < / a > New Methods< / h5 >
< ul >
< li > Added < a href = "/method/phone.createGroupCall" > phone.createGroupCall< / a > - Create a group call or livestream< / li >
< li > Added < a href = "/method/phone.joinGroupCall" > phone.joinGroupCall< / a > - Join a group call< / li >
< li > Added < a href = "/method/phone.leaveGroupCall" > phone.leaveGroupCall< / a > - Leave a group call< / li >
< li > Added < a href = "/method/phone.editGroupCallMember" > phone.editGroupCallMember< / a > < / li >
< li > Added < a href = "/method/phone.inviteToGroupCall" > phone.inviteToGroupCall< / a > - Invite a set of users to a group call.< / li >
< li > Added < a href = "/method/phone.discardGroupCall" > phone.discardGroupCall< / a > - Terminate a group call< / li >
< li > Added < a href = "/method/phone.toggleGroupCallSettings" > phone.toggleGroupCallSettings< / a > - Change group call settings< / li >
< li > Added < a href = "/method/phone.getGroupCall" > phone.getGroupCall< / a > - Get info about a group call< / li >
< li > Added < a href = "/method/phone.getGroupParticipants" > phone.getGroupParticipants< / a > - Get group call participants< / li >
< li > Added < a href = "/method/phone.checkGroupCall" > phone.checkGroupCall< / a > - Check whether the group call Server Forwarding Unit is currently receiving the streams with the specified WebRTC source IDs< / li >
< / ul >
< h5 > < a class = "anchor" name = "changed-methods" href = "#changed-methods" > < i class = "anchor-icon" > < / i > < / a > Changed Methods< / h5 >
< ul >
< li > Added < strong > drop_author< / strong > , < strong > drop_media_captions< / strong > parameters in < a href = "/method/messages.forwardMessages" > messages.forwardMessages< / a > < / li >
< li > Added < strong > for_import< / strong > parameter in < a href = "/method/channels.createChannel" > channels.createChannel< / a > < / li >
< / ul >
< h5 > < a class = "anchor" name = "new-constructors" href = "#new-constructors" > < i class = "anchor-icon" > < / i > < / a > New Constructors< / h5 >
< ul >
< li > Added < a href = "/constructor/speakingInGroupCallAction" > speakingInGroupCallAction< / a > - User is currently speaking in the group call< / li >
< li > Added < a href = "/constructor/groupCallDiscarded" > groupCallDiscarded< / a > - An ended group call< / li >
< li > Added < a href = "/constructor/groupCall" > groupCall< / a > - Info about a group call or livestream< / li >
< li > Added < a href = "/constructor/inputGroupCall" > inputGroupCall< / a > - Points to a specific group call< / li >
< li > Added < a href = "/constructor/messageActionGroupCall" > messageActionGroupCall< / a > - The group call has ended< / li >
< li > Added < a href = "/constructor/messageActionInviteToGroupCall" > messageActionInviteToGroupCall< / a > - A set of users was invited to the group call< / li >
< li > Added < a href = "/constructor/groupCallParticipant" > groupCallParticipant< / a > - Info about a group call participant< / li >
< li > Added < a href = "/constructor/updateChat" > updateChat< / a > - A new chat is available< / li >
< li > Added < a href = "/constructor/updateGroupCallParticipants" > updateGroupCallParticipants< / a > - The participant list of a certain group call has changed< / li >
< li > Added < a href = "/constructor/updateGroupCall" > updateGroupCall< / a > - A new groupcall was started< / li >
< li > Added < a href = "/constructor/phone.groupCall" > phone.groupCall< / a > - Contains info about a group call, and partial info about its participants.< / li >
< li > Added < a href = "/constructor/phone.groupParticipants" > phone.groupParticipants< / a > - Info about the participants of a group call or livestream< / li >
< li > Added < a href = "/constructor/inlineQueryPeerTypeSameBotPM" > inlineQueryPeerTypeSameBotPM< / a > - The inline query was sent in a private chat with the bot itself< / li >
< li > Added < a href = "/constructor/inlineQueryPeerTypePM" > inlineQueryPeerTypePM< / a > - The inline query was sent in a private chat< / li >
< li > Added < a href = "/constructor/inlineQueryPeerTypeChat" > inlineQueryPeerTypeChat< / a > - The inline query was sent in a < a href = "/api/channel" > chat< / a > < / li >
< li > Added < a href = "/constructor/inlineQueryPeerTypeMegagroup" > inlineQueryPeerTypeMegagroup< / a > - The inline query was sent in a < a href = "/api/channel" > supergroup< / a > < / li >
< li > Added < a href = "/constructor/inlineQueryPeerTypeBroadcast" > inlineQueryPeerTypeBroadcast< / a > - The inline query was sent in a < a href = "/api/channel" > channel< / a > < / li >
< li > Added < a href = "/constructor/channelAdminLogEventActionStartGroupCall" > channelAdminLogEventActionStartGroupCall< / a > - A group call was started< / li >
< li > Added < a href = "/constructor/channelAdminLogEventActionDiscardGroupCall" > channelAdminLogEventActionDiscardGroupCall< / a > - A group call was terminated< / li >
< li > Added < a href = "/constructor/channelAdminLogEventActionParticipantMute" > channelAdminLogEventActionParticipantMute< / a > - A group call participant was muted< / li >
< li > Added < a href = "/constructor/channelAdminLogEventActionParticipantUnmute" > channelAdminLogEventActionParticipantUnmute< / a > - A group call participant was unmuted< / li >
< li > Added < a href = "/constructor/channelAdminLogEventActionToggleGroupCallSetting" > channelAdminLogEventActionToggleGroupCallSetting< / a > - Group call settings were changed< / li >
< / ul >
< h5 > < a class = "anchor" name = "changed-constructors" href = "#changed-constructors" > < i class = "anchor-icon" > < / i > < / a > Changed Constructors< / h5 >
< ul >
< li > Added < strong > call_active< / strong > , < strong > call_not_empty< / strong > parameters in < a href = "/constructor/chat" > chat< / a > < / li >
< li > Added < strong > call< / strong > parameter in < a href = "/constructor/chatFull" > chatFull< / a > < / li >
< li > Added < strong > invite_members< / strong > parameter in < a href = "/constructor/peerSettings" > peerSettings< / a > < / li >
< li > Added < strong > query< / strong > parameter in < a href = "/constructor/inputMediaDocument" > inputMediaDocument< / a > < / li >
< li > Added < strong > thumbs< / strong > parameter, removed < strong > thumb< / strong > parameter in < a href = "/constructor/stickerSet" > stickerSet< / a > < / li >
< li > Added < strong > call_active< / strong > , < strong > call_not_empty< / strong > parameters in < a href = "/constructor/channel" > channel< / a > < / li >
< li > Added < strong > call< / strong > parameter in < a href = "/constructor/channelFull" > channelFull< / a > < / li >
< li > Added < strong > peer_type< / strong > parameter in < a href = "/constructor/updateBotInlineQuery" > updateBotInlineQuery< / a > < / li >
< li > Added < strong > imported< / strong > parameter in < a href = "/constructor/messageFwdHeader" > messageFwdHeader< / a > < / li >
< li > Added < strong > group_call< / strong > , < strong > invites< / strong > parameters in < a href = "/constructor/channelAdminLogEventsFilter" > channelAdminLogEventsFilter< / a > < / li >
< li > Added < strong > manage_call< / strong > , < strong > other< / strong > parameters in < a href = "/constructor/chatAdminRights" > chatAdminRights< / a > < / li >
< / ul >
< h5 > < a class = "anchor" name = "deleted-constructors" href = "#deleted-constructors" > < i class = "anchor-icon" > < / i > < / a > Deleted Constructors< / h5 >
< ul >
< li > Removed updateChannelParticipant< / li >
< / ul >
< h4 > < a class = "anchor" name = "push-notification-changes" href = "#push-notification-changes" > < i class = "anchor-icon" > < / i > < / a > PUSH notification changes< / h4 >
< h5 > < a class = "anchor" name = "new-push-notifications" href = "#new-push-notifications" > < i class = "anchor-icon" > < / i > < / a > New PUSH notifications< / h5 >
< ul >
< li > Added < a href = "/api/push-updates#possible-notifications" > CHAT_VOICECHAT_END< / a > - < code > {1} ended a voice chat in the group {2}< / code > < / li >
< li > Added < a href = "/api/push-updates#possible-notifications" > CHAT_VOICECHAT_INVITE< / a > - < code > {1} invited {3} to a voice chat in the group {2}< / code > < / li >
< li > Added < a href = "/api/push-updates#possible-notifications" > CHAT_VOICECHAT_INVITE_YOU< / a > - < code > {1} invited you to a voice chat in the group {2}< / code > < / li >
< li > Added < a href = "/api/push-updates#possible-notifications" > CHAT_VOICECHAT_START< / a > - < code > {1} started a voice chat in the group {2}< / code > < / li >
< / ul >
< h5 > < a class = "anchor" name = "changed-push-notifications" href = "#changed-push-notifications" > < i class = "anchor-icon" > < / i > < / a > Changed PUSH notifications< / h5 >
< ul >
< li > Changed template from < code > {1} posted a map< / code > to < code > {1} posted a location< / code > in < a href = "/api/push-updates#possible-notifications" > CHANNEL_MESSAGE_GEO< / a > < / li >
< li > Changed template from < code > {1} posted a {2}sticker< / code > to < code > {1} posted a {2} sticker< / code > in < a href = "/api/push-updates#possible-notifications" > CHANNEL_MESSAGE_STICKER< / a > < / li >
< li > Changed template from < code > {1} kicked {3} from the group {2}< / code > to < code > {1} removed {3} from the group {2}< / code > in < a href = "/api/push-updates#possible-notifications" > CHAT_DELETE_MEMBER< / a > < / li >
< li > Changed template from < code > {1} kicked you from the group {2}< / code > to < code > {1} removed you from the group {2}< / code > in < a href = "/api/push-updates#possible-notifications" > CHAT_DELETE_YOU< / a > < / li >
< li > Changed template from < code > {1} has joined the group {2}< / code > to < code > {1} joined the group {2}< / code > in < a href = "/api/push-updates#possible-notifications" > CHAT_JOINED< / a > < / li >
< li > Changed template from < code > {1} has left the group {2}< / code > to < code > {1} left the group {2}< / code > in < a href = "/api/push-updates#possible-notifications" > CHAT_LEFT< / a > < / li >
< li > Changed template from < code > {1} invited the group {2} to play {3}.< / code > to < code > {1} invited the group {2} to play {3}< / code > in < a href = "/api/push-updates#possible-notifications" > CHAT_MESSAGE_GAME< / a > < / li >
< li > Changed template from < code > {1} sent a map to the group {2}< / code > to < code > {1} sent a location to the group {2}< / code > in < a href = "/api/push-updates#possible-notifications" > CHAT_MESSAGE_GEO< / a > < / li >
< li > Changed template from < code > {1} started sharing their live location with {2}< / code > to < code > {1} shared a live location with the group {2}< / code > in < a href = "/api/push-updates#possible-notifications" > CHAT_MESSAGE_GEOLIVE< / a > < / li >
< li > Changed template from < code > {1} sent a {3}sticker to the group {2}< / code > to < code > {1} sent a {3} sticker to the group {2}< / code > in < a href = "/api/push-updates#possible-notifications" > CHAT_MESSAGE_STICKER< / a > < / li >
< li > Changed template from < code > {1}@{2}: {3}< / code > to < code > {1} @ {2}: {3}< / code > in < a href = "/api/push-updates#possible-notifications" > CHAT_MESSAGE_TEXT< / a > < / li >
< li > Changed template from < code > {1} edited the group' s {2} photo< / code > to < code > {1} changed the group photo for {2}< / code > in < a href = "/api/push-updates#possible-notifications" > CHAT_PHOTO_EDITED< / a > < / li >
< li > Changed template from < code > {1} has returned to the group {2}< / code > to < code > {1} returned to the group {2}< / code > in < a href = "/api/push-updates#possible-notifications" > CHAT_RETURNED< / a > < / li >
< li > Changed template from < code > {1} edited the group' s {2} name< / code > to < code > {1} renamed the group {2}< / code > in < a href = "/api/push-updates#possible-notifications" > CHAT_TITLE_EDITED< / a > < / li >
< li > Changed template from < code > {1} sent you a map< / code > to < code > {1} sent you a location< / code > in < a href = "/api/push-updates#possible-notifications" > MESSAGE_GEO< / a > < / li >
< li > Changed template from < code > {1} started sharing their live location< / code > to < code > {1} sent you a live location< / code > in < a href = "/api/push-updates#possible-notifications" > MESSAGE_GEOLIVE< / a > < / li >
< li > Changed template from < code > {1} sent you a {2}sticker< / code > to < code > {1} sent you a {2} sticker< / code > in < a href = "/api/push-updates#possible-notifications" > MESSAGE_STICKER< / a > < / li >
< li > Changed template from < code > {1} pinned a {2}sticker< / code > to < code > {1} pinned a {2} sticker< / code > in < a href = "/api/push-updates#possible-notifications" > PINNED_STICKER< / a > < / li >
< / ul >
< h4 > < a class = "anchor" name = "schema" href = "#schema" > < i class = "anchor-icon" > < / i > < / a > Schema< / h4 >
< div > < pre > < code > < a href = "/constructor/chat" > chat< / a > #3bda1bde 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 > id:< a href = "/type/int" > int< / 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 > ;
< a href = "/constructor/chatFull" > chatFull< / a > #0dc8c181 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/int" > int< / 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:< 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 > = < a href = "/type/ChatFull" > ChatFull< / a > ;\
< a href = "/constructor/peerSettings" > peerSettings< / a > #733f2961 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 > geo_distance:flags.6?< a href = "/type/int" > int< / a > = < a href = "/type/PeerSettings" > PeerSettings< / a > ;\
< a href = "/constructor/inputMediaDocument" > inputMediaDocument< / a > #33473058 flags:< a href = "/type/%23" > #< / a > id:< a href = "/type/InputDocument" > InputDocument< / a > ttl_seconds:flags.0?< a href = "/type/int" > int< / a > query:flags.1?< a href = "/type/string" > string< / a > = < a href = "/type/InputMedia" > InputMedia< / a > ;\
< a href = "/constructor/stickerSet" > stickerSet< / a > #40e237a8 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 > 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 > count:< a href = "/type/int" > int< / a > hash:< a href = "/type/int" > int< / a > = < a href = "/type/StickerSet" > StickerSet< / a > ;\
< a href = "/constructor/channel" > channel< / a > #d31a961e 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 > id:< a href = "/type/int" > int< / 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 > version:< 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 > #ef3a6acd 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/int" > int< / 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:< 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/int" > int< / 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/int" > int< / 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 > = < a href = "/type/ChatFull" > ChatFull< / a > ;\
< a href = "/constructor/updateBotInlineQuery" > updateBotInlineQuery< / a > #3f2038db flags:< a href = "/type/%23" > #< / a > query_id:< a href = "/type/long" > long< / a > user_id:< a href = "/type/int" > int< / a > query:< a href = "/type/string" > string< / a > geo:flags.0?< a href = "/type/GeoPoint" > GeoPoint< / a > peer_type:flags.1?< a href = "/type/InlineQueryPeerType" > InlineQueryPeerType< / a > offset:< a href = "/type/string" > string< / a > = < a href = "/type/Update" > Update< / a > ;\
< a href = "/constructor/messageFwdHeader" > messageFwdHeader< / a > #5f777dce flags:< a href = "/type/%23" > #< / a > imported:flags.7?< a href = "/constructor/true" > true< / a > from_id:flags.0?< a href = "/type/Peer" > Peer< / a > from_name:flags.5?< a href = "/type/string" > string< / a > date:< a href = "/type/int" > int< / a > channel_post:flags.2?< a href = "/type/int" > int< / a > post_author:flags.3?< a href = "/type/string" > string< / a > saved_from_peer:flags.4?< a href = "/type/Peer" > Peer< / a > saved_from_msg_id:flags.4?< a href = "/type/int" > int< / a > psa_type:flags.6?< a href = "/type/string" > string< / a > = < a href = "/type/MessageFwdHeader" > MessageFwdHeader< / 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 > = < a href = "/type/ChannelAdminLogEventsFilter" > ChannelAdminLogEventsFilter< / a > ;
< a href = "/constructor/chatAdminRights" > chatAdminRights< / a > #5fb224d5 flags:< a href = "/type/%23" > #< / a > change_info:flags.0?< a href = "/constructor/true" > true< / a > post_messages:flags.1?< a href = "/constructor/true" > true< / a > edit_messages:flags.2?< a href = "/constructor/true" > true< / a > delete_messages:flags.3?< a href = "/constructor/true" > true< / a > ban_users:flags.4?< a href = "/constructor/true" > true< / a > invite_users:flags.5?< a href = "/constructor/true" > true< / a > pin_messages:flags.7?< a href = "/constructor/true" > true< / a > add_admins:flags.9?< a href = "/constructor/true" > true< / a > anonymous:flags.10?< a href = "/constructor/true" > true< / a > manage_call:flags.11?< a href = "/constructor/true" > true< / a > other:flags.12?< a href = "/constructor/true" > true< / a > = < a href = "/type/ChatAdminRights" > ChatAdminRights< / a > ;\
< a href = "/constructor/speakingInGroupCallAction" > speakingInGroupCallAction< / a > #d92c2285 = < a href = "/type/SendMessageAction" > SendMessageAction< / a > ;\
< a href = "/constructor/groupCallDiscarded" > groupCallDiscarded< / a > #7780bcb4 id:< a href = "/type/long" > long< / a > access_hash:< a href = "/type/long" > long< / a > duration:< a href = "/type/int" > int< / a > = < a href = "/type/GroupCall" > GroupCall< / a > ;
< a href = "/constructor/groupCall" > groupCall< / a > #55903081 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 > id:< a href = "/type/long" > long< / a > access_hash:< a href = "/type/long" > long< / a > participants_count:< a href = "/type/int" > int< / a > params:flags.0?< a href = "/type/DataJSON" > DataJSON< / a > version:< a href = "/type/int" > int< / a > = < a href = "/type/GroupCall" > GroupCall< / a > ;\
< a href = "/constructor/inputGroupCall" > inputGroupCall< / a > #d8aa840f id:< a href = "/type/long" > long< / a > access_hash:< a href = "/type/long" > long< / a > = < a href = "/type/InputGroupCall" > InputGroupCall< / a > ;\
< a href = "/constructor/messageActionGroupCall" > messageActionGroupCall< / a > #7a0d7f42 flags:< a href = "/type/%23" > #< / a > call:< a href = "/type/InputGroupCall" > InputGroupCall< / a > duration:flags.0?< a href = "/type/int" > int< / a > = < a href = "/type/MessageAction" > MessageAction< / a > ;
< a href = "/constructor/messageActionInviteToGroupCall" > messageActionInviteToGroupCall< / a > #76b9f11a call:< a href = "/type/InputGroupCall" > InputGroupCall< / a > users:< a href = "/type/Vector%20t" > Vector< / a > < < a href = "/type/int" > int< / a > > = < a href = "/type/MessageAction" > MessageAction< / a > ;\
< a href = "/constructor/groupCallParticipant" > groupCallParticipant< / a > #56b087c9 flags:< a href = "/type/%23" > #< / a > muted:flags.0?< a href = "/constructor/true" > true< / a > left:flags.1?< a href = "/constructor/true" > true< / a > can_self_unmute:flags.2?< a href = "/constructor/true" > true< / a > just_joined:flags.4?< a href = "/constructor/true" > true< / a > versioned:flags.5?< a href = "/constructor/true" > true< / a > user_id:< a href = "/type/int" > int< / a > date:< a href = "/type/int" > int< / a > active_date:flags.3?< a href = "/type/int" > int< / a > source:< a href = "/type/int" > int< / a > = < a href = "/type/GroupCallParticipant" > GroupCallParticipant< / a > ;\
< a href = "/constructor/updateChat" > updateChat< / a > #1330a196 chat_id:< a href = "/type/int" > int< / a > = < a href = "/type/Update" > Update< / a > ;
< a href = "/constructor/updateGroupCallParticipants" > updateGroupCallParticipants< / a > #f2ebdb4e call:< a href = "/type/InputGroupCall" > InputGroupCall< / a > participants:< a href = "/type/Vector%20t" > Vector< / a > < < a href = "/type/GroupCallParticipant" > GroupCallParticipant< / a > > version:< a href = "/type/int" > int< / a > = < a href = "/type/Update" > Update< / a > ;
< a href = "/constructor/updateGroupCall" > updateGroupCall< / a > #a45eb99b chat_id:< a href = "/type/int" > int< / a > call:< a href = "/type/GroupCall" > GroupCall< / a > = < a href = "/type/Update" > Update< / a > ;\
< a href = "/constructor/phone.groupCall" > phone.groupCall< / a > #66ab0bfc call:< a href = "/type/GroupCall" > GroupCall< / a > participants:< a href = "/type/Vector%20t" > Vector< / a > < < a href = "/type/GroupCallParticipant" > GroupCallParticipant< / a > > participants_next_offset:< a href = "/type/string" > string< / a > users:< a href = "/type/Vector%20t" > Vector< / a > < < a href = "/type/User" > User< / a > > = < a href = "/type/phone.GroupCall" > phone.GroupCall< / a > ;
< a href = "/constructor/phone.groupParticipants" > phone.groupParticipants< / a > #9cfeb92d count:< a href = "/type/int" > int< / a > participants:< a href = "/type/Vector%20t" > Vector< / a > < < a href = "/type/GroupCallParticipant" > GroupCallParticipant< / a > > next_offset:< a href = "/type/string" > string< / a > users:< a href = "/type/Vector%20t" > Vector< / a > < < a href = "/type/User" > User< / a > > version:< a href = "/type/int" > int< / a > = < a href = "/type/phone.GroupParticipants" > phone.GroupParticipants< / a > ;\
< a href = "/constructor/inlineQueryPeerTypeSameBotPM" > inlineQueryPeerTypeSameBotPM< / a > #3081ed9d = < a href = "/type/InlineQueryPeerType" > InlineQueryPeerType< / a > ;
< a href = "/constructor/inlineQueryPeerTypePM" > inlineQueryPeerTypePM< / a > #833c0fac = < a href = "/type/InlineQueryPeerType" > InlineQueryPeerType< / a > ;
< a href = "/constructor/inlineQueryPeerTypeChat" > inlineQueryPeerTypeChat< / a > #d766c50a = < a href = "/type/InlineQueryPeerType" > InlineQueryPeerType< / a > ;
< a href = "/constructor/inlineQueryPeerTypeMegagroup" > inlineQueryPeerTypeMegagroup< / a > #5ec4be43 = < a href = "/type/InlineQueryPeerType" > InlineQueryPeerType< / a > ;
< a href = "/constructor/inlineQueryPeerTypeBroadcast" > inlineQueryPeerTypeBroadcast< / a > #6334ee9a = < a href = "/type/InlineQueryPeerType" > InlineQueryPeerType< / a > ;\
< a href = "/constructor/channelAdminLogEventActionStartGroupCall" > channelAdminLogEventActionStartGroupCall< / a > #23209745 call:< a href = "/type/InputGroupCall" > InputGroupCall< / a > = < a href = "/type/ChannelAdminLogEventAction" > ChannelAdminLogEventAction< / a > ;
< a href = "/constructor/channelAdminLogEventActionDiscardGroupCall" > channelAdminLogEventActionDiscardGroupCall< / a > #db9f9140 call:< a href = "/type/InputGroupCall" > InputGroupCall< / a > = < a href = "/type/ChannelAdminLogEventAction" > ChannelAdminLogEventAction< / a > ;
< a href = "/constructor/channelAdminLogEventActionParticipantMute" > channelAdminLogEventActionParticipantMute< / a > #f92424d2 participant:< a href = "/type/GroupCallParticipant" > GroupCallParticipant< / a > = < a href = "/type/ChannelAdminLogEventAction" > ChannelAdminLogEventAction< / a > ;
< a href = "/constructor/channelAdminLogEventActionParticipantUnmute" > channelAdminLogEventActionParticipantUnmute< / a > #e64429c0 participant:< a href = "/type/GroupCallParticipant" > GroupCallParticipant< / a > = < a href = "/type/ChannelAdminLogEventAction" > ChannelAdminLogEventAction< / a > ;
< a href = "/constructor/channelAdminLogEventActionToggleGroupCallSetting" > channelAdminLogEventActionToggleGroupCallSetting< / a > #56d6a247 join_muted:< a href = "/type/Bool" > Bool< / a > = < a href = "/type/ChannelAdminLogEventAction" > ChannelAdminLogEventAction< / a > ;\
---functions---\
< a href = "/method/messages.forwardMessages" > messages.forwardMessages< / a > #d9fee60e 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 > 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 > = < a href = "/type/Updates" > Updates< / a > ;\
< a href = "/method/channels.createChannel" > channels.createChannel< / a > #3d5fb10f flags:< a href = "/type/%23" > #< / a > broadcast:flags.0?< a href = "/constructor/true" > true< / a > megagroup:flags.1?< a href = "/constructor/true" > true< / a > for_import:flags.3?< a href = "/constructor/true" > true< / a > title:< a href = "/type/string" > string< / a > about:< a href = "/type/string" > string< / a > geo_point:flags.2?< a href = "/type/InputGeoPoint" > InputGeoPoint< / a > address:flags.2?< a href = "/type/string" > string< / a > = < a href = "/type/Updates" > Updates< / a > ;\
< a href = "/method/phone.createGroupCall" > phone.createGroupCall< / a > #bd3dabe0 peer:< a href = "/type/InputPeer" > InputPeer< / a > random_id:< a href = "/type/int" > int< / a > = < a href = "/type/Updates" > Updates< / a > ;
< a href = "/method/phone.joinGroupCall" > phone.joinGroupCall< / a > #5f9c8e62 flags:< a href = "/type/%23" > #< / a > muted:flags.0?< a href = "/constructor/true" > true< / a > call:< a href = "/type/InputGroupCall" > InputGroupCall< / a > params:< a href = "/type/DataJSON" > DataJSON< / a > = < a href = "/type/Updates" > Updates< / a > ;
< a href = "/method/phone.leaveGroupCall" > phone.leaveGroupCall< / a > #500377f9 call:< a href = "/type/InputGroupCall" > InputGroupCall< / a > source:< a href = "/type/int" > int< / a > = < a href = "/type/Updates" > Updates< / a > ;
< a href = "/method/phone.editGroupCallMember" > phone.editGroupCallMember< / a > #63146ae4 flags:< a href = "/type/%23" > #< / a > muted:flags.0?< a href = "/constructor/true" > true< / a > call:< a href = "/type/InputGroupCall" > InputGroupCall< / a > user_id:< a href = "/type/InputUser" > InputUser< / a > = < a href = "/type/Updates" > Updates< / a > ;
< a href = "/method/phone.inviteToGroupCall" > phone.inviteToGroupCall< / a > #7b393160 call:< a href = "/type/InputGroupCall" > InputGroupCall< / a > users:< a href = "/type/Vector%20t" > Vector< / a > < < a href = "/type/InputUser" > InputUser< / a > > = < a href = "/type/Updates" > Updates< / a > ;
< a href = "/method/phone.discardGroupCall" > phone.discardGroupCall< / a > #7a777135 call:< a href = "/type/InputGroupCall" > InputGroupCall< / a > = < a href = "/type/Updates" > Updates< / a > ;
< a href = "/method/phone.toggleGroupCallSettings" > phone.toggleGroupCallSettings< / a > #74bbb43d flags:< a href = "/type/%23" > #< / a > call:< a href = "/type/InputGroupCall" > InputGroupCall< / a > join_muted:flags.0?< a href = "/type/Bool" > Bool< / a > = < a href = "/type/Updates" > Updates< / a > ;
< a href = "/method/phone.getGroupCall" > phone.getGroupCall< / a > #0c7cb017 call:< a href = "/type/InputGroupCall" > InputGroupCall< / a > = < a href = "/type/phone.GroupCall" > phone.GroupCall< / a > ;
< a href = "/method/phone.getGroupParticipants" > phone.getGroupParticipants< / a > #c9f1d285 call:< a href = "/type/InputGroupCall" > InputGroupCall< / a > ids:< a href = "/type/Vector%20t" > Vector< / a > < < a href = "/type/int" > int< / a > > sources:< a href = "/type/Vector%20t" > Vector< / a > < < a href = "/type/int" > int< / a > > offset:< a href = "/type/string" > string< / a > limit:< a href = "/type/int" > int< / a > = < a href = "/type/phone.GroupParticipants" > phone.GroupParticipants< / a > ;
< a href = "/method/phone.checkGroupCall" > phone.checkGroupCall< / a > #b74a7bea call:< a href = "/type/InputGroupCall" > InputGroupCall< / a > source:< a href = "/type/int" > int< / a > = < a href = "/type/Bool" > Bool< / a > ;\
< / code > < / pre > < / div >
< h3 > < a class = "anchor" name = "layer-121" href = "#layer-121" > < i class = "anchor-icon" > < / i > < / a > < a href = "/schema?layer=121" > Layer 121< / a > < / h3 >
< p > Added < a href = "/api/files#vector-thumbnails" > SVG path previews< / a > for animated stickers.< / p >
< h4 > < a class = "anchor" name = "schema-changes" href = "#schema-changes" > < i class = "anchor-icon" > < / i > < / a > Schema changes< / h4 >
< h5 > < a class = "anchor" name = "new-constructors" href = "#new-constructors" > < i class = "anchor-icon" > < / i > < / a > New Constructors< / h5 >
< ul >
< li > Added < a href = "/constructor/photoPathSize" > photoPathSize< / a > - Messages with animated stickers can have a compressed svg (< 300 bytes) to show the outline of the sticker before fetching the actual lottie animation.< / li >
< / ul >
< h4 > < a class = "anchor" name = "schema" href = "#schema" > < i class = "anchor-icon" > < / i > < / a > Schema< / h4 >
< div > < pre > < code > < a href = "/constructor/photoPathSize" > photoPathSize< / a > #d8214d41 type:< a href = "/type/string" > string< / a > bytes:< a href = "/type/bytes" > bytes< / a > = < a href = "/type/PhotoSize" > PhotoSize< / a > ;\
< / code > < / pre > < / div >
< h3 > < a class = "anchor" name = "layer-120" href = "#layer-120" > < i class = "anchor-icon" > < / i > < / a > < a href = "/schema?layer=120" > Layer 120< / a > < / h3 >
< p > Added < a href = "/api/stats" > message statistics< / a > , and a method to unpin all pinned messages in a chat.< / p >
< h4 > < a class = "anchor" name = "schema-changes" href = "#schema-changes" > < i class = "anchor-icon" > < / i > < / a > Schema changes< / h4 >
< h5 > < a class = "anchor" name = "new-methods" href = "#new-methods" > < i class = "anchor-icon" > < / i > < / a > New Methods< / h5 >
< ul >
< li > Added < a href = "/method/stats.getMessagePublicForwards" > stats.getMessagePublicForwards< / a > - Obtains a list of messages, indicating to which other public channels was a channel message forwarded. < / li >
< li > Added < a href = "/method/stats.getMessageStats" > stats.getMessageStats< / a > - Get < a href = "/api/stats" > message statistics< / a > < / li >
< li > Added < a href = "/method/messages.unpinAllMessages" > messages.unpinAllMessages< / a > - < a href = "/api/pin" > Unpin< / a > all pinned messages< / li >
< / ul >
< h5 > < a class = "anchor" name = "changed-methods" href = "#changed-methods" > < i class = "anchor-icon" > < / i > < / a > Changed Methods< / h5 >
< ul >
< li > Changed type of < strong > from_id< / strong > from < strong > flags.0?InputUser< / strong > to < strong > flags.0?InputPeer< / strong > in < a href = "/method/messages.search" > messages.search< / a > < / li >
< / ul >
< h5 > < a class = "anchor" name = "new-constructors" href = "#new-constructors" > < i class = "anchor-icon" > < / i > < / a > New Constructors< / h5 >
< ul >
< li > Added < a href = "/constructor/inputMessageCallbackQuery" > inputMessageCallbackQuery< / a > - Used by bots for fetching information about the message that originated a callback query< / li >
< li > Added < a href = "/constructor/channelParticipantLeft" > channelParticipantLeft< / a > - A participant that left the channel/supergroup< / li >
< li > Added < a href = "/constructor/channelParticipantsMentions" > channelParticipantsMentions< / a > - This filter is used when looking for supergroup members to mention. < / li >
< li > Added < a href = "/constructor/updatePinnedMessages" > updatePinnedMessages< / a > - Some messages were pinned in a chat< / li >
< li > Added < a href = "/constructor/updatePinnedChannelMessages" > updatePinnedChannelMessages< / a > - Messages were pinned/unpinned in a < a href = "/api/channel" > channel/supergroup< / a > < / li >
< li > Added < a href = "/constructor/inputMessagesFilterPinned" > inputMessagesFilterPinned< / a > - Fetch only pinned messages< / li >
< li > Added < a href = "/constructor/stats.messageStats" > stats.messageStats< / a > - Message statistics< / li >
< li > Added < a href = "/constructor/messageActionGeoProximityReached" > messageActionGeoProximityReached< / a > - A user of the chat is now in proximity of another user< / li >
< / ul >
< h5 > < a class = "anchor" name = "changed-constructors" href = "#changed-constructors" > < i class = "anchor-icon" > < / i > < / a > Changed Constructors< / h5 >
< ul >
< li > Added < strong > flags< / strong > , < strong > accuracy_radius< / strong > parameters in < a href = "/constructor/inputGeoPoint" > inputGeoPoint< / a > < / li >
< li > Added < strong > flags< / strong > , < strong > accuracy_radius< / strong > parameters in < a href = "/constructor/geoPoint" > geoPoint< / a > < / li >
< li > Added < strong > offset_id_offset< / strong > parameter in < a href = "/constructor/messages.messagesSlice" > messages.messagesSlice< / a > < / li >
< li > Added < strong > offset_id_offset< / strong > parameter in < a href = "/constructor/messages.channelMessages" > messages.channelMessages< / a > < / li >
< li > Added < strong > heading< / strong > , < strong > proximity_notification_radius< / strong > parameters, changed type of < strong > period< / strong > from < strong > int< / strong > to < strong > flags.1?int< / strong > in < a href = "/constructor/inputBotInlineMessageMediaGeo" > inputBotInlineMessageMediaGeo< / a > < / li >
< li > Added < strong > heading< / strong > , < strong > proximity_notification_radius< / strong > parameters, changed type of < strong > period< / strong > from < strong > int< / strong > to < strong > flags.1?int< / strong > in < a href = "/constructor/botInlineMessageMediaGeo" > botInlineMessageMediaGeo< / a > < / li >
< li > Added < strong > heading< / strong > , < strong > proximity_notification_radius< / strong > parameters in < a href = "/constructor/inputMediaGeoLive" > inputMediaGeoLive< / a > < / li >
< li > Added < strong > flags< / strong > , < strong > heading< / strong > , < strong > proximity_notification_radius< / strong > parameters in < a href = "/constructor/messageMediaGeoLive" > messageMediaGeoLive< / a > < / li >
< / ul >
< h5 > < a class = "anchor" name = "deleted-constructors" href = "#deleted-constructors" > < i class = "anchor-icon" > < / i > < / a > Deleted Constructors< / h5 >
< ul >
< li > Removed updateChannelPinnedMessage< / li >
< li > Removed updateUserPinnedMessage< / li >
< li > Removed updateChatPinnedMessage< / li >
< / ul >
< h4 > < a class = "anchor" name = "push-notification-changes" href = "#push-notification-changes" > < i class = "anchor-icon" > < / i > < / a > PUSH notification changes< / h4 >
< h5 > < a class = "anchor" name = "new-push-notifications" href = "#new-push-notifications" > < i class = "anchor-icon" > < / i > < / a > New PUSH notifications< / h5 >
< ul >
< li > Added < a href = "/api/push-updates#possible-notifications" > CHANNEL_MESSAGE_DOCS< / a > - < code > {1} posted {2} files< / code > < / li >
< li > Added < a href = "/api/push-updates#possible-notifications" > CHANNEL_MESSAGE_PLAYLIST< / a > - < code > {1} posted {2} music files< / code > < / li >
< li > Added < a href = "/api/push-updates#possible-notifications" > CHAT_MESSAGE_DOCS< / a > - < code > {1} sent {3} files to the group {2}< / code > < / li >
< li > Added < a href = "/api/push-updates#possible-notifications" > CHAT_MESSAGE_PLAYLIST< / a > - < code > {1} sent {3} music files to the group {2}< / code > < / li >
< li > Added < a href = "/api/push-updates#possible-notifications" > MESSAGE_DOCS< / a > - < code > {1} sent you {2} files< / code > < / li >
< li > Added < a href = "/api/push-updates#possible-notifications" > MESSAGE_PLAYLIST< / a > - < code > {1} sent you {2} music files< / code > < / li >
< / ul >
< h4 > < a class = "anchor" name = "schema" href = "#schema" > < i class = "anchor-icon" > < / i > < / a > Schema< / h4 >
< div > < pre > < code > < a href = "/constructor/inputGeoPoint" > inputGeoPoint< / a > #48222faf flags:< a href = "/type/%23" > #< / a > lat:< a href = "/type/double" > double< / a > long:< a href = "/type/double" > double< / a > accuracy_radius:flags.0?< a href = "/type/int" > int< / a > = < a href = "/type/InputGeoPoint" > InputGeoPoint< / a > ;\
< a href = "/constructor/geoPoint" > geoPoint< / a > #b2a2f663 flags:< a href = "/type/%23" > #< / a > long:< a href = "/type/double" > double< / a > lat:< a href = "/type/double" > double< / a > access_hash:< a href = "/type/long" > long< / a > accuracy_radius:flags.0?< a href = "/type/int" > int< / a > = < a href = "/type/GeoPoint" > GeoPoint< / a > ;\
< a href = "/constructor/messages.messagesSlice" > messages.messagesSlice< / a > #3a54685e flags:< a href = "/type/%23" > #< / a > inexact:flags.1?< a href = "/constructor/true" > true< / a > count:< a href = "/type/int" > int< / a > next_rate:flags.0?< a href = "/type/int" > int< / a > offset_id_offset:flags.2?< a href = "/type/int" > int< / 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.Messages" > messages.Messages< / a > ;
< a href = "/constructor/messages.channelMessages" > messages.channelMessages< / a > #64479808 flags:< a href = "/type/%23" > #< / a > inexact:flags.1?< a href = "/constructor/true" > true< / a > pts:< a href = "/type/int" > int< / a > count:< a href = "/type/int" > int< / a > offset_id_offset:flags.2?< a href = "/type/int" > int< / 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.Messages" > messages.Messages< / a > ;\
< a href = "/constructor/inputBotInlineMessageMediaGeo" > inputBotInlineMessageMediaGeo< / a > #96929a85 flags:< a href = "/type/%23" > #< / a > geo_point:< a href = "/type/InputGeoPoint" > InputGeoPoint< / a > heading:flags.0?< a href = "/type/int" > int< / a > period:flags.1?< a href = "/type/int" > int< / a > proximity_notification_radius:flags.3?< a href = "/type/int" > int< / a > reply_markup:flags.2?< a href = "/type/ReplyMarkup" > ReplyMarkup< / a > = < a href = "/type/InputBotInlineMessage" > InputBotInlineMessage< / a > ;\
< a href = "/constructor/botInlineMessageMediaGeo" > botInlineMessageMediaGeo< / a > #051846fd flags:< a href = "/type/%23" > #< / a > geo:< a href = "/type/GeoPoint" > GeoPoint< / a > heading:flags.0?< a href = "/type/int" > int< / a > period:flags.1?< a href = "/type/int" > int< / a > proximity_notification_radius:flags.3?< a href = "/type/int" > int< / a > reply_markup:flags.2?< a href = "/type/ReplyMarkup" > ReplyMarkup< / a > = < a href = "/type/BotInlineMessage" > BotInlineMessage< / a > ;\
< a href = "/constructor/inputMediaGeoLive" > inputMediaGeoLive< / a > #971fa843 flags:< a href = "/type/%23" > #< / a > stopped:flags.0?< a href = "/constructor/true" > true< / a > geo_point:< a href = "/type/InputGeoPoint" > InputGeoPoint< / a > heading:flags.2?< a href = "/type/int" > int< / a > period:flags.1?< a href = "/type/int" > int< / a > proximity_notification_radius:flags.3?< a href = "/type/int" > int< / a > = < a href = "/type/InputMedia" > InputMedia< / a > ;\
< a href = "/constructor/messageMediaGeoLive" > messageMediaGeoLive< / a > #b940c666 flags:< a href = "/type/%23" > #< / a > geo:< a href = "/type/GeoPoint" > GeoPoint< / a > heading:flags.0?< a href = "/type/int" > int< / a > period:< a href = "/type/int" > int< / a > proximity_notification_radius:flags.1?< a href = "/type/int" > int< / a > = < a href = "/type/MessageMedia" > MessageMedia< / a > ;\
< a href = "/constructor/inputMessageCallbackQuery" > inputMessageCallbackQuery< / a > #acfa1a7e id:< a href = "/type/int" > int< / a > query_id:< a href = "/type/long" > long< / a > = < a href = "/type/InputMessage" > InputMessage< / a > ;\
< a href = "/constructor/channelParticipantLeft" > channelParticipantLeft< / a > #c3c6796b user_id:< a href = "/type/int" > int< / a > = < a href = "/type/ChannelParticipant" > ChannelParticipant< / a > ;
< a href = "/constructor/channelParticipantsMentions" > channelParticipantsMentions< / a > #e04b5ceb flags:< a href = "/type/%23" > #< / a > q:flags.0?< a href = "/type/string" > string< / a > top_msg_id:flags.1?< a href = "/type/int" > int< / a > = < a href = "/type/ChannelParticipantsFilter" > ChannelParticipantsFilter< / a > ;\
< a href = "/constructor/updatePinnedMessages" > updatePinnedMessages< / a > #ed85eab5 flags:< a href = "/type/%23" > #< / a > pinned:flags.0?< a href = "/constructor/true" > true< / a > peer:< a href = "/type/Peer" > Peer< / a > messages:< a href = "/type/Vector%20t" > Vector< / a > < < a href = "/type/int" > int< / a > > pts:< a href = "/type/int" > int< / a > pts_count:< a href = "/type/int" > int< / a > = < a href = "/type/Update" > Update< / a > ;
< a href = "/constructor/updatePinnedChannelMessages" > updatePinnedChannelMessages< / a > #8588878b flags:< a href = "/type/%23" > #< / a > pinned:flags.0?< a href = "/constructor/true" > true< / a > channel_id:< a href = "/type/int" > int< / a > messages:< a href = "/type/Vector%20t" > Vector< / a > < < a href = "/type/int" > int< / a > > pts:< a href = "/type/int" > int< / a > pts_count:< a href = "/type/int" > int< / a > = < a href = "/type/Update" > Update< / a > ;\
< a href = "/constructor/inputMessagesFilterPinned" > inputMessagesFilterPinned< / a > #1bb00451 = < a href = "/type/MessagesFilter" > MessagesFilter< / a > ;\
< a href = "/constructor/stats.messageStats" > stats.messageStats< / a > #8999f295 views_graph:< a href = "/type/StatsGraph" > StatsGraph< / a > = < a href = "/type/stats.MessageStats" > stats.MessageStats< / a > ;\
< a href = "/constructor/messageActionGeoProximityReached" > messageActionGeoProximityReached< / a > #98e0d697 from_id:< a href = "/type/Peer" > Peer< / a > to_id:< a href = "/type/Peer" > Peer< / a > distance:< a href = "/type/int" > int< / a > = < a href = "/type/MessageAction" > MessageAction< / a > ;\
---functions---\
< a href = "/method/messages.search" > messages.search< / a > #0c352eec flags:< a href = "/type/%23" > #< / a > peer:< a href = "/type/InputPeer" > InputPeer< / a > q:< a href = "/type/string" > string< / a > from_id:flags.0?< a href = "/type/InputPeer" > InputPeer< / a > top_msg_id:flags.1?< a href = "/type/int" > int< / a > filter:< a href = "/type/MessagesFilter" > MessagesFilter< / a > min_date:< a href = "/type/int" > int< / a > max_date:< a href = "/type/int" > int< / a > offset_id:< a href = "/type/int" > int< / a > add_offset:< a href = "/type/int" > int< / a > limit:< a href = "/type/int" > int< / a > max_id:< a href = "/type/int" > int< / a > min_id:< a href = "/type/int" > int< / a > hash:< a href = "/type/int" > int< / a > = < a href = "/type/messages.Messages" > messages.Messages< / a > ;\
< a href = "/method/stats.getMessagePublicForwards" > stats.getMessagePublicForwards< / a > #5630281b channel:< a href = "/type/InputChannel" > InputChannel< / a > msg_id:< a href = "/type/int" > int< / a > offset_rate:< a href = "/type/int" > int< / a > offset_peer:< a href = "/type/InputPeer" > InputPeer< / a > offset_id:< a href = "/type/int" > int< / a > limit:< a href = "/type/int" > int< / a > = < a href = "/type/messages.Messages" > messages.Messages< / a > ;
< a href = "/method/stats.getMessageStats" > stats.getMessageStats< / a > #b6e0a3f5 flags:< a href = "/type/%23" > #< / a > dark:flags.0?< a href = "/constructor/true" > true< / a > channel:< a href = "/type/InputChannel" > InputChannel< / a > msg_id:< a href = "/type/int" > int< / a > = < a href = "/type/stats.MessageStats" > stats.MessageStats< / a > ;\
< a href = "/method/messages.unpinAllMessages" > messages.unpinAllMessages< / a > #f025bc8b peer:< a href = "/type/InputPeer" > InputPeer< / a > = < a href = "/type/messages.AffectedHistory" > messages.AffectedHistory< / a > ;\
< / code > < / pre > < / div >
< h3 > < a class = "anchor" name = "layer-119" href = "#layer-119" > < i class = "anchor-icon" > < / i > < / a > < a href = "/schema?layer=119" > Layer 119< / a > < / h3 >
< p > Added < a href = "/api/threads" > message threads< / a > and < a href = "/api/discussion" > comment sections in channel posts< / a > .< / p >
< h4 > < a class = "anchor" name = "schema-changes" href = "#schema-changes" > < i class = "anchor-icon" > < / i > < / a > Schema changes< / h4 >
< h5 > < a class = "anchor" name = "new-methods" href = "#new-methods" > < i class = "anchor-icon" > < / i > < / a > New Methods< / h5 >
< ul >
< li > Added < a href = "/method/messages.getReplies" > messages.getReplies< / a > - Get messages in a reply thread< / li >
< li > Added < a href = "/method/messages.getDiscussionMessage" > messages.getDiscussionMessage< / a > - Get < a href = "/api/threads" > discussion message< / a > from the < a href = "/api/discussion" > associated discussion group< / a > of a channel to show it on top of the comment section, without actually joining the group< / li >
< li > Added < a href = "/method/messages.readDiscussion" > messages.readDiscussion< / a > - Mark a < a href = "/api/threads" > thread< / a > as read< / li >
< li > Added < a href = "/method/contacts.blockFromReplies" > contacts.blockFromReplies< / a > - Stop getting notifications about < a href = "/api/threads" > thread replies< / a > of a certain user in < code > @replies< / code > < / li >
< / ul >
< h5 > < a class = "anchor" name = "changed-methods" href = "#changed-methods" > < i class = "anchor-icon" > < / i > < / a > Changed Methods< / h5 >
< ul >
< li > Changed type of < strong > id< / strong > from < strong > InputUser< / strong > to < strong > InputPeer< / strong > in < a href = "/method/contacts.block" > contacts.block< / a > < / li >
< li > Changed type of < strong > id< / strong > from < strong > InputUser< / strong > to < strong > InputPeer< / strong > in < a href = "/method/contacts.unblock" > contacts.unblock< / a > < / li >
< li > Added < strong > top_msg_id< / strong > parameter in < a href = "/method/messages.search" > messages.search< / a > < / li >
< li > Added < strong > flags< / strong > , < strong > top_msg_id< / strong > parameters in < a href = "/method/messages.setTyping" > messages.setTyping< / a > < / li >
< li > Changed type of < a href = "/method/messages.getMessagesViews" > messages.getMessagesViews< / a > from < strong > Vector< int> < / strong > to < strong > messages.MessageViews< / strong > < / li >
< li > Added < strong > filter< / strong > , < strong > min_date< / strong > , < strong > max_date< / strong > parameters in < a href = "/method/messages.searchGlobal" > messages.searchGlobal< / a > < / li >
< li > Added < strong > flags< / strong > , < strong > thread< / strong > parameters, changed type of < strong > grouped< / strong > from < strong > Bool< / strong > to < strong > flags.0?true< / strong > in < a href = "/method/channels.exportMessageLink" > channels.exportMessageLink< / a > < / li >
< / ul >
< h5 > < a class = "anchor" name = "new-constructors" href = "#new-constructors" > < i class = "anchor-icon" > < / i > < / a > New Constructors< / h5 >
< ul >
< li > Added < a href = "/constructor/messageViews" > messageViews< / a > - View, forward counter + info about replies of a specific message< / li >
< li > Added < a href = "/constructor/updateChannelMessageForwards" > updateChannelMessageForwards< / a > - The forward counter of a message in a channel has changed< / li >
< li > Added < a href = "/constructor/photoSizeProgressive" > photoSizeProgressive< / a > - Progressively encoded photosize< / li >
< li > Added < a href = "/constructor/messages.messageViews" > messages.messageViews< / a > - View, forward counter + info about replies< / li >
< li > Added < a href = "/constructor/updateReadChannelDiscussionInbox" > updateReadChannelDiscussionInbox< / a > - Incoming comments in a < a href = "/api/threads" > discussion thread< / a > were marked as read< / li >
< li > Added < a href = "/constructor/updateReadChannelDiscussionOutbox" > updateReadChannelDiscussionOutbox< / a > - Outgoing comments in a < a href = "/api/threads" > discussion thread< / a > were marked as read< / li >
< li > Added < a href = "/constructor/messages.discussionMessage" > messages.discussionMessage< / a > - Information about a < a href = "/api/threads" > message thread< / a > < / li >
< li > Added < a href = "/constructor/messageReplyHeader" > messageReplyHeader< / a > - Message replies and < a href = "/api/threads" > thread< / a > information< / li >
< li > Added < a href = "/constructor/messageReplies" > messageReplies< / a > - Info about < a href = "/api/threads" > the comment section of a channel post, or a simple message thread< / a > < / li >
< li > Added < a href = "/constructor/updatePeerBlocked" > updatePeerBlocked< / a > - A peer was blocked< / li >
< li > Added < a href = "/constructor/peerBlocked" > peerBlocked< / a > - Information about a blocked peer< / li >
< li > Added < a href = "/constructor/updateChannelUserTyping" > updateChannelUserTyping< / a > - A user is typing in a < a href = "/api/channel" > supergroup, channel< / a > or < a href = "/api/threads" > message thread< / a > < / li >
< / ul >
< h5 > < a class = "anchor" name = "changed-constructors" href = "#changed-constructors" > < i class = "anchor-icon" > < / i > < / a > Changed Constructors< / h5 >
< ul >
< li > Added < strong > pinned< / strong > , < strong > peer_id< / strong > , < strong > reply_to< / strong > , < strong > forwards< / strong > , < strong > replies< / strong > parameters, removed < strong > to_id< / strong > , < strong > reply_to_msg_id< / strong > parameters, changed type of < strong > from_id< / strong > from < strong > flags.8?int< / strong > to < strong > flags.8?Peer< / strong > in < a href = "/constructor/message" > message< / a > < / li >
< li > Added < strong > peer_id< / strong > , < strong > reply_to< / strong > parameters, removed < strong > to_id< / strong > , < strong > reply_to_msg_id< / strong > parameters, changed type of < strong > from_id< / strong > from < strong > flags.8?int< / strong > to < strong > flags.8?Peer< / strong > in < a href = "/constructor/messageService" > messageService< / a > < / li >
< li > Added < strong > chats< / strong > parameter, changed type of < strong > blocked< / strong > from < strong > Vector< ContactBlocked> < / strong > to < strong > Vector< PeerBlocked> < / strong > in < a href = "/constructor/contacts.blocked" > contacts.blocked< / a > < / li >
< li > Added < strong > chats< / strong > parameter, changed type of < strong > blocked< / strong > from < strong > Vector< ContactBlocked> < / strong > to < strong > Vector< PeerBlocked> < / strong > in < a href = "/constructor/contacts.blockedSlice" > contacts.blockedSlice< / a > < / li >
< li > Added < strong > reply_to< / strong > parameter, removed < strong > reply_to_msg_id< / strong > parameter in < a href = "/constructor/updateShortMessage" > updateShortMessage< / a > < / li >
< li > Added < strong > reply_to< / strong > parameter, removed < strong > reply_to_msg_id< / strong > parameter in < a href = "/constructor/updateShortChatMessage" > updateShortChatMessage< / a > < / li >
< li > Added < strong > admin_rights< / strong > parameter in < a href = "/constructor/channelParticipantCreator" > channelParticipantCreator< / a > < / li >
< li > Removed < strong > channel_id< / strong > parameter, changed type of < strong > from_id< / strong > from < strong > flags.0?int< / strong > to < strong > flags.0?Peer< / strong > in < a href = "/constructor/messageFwdHeader" > messageFwdHeader< / a > < / li >
< / ul >
< h5 > < a class = "anchor" name = "deleted-constructors" href = "#deleted-constructors" > < i class = "anchor-icon" > < / i > < / a > Deleted Constructors< / h5 >
< ul >
< li > Removed contactBlocked< / li >
< li > Removed updateUserBlocked< / li >
< / ul >
< h4 > < a class = "anchor" name = "schema" href = "#schema" > < i class = "anchor-icon" > < / i > < / a > Schema< / h4 >
< div > < pre > < code > < a href = "/constructor/message" > message< / a > #58ae39c9 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 > 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/int" > int< / 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 > > = < a href = "/type/Message" > Message< / a > ;
< a href = "/constructor/messageService" > messageService< / a > #286fa604 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 > legacy:flags.19?< 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 > reply_to:flags.3?< a href = "/type/MessageReplyHeader" > MessageReplyHeader< / a > date:< a href = "/type/int" > int< / a > action:< a href = "/type/MessageAction" > MessageAction< / a > = < a href = "/type/Message" > Message< / a > ;\
< a href = "/constructor/contacts.blocked" > contacts.blocked< / a > #0ade1591 blocked:< a href = "/type/Vector%20t" > Vector< / a > < < a href = "/type/PeerBlocked" > PeerBlocked< / 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/contacts.Blocked" > contacts.Blocked< / a > ;
< a href = "/constructor/contacts.blockedSlice" > contacts.blockedSlice< / a > #e1664194 count:< a href = "/type/int" > int< / a > blocked:< a href = "/type/Vector%20t" > Vector< / a > < < a href = "/type/PeerBlocked" > PeerBlocked< / 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/contacts.Blocked" > contacts.Blocked< / a > ;\
< a href = "/constructor/updateShortMessage" > updateShortMessage< / a > #2296d2c8 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 > id:< a href = "/type/int" > int< / a > user_id:< a href = "/type/int" > int< / a > message:< a href = "/type/string" > string< / a > pts:< a href = "/type/int" > int< / a > pts_count:< a href = "/type/int" > int< / a > date:< a href = "/type/int" > int< / a > fwd_from:flags.2?< a href = "/type/MessageFwdHeader" > MessageFwdHeader< / a > via_bot_id:flags.11?< a href = "/type/int" > int< / a > reply_to:flags.3?< a href = "/type/MessageReplyHeader" > MessageReplyHeader< / a > entities:flags.7?< a href = "/type/Vector%20t" > Vector< / a > < < a href = "/type/MessageEntity" > MessageEntity< / a > > = < a href = "/type/Updates" > Updates< / a > ;
< a href = "/constructor/updateShortChatMessage" > updateShortChatMessage< / a > #402d5dbb 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 > id:< a href = "/type/int" > int< / a > from_id:< a href = "/type/int" > int< / a > chat_id:< a href = "/type/int" > int< / a > message:< a href = "/type/string" > string< / a > pts:< a href = "/type/int" > int< / a > pts_count:< a href = "/type/int" > int< / a > date:< a href = "/type/int" > int< / a > fwd_from:flags.2?< a href = "/type/MessageFwdHeader" > MessageFwdHeader< / a > via_bot_id:flags.11?< a href = "/type/int" > int< / a > reply_to:flags.3?< a href = "/type/MessageReplyHeader" > MessageReplyHeader< / a > entities:flags.7?< a href = "/type/Vector%20t" > Vector< / a > < < a href = "/type/MessageEntity" > MessageEntity< / a > > = < a href = "/type/Updates" > Updates< / a > ;\
< a href = "/constructor/channelParticipantCreator" > channelParticipantCreator< / a > #447dca4b flags:< a href = "/type/%23" > #< / a > user_id:< a href = "/type/int" > int< / a > admin_rights:< a href = "/type/ChatAdminRights" > ChatAdminRights< / a > rank:flags.0?< a href = "/type/string" > string< / a > = < a href = "/type/ChannelParticipant" > ChannelParticipant< / a > ;\
< a href = "/constructor/messageFwdHeader" > messageFwdHeader< / a > #5f777dce flags:< a href = "/type/%23" > #< / a > from_id:flags.0?< a href = "/type/Peer" > Peer< / a > from_name:flags.5?< a href = "/type/string" > string< / a > date:< a href = "/type/int" > int< / a > channel_post:flags.2?< a href = "/type/int" > int< / a > post_author:flags.3?< a href = "/type/string" > string< / a > saved_from_peer:flags.4?< a href = "/type/Peer" > Peer< / a > saved_from_msg_id:flags.4?< a href = "/type/int" > int< / a > psa_type:flags.6?< a href = "/type/string" > string< / a > = < a href = "/type/MessageFwdHeader" > MessageFwdHeader< / a > ;
< a href = "/constructor/messageViews" > messageViews< / a > #455b853d flags:< a href = "/type/%23" > #< / a > views:flags.0?< a href = "/type/int" > int< / a > forwards:flags.1?< a href = "/type/int" > int< / a > replies:flags.2?< a href = "/type/MessageReplies" > MessageReplies< / a > = < a href = "/type/MessageViews" > MessageViews< / a > ;\
< a href = "/constructor/updateChannelMessageForwards" > updateChannelMessageForwards< / a > #6e8a84df channel_id:< a href = "/type/int" > int< / a > id:< a href = "/type/int" > int< / a > forwards:< a href = "/type/int" > int< / a > = < a href = "/type/Update" > Update< / a > ;\
< a href = "/constructor/photoSizeProgressive" > photoSizeProgressive< / a > #5aa86a51 type:< a href = "/type/string" > string< / a > location:< a href = "/type/FileLocation" > FileLocation< / a > w:< a href = "/type/int" > int< / a > h:< a href = "/type/int" > int< / a > sizes:< a href = "/type/Vector%20t" > Vector< / a > < < a href = "/type/int" > int< / a > > = < a href = "/type/PhotoSize" > PhotoSize< / a > ;\
< a href = "/constructor/messages.messageViews" > messages.messageViews< / a > #b6c4f543 views:< a href = "/type/Vector%20t" > Vector< / a > < < a href = "/type/MessageViews" > MessageViews< / 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.MessageViews" > messages.MessageViews< / a > ;\
< a href = "/constructor/updateReadChannelDiscussionInbox" > updateReadChannelDiscussionInbox< / a > #1cc7de54 flags:< a href = "/type/%23" > #< / a > channel_id:< a href = "/type/int" > int< / a > top_msg_id:< a href = "/type/int" > int< / a > read_max_id:< a href = "/type/int" > int< / a > broadcast_id:flags.0?< a href = "/type/int" > int< / a > broadcast_post:flags.0?< a href = "/type/int" > int< / a > = < a href = "/type/Update" > Update< / a > ;
< a href = "/constructor/updateReadChannelDiscussionOutbox" > updateReadChannelDiscussionOutbox< / a > #4638a26c channel_id:< a href = "/type/int" > int< / a > top_msg_id:< a href = "/type/int" > int< / a > read_max_id:< a href = "/type/int" > int< / a > = < a href = "/type/Update" > Update< / a > ;\
< a href = "/constructor/messages.discussionMessage" > messages.discussionMessage< / a > #f5dd8f9d flags:< a href = "/type/%23" > #< / a > messages:< a href = "/type/Vector%20t" > Vector< / a > < < a href = "/type/Message" > Message< / a > > max_id:flags.0?< a href = "/type/int" > int< / a > read_inbox_max_id:flags.1?< a href = "/type/int" > int< / a > read_outbox_max_id:flags.2?< a href = "/type/int" > int< / 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.DiscussionMessage" > messages.DiscussionMessage< / a > ;
< a href = "/constructor/messageReplyHeader" > messageReplyHeader< / a > #a6d57763 flags:< a href = "/type/%23" > #< / a > reply_to_msg_id:< a href = "/type/int" > int< / a > reply_to_peer_id:flags.0?< a href = "/type/Peer" > Peer< / a > reply_to_top_id:flags.1?< a href = "/type/int" > int< / a > = < a href = "/type/MessageReplyHeader" > MessageReplyHeader< / a > ;
< a href = "/constructor/messageReplies" > messageReplies< / a > #4128faac flags:< a href = "/type/%23" > #< / a > comments:flags.0?< a href = "/constructor/true" > true< / a > replies:< a href = "/type/int" > int< / a > replies_pts:< a href = "/type/int" > int< / a > recent_repliers:flags.1?< a href = "/type/Vector%20t" > Vector< / a > < < a href = "/type/Peer" > Peer< / a > > channel_id:flags.0?< a href = "/type/int" > int< / a > max_id:flags.2?< a href = "/type/int" > int< / a > read_max_id:flags.3?< a href = "/type/int" > int< / a > = < a href = "/type/MessageReplies" > MessageReplies< / a > ;\
< a href = "/constructor/updatePeerBlocked" > updatePeerBlocked< / a > #246a4b22 peer_id:< a href = "/type/Peer" > Peer< / a > blocked:< a href = "/type/Bool" > Bool< / a > = < a href = "/type/Update" > Update< / a > ;\
< a href = "/constructor/peerBlocked" > peerBlocked< / a > #e8fd8014 peer_id:< a href = "/type/Peer" > Peer< / a > date:< a href = "/type/int" > int< / a > = < a href = "/type/PeerBlocked" > PeerBlocked< / a > ;\
< a href = "/constructor/updateChannelUserTyping" > updateChannelUserTyping< / a > #ff2abe9f flags:< a href = "/type/%23" > #< / a > channel_id:< a href = "/type/int" > int< / a > top_msg_id:flags.0?< a href = "/type/int" > int< / a > user_id:< a href = "/type/int" > int< / a > action:< a href = "/type/SendMessageAction" > SendMessageAction< / a > = < a href = "/type/Update" > Update< / a > ;\
---functions---\
< a href = "/method/contacts.block" > contacts.block< / a > #68cc1411 id:< a href = "/type/InputPeer" > InputPeer< / a > = < a href = "/type/Bool" > Bool< / a > ;
< a href = "/method/contacts.unblock" > contacts.unblock< / a > #bea65d50 id:< a href = "/type/InputPeer" > InputPeer< / a > = < a href = "/type/Bool" > Bool< / a > ;\
< a href = "/method/messages.search" > messages.search< / a > #4e17810b flags:< a href = "/type/%23" > #< / a > peer:< a href = "/type/InputPeer" > InputPeer< / a > q:< a href = "/type/string" > string< / a > from_id:flags.0?< a href = "/type/InputUser" > InputUser< / a > top_msg_id:flags.1?< a href = "/type/int" > int< / a > filter:< a href = "/type/MessagesFilter" > MessagesFilter< / a > min_date:< a href = "/type/int" > int< / a > max_date:< a href = "/type/int" > int< / a > offset_id:< a href = "/type/int" > int< / a > add_offset:< a href = "/type/int" > int< / a > limit:< a href = "/type/int" > int< / a > max_id:< a href = "/type/int" > int< / a > min_id:< a href = "/type/int" > int< / a > hash:< a href = "/type/int" > int< / a > = < a href = "/type/messages.Messages" > messages.Messages< / a > ;
< a href = "/method/messages.setTyping" > messages.setTyping< / a > #58943ee2 flags:< a href = "/type/%23" > #< / a > peer:< a href = "/type/InputPeer" > InputPeer< / a > top_msg_id:flags.0?< a href = "/type/int" > int< / a > action:< a href = "/type/SendMessageAction" > SendMessageAction< / a > = < a href = "/type/Bool" > Bool< / a > ;
< a href = "/method/messages.getMessagesViews" > messages.getMessagesViews< / a > #5784d3e1 peer:< a href = "/type/InputPeer" > InputPeer< / a > id:< a href = "/type/Vector%20t" > Vector< / a > < < a href = "/type/int" > int< / a > > increment:< a href = "/type/Bool" > Bool< / a > = < a href = "/type/messages.MessageViews" > messages.MessageViews< / a > ;
< a href = "/method/messages.searchGlobal" > messages.searchGlobal< / a > #4bc6589a flags:< a href = "/type/%23" > #< / a > folder_id:flags.0?< a href = "/type/int" > int< / a > q:< a href = "/type/string" > string< / a > filter:< a href = "/type/MessagesFilter" > MessagesFilter< / a > min_date:< a href = "/type/int" > int< / a > max_date:< a href = "/type/int" > int< / a > offset_rate:< a href = "/type/int" > int< / a > offset_peer:< a href = "/type/InputPeer" > InputPeer< / a > offset_id:< a href = "/type/int" > int< / a > limit:< a href = "/type/int" > int< / a > = < a href = "/type/messages.Messages" > messages.Messages< / a > ;\
< a href = "/method/channels.exportMessageLink" > channels.exportMessageLink< / a > #e63fadeb flags:< a href = "/type/%23" > #< / a > grouped:flags.0?< a href = "/constructor/true" > true< / a > thread:flags.1?< a href = "/constructor/true" > true< / a > channel:< a href = "/type/InputChannel" > InputChannel< / a > id:< a href = "/type/int" > int< / a > = < a href = "/type/ExportedMessageLink" > ExportedMessageLink< / a > ;\
< a href = "/method/messages.getReplies" > messages.getReplies< / a > #24b581ba peer:< a href = "/type/InputPeer" > InputPeer< / a > msg_id:< a href = "/type/int" > int< / a > offset_id:< a href = "/type/int" > int< / a > offset_date:< 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 > hash:< a href = "/type/int" > int< / a > = < a href = "/type/messages.Messages" > messages.Messages< / a > ;
< a href = "/method/messages.getDiscussionMessage" > messages.getDiscussionMessage< / a > #446972fd peer:< a href = "/type/InputPeer" > InputPeer< / a > msg_id:< a href = "/type/int" > int< / a > = < a href = "/type/messages.DiscussionMessage" > messages.DiscussionMessage< / a > ;
< a href = "/method/messages.readDiscussion" > messages.readDiscussion< / a > #f731a9f4 peer:< a href = "/type/InputPeer" > InputPeer< / a > msg_id:< a href = "/type/int" > int< / a > read_max_id:< a href = "/type/int" > int< / a > = < a href = "/type/Bool" > Bool< / a > ;\
< a href = "/method/contacts.blockFromReplies" > contacts.blockFromReplies< / a > #29a8962c flags:< a href = "/type/%23" > #< / a > delete_message:flags.0?< a href = "/constructor/true" > true< / a > delete_history:flags.1?< a href = "/constructor/true" > true< / a > report_spam:flags.2?< a href = "/constructor/true" > true< / a > msg_id:< a href = "/type/int" > int< / a > = < a href = "/type/Updates" > Updates< / a > ;\
< / code > < / pre > < / div >
< h3 > < a class = "anchor" name = "layer-118" href = "#layer-118" > < i class = "anchor-icon" > < / i > < / a > < a href = "/schema?layer=118" > Layer 118< / a > < / h3 >
< p > Added method for fetching country names and phone patterns.< / p >
< h4 > < a class = "anchor" name = "schema-changes" href = "#schema-changes" > < i class = "anchor-icon" > < / i > < / a > Schema changes< / h4 >
< h5 > < a class = "anchor" name = "new-methods" href = "#new-methods" > < i class = "anchor-icon" > < / i > < / a > New Methods< / h5 >
< ul >
< li > Added < a href = "/method/help.getCountriesList" > help.getCountriesList< / a > - Get name, ISO code, localized name and phone codes/patterns of all available countries< / li >
< / ul >
< h5 > < a class = "anchor" name = "changed-methods" href = "#changed-methods" > < i class = "anchor-icon" > < / i > < / a > Changed Methods< / h5 >
< ul >
< li > Added < strong > flags< / strong > , < strong > silent< / strong > parameters in < a href = "/method/messages.sendEncrypted" > messages.sendEncrypted< / a > < / li >
< li > Added < strong > flags< / strong > , < strong > silent< / strong > parameters in < a href = "/method/messages.sendEncryptedFile" > messages.sendEncryptedFile< / a > < / li >
< li > Added < strong > password< / strong > parameter in < a href = "/method/messages.getBotCallbackAnswer" > messages.getBotCallbackAnswer< / a > < / li >
< / ul >
< h5 > < a class = "anchor" name = "new-constructors" href = "#new-constructors" > < i class = "anchor-icon" > < / i > < / a > New Constructors< / h5 >
< ul >
< li > Added < a href = "/constructor/help.countryCode" > help.countryCode< / a > - Country code and phone number pattern of a specific country< / li >
< li > Added < a href = "/constructor/help.country" > help.country< / a > - Name, ISO code, localized name and phone codes/patterns of a specific country< / li >
< li > Added < a href = "/constructor/help.countriesListNotModified" > help.countriesListNotModified< / a > - The country list has not changed< / li >
< li > Added < a href = "/constructor/help.countriesList" > help.countriesList< / a > - Name, ISO code, localized name and phone codes/patterns of all available countries< / li >
< / ul >
< h5 > < a class = "anchor" name = "changed-constructors" href = "#changed-constructors" > < i class = "anchor-icon" > < / i > < / a > Changed Constructors< / h5 >
< ul >
< li > Added < strong > flags< / strong > , < strong > requires_password< / strong > parameters in < a href = "/constructor/keyboardButtonCallback" > keyboardButtonCallback< / a > < / li >
< / ul >
< h4 > < a class = "anchor" name = "schema" href = "#schema" > < i class = "anchor-icon" > < / i > < / a > Schema< / h4 >
< div > < pre > < code > < a href = "/constructor/keyboardButtonCallback" > keyboardButtonCallback< / a > #35bbdb6b flags:< a href = "/type/%23" > #< / a > requires_password:flags.0?< a href = "/constructor/true" > true< / a > text:< a href = "/type/string" > string< / a > data:< a href = "/type/bytes" > bytes< / a > = < a href = "/type/KeyboardButton" > KeyboardButton< / a > ;\
< a href = "/constructor/help.countryCode" > help.countryCode< / a > #4203c5ef flags:< a href = "/type/%23" > #< / a > country_code:< a href = "/type/string" > string< / a > prefixes:flags.0?< a href = "/type/Vector%20t" > Vector< / a > < < a href = "/type/string" > string< / a > > patterns:flags.1?< a href = "/type/Vector%20t" > Vector< / a > < < a href = "/type/string" > string< / a > > = < a href = "/type/help.CountryCode" > help.CountryCode< / a > ;
< a href = "/constructor/help.country" > help.country< / a > #c3878e23 flags:< a href = "/type/%23" > #< / a > hidden:flags.0?< a href = "/constructor/true" > true< / a > iso2:< a href = "/type/string" > string< / a > default_name:< a href = "/type/string" > string< / a > name:flags.1?< a href = "/type/string" > string< / a > country_codes:< a href = "/type/Vector%20t" > Vector< / a > < < a href = "/type/help.CountryCode" > help.CountryCode< / a > > = < a href = "/type/help.Country" > help.Country< / a > ;
< a href = "/constructor/help.countriesListNotModified" > help.countriesListNotModified< / a > #93cc1f32 = < a href = "/type/help.CountriesList" > help.CountriesList< / a > ;
< a href = "/constructor/help.countriesList" > help.countriesList< / a > #87d0759e countries:< a href = "/type/Vector%20t" > Vector< / a > < < a href = "/type/help.Country" > help.Country< / a > > hash:< a href = "/type/int" > int< / a > = < a href = "/type/help.CountriesList" > help.CountriesList< / a > ;\
---functions---\
< a href = "/method/messages.sendEncrypted" > messages.sendEncrypted< / a > #44fa7a15 flags:< a href = "/type/%23" > #< / a > silent:flags.0?< a href = "/constructor/true" > true< / a > peer:< a href = "/type/InputEncryptedChat" > InputEncryptedChat< / a > random_id:< a href = "/type/long" > long< / a > data:< a href = "/type/bytes" > bytes< / a > = < a href = "/type/messages.SentEncryptedMessage" > messages.SentEncryptedMessage< / a > ;
< a href = "/method/messages.sendEncryptedFile" > messages.sendEncryptedFile< / a > #5559481d flags:< a href = "/type/%23" > #< / a > silent:flags.0?< a href = "/constructor/true" > true< / a > peer:< a href = "/type/InputEncryptedChat" > InputEncryptedChat< / a > random_id:< a href = "/type/long" > long< / a > data:< a href = "/type/bytes" > bytes< / a > file:< a href = "/type/InputEncryptedFile" > InputEncryptedFile< / a > = < a href = "/type/messages.SentEncryptedMessage" > messages.SentEncryptedMessage< / a > ;
< a href = "/method/messages.getBotCallbackAnswer" > messages.getBotCallbackAnswer< / a > #9342ca07 flags:< a href = "/type/%23" > #< / a > game:flags.1?< a href = "/constructor/true" > true< / a > peer:< a href = "/type/InputPeer" > InputPeer< / a > msg_id:< a href = "/type/int" > int< / a > data:flags.0?< a href = "/type/bytes" > bytes< / a > password:flags.2?< a href = "/type/InputCheckPasswordSRP" > InputCheckPasswordSRP< / a > = < a href = "/type/messages.BotCallbackAnswer" > messages.BotCallbackAnswer< / a > ;\
< a href = "/method/help.getCountriesList" > help.getCountriesList< / a > #735787a8 lang_code:< a href = "/type/string" > string< / a > hash:< a href = "/type/int" > int< / a > = < a href = "/type/help.CountriesList" > help.CountriesList< / a > ;\
< / code > < / pre > < / div >
< h3 > < a class = "anchor" name = "layer-117" href = "#layer-117" > < i class = "anchor-icon" > < / i > < / a > < a href = "/schema?layer=117" > Layer 117< / a > < / h3 >
< p > Added WebRTC endpoint constructors.< / p >
< h4 > < a class = "anchor" name = "schema-changes" href = "#schema-changes" > < i class = "anchor-icon" > < / i > < / a > Schema changes< / h4 >
< h5 > < a class = "anchor" name = "new-constructors" href = "#new-constructors" > < i class = "anchor-icon" > < / i > < / a > New Constructors< / h5 >
< ul >
< li > Added < a href = "/constructor/phoneConnectionWebrtc" > phoneConnectionWebrtc< / a > - WebRTC connection parameters< / li >
< / ul >
< h4 > < a class = "anchor" name = "schema" href = "#schema" > < i class = "anchor-icon" > < / i > < / a > Schema< / h4 >
< div > < pre > < code > < a href = "/constructor/phoneConnectionWebrtc" > phoneConnectionWebrtc< / a > #635fe375 flags:< a href = "/type/%23" > #< / a > turn:flags.0?< a href = "/constructor/true" > true< / a > stun:flags.1?< 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 > username:< a href = "/type/string" > string< / a > password:< a href = "/type/string" > string< / a > = < a href = "/type/PhoneConnection" > PhoneConnection< / a > ;\
< / code > < / pre > < / div >
< h3 > < a class = "anchor" name = "layer-116" href = "#layer-116" > < i class = "anchor-icon" > < / i > < / a > < a href = "/schema?layer=116" > Layer 116< / a > < / h3 >
< p > Added < a href = "/api/stats" > supergroup statistics< / a > and global privacy settings.< / p >
< h4 > < a class = "anchor" name = "schema-changes" href = "#schema-changes" > < i class = "anchor-icon" > < / i > < / a > Schema changes< / h4 >
< h5 > < a class = "anchor" name = "new-methods" href = "#new-methods" > < i class = "anchor-icon" > < / i > < / a > New Methods< / h5 >
< ul >
< li > Added < a href = "/method/stats.getMegagroupStats" > stats.getMegagroupStats< / a > - Get < a href = "/api/stats" > supergroup statistics< / a > < / li >
< li > Added < a href = "/method/account.getGlobalPrivacySettings" > account.getGlobalPrivacySettings< / a > - Get global privacy settings< / li >
< li > Added < a href = "/method/account.setGlobalPrivacySettings" > account.setGlobalPrivacySettings< / a > - Set global privacy settings< / li >
< li > Added < a href = "/method/help.dismissSuggestion" > help.dismissSuggestion< / a > - Dismiss a < a href = "/api/config#suggestions" > suggestion, see here for more info »< / a > .< / li >
< / ul >
< h5 > < a class = "anchor" name = "changed-methods" href = "#changed-methods" > < i class = "anchor-icon" > < / i > < / a > Changed Methods< / h5 >
< ul >
< li > Changed type of < a href = "/method/photos.updateProfilePhoto" > photos.updateProfilePhoto< / a > from < strong > UserProfilePhoto< / strong > to < strong > photos.Photo< / strong > < / li >
< li > Added < strong > flags< / strong > , < strong > video< / strong > , < strong > video_start_ts< / strong > parameters, changed type of < strong > file< / strong > from < strong > InputFile< / strong > to < strong > flags.0?InputFile< / strong > in < a href = "/method/photos.uploadProfilePhoto" > photos.uploadProfilePhoto< / a > < / li >
< / ul >
< h5 > < a class = "anchor" name = "new-constructors" href = "#new-constructors" > < i class = "anchor-icon" > < / i > < / a > New Constructors< / h5 >
< ul >
< li > Added < a href = "/constructor/statsGroupTopPoster" > statsGroupTopPoster< / a > - Information about an active user in a supergroup< / li >
< li > Added < a href = "/constructor/statsGroupTopAdmin" > statsGroupTopAdmin< / a > - Information about an active admin in a supergroup< / li >
< li > Added < a href = "/constructor/statsGroupTopInviter" > statsGroupTopInviter< / a > - Information about an active supergroup inviter< / li >
< li > Added < a href = "/constructor/stats.megagroupStats" > stats.megagroupStats< / a > - Supergroup < a href = "/api/stats" > statistics< / a > < / li >
< li > Added < a href = "/constructor/globalPrivacySettings" > globalPrivacySettings< / a > - Global privacy settings< / li >
< li > Added < a href = "/constructor/updateChannelParticipant" > updateChannelParticipant< / a > - A participant has left, joined, was banned or admined in a < a href = "/api/channel" > channel or supergroup< / a > .< / li >
< / ul >
< h5 > < a class = "anchor" name = "changed-constructors" href = "#changed-constructors" > < i class = "anchor-icon" > < / i > < / a > Changed Constructors< / h5 >
< ul >
< li > Added < strong > flags< / strong > , < strong > video< / strong > , < strong > video_start_ts< / strong > parameters, changed type of < strong > file< / strong > from < strong > InputFile< / strong > to < strong > flags.0?InputFile< / strong > in < a href = "/constructor/inputChatUploadedPhoto" > inputChatUploadedPhoto< / a > < / li >
< li > Added < strong > flags< / strong > , < strong > has_video< / strong > parameters in < a href = "/constructor/userProfilePhoto" > userProfilePhoto< / a > < / li >
< li > Added < strong > flags< / strong > , < strong > has_video< / strong > parameters in < a href = "/constructor/chatPhoto" > chatPhoto< / a > < / li >
< li > Added < strong > video_sizes< / strong > parameter in < a href = "/constructor/photo" > photo< / a > < / li >
< li > Added < strong > autoarchived< / strong > , < strong > geo_distance< / strong > parameters in < a href = "/constructor/peerSettings" > peerSettings< / a > < / li >
< li > Added < strong > flags< / strong > , < strong > folder_id< / strong > parameters in < a href = "/constructor/encryptedChatRequested" > encryptedChatRequested< / a > < / li >
< li > Added < strong > flags< / strong > , < strong > video_start_ts< / strong > parameters in < a href = "/constructor/videoSize" > videoSize< / a > < / li >
< / ul >
< h4 > < a class = "anchor" name = "schema" href = "#schema" > < i class = "anchor-icon" > < / i > < / a > Schema< / h4 >
< div > < pre > < code > < a href = "/constructor/inputChatUploadedPhoto" > inputChatUploadedPhoto< / a > #c642724e flags:< a href = "/type/%23" > #< / a > file:flags.0?< a href = "/type/InputFile" > InputFile< / a > video:flags.1?< a href = "/type/InputFile" > InputFile< / a > video_start_ts:flags.2?< a href = "/type/double" > double< / a > = < a href = "/type/InputChatPhoto" > InputChatPhoto< / a > ;\
< a href = "/constructor/userProfilePhoto" > userProfilePhoto< / a > #69d3ab26 flags:< a href = "/type/%23" > #< / a > has_video:flags.0?< a href = "/constructor/true" > true< / a > photo_id:< a href = "/type/long" > long< / a > photo_small:< a href = "/type/FileLocation" > FileLocation< / a > photo_big:< a href = "/type/FileLocation" > FileLocation< / a > dc_id:< a href = "/type/int" > int< / a > = < a href = "/type/UserProfilePhoto" > UserProfilePhoto< / a > ;\
< a href = "/constructor/chatPhoto" > chatPhoto< / a > #d20b9f3c flags:< a href = "/type/%23" > #< / a > has_video:flags.0?< a href = "/constructor/true" > true< / a > photo_small:< a href = "/type/FileLocation" > FileLocation< / a > photo_big:< a href = "/type/FileLocation" > FileLocation< / a > dc_id:< a href = "/type/int" > int< / a > = < a href = "/type/ChatPhoto" > ChatPhoto< / a > ;\
< a href = "/constructor/photo" > photo< / a > #fb197a65 flags:< a href = "/type/%23" > #< / a > has_stickers:flags.0?< a href = "/constructor/true" > true< / 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 > sizes:< a href = "/type/Vector%20t" > Vector< / a > < < a href = "/type/PhotoSize" > PhotoSize< / a > > video_sizes:flags.1?< a href = "/type/Vector%20t" > Vector< / a > < < a href = "/type/VideoSize" > VideoSize< / a > > dc_id:< a href = "/type/int" > int< / a > = < a href = "/type/Photo" > Photo< / a > ;
< a href = "/constructor/peerSettings" > peerSettings< / a > #733f2961 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 > geo_distance:flags.6?< a href = "/type/int" > int< / a > = < a href = "/type/PeerSettings" > PeerSettings< / a > ;\
< a href = "/constructor/encryptedChatRequested" > encryptedChatRequested< / a > #62718a82 flags:< a href = "/type/%23" > #< / a > folder_id:flags.0?< a href = "/type/int" > int< / a > id:< a href = "/type/int" > int< / a > access_hash:< a href = "/type/long" > long< / a > date:< a href = "/type/int" > int< / a > admin_id:< a href = "/type/int" > int< / a > participant_id:< a href = "/type/int" > int< / a > g_a:< a href = "/type/bytes" > bytes< / a > = < a href = "/type/EncryptedChat" > EncryptedChat< / a > ;\
< a href = "/constructor/videoSize" > videoSize< / a > #e831c556 flags:< a href = "/type/%23" > #< / a > type:< a href = "/type/string" > string< / a > location:< a href = "/type/FileLocation" > FileLocation< / a > w:< a href = "/type/int" > int< / a > h:< a href = "/type/int" > int< / a > size:< a href = "/type/int" > int< / a > video_start_ts:flags.0?< a href = "/type/double" > double< / a > = < a href = "/type/VideoSize" > VideoSize< / a > ;\
< a href = "/constructor/statsGroupTopPoster" > statsGroupTopPoster< / a > #18f3d0f7 user_id:< a href = "/type/int" > int< / a > messages:< a href = "/type/int" > int< / a > avg_chars:< a href = "/type/int" > int< / a > = < a href = "/type/StatsGroupTopPoster" > StatsGroupTopPoster< / a > ;
< a href = "/constructor/statsGroupTopAdmin" > statsGroupTopAdmin< / a > #6014f412 user_id:< a href = "/type/int" > int< / a > deleted:< a href = "/type/int" > int< / a > kicked:< a href = "/type/int" > int< / a > banned:< a href = "/type/int" > int< / a > = < a href = "/type/StatsGroupTopAdmin" > StatsGroupTopAdmin< / a > ;
< a href = "/constructor/statsGroupTopInviter" > statsGroupTopInviter< / a > #31962a4c user_id:< a href = "/type/int" > int< / a > invitations:< a href = "/type/int" > int< / a > = < a href = "/type/StatsGroupTopInviter" > StatsGroupTopInviter< / a > ;
< a href = "/constructor/stats.megagroupStats" > stats.megagroupStats< / a > #ef7ff916 period:< a href = "/type/StatsDateRangeDays" > StatsDateRangeDays< / a > members:< a href = "/type/StatsAbsValueAndPrev" > StatsAbsValueAndPrev< / a > messages:< a href = "/type/StatsAbsValueAndPrev" > StatsAbsValueAndPrev< / a > viewers:< a href = "/type/StatsAbsValueAndPrev" > StatsAbsValueAndPrev< / a > posters:< a href = "/type/StatsAbsValueAndPrev" > StatsAbsValueAndPrev< / a > growth_graph:< a href = "/type/StatsGraph" > StatsGraph< / a > members_graph:< a href = "/type/StatsGraph" > StatsGraph< / a > new_members_by_source_graph:< a href = "/type/StatsGraph" > StatsGraph< / a > languages_graph:< a href = "/type/StatsGraph" > StatsGraph< / a > messages_graph:< a href = "/type/StatsGraph" > StatsGraph< / a > actions_graph:< a href = "/type/StatsGraph" > StatsGraph< / a > top_hours_graph:< a href = "/type/StatsGraph" > StatsGraph< / a > weekdays_graph:< a href = "/type/StatsGraph" > StatsGraph< / a > top_posters:< a href = "/type/Vector%20t" > Vector< / a > < < a href = "/type/StatsGroupTopPoster" > StatsGroupTopPoster< / a > > top_admins:< a href = "/type/Vector%20t" > Vector< / a > < < a href = "/type/StatsGroupTopAdmin" > StatsGroupTopAdmin< / a > > top_inviters:< a href = "/type/Vector%20t" > Vector< / a > < < a href = "/type/StatsGroupTopInviter" > StatsGroupTopInviter< / a > > users:< a href = "/type/Vector%20t" > Vector< / a > < < a href = "/type/User" > User< / a > > = < a href = "/type/stats.MegagroupStats" > stats.MegagroupStats< / a > ;\
< a href = "/constructor/globalPrivacySettings" > globalPrivacySettings< / a > #bea2f424 flags:< a href = "/type/%23" > #< / a > archive_and_mute_new_noncontact_peers:flags.0?< a href = "/type/Bool" > Bool< / a > = < a href = "/type/GlobalPrivacySettings" > GlobalPrivacySettings< / a > ;\
< a href = "/constructor/updateChannelParticipant" > updateChannelParticipant< / a > #65d2b464 flags:< a href = "/type/%23" > #< / a > channel_id:< a href = "/type/int" > int< / a > date:< a href = "/type/int" > int< / a > user_id:< a href = "/type/int" > int< / a > prev_participant:flags.0?< a href = "/type/ChannelParticipant" > ChannelParticipant< / a > new_participant:flags.1?< a href = "/type/ChannelParticipant" > ChannelParticipant< / a > qts:< a href = "/type/int" > int< / a > = < a href = "/type/Update" > Update< / a > ;\
---functions---\
< a href = "/method/photos.updateProfilePhoto" > photos.updateProfilePhoto< / a > #72d4742c id:< a href = "/type/InputPhoto" > InputPhoto< / a > = < a href = "/type/photos.Photo" > photos.Photo< / a > ;
< a href = "/method/photos.uploadProfilePhoto" > photos.uploadProfilePhoto< / a > #89f30f69 flags:< a href = "/type/%23" > #< / a > file:flags.0?< a href = "/type/InputFile" > InputFile< / a > video:flags.1?< a href = "/type/InputFile" > InputFile< / a > video_start_ts:flags.2?< a href = "/type/double" > double< / a > = < a href = "/type/photos.Photo" > photos.Photo< / a > ;\
< a href = "/method/stats.getMegagroupStats" > stats.getMegagroupStats< / a > #dcdf8607 flags:< a href = "/type/%23" > #< / a > dark:flags.0?< a href = "/constructor/true" > true< / a > channel:< a href = "/type/InputChannel" > InputChannel< / a > = < a href = "/type/stats.MegagroupStats" > stats.MegagroupStats< / a > ;\
< a href = "/method/account.getGlobalPrivacySettings" > account.getGlobalPrivacySettings< / a > #eb2b4cf6 = < a href = "/type/GlobalPrivacySettings" > GlobalPrivacySettings< / a > ;
< a href = "/method/account.setGlobalPrivacySettings" > account.setGlobalPrivacySettings< / a > #1edaaac2 settings:< a href = "/type/GlobalPrivacySettings" > GlobalPrivacySettings< / a > = < a href = "/type/GlobalPrivacySettings" > GlobalPrivacySettings< / a > ;\
< a href = "/method/help.dismissSuggestion" > help.dismissSuggestion< / a > #077fa99f suggestion:< a href = "/type/string" > string< / a > = < a href = "/type/Bool" > Bool< / a > ;\
< / code > < / pre > < / div >
< h3 > < a class = "anchor" name = "layer-115" href = "#layer-115" > < i class = "anchor-icon" > < / i > < / a > < a href = "/schema?layer=115" > Layer 115< / a > < / h3 >
< p > Added a chat invitation that also allows peeking into the group to read messages without joining it.< / p >
< h4 > < a class = "anchor" name = "schema-changes" href = "#schema-changes" > < i class = "anchor-icon" > < / i > < / a > Schema changes< / h4 >
< h5 > < a class = "anchor" name = "new-constructors" href = "#new-constructors" > < i class = "anchor-icon" > < / i > < / a > New Constructors< / h5 >
< ul >
< li > Added < a href = "/constructor/chatInvitePeek" > chatInvitePeek< / a > - A chat invitation that also allows peeking into the group to read messages without joining it.< / li >
< / ul >
< h4 > < a class = "anchor" name = "schema" href = "#schema" > < i class = "anchor-icon" > < / i > < / a > Schema< / h4 >
< div > < pre > < code > < a href = "/constructor/chatInvitePeek" > chatInvitePeek< / a > #61695cb0 chat:< a href = "/type/Chat" > Chat< / a > expires:< a href = "/type/int" > int< / a > = < a href = "/type/ChatInvite" > ChatInvite< / a > ;\
< / code > < / pre > < / div >
< h3 > < a class = "anchor" name = "layer-114" href = "#layer-114" > < i class = "anchor-icon" > < / i > < / a > < a href = "/schema?layer=114" > Layer 114< / a > < / h3 >
< p > Added WebRTC signaling methods.< / p >
< h4 > < a class = "anchor" name = "schema-changes" href = "#schema-changes" > < i class = "anchor-icon" > < / i > < / a > Schema changes< / h4 >
< h5 > < a class = "anchor" name = "new-methods" href = "#new-methods" > < i class = "anchor-icon" > < / i > < / a > New Methods< / h5 >
< ul >
< li > Added < a href = "/method/phone.sendSignalingData" > phone.sendSignalingData< / a > - Send VoIP signaling data< / li >
< / ul >
< h5 > < a class = "anchor" name = "changed-methods" href = "#changed-methods" > < i class = "anchor-icon" > < / i > < / a > Changed Methods< / h5 >
< ul >
< li > Removed < strong > grouped< / strong > parameter in < a href = "/method/messages.forwardMessages" > messages.forwardMessages< / a > < / li >
< li > Added < strong > unpin< / strong > , < strong > pm_oneside< / strong > parameters in < a href = "/method/messages.updatePinnedMessage" > messages.updatePinnedMessage< / a > < / li >
< / ul >
< h5 > < a class = "anchor" name = "deleted-methods" href = "#deleted-methods" > < i class = "anchor-icon" > < / i > < / a > Deleted Methods< / h5 >
< ul >
< li > Removed messages.searchGifs< / li >
< / ul >
< h5 > < a class = "anchor" name = "new-constructors" href = "#new-constructors" > < i class = "anchor-icon" > < / i > < / a > New Constructors< / h5 >
< ul >
< li > Added < a href = "/constructor/videoSize" > videoSize< / a > - < a href = "/api/files#animated-profile-pictures" > Animated profile picture< / a > in MPEG4 format< / li >
< li > Added < a href = "/constructor/updatePhoneCallSignalingData" > updatePhoneCallSignalingData< / a > - Incoming phone call signaling payload< / li >
< / ul >
< h5 > < a class = "anchor" name = "changed-constructors" href = "#changed-constructors" > < i class = "anchor-icon" > < / i > < / a > Changed Constructors< / h5 >
< ul >
< li > Added < strong > video_calls_available< / strong > parameter in < a href = "/constructor/userFull" > userFull< / a > < / li >
< li > Added < strong > force_file< / strong > parameter in < a href = "/constructor/inputMediaUploadedDocument" > inputMediaUploadedDocument< / a > < / li >
< li > Added < strong > video_thumbs< / strong > parameter in < a href = "/constructor/document" > document< / a > < / li >
< li > Added < strong > apply_min_photo< / strong > parameter in < a href = "/constructor/user" > user< / a > < / li >
< li > Added < strong > blocked< / strong > parameter, changed type of < strong > can_view_stats< / strong > from < strong > flags.12?true< / strong > to < strong > flags.20?true< / strong > in < a href = "/constructor/channelFull" > channelFull< / a > < / li >
< li > Changed type of < strong > video< / strong > from < strong > flags.5?true< / strong > to < strong > flags.6?true< / strong > in < a href = "/constructor/phoneCallWaiting" > phoneCallWaiting< / a > < / li >
< li > Changed type of < strong > video< / strong > from < strong > flags.5?true< / strong > to < strong > flags.6?true< / strong > in < a href = "/constructor/phoneCallRequested" > phoneCallRequested< / a > < / li >
< li > Changed type of < strong > video< / strong > from < strong > flags.5?true< / strong > to < strong > flags.6?true< / strong > in < a href = "/constructor/phoneCallAccepted" > phoneCallAccepted< / a > < / li >
< li > Added < strong > video< / strong > parameter in < a href = "/constructor/phoneCall" > phoneCall< / a > < / li >
< li > Changed type of < strong > video< / strong > from < strong > flags.5?true< / strong > to < strong > flags.6?true< / strong > in < a href = "/constructor/phoneCallDiscarded" > phoneCallDiscarded< / a > < / li >
< li > Added < strong > anonymous< / strong > parameter in < a href = "/constructor/chatAdminRights" > chatAdminRights< / a > < / li >
< / ul >
< h5 > < a class = "anchor" name = "deleted-constructors" href = "#deleted-constructors" > < i class = "anchor-icon" > < / i > < / a > Deleted Constructors< / h5 >
< ul >
< li > Removed foundGif< / li >
< li > Removed foundGifCached< / li >
< li > Removed inputMediaGifExternal< / li >
< li > Removed messages.foundGifs< / li >
< / ul >
< h4 > < a class = "anchor" name = "schema" href = "#schema" > < i class = "anchor-icon" > < / i > < / a > Schema< / h4 >
< div > < pre > < code > < a href = "/constructor/userFull" > userFull< / a > #edf17c12 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 > user:< a href = "/type/User" > User< / 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 > = < a href = "/type/UserFull" > UserFull< / a > ;\
< a href = "/constructor/inputMediaUploadedDocument" > inputMediaUploadedDocument< / a > #5b38c6c1 flags:< a href = "/type/%23" > #< / a > nosound_video:flags.3?< a href = "/constructor/true" > true< / a > force_file:flags.4?< a href = "/constructor/true" > true< / a > file:< a href = "/type/InputFile" > InputFile< / a > thumb:flags.2?< a href = "/type/InputFile" > InputFile< / a > mime_type:< a href = "/type/string" > string< / a > attributes:< a href = "/type/Vector%20t" > Vector< / a > < < a href = "/type/DocumentAttribute" > DocumentAttribute< / a > > stickers:flags.0?< a href = "/type/Vector%20t" > Vector< / a > < < a href = "/type/InputDocument" > InputDocument< / a > > ttl_seconds:flags.1?< a href = "/type/int" > int< / a > = < a href = "/type/InputMedia" > InputMedia< / a > ;\
< a href = "/constructor/document" > document< / a > #1e87342b 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/int" > int< / 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 > ;\
< a href = "/constructor/user" > user< / a > #938458c1 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 > id:< a href = "/type/int" > int< / 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 > ;\
< a href = "/constructor/channelFull" > channelFull< / a > #f0e6672a 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/int" > int< / 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:< 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/int" > int< / 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/int" > int< / 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 > = < a href = "/type/ChatFull" > ChatFull< / a > ;\
< a href = "/constructor/phoneCallWaiting" > phoneCallWaiting< / a > #1b8f4ad1 flags:< a href = "/type/%23" > #< / a > video:flags.6?< a href = "/constructor/true" > true< / a > id:< a href = "/type/long" > long< / a > access_hash:< a href = "/type/long" > long< / a > date:< a href = "/type/int" > int< / a > admin_id:< a href = "/type/int" > int< / a > participant_id:< a href = "/type/int" > int< / a > protocol:< a href = "/type/PhoneCallProtocol" > PhoneCallProtocol< / a > receive_date:flags.0?< a href = "/type/int" > int< / a > = < a href = "/type/PhoneCall" > PhoneCall< / a > ;
< a href = "/constructor/phoneCallRequested" > phoneCallRequested< / a > #87eabb53 flags:< a href = "/type/%23" > #< / a > video:flags.6?< a href = "/constructor/true" > true< / a > id:< a href = "/type/long" > long< / a > access_hash:< a href = "/type/long" > long< / a > date:< a href = "/type/int" > int< / a > admin_id:< a href = "/type/int" > int< / a > participant_id:< a href = "/type/int" > int< / a > g_a_hash:< a href = "/type/bytes" > bytes< / a > protocol:< a href = "/type/PhoneCallProtocol" > PhoneCallProtocol< / a > = < a href = "/type/PhoneCall" > PhoneCall< / a > ;
< a href = "/constructor/phoneCallAccepted" > phoneCallAccepted< / a > #997c454a flags:< a href = "/type/%23" > #< / a > video:flags.6?< a href = "/constructor/true" > true< / a > id:< a href = "/type/long" > long< / a > access_hash:< a href = "/type/long" > long< / a > date:< a href = "/type/int" > int< / a > admin_id:< a href = "/type/int" > int< / a > participant_id:< a href = "/type/int" > int< / a > g_b:< a href = "/type/bytes" > bytes< / a > protocol:< a href = "/type/PhoneCallProtocol" > PhoneCallProtocol< / a > = < a href = "/type/PhoneCall" > PhoneCall< / a > ;
< a href = "/constructor/phoneCall" > phoneCall< / a > #8742ae7f flags:< a href = "/type/%23" > #< / a > p2p_allowed:flags.5?< a href = "/constructor/true" > true< / a > video:flags.6?< a href = "/constructor/true" > true< / a > id:< a href = "/type/long" > long< / a > access_hash:< a href = "/type/long" > long< / a > date:< a href = "/type/int" > int< / a > admin_id:< a href = "/type/int" > int< / a > participant_id:< a href = "/type/int" > int< / a > g_a_or_b:< a href = "/type/bytes" > bytes< / a > key_fingerprint:< a href = "/type/long" > long< / a > protocol:< a href = "/type/PhoneCallProtocol" > PhoneCallProtocol< / a > connections:< a href = "/type/Vector%20t" > Vector< / a > < < a href = "/type/PhoneConnection" > PhoneConnection< / a > > start_date:< a href = "/type/int" > int< / a > = < a href = "/type/PhoneCall" > PhoneCall< / a > ;
< a href = "/constructor/phoneCallDiscarded" > phoneCallDiscarded< / a > #50ca4de1 flags:< a href = "/type/%23" > #< / a > need_rating:flags.2?< a href = "/constructor/true" > true< / a > need_debug:flags.3?< a href = "/constructor/true" > true< / a > video:flags.6?< a href = "/constructor/true" > true< / a > id:< a href = "/type/long" > long< / a > reason:flags.0?< a href = "/type/PhoneCallDiscardReason" > PhoneCallDiscardReason< / a > duration:flags.1?< a href = "/type/int" > int< / a > = < a href = "/type/PhoneCall" > PhoneCall< / a > ;\
< a href = "/constructor/chatAdminRights" > chatAdminRights< / a > #5fb224d5 flags:< a href = "/type/%23" > #< / a > change_info:flags.0?< a href = "/constructor/true" > true< / a > post_messages:flags.1?< a href = "/constructor/true" > true< / a > edit_messages:flags.2?< a href = "/constructor/true" > true< / a > delete_messages:flags.3?< a href = "/constructor/true" > true< / a > ban_users:flags.4?< a href = "/constructor/true" > true< / a > invite_users:flags.5?< a href = "/constructor/true" > true< / a > pin_messages:flags.7?< a href = "/constructor/true" > true< / a > add_admins:flags.9?< a href = "/constructor/true" > true< / a > anonymous:flags.10?< a href = "/constructor/true" > true< / a > = < a href = "/type/ChatAdminRights" > ChatAdminRights< / a > ;\
< a href = "/constructor/videoSize" > videoSize< / a > #435bb987 type:< a href = "/type/string" > string< / a > location:< a href = "/type/FileLocation" > FileLocation< / a > w:< a href = "/type/int" > int< / a > h:< a href = "/type/int" > int< / a > size:< a href = "/type/int" > int< / a > = < a href = "/type/VideoSize" > VideoSize< / a > ;\
< a href = "/constructor/updatePhoneCallSignalingData" > updatePhoneCallSignalingData< / a > #2661bf09 phone_call_id:< a href = "/type/long" > long< / a > data:< a href = "/type/bytes" > bytes< / a > = < a href = "/type/Update" > Update< / a > ;\
---functions---\
< a href = "/method/messages.forwardMessages" > messages.forwardMessages< / a > #d9fee60e 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 > 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 > = < a href = "/type/Updates" > Updates< / a > ;
< a href = "/method/messages.updatePinnedMessage" > messages.updatePinnedMessage< / a > #d2aaf7ec flags:< a href = "/type/%23" > #< / a > silent:flags.0?< a href = "/constructor/true" > true< / a > unpin:flags.1?< a href = "/constructor/true" > true< / a > pm_oneside:flags.2?< a href = "/constructor/true" > true< / a > peer:< a href = "/type/InputPeer" > InputPeer< / a > id:< a href = "/type/int" > int< / a > = < a href = "/type/Updates" > Updates< / a > ;\
< a href = "/method/phone.sendSignalingData" > phone.sendSignalingData< / a > #ff7a9383 peer:< a href = "/type/InputPhoneCall" > InputPhoneCall< / a > data:< a href = "/type/bytes" > bytes< / a > = < a href = "/type/Bool" > Bool< / a > ;\
< / code > < / pre > < / div >
< h3 > < a class = "anchor" name = "layer-113" href = "#layer-113" > < i class = "anchor-icon" > < / i > < / a > < a href = "/schema?layer=113" > Layer 113< / a > < / h3 >
< p > Public Service Announcement constructors and better PUSH notifications.< br > Notice that all < code > PINNED_*< / code > < a href = "https://core.telegram.org/api/push-updates#possible-notifications" > PUSH notifications< / a > have two variants: one for groups, and one for channels.< / p >
< h4 > < a class = "anchor" name = "schema-changes" href = "#schema-changes" > < i class = "anchor-icon" > < / i > < / a > Schema changes< / h4 >
< h5 > < a class = "anchor" name = "new-methods" href = "#new-methods" > < i class = "anchor-icon" > < / i > < / a > New Methods< / h5 >
< ul >
< li > Added < a href = "/method/help.getPromoData" > help.getPromoData< / a > - Get MTProxy/Public Service Announcement information< / li >
< li > Added < a href = "/method/help.hidePromoData" > help.hidePromoData< / a > - Hide MTProxy/Public Service Announcement information< / li >
< / ul >
< h5 > < a class = "anchor" name = "deleted-methods" href = "#deleted-methods" > < i class = "anchor-icon" > < / i > < / a > Deleted Methods< / h5 >
< ul >
< li > Removed help.getProxyData< / li >
< / ul >
< h5 > < a class = "anchor" name = "new-constructors" href = "#new-constructors" > < i class = "anchor-icon" > < / i > < / a > New Constructors< / h5 >
< ul >
< li > Added < a href = "/constructor/help.promoDataEmpty" > help.promoDataEmpty< / a > - No PSA/MTProxy info is available< / li >
< li > Added < a href = "/constructor/help.promoData" > help.promoData< / a > - MTProxy/Public Service Announcement information< / li >
< / ul >
< h5 > < a class = "anchor" name = "changed-constructors" href = "#changed-constructors" > < i class = "anchor-icon" > < / i > < / a > Changed Constructors< / h5 >
< ul >
< li > Added < strong > psa_type< / strong > parameter in < a href = "/constructor/messageFwdHeader" > messageFwdHeader< / a > < / li >
< / ul >
< h5 > < a class = "anchor" name = "deleted-constructors" href = "#deleted-constructors" > < i class = "anchor-icon" > < / i > < / a > Deleted Constructors< / h5 >
< ul >
< li > Removed help.proxyDataEmpty< / li >
< li > Removed help.proxyDataPromo< / li >
< / ul >
< h4 > < a class = "anchor" name = "push-notification-changes" href = "#push-notification-changes" > < i class = "anchor-icon" > < / i > < / a > PUSH notification changes< / h4 >
< h5 > < a class = "anchor" name = "new-push-notifications" href = "#new-push-notifications" > < i class = "anchor-icon" > < / i > < / a > New PUSH notifications< / h5 >
< ul >
< li > Added < a href = "/api/push-updates#possible-notifications" > CHANNEL_MESSAGE_QUIZ< / a > - < code > {1} posted a quiz {2}< / code > < / li >
< li > Added < a href = "/api/push-updates#possible-notifications" > CHAT_MESSAGE_QUIZ< / a > - < code > {1} sent a quiz {3} to the group {2}< / code > < / li >
< li > Added < a href = "/api/push-updates#possible-notifications" > MESSAGE_QUIZ< / a > - < code > {1} sent you a quiz {2}< / code > < / li >
< li > Added < a href = "/api/push-updates#possible-notifications" > PINNED_QUIZ< / a > - < code > {1} pinned a quiz {2}< / code > < / li >
< / ul >
< h5 > < a class = "anchor" name = "changed-push-notifications" href = "#changed-push-notifications" > < i class = "anchor-icon" > < / i > < / a > Changed PUSH notifications< / h5 >
< ul >
< li > Added < strong > scheduled< / strong > additional parameter in < a href = "/api/push-updates#possible-notifications" > CHANNEL_MESSAGE_AUDIO< / a > < / li >
< li > Added < strong > scheduled< / strong > additional parameter in < a href = "/api/push-updates#possible-notifications" > CHANNEL_MESSAGE_CONTACT< / a > < / li >
< li > Added < strong > scheduled< / strong > additional parameter in < a href = "/api/push-updates#possible-notifications" > CHANNEL_MESSAGE_DOC< / a > < / li >
< li > Added < strong > scheduled< / strong > additional parameter in < a href = "/api/push-updates#possible-notifications" > CHANNEL_MESSAGE_GAME< / a > < / li >
< li > Added < strong > scheduled< / strong > additional parameter in < a href = "/api/push-updates#possible-notifications" > CHANNEL_MESSAGE_GAME_SCORE< / a > < / li >
< li > Added < strong > scheduled< / strong > additional parameter in < a href = "/api/push-updates#possible-notifications" > CHANNEL_MESSAGE_GEO< / a > < / li >
< li > Added < strong > scheduled< / strong > additional parameter in < a href = "/api/push-updates#possible-notifications" > CHANNEL_MESSAGE_GEOLIVE< / a > < / li >
< li > Added < strong > scheduled< / strong > additional parameter in < a href = "/api/push-updates#possible-notifications" > CHANNEL_MESSAGE_GIF< / a > < / li >
< li > Added < strong > scheduled< / strong > additional parameter in < a href = "/api/push-updates#possible-notifications" > CHANNEL_MESSAGE_NOTEXT< / a > < / li >
< li > Added < strong > scheduled< / strong > additional parameter in < a href = "/api/push-updates#possible-notifications" > CHANNEL_MESSAGE_PHOTO< / a > < / li >
< li > Added < strong > scheduled< / strong > additional parameter in < a href = "/api/push-updates#possible-notifications" > CHANNEL_MESSAGE_POLL< / a > < / li >
< li > Added < strong > scheduled< / strong > additional parameter in < a href = "/api/push-updates#possible-notifications" > CHANNEL_MESSAGE_ROUND< / a > < / li >
< li > Added < strong > scheduled< / strong > additional parameter in < a href = "/api/push-updates#possible-notifications" > CHANNEL_MESSAGE_STICKER< / a > < / li >
< li > Added < strong > scheduled< / strong > additional parameter in < a href = "/api/push-updates#possible-notifications" > CHANNEL_MESSAGE_TEXT< / a > < / li >
< li > Added < strong > scheduled< / strong > additional parameter in < a href = "/api/push-updates#possible-notifications" > CHANNEL_MESSAGE_VIDEO< / a > < / li >
< li > Added < strong > scheduled< / strong > additional parameter in < a href = "/api/push-updates#possible-notifications" > CHAT_MESSAGE_AUDIO< / a > < / li >
< li > Added < strong > scheduled< / strong > additional parameter in < a href = "/api/push-updates#possible-notifications" > CHAT_MESSAGE_CONTACT< / a > < / li >
< li > Added < strong > scheduled< / strong > additional parameter in < a href = "/api/push-updates#possible-notifications" > CHAT_MESSAGE_DOC< / a > < / li >
< li > Added < strong > scheduled< / strong > additional parameter in < a href = "/api/push-updates#possible-notifications" > CHAT_MESSAGE_GAME< / a > < / li >
< li > Added < strong > scheduled< / strong > additional parameter in < a href = "/api/push-updates#possible-notifications" > CHAT_MESSAGE_GAME_SCORE< / a > < / li >
< li > Added < strong > scheduled< / strong > additional parameter in < a href = "/api/push-updates#possible-notifications" > CHAT_MESSAGE_GEO< / a > < / li >
< li > Added < strong > scheduled< / strong > additional parameter in < a href = "/api/push-updates#possible-notifications" > CHAT_MESSAGE_GEOLIVE< / a > < / li >
< li > Added < strong > scheduled< / strong > additional parameter in < a href = "/api/push-updates#possible-notifications" > CHAT_MESSAGE_GIF< / a > < / li >
< li > Added < strong > scheduled< / strong > additional parameter in < a href = "/api/push-updates#possible-notifications" > CHAT_MESSAGE_INVOICE< / a > < / li >
< li > Added < strong > scheduled< / strong > additional parameter in < a href = "/api/push-updates#possible-notifications" > CHAT_MESSAGE_NOTEXT< / a > < / li >
< li > Added < strong > scheduled< / strong > additional parameter in < a href = "/api/push-updates#possible-notifications" > CHAT_MESSAGE_PHOTO< / a > < / li >
< li > Added < strong > scheduled< / strong > additional parameter in < a href = "/api/push-updates#possible-notifications" > CHAT_MESSAGE_POLL< / a > < / li >
< li > Added < strong > scheduled< / strong > additional parameter in < a href = "/api/push-updates#possible-notifications" > CHAT_MESSAGE_ROUND< / a > < / li >
< li > Added < strong > scheduled< / strong > additional parameter in < a href = "/api/push-updates#possible-notifications" > CHAT_MESSAGE_STICKER< / a > < / li >
< li > Added < strong > scheduled< / strong > additional parameter in < a href = "/api/push-updates#possible-notifications" > CHAT_MESSAGE_TEXT< / a > < / li >
< li > Added < strong > scheduled< / strong > additional parameter in < a href = "/api/push-updates#possible-notifications" > CHAT_MESSAGE_VIDEO< / a > < / li >
< li > Added < strong > scheduled< / strong > additional parameter in < a href = "/api/push-updates#possible-notifications" > MESSAGE_AUDIO< / a > < / li >
< li > Added < strong > scheduled< / strong > additional parameter in < a href = "/api/push-updates#possible-notifications" > MESSAGE_CONTACT< / a > < / li >
< li > Added < strong > scheduled< / strong > additional parameter in < a href = "/api/push-updates#possible-notifications" > MESSAGE_DOC< / a > < / li >
< li > Added < strong > scheduled< / strong > additional parameter in < a href = "/api/push-updates#possible-notifications" > MESSAGE_GAME< / a > < / li >
< li > Added < strong > scheduled< / strong > additional parameter in < a href = "/api/push-updates#possible-notifications" > MESSAGE_GAME_SCORE< / a > < / li >
< li > Added < strong > scheduled< / strong > additional parameter in < a href = "/api/push-updates#possible-notifications" > MESSAGE_GEO< / a > < / li >
< li > Added < strong > scheduled< / strong > additional parameter in < a href = "/api/push-updates#possible-notifications" > MESSAGE_GEOLIVE< / a > < / li >
< li > Added < strong > scheduled< / strong > additional parameter in < a href = "/api/push-updates#possible-notifications" > MESSAGE_GIF< / a > < / li >
< li > Added < strong > scheduled< / strong > additional parameter in < a href = "/api/push-updates#possible-notifications" > MESSAGE_INVOICE< / a > < / li >
< li > Added < strong > scheduled< / strong > additional parameter in < a href = "/api/push-updates#possible-notifications" > MESSAGE_NOTEXT< / a > < / li >
< li > Added < strong > scheduled< / strong > additional parameter in < a href = "/api/push-updates#possible-notifications" > MESSAGE_PHOTO< / a > < / li >
< li > Added < strong > scheduled< / strong > additional parameter in < a href = "/api/push-updates#possible-notifications" > MESSAGE_PHOTO_SECRET< / a > < / li >
< li > Added < strong > scheduled< / strong > additional parameter in < a href = "/api/push-updates#possible-notifications" > MESSAGE_POLL< / a > < / li >
< li > Added < strong > scheduled< / strong > additional parameter in < a href = "/api/push-updates#possible-notifications" > MESSAGE_ROUND< / a > < / li >
< li > Added < strong > scheduled< / strong > additional parameter in < a href = "/api/push-updates#possible-notifications" > MESSAGE_SCREENSHOT< / a > < / li >
< li > Added < strong > scheduled< / strong > additional parameter in < a href = "/api/push-updates#possible-notifications" > MESSAGE_STICKER< / a > < / li >
< li > Added < strong > scheduled< / strong > additional parameter in < a href = "/api/push-updates#possible-notifications" > MESSAGE_TEXT< / a > < / li >
< li > Added < strong > scheduled< / strong > additional parameter in < a href = "/api/push-updates#possible-notifications" > MESSAGE_VIDEO< / a > < / li >
< li > Added < strong > scheduled< / strong > additional parameter in < a href = "/api/push-updates#possible-notifications" > MESSAGE_VIDEO_SECRET< / a > < / li >
< / ul >
< h4 > < a class = "anchor" name = "schema" href = "#schema" > < i class = "anchor-icon" > < / i > < / a > Schema< / h4 >
< div > < pre > < code > < a href = "/constructor/messageFwdHeader" > messageFwdHeader< / a > #353a686b flags:< a href = "/type/%23" > #< / a > from_id:flags.0?< a href = "/type/int" > int< / a > from_name:flags.5?< a href = "/type/string" > string< / a > date:< a href = "/type/int" > int< / a > channel_id:flags.1?< a href = "/type/int" > int< / a > channel_post:flags.2?< a href = "/type/int" > int< / a > post_author:flags.3?< a href = "/type/string" > string< / a > saved_from_peer:flags.4?< a href = "/type/Peer" > Peer< / a > saved_from_msg_id:flags.4?< a href = "/type/int" > int< / a > psa_type:flags.6?< a href = "/type/string" > string< / a > = < a href = "/type/MessageFwdHeader" > MessageFwdHeader< / a > ;\
< a href = "/constructor/help.promoDataEmpty" > help.promoDataEmpty< / a > #98f6ac75 expires:< a href = "/type/int" > int< / a > = < a href = "/type/help.PromoData" > help.PromoData< / a > ;
< a href = "/constructor/help.promoData" > help.promoData< / a > #8c39793f flags:< a href = "/type/%23" > #< / a > proxy:flags.0?< a href = "/constructor/true" > true< / a > expires:< a href = "/type/int" > int< / a > peer:< 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 > > psa_type:flags.1?< a href = "/type/string" > string< / a > psa_message:flags.2?< a href = "/type/string" > string< / a > = < a href = "/type/help.PromoData" > help.PromoData< / a > ;\
---functions---\
< a href = "/method/help.getPromoData" > help.getPromoData< / a > #c0977421 = < a href = "/type/help.PromoData" > help.PromoData< / a > ;
< a href = "/method/help.hidePromoData" > help.hidePromoData< / a > #1e251c95 peer:< a href = "/type/InputPeer" > InputPeer< / a > = < a href = "/type/Bool" > Bool< / a > ;\
< / code > < / pre > < / div >
< h3 > < a class = "anchor" name = "layer-112" href = "#layer-112" > < i class = "anchor-icon" > < / i > < / a > < a href = "/schema?layer=112" > Layer 112< / a > < / h3 >
< h4 > < a class = "anchor" name = "schema-changes" href = "#schema-changes" > < i class = "anchor-icon" > < / i > < / a > Schema changes< / h4 >
< h5 > < a class = "anchor" name = "new-methods" href = "#new-methods" > < i class = "anchor-icon" > < / i > < / a > New Methods< / h5 >
< ul >
< li > Added < a href = "/method/messages.getOldFeaturedStickers" > messages.getOldFeaturedStickers< / a > - Method for fetching previously featured stickers< / li >
< / ul >
< h5 > < a class = "anchor" name = "changed-constructors" href = "#changed-constructors" > < i class = "anchor-icon" > < / i > < / a > Changed Constructors< / h5 >
< ul >
< li > Added < strong > count< / strong > parameter in < a href = "/constructor/messages.featuredStickersNotModified" > messages.featuredStickersNotModified< / a > < / li >
< li > Added < strong > count< / strong > parameter in < a href = "/constructor/messages.featuredStickers" > messages.featuredStickers< / a > < / li >
< li > Added < strong > close_period< / strong > , < strong > close_date< / strong > parameters in < a href = "/constructor/poll" > poll< / a > < / li >
< li > Added < strong > solution< / strong > , < strong > solution_entities< / strong > parameters in < a href = "/constructor/pollResults" > pollResults< / a > < / li >
< li > Added < strong > solution< / strong > , < strong > solution_entities< / strong > parameters in < a href = "/constructor/inputMediaPoll" > inputMediaPoll< / a > < / li >
< li > Added < strong > emoticon< / strong > parameter in < a href = "/constructor/inputMediaDice" > inputMediaDice< / a > < / li >
< li > Added < strong > emoticon< / strong > parameter in < a href = "/constructor/messageMediaDice" > messageMediaDice< / a > < / li >
< li > Added < strong > emoticon< / strong > parameter in < a href = "/constructor/inputStickerSetDice" > inputStickerSetDice< / a > < / li >
< / ul >
< h4 > < a class = "anchor" name = "schema" href = "#schema" > < i class = "anchor-icon" > < / i > < / a > Schema< / h4 >
< div > < pre > < code > < a href = "/constructor/messages.featuredStickersNotModified" > messages.featuredStickersNotModified< / a > #c6dc0c66 count:< a href = "/type/int" > int< / a > = < a href = "/type/messages.FeaturedStickers" > messages.FeaturedStickers< / a > ;
< a href = "/constructor/messages.featuredStickers" > messages.featuredStickers< / a > #b6abc341 hash:< a href = "/type/int" > int< / 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 > ;\
< a href = "/constructor/poll" > poll< / a > #86e18161 id:< a href = "/type/long" > long< / a > flags:< a href = "/type/%23" > #< / a > closed:flags.0?< a href = "/constructor/true" > true< / a > public_voters:flags.1?< a href = "/constructor/true" > true< / a > multiple_choice:flags.2?< a href = "/constructor/true" > true< / a > quiz:flags.3?< a href = "/constructor/true" > true< / a > question:< a href = "/type/string" > string< / a > answers:< a href = "/type/Vector%20t" > Vector< / a > < < a href = "/type/PollAnswer" > PollAnswer< / a > > close_period:flags.4?< a href = "/type/int" > int< / a > close_date:flags.5?< a href = "/type/int" > int< / a > = < a href = "/type/Poll" > Poll< / a > ;
< a href = "/constructor/pollResults" > pollResults< / a > #badcc1a3 flags:< a href = "/type/%23" > #< / a > min:flags.0?< a href = "/constructor/true" > true< / a > results:flags.1?< a href = "/type/Vector%20t" > Vector< / a > < < a href = "/type/PollAnswerVoters" > PollAnswerVoters< / a > > total_voters:flags.2?< a href = "/type/int" > int< / a > recent_voters:flags.3?< a href = "/type/Vector%20t" > Vector< / a > < < a href = "/type/int" > int< / a > > solution:flags.4?< a href = "/type/string" > string< / a > solution_entities:flags.4?< a href = "/type/Vector%20t" > Vector< / a > < < a href = "/type/MessageEntity" > MessageEntity< / a > > = < a href = "/type/PollResults" > PollResults< / a > ;\
< a href = "/constructor/inputMediaPoll" > inputMediaPoll< / a > #0f94e5f1 flags:< a href = "/type/%23" > #< / a > poll:< a href = "/type/Poll" > Poll< / a > correct_answers:flags.0?< a href = "/type/Vector%20t" > Vector< / a > < < a href = "/type/bytes" > bytes< / a > > solution:flags.1?< a href = "/type/string" > string< / a > solution_entities:flags.1?< a href = "/type/Vector%20t" > Vector< / a > < < a href = "/type/MessageEntity" > MessageEntity< / a > > = < a href = "/type/InputMedia" > InputMedia< / a > ;
< a href = "/constructor/inputMediaDice" > inputMediaDice< / a > #e66fbf7b emoticon:< a href = "/type/string" > string< / a > = < a href = "/type/InputMedia" > InputMedia< / a > ;\
< a href = "/constructor/messageMediaDice" > messageMediaDice< / a > #3f7ee58b value:< a href = "/type/int" > int< / a > emoticon:< a href = "/type/string" > string< / a > = < a href = "/type/MessageMedia" > MessageMedia< / a > ;\
< a href = "/constructor/inputStickerSetDice" > inputStickerSetDice< / a > #e67f520e emoticon:< a href = "/type/string" > string< / a > = < a href = "/type/InputStickerSet" > InputStickerSet< / a > ;\
---functions---\
< a href = "/method/initConnection" > initConnection< / a > #c1cd5ea9 {X:Type} flags:< a href = "/type/%23" > #< / a > api_id:< a href = "/type/int" > int< / a > device_model:< a href = "/type/string" > string< / a > system_version:< a href = "/type/string" > string< / a > app_version:< a href = "/type/string" > string< / a > system_lang_code:< a href = "/type/string" > string< / a > lang_pack:< a href = "/type/string" > string< / a > lang_code:< a href = "/type/string" > string< / a > proxy:flags.0?< a href = "/type/InputClientProxy" > InputClientProxy< / a > params:flags.1?< a href = "/type/JSONValue" > JSONValue< / a > query:!X = X;\
< a href = "/method/messages.getOldFeaturedStickers" > messages.getOldFeaturedStickers< / a > #5fe7025b offset:< a href = "/type/int" > int< / a > limit:< a href = "/type/int" > int< / a > hash:< a href = "/type/int" > int< / a > = < a href = "/type/messages.FeaturedStickers" > messages.FeaturedStickers< / a > ;\
< / code > < / pre > < / div >
< h3 > < a class = "anchor" name = "layer-111" href = "#layer-111" > < i class = "anchor-icon" > < / i > < / a > < a href = "/schema?layer=111" > Layer 111< / a > < / h3 >
< p > < a href = "/api/folders" > Folders< / a > , < a href = "/api/stats" > channel stats< / a > , bot and sticker improvements< / p >
< h4 > < a class = "anchor" name = "schema-changes" href = "#schema-changes" > < i class = "anchor-icon" > < / i > < / a > Schema changes< / h4 >
< h5 > < a class = "anchor" name = "new-methods" href = "#new-methods" > < i class = "anchor-icon" > < / i > < / a > New Methods< / h5 >
< ul >
< li > Added < a href = "/method/messages.getDialogFilters" > messages.getDialogFilters< / a > - Get < a href = "/api/folders" > folders< / a > < / li >
< li > Added < a href = "/method/messages.getSuggestedDialogFilters" > messages.getSuggestedDialogFilters< / a > - Get < a href = "/api/folders" > suggested folders< / a > < / li >
< li > Added < a href = "/method/messages.updateDialogFilter" > messages.updateDialogFilter< / a > - Update < a href = "/api/folders" > folder< / a > < / li >
< li > Added < a href = "/method/messages.updateDialogFiltersOrder" > messages.updateDialogFiltersOrder< / a > - Reorder < a href = "/api/folders" > folders< / a > < / li >
< li > Added < a href = "/method/stats.getBroadcastStats" > stats.getBroadcastStats< / a > - Get < a href = "/api/stats" > channel statistics< / a > < / li >
< li > Added < a href = "/method/stats.loadAsyncGraph" > stats.loadAsyncGraph< / a > - Load < a href = "/api/stats" > channel statistics graph< / a > asynchronously< / li >
< li > Added < a href = "/method/stickers.setStickerSetThumb" > stickers.setStickerSetThumb< / a > - Set stickerset thumbnail< / li >
< li > Added < a href = "/method/bots.setBotCommands" > bots.setBotCommands< / a > - Set bot command list< / li >
< / ul >
< h5 > < a class = "anchor" name = "changed-methods" href = "#changed-methods" > < i class = "anchor-icon" > < / i > < / a > Changed Methods< / h5 >
< ul >
< li > Added < strong > params< / strong > parameter in < a href = "/method/initConnection" > initConnection< / a > < / li >
< li > Added < strong > animated< / strong > , < strong > thumb< / strong > parameters in < a href = "/method/stickers.createStickerSet" > stickers.createStickerSet< / a > < / li >
< / ul >
< h5 > < a class = "anchor" name = "new-constructors" href = "#new-constructors" > < i class = "anchor-icon" > < / i > < / a > New Constructors< / h5 >
< ul >
< li > Added < a href = "/constructor/dialogFilter" > dialogFilter< / a > - Dialog filter AKA < a href = "/api/folders" > folder< / a > < / li >
< li > Added < a href = "/constructor/dialogFilterSuggested" > dialogFilterSuggested< / a > - Suggested < a href = "/api/folders" > folders< / a > < / li >
< li > Added < a href = "/constructor/updateDialogFilter" > updateDialogFilter< / a > - A new < a href = "/api/folders" > folder< / a > was added< / li >
< li > Added < a href = "/constructor/updateDialogFilterOrder" > updateDialogFilterOrder< / a > - New < a href = "/api/folders" > folder< / a > order< / li >
< li > Added < a href = "/constructor/updateDialogFilters" > updateDialogFilters< / a > - Clients should update < a href = "/api/folders" > folder< / a > info< / li >
< li > Added < a href = "/constructor/statsDateRangeDays" > statsDateRangeDays< / a > - < a href = "/api/stats" > Channel statistics< / a > date range< / li >
< li > Added < a href = "/constructor/statsAbsValueAndPrev" > statsAbsValueAndPrev< / a > - Statistics value couple; initial and final value for period of time currently in consideration< / li >
< li > Added < a href = "/constructor/statsPercentValue" > statsPercentValue< / a > - < a href = "/api/stats" > Channel statistics percentage< / a > . < / li >
< li > Added < a href = "/constructor/statsGraphAsync" > statsGraphAsync< / a > - This < a href = "/api/stats" > channel statistics graph< / a > must be generated asynchronously using < a href = "/method/stats.loadAsyncGraph" > stats.loadAsyncGraph< / a > to reduce server load< / li >
< li > Added < a href = "/constructor/statsGraphError" > statsGraphError< / a > - An error occurred while generating the < a href = "/api/stats" > statistics graph< / a > < / li >
< li > Added < a href = "/constructor/statsGraph" > statsGraph< / a > - < a href = "/api/stats" > Channel statistics graph< / a > < / li >
< li > Added < a href = "/constructor/messageInteractionCounters" > messageInteractionCounters< / a > - Message interaction counters< / li >
< li > Added < a href = "/constructor/stats.broadcastStats" > stats.broadcastStats< / a > - < a href = "/api/stats" > Channel statistics< / a > .< / li >
< li > Added < a href = "/constructor/inputMediaDice" > inputMediaDice< / a > - Send a < a href = "/api/dice" > dice-based animated sticker< / a > < / li >
< li > Added < a href = "/constructor/messageMediaDice" > messageMediaDice< / a > - < a href = "/api/dice" > Dice-based animated sticker< / a > < / li >
< li > Added < a href = "/constructor/inputStickerSetDice" > inputStickerSetDice< / a > - Used for fetching < a href = "/api/dice" > animated dice stickers< / a > < / li >
< / ul >
< h5 > < a class = "anchor" name = "changed-constructors" href = "#changed-constructors" > < i class = "anchor-icon" > < / i > < / a > Changed Constructors< / h5 >
< ul >
< li > Added < strong > stats_dc< / strong > parameter in < a href = "/constructor/channelFull" > channelFull< / a > < / li >
< li > Added < strong > flags< / strong > , < strong > cached_page_views< / strong > parameters in < a href = "/constructor/webPageNotModified" > webPageNotModified< / a > < / li >
< li > Added < strong > library_versions< / strong > parameter in < a href = "/constructor/phoneCallProtocol" > phoneCallProtocol< / a > < / li >
< li > Added < strong > views< / strong > parameter in < a href = "/constructor/page" > page< / a > < / li >
< / ul >
< h4 > < a class = "anchor" name = "schema" href = "#schema" > < i class = "anchor-icon" > < / i > < / a > Schema< / h4 >
< div > < pre > < code > < a href = "/constructor/channelFull" > channelFull< / a > #f0e6672a 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_view_stats:flags.12?< 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 > id:< a href = "/type/int" > int< / 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:< 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/int" > int< / 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/int" > int< / 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 > = < a href = "/type/ChatFull" > ChatFull< / a > ;\
< a href = "/constructor/webPageNotModified" > webPageNotModified< / a > #7311ca11 flags:< a href = "/type/%23" > #< / a > cached_page_views:flags.0?< a href = "/type/int" > int< / a > = < a href = "/type/WebPage" > WebPage< / a > ;\
< a href = "/constructor/phoneCallProtocol" > phoneCallProtocol< / a > #fc878fc8 flags:< a href = "/type/%23" > #< / a > udp_p2p:flags.0?< a href = "/constructor/true" > true< / a > udp_reflector:flags.1?< a href = "/constructor/true" > true< / a > min_layer:< a href = "/type/int" > int< / a > max_layer:< a href = "/type/int" > int< / a > library_versions:< a href = "/type/Vector%20t" > Vector< / a > < < a href = "/type/string" > string< / a > > = < a href = "/type/PhoneCallProtocol" > PhoneCallProtocol< / a > ;
< a href = "/constructor/page" > page< / a > #98657f0d flags:< a href = "/type/%23" > #< / a > part:flags.0?< a href = "/constructor/true" > true< / a > rtl:flags.1?< a href = "/constructor/true" > true< / a > v2:flags.2?< a href = "/constructor/true" > true< / a > url:< a href = "/type/string" > string< / a > blocks:< a href = "/type/Vector%20t" > Vector< / a > < < a href = "/type/PageBlock" > PageBlock< / a > > photos:< a href = "/type/Vector%20t" > Vector< / a > < < a href = "/type/Photo" > Photo< / a > > documents:< a href = "/type/Vector%20t" > Vector< / a > < < a href = "/type/Document" > Document< / a > > views:flags.3?< a href = "/type/int" > int< / a > = < a href = "/type/Page" > Page< / a > ;\
< a href = "/constructor/dialogFilter" > dialogFilter< / a > #7438f7e8 flags:< a href = "/type/%23" > #< / a > contacts:flags.0?< a href = "/constructor/true" > true< / a > non_contacts:flags.1?< a href = "/constructor/true" > true< / a > groups:flags.2?< a href = "/constructor/true" > true< / a > broadcasts:flags.3?< a href = "/constructor/true" > true< / a > bots:flags.4?< a href = "/constructor/true" > true< / a > exclude_muted:flags.11?< a href = "/constructor/true" > true< / a > exclude_read:flags.12?< a href = "/constructor/true" > true< / a > exclude_archived:flags.13?< a href = "/constructor/true" > true< / a > id:< a href = "/type/int" > int< / a > title:< a href = "/type/string" > string< / a > emoticon:flags.25?< a href = "/type/string" > string< / a > pinned_peers:< a href = "/type/Vector%20t" > Vector< / a > < < a href = "/type/InputPeer" > InputPeer< / a > > include_peers:< a href = "/type/Vector%20t" > Vector< / a > < < a href = "/type/InputPeer" > InputPeer< / a > > exclude_peers:< a href = "/type/Vector%20t" > Vector< / a > < < a href = "/type/InputPeer" > InputPeer< / a > > = < a href = "/type/DialogFilter" > DialogFilter< / a > ;
< a href = "/constructor/dialogFilterSuggested" > dialogFilterSuggested< / a > #77744d4a filter:< a href = "/type/DialogFilter" > DialogFilter< / a > description:< a href = "/type/string" > string< / a > = < a href = "/type/DialogFilterSuggested" > DialogFilterSuggested< / a > ;\
< a href = "/constructor/updateDialogFilter" > updateDialogFilter< / a > #26ffde7d flags:< a href = "/type/%23" > #< / a > id:< a href = "/type/int" > int< / a > filter:flags.0?< a href = "/type/DialogFilter" > DialogFilter< / a > = < a href = "/type/Update" > Update< / a > ;
< a href = "/constructor/updateDialogFilterOrder" > updateDialogFilterOrder< / a > #a5d72105 order:< a href = "/type/Vector%20t" > Vector< / a > < < a href = "/type/int" > int< / a > > = < a href = "/type/Update" > Update< / a > ;
< a href = "/constructor/updateDialogFilters" > updateDialogFilters< / a > #3504914f = < a href = "/type/Update" > Update< / a > ;\
< a href = "/constructor/statsDateRangeDays" > statsDateRangeDays< / a > #b637edaf min_date:< a href = "/type/int" > int< / a > max_date:< a href = "/type/int" > int< / a > = < a href = "/type/StatsDateRangeDays" > StatsDateRangeDays< / a > ;
< a href = "/constructor/statsAbsValueAndPrev" > statsAbsValueAndPrev< / a > #cb43acde current:< a href = "/type/double" > double< / a > previous:< a href = "/type/double" > double< / a > = < a href = "/type/StatsAbsValueAndPrev" > StatsAbsValueAndPrev< / a > ;
< a href = "/constructor/statsPercentValue" > statsPercentValue< / a > #cbce2fe0 part:< a href = "/type/double" > double< / a > total:< a href = "/type/double" > double< / a > = < a href = "/type/StatsPercentValue" > StatsPercentValue< / a > ;
< a href = "/constructor/statsGraphAsync" > statsGraphAsync< / a > #4a27eb2d token:< a href = "/type/string" > string< / a > = < a href = "/type/StatsGraph" > StatsGraph< / a > ;
< a href = "/constructor/statsGraphError" > statsGraphError< / a > #bedc9822 error:< a href = "/type/string" > string< / a > = < a href = "/type/StatsGraph" > StatsGraph< / a > ;
< a href = "/constructor/statsGraph" > statsGraph< / a > #8ea464b6 flags:< a href = "/type/%23" > #< / a > json:< a href = "/type/DataJSON" > DataJSON< / a > zoom_token:flags.0?< a href = "/type/string" > string< / a > = < a href = "/type/StatsGraph" > StatsGraph< / a > ;\
< a href = "/constructor/messageInteractionCounters" > messageInteractionCounters< / a > #ad4fc9bd msg_id:< a href = "/type/int" > int< / a > views:< a href = "/type/int" > int< / a > forwards:< a href = "/type/int" > int< / a > = < a href = "/type/MessageInteractionCounters" > MessageInteractionCounters< / a > ;\
< a href = "/constructor/stats.broadcastStats" > stats.broadcastStats< / a > #bdf78394 period:< a href = "/type/StatsDateRangeDays" > StatsDateRangeDays< / a > followers:< a href = "/type/StatsAbsValueAndPrev" > StatsAbsValueAndPrev< / a > views_per_post:< a href = "/type/StatsAbsValueAndPrev" > StatsAbsValueAndPrev< / a > shares_per_post:< a href = "/type/StatsAbsValueAndPrev" > StatsAbsValueAndPrev< / a > enabled_notifications:< a href = "/type/StatsPercentValue" > StatsPercentValue< / a > growth_graph:< a href = "/type/StatsGraph" > StatsGraph< / a > followers_graph:< a href = "/type/StatsGraph" > StatsGraph< / a > mute_graph:< a href = "/type/StatsGraph" > StatsGraph< / a > top_hours_graph:< a href = "/type/StatsGraph" > StatsGraph< / a > interactions_graph:< a href = "/type/StatsGraph" > StatsGraph< / a > iv_interactions_graph:< a href = "/type/StatsGraph" > StatsGraph< / a > views_by_source_graph:< a href = "/type/StatsGraph" > StatsGraph< / a > new_followers_by_source_graph:< a href = "/type/StatsGraph" > StatsGraph< / a > languages_graph:< a href = "/type/StatsGraph" > StatsGraph< / a > recent_message_interactions:< a href = "/type/Vector%20t" > Vector< / a > < < a href = "/type/MessageInteractionCounters" > MessageInteractionCounters< / a > > = < a href = "/type/stats.BroadcastStats" > stats.BroadcastStats< / a > ;\
< a href = "/constructor/inputMediaDice" > inputMediaDice< / a > #aeffa807 = < a href = "/type/InputMedia" > InputMedia< / a > ;\
< a href = "/constructor/messageMediaDice" > messageMediaDice< / a > #638fe46b value:< a href = "/type/int" > int< / a > = < a href = "/type/MessageMedia" > MessageMedia< / a > ;\
< a href = "/constructor/inputStickerSetDice" > inputStickerSetDice< / a > #79e21a53 = < a href = "/type/InputStickerSet" > InputStickerSet< / a > ;\
---functions---\
< a href = "/method/initConnection" > initConnection< / a > #785188b8 {X:Type} flags:< a href = "/type/%23" > #< / a > api_id:< a href = "/type/int" > int< / a > device_model:< a href = "/type/string" > string< / a > system_version:< a href = "/type/string" > string< / a > app_version:< a href = "/type/string" > string< / a > system_lang_code:< a href = "/type/string" > string< / a > lang_pack:< a href = "/type/string" > string< / a > lang_code:< a href = "/type/string" > string< / a > proxy:flags.0?< a href = "/type/InputClientProxy" > InputClientProxy< / a > params:flags.1?< a href = "/type/JSONValue" > JSONValue< / a > query:!X = X;\
< a href = "/method/stickers.createStickerSet" > stickers.createStickerSet< / a > #f1036780 flags:< a href = "/type/%23" > #< / a > masks:flags.0?< a href = "/constructor/true" > true< / a > animated:flags.1?< 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 > > = < a href = "/type/messages.StickerSet" > messages.StickerSet< / a > ;\
< a href = "/method/messages.getDialogFilters" > messages.getDialogFilters< / a > #f19ed96d = < a href = "/type/Vector%20t" > Vector< / a > < < a href = "/type/DialogFilter" > DialogFilter< / a > > ;
< a href = "/method/messages.getSuggestedDialogFilters" > messages.getSuggestedDialogFilters< / a > #a29cd42c = < a href = "/type/Vector%20t" > Vector< / a > < < a href = "/type/DialogFilterSuggested" > DialogFilterSuggested< / a > > ;
< a href = "/method/messages.updateDialogFilter" > messages.updateDialogFilter< / a > #1ad4a04a flags:< a href = "/type/%23" > #< / a > id:< a href = "/type/int" > int< / a > filter:flags.0?< a href = "/type/DialogFilter" > DialogFilter< / a > = < a href = "/type/Bool" > Bool< / a > ;
< a href = "/method/messages.updateDialogFiltersOrder" > messages.updateDialogFiltersOrder< / a > #c563c1e4 order:< a href = "/type/Vector%20t" > Vector< / a > < < a href = "/type/int" > int< / a > > = < a href = "/type/Bool" > Bool< / a > ;\
< a href = "/method/stats.getBroadcastStats" > stats.getBroadcastStats< / a > #ab42441a flags:< a href = "/type/%23" > #< / a > dark:flags.0?< a href = "/constructor/true" > true< / a > channel:< a href = "/type/InputChannel" > InputChannel< / a > = < a href = "/type/stats.BroadcastStats" > stats.BroadcastStats< / a > ;
< a href = "/method/stats.loadAsyncGraph" > stats.loadAsyncGraph< / a > #621d5fa0 flags:< a href = "/type/%23" > #< / a > token:< a href = "/type/string" > string< / a > x:flags.0?< a href = "/type/long" > long< / a > = < a href = "/type/StatsGraph" > StatsGraph< / a > ;
< a href = "/method/stickers.setStickerSetThumb" > stickers.setStickerSetThumb< / a > #9a364e30 stickerset:< a href = "/type/InputStickerSet" > InputStickerSet< / a > thumb:< a href = "/type/InputDocument" > InputDocument< / a > = < a href = "/type/messages.StickerSet" > messages.StickerSet< / a > ;\
< a href = "/method/bots.setBotCommands" > bots.setBotCommands< / a > #805d46f6 commands:< a href = "/type/Vector%20t" > Vector< / a > < < a href = "/type/BotCommand" > BotCommand< / a > > = < a href = "/type/Bool" > Bool< / a > ;\
< / code > < / pre > < / div >
< h3 > < a class = "anchor" name = "layer-110" href = "#layer-110" > < i class = "anchor-icon" > < / i > < / a > < a href = "/schema?layer=110" > Layer 110< / a > < / h3 >
< p > Credit card information< / p >
< h4 > < a class = "anchor" name = "schema-changes" href = "#schema-changes" > < i class = "anchor-icon" > < / i > < / a > Schema changes< / h4 >
< h5 > < a class = "anchor" name = "new-methods" href = "#new-methods" > < i class = "anchor-icon" > < / i > < / a > New Methods< / h5 >
< ul >
< li > Added < a href = "/method/payments.getBankCardData" > payments.getBankCardData< / a > - Get info about a credit card< / li >
< / ul >
< h5 > < a class = "anchor" name = "changed-methods" href = "#changed-methods" > < i class = "anchor-icon" > < / i > < / a > Changed Methods< / h5 >
< ul >
< li > Removed < strong > params< / strong > parameter in < a href = "/method/initConnection" > initConnection< / a > < / li >
< li > Added < strong > flags< / strong > , < strong > background< / strong > , < strong > self_expires< / strong > parameters in < a href = "/method/contacts.getLocated" > contacts.getLocated< / a > < / li >
< / ul >
< h5 > < a class = "anchor" name = "new-constructors" href = "#new-constructors" > < i class = "anchor-icon" > < / i > < / a > New Constructors< / h5 >
< ul >
< li > Added < a href = "/constructor/messageEntityBankCard" > messageEntityBankCard< / a > - Indicates a credit card number< / li >
< li > Added < a href = "/constructor/bankCardOpenUrl" > bankCardOpenUrl< / a > - Credit card info URL provided by the bank< / li >
< li > Added < a href = "/constructor/payments.bankCardData" > payments.bankCardData< / a > - Credit card info, provided by the card' s bank(s)< / li >
< li > Added < a href = "/constructor/peerSelfLocated" > peerSelfLocated< / a > - Current peer< / li >
< / ul >
< h4 > < a class = "anchor" name = "schema" href = "#schema" > < i class = "anchor-icon" > < / i > < / a > Schema< / h4 >
< div > < pre > < code > < a href = "/constructor/messageEntityBankCard" > messageEntityBankCard< / a > #761e6af4 offset:< a href = "/type/int" > int< / a > length:< a href = "/type/int" > int< / a > = < a href = "/type/MessageEntity" > MessageEntity< / a > ;\
< a href = "/constructor/bankCardOpenUrl" > bankCardOpenUrl< / a > #f568028a url:< a href = "/type/string" > string< / a > name:< a href = "/type/string" > string< / a > = < a href = "/type/BankCardOpenUrl" > BankCardOpenUrl< / a > ;\
< a href = "/constructor/payments.bankCardData" > payments.bankCardData< / a > #3e24e573 title:< a href = "/type/string" > string< / a > open_urls:< a href = "/type/Vector%20t" > Vector< / a > < < a href = "/type/BankCardOpenUrl" > BankCardOpenUrl< / a > > = < a href = "/type/payments.BankCardData" > payments.BankCardData< / a > ;
< a href = "/constructor/peerSelfLocated" > peerSelfLocated< / a > #f8ec284b expires:< a href = "/type/int" > int< / a > = < a href = "/type/PeerLocated" > PeerLocated< / a > ;\
---functions---\
< a href = "/method/initConnection" > initConnection< / a > #785188b8 {X:Type} flags:< a href = "/type/%23" > #< / a > api_id:< a href = "/type/int" > int< / a > device_model:< a href = "/type/string" > string< / a > system_version:< a href = "/type/string" > string< / a > app_version:< a href = "/type/string" > string< / a > system_lang_code:< a href = "/type/string" > string< / a > lang_pack:< a href = "/type/string" > string< / a > lang_code:< a href = "/type/string" > string< / a > proxy:flags.0?< a href = "/type/InputClientProxy" > InputClientProxy< / a > query:!X = X;\
< a href = "/method/contacts.getLocated" > contacts.getLocated< / a > #d348bc44 flags:< a href = "/type/%23" > #< / a > background:flags.1?< a href = "/constructor/true" > true< / a > geo_point:< a href = "/type/InputGeoPoint" > InputGeoPoint< / a > self_expires:flags.0?< a href = "/type/int" > int< / a > = < a href = "/type/Updates" > Updates< / a > ;\
< a href = "/method/payments.getBankCardData" > payments.getBankCardData< / a > #2e79d779 number:< a href = "/type/string" > string< / a > = < a href = "/type/payments.BankCardData" > payments.BankCardData< / a > ;\
< / code > < / pre > < / div >
< h3 > < a class = "anchor" name = "layer-109" href = "#layer-109" > < i class = "anchor-icon" > < / i > < / a > < a href = "/schema?layer=109" > Layer 109< / a > < / h3 >
< p > Non-anonymous polls, improved sticker management< / p >
< h4 > < a class = "anchor" name = "schema-changes" href = "#schema-changes" > < i class = "anchor-icon" > < / i > < / a > Schema changes< / h4 >
< h5 > < a class = "anchor" name = "new-methods" href = "#new-methods" > < i class = "anchor-icon" > < / i > < / a > New Methods< / h5 >
< ul >
< li > Added < a href = "/method/messages.getPollVotes" > messages.getPollVotes< / a > - Get poll results for non-anonymous polls< / li >
< li > Added < a href = "/method/messages.toggleStickerSets" > messages.toggleStickerSets< / a > - Apply changes to multiple stickersets< / li >
< / ul >
< h5 > < a class = "anchor" name = "changed-methods" href = "#changed-methods" > < i class = "anchor-icon" > < / i > < / a > Changed Methods< / h5 >
< ul >
< li > Added < strong > params< / strong > parameter in < a href = "/method/initConnection" > initConnection< / a > < / li >
< / ul >
< h5 > < a class = "anchor" name = "new-constructors" href = "#new-constructors" > < i class = "anchor-icon" > < / i > < / a > New Constructors< / h5 >
< ul >
< li > Added < a href = "/constructor/updateMessagePollVote" > updateMessagePollVote< / a > - A specific user has voted in a poll< / li >
< li > Added < a href = "/constructor/messageUserVote" > messageUserVote< / a > - How a user voted in a poll< / li >
< li > Added < a href = "/constructor/messageUserVoteInputOption" > messageUserVoteInputOption< / a > - How a user voted in a poll (reduced constructor, returned if an < code > option< / code > was provided to < a href = "/method/messages.getPollVotes" > messages.getPollVotes< / a > )< / li >
< li > Added < a href = "/constructor/messageUserVoteMultiple" > messageUserVoteMultiple< / a > - How a user voted in a multiple-choice poll< / li >
< li > Added < a href = "/constructor/messages.votesList" > messages.votesList< / a > - How users voted in a poll< / li >
< li > Added < a href = "/constructor/keyboardButtonRequestPoll" > keyboardButtonRequestPoll< / a > - A button that allows the user to create and send a poll when pressed; available only in private< / li >
< / ul >
< h5 > < a class = "anchor" name = "changed-constructors" href = "#changed-constructors" > < i class = "anchor-icon" > < / i > < / a > Changed Constructors< / h5 >
< ul >
< li > Added < strong > recent_voters< / strong > parameter in < a href = "/constructor/pollResults" > pollResults< / a > < / li >
< li > Added < strong > flags< / strong > , < strong > correct_answers< / strong > parameters in < a href = "/constructor/inputMediaPoll" > inputMediaPoll< / a > < / li >
< / ul >
< h4 > < a class = "anchor" name = "schema" href = "#schema" > < i class = "anchor-icon" > < / i > < / a > Schema< / h4 >
< div > < pre > < code > < a href = "/constructor/pollResults" > pollResults< / a > #c87024a2 flags:< a href = "/type/%23" > #< / a > min:flags.0?< a href = "/constructor/true" > true< / a > results:flags.1?< a href = "/type/Vector%20t" > Vector< / a > < < a href = "/type/PollAnswerVoters" > PollAnswerVoters< / a > > total_voters:flags.2?< a href = "/type/int" > int< / a > recent_voters:flags.3?< a href = "/type/Vector%20t" > Vector< / a > < < a href = "/type/int" > int< / a > > = < a href = "/type/PollResults" > PollResults< / a > ;\
< a href = "/constructor/inputMediaPoll" > inputMediaPoll< / a > #abe9ca25 flags:< a href = "/type/%23" > #< / a > poll:< a href = "/type/Poll" > Poll< / a > correct_answers:flags.0?< a href = "/type/Vector%20t" > Vector< / a > < < a href = "/type/bytes" > bytes< / a > > = < a href = "/type/InputMedia" > InputMedia< / a > ;\
< a href = "/constructor/updateMessagePollVote" > updateMessagePollVote< / a > #42f88f2c poll_id:< a href = "/type/long" > long< / a > user_id:< a href = "/type/int" > int< / a > options:< a href = "/type/Vector%20t" > Vector< / a > < < a href = "/type/bytes" > bytes< / a > > = < a href = "/type/Update" > Update< / a > ;\
< a href = "/constructor/messageUserVote" > messageUserVote< / a > #a28e5559 user_id:< a href = "/type/int" > int< / a > option:< a href = "/type/bytes" > bytes< / a > date:< a href = "/type/int" > int< / a > = < a href = "/type/MessageUserVote" > MessageUserVote< / a > ;
< a href = "/constructor/messageUserVoteInputOption" > messageUserVoteInputOption< / a > #36377430 user_id:< a href = "/type/int" > int< / a > date:< a href = "/type/int" > int< / a > = < a href = "/type/MessageUserVote" > MessageUserVote< / a > ;
< a href = "/constructor/messageUserVoteMultiple" > messageUserVoteMultiple< / a > #0e8fe0de user_id:< a href = "/type/int" > int< / a > options:< a href = "/type/Vector%20t" > Vector< / a > < < a href = "/type/bytes" > bytes< / a > > date:< a href = "/type/int" > int< / a > = < a href = "/type/MessageUserVote" > MessageUserVote< / a > ;
< a href = "/constructor/messages.votesList" > messages.votesList< / a > #0823f649 flags:< a href = "/type/%23" > #< / a > count:< a href = "/type/int" > int< / a > votes:< a href = "/type/Vector%20t" > Vector< / a > < < a href = "/type/MessageUserVote" > MessageUserVote< / 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.VotesList" > messages.VotesList< / a > ;\
< a href = "/constructor/keyboardButtonRequestPoll" > keyboardButtonRequestPoll< / a > #bbc7515d flags:< a href = "/type/%23" > #< / a > quiz:flags.0?< a href = "/type/Bool" > Bool< / a > text:< a href = "/type/string" > string< / a > = < a href = "/type/KeyboardButton" > KeyboardButton< / a > ;\
---functions---\
< a href = "/method/initConnection" > initConnection< / a > #785188b8 {X:Type} flags:< a href = "/type/%23" > #< / a > api_id:< a href = "/type/int" > int< / a > device_model:< a href = "/type/string" > string< / a > system_version:< a href = "/type/string" > string< / a > app_version:< a href = "/type/string" > string< / a > system_lang_code:< a href = "/type/string" > string< / a > lang_pack:< a href = "/type/string" > string< / a > lang_code:< a href = "/type/string" > string< / a > proxy:flags.0?< a href = "/type/InputClientProxy" > InputClientProxy< / a > params:flags.1?< a href = "/type/JSONValue" > JSONValue< / a > query:!X = X;\
< a href = "/method/messages.getPollVotes" > messages.getPollVotes< / a > #b86e380e flags:< a href = "/type/%23" > #< / a > peer:< a href = "/type/InputPeer" > InputPeer< / a > id:< a href = "/type/int" > int< / a > option:flags.0?< a href = "/type/bytes" > bytes< / a > offset:flags.1?< a href = "/type/string" > string< / a > limit:< a href = "/type/int" > int< / a > = < a href = "/type/messages.VotesList" > messages.VotesList< / a > ;
< a href = "/method/messages.toggleStickerSets" > messages.toggleStickerSets< / a > #b5052fea flags:< a href = "/type/%23" > #< / a > uninstall:flags.0?< a href = "/constructor/true" > true< / a > archive:flags.1?< a href = "/constructor/true" > true< / a > unarchive:flags.2?< a href = "/constructor/true" > true< / a > stickersets:< a href = "/type/Vector%20t" > Vector< / a > < < a href = "/type/InputStickerSet" > InputStickerSet< / a > > = < a href = "/type/Bool" > Bool< / a > ;\
< / code > < / pre > < / div >
< h3 > < a class = "anchor" name = "layer-108" href = "#layer-108" > < i class = "anchor-icon" > < / i > < / a > < a href = "/schema?layer=108" > Layer 108< / a > < / h3 >
< p > Login with QR-code, sensitive content settings, quizes, multiple-choice and public polls, get inactive chats, improved wallpapers and themes.< / p >
< h4 > < a class = "anchor" name = "schema-changes" href = "#schema-changes" > < i class = "anchor-icon" > < / i > < / a > Schema changes< / h4 >
< h5 > < a class = "anchor" name = "new-methods" href = "#new-methods" > < i class = "anchor-icon" > < / i > < / a > New Methods< / h5 >
< ul >
< li > Added < a href = "/method/auth.exportLoginToken" > auth.exportLoginToken< / a > - Generate a login token, for < a href = "/api/qr-login" > login via QR code< / a > . < / li >
< li > Added < a href = "/method/auth.importLoginToken" > auth.importLoginToken< / a > - Login using a redirected login token, generated in case of DC mismatch during < a href = "/api/qr-login" > QR code login< / a > .< / li >
< li > Added < a href = "/method/auth.acceptLoginToken" > auth.acceptLoginToken< / a > - Accept QR code login token, logging in the app that generated it.< / li >
< li > Added < a href = "/method/account.setContentSettings" > account.setContentSettings< / a > - Set sensitive content settings (for viewing or hiding NSFW content)< / li >
< li > Added < a href = "/method/account.getContentSettings" > account.getContentSettings< / a > - Get sensitive content settings< / li >
< li > Added < a href = "/method/channels.getInactiveChannels" > channels.getInactiveChannels< / a > - Get inactive channels and supergroups< / li >
< li > Added < a href = "/method/account.getMultiWallPapers" > account.getMultiWallPapers< / a > - Get info about multiple wallpapers< / li >
< / ul >
< h5 > < a class = "anchor" name = "changed-methods" href = "#changed-methods" > < i class = "anchor-icon" > < / i > < / a > Changed Methods< / h5 >
< ul >
< li > Added < strong > cdn_supported< / strong > parameter in < a href = "/method/upload.getFile" > upload.getFile< / a > < / li >
< li > Added < strong > flags< / strong > , < strong > settings< / strong > parameters, changed type of < strong > document< / strong > from < strong > InputDocument< / strong > to < strong > flags.2?InputDocument< / strong > in < a href = "/method/account.createTheme" > account.createTheme< / a > < / li >
< li > Added < strong > settings< / strong > parameter in < a href = "/method/account.updateTheme" > account.updateTheme< / a > < / li >
< / ul >
< h5 > < a class = "anchor" name = "new-constructors" href = "#new-constructors" > < i class = "anchor-icon" > < / i > < / a > New Constructors< / h5 >
< ul >
< li > Added < a href = "/constructor/inputPhotoLegacyFileLocation" > inputPhotoLegacyFileLocation< / a > - DEPRECATED legacy photo file location< / li >
< li > Added < a href = "/constructor/updateGeoLiveViewed" > updateGeoLiveViewed< / a > - Live geoposition message was viewed< / li >
< li > Added < a href = "/constructor/updateLoginToken" > updateLoginToken< / a > - A login token (for login via QR code) was accepted.< / li >
< li > Added < a href = "/constructor/auth.loginToken" > auth.loginToken< / a > - Login token (for < a href = "/api/qr-login" > QR code login< / a > )< / li >
< li > Added < a href = "/constructor/auth.loginTokenMigrateTo" > auth.loginTokenMigrateTo< / a > - Repeat the query to the specified DC< / li >
< li > Added < a href = "/constructor/auth.loginTokenSuccess" > auth.loginTokenSuccess< / a > - Login via token (QR code) succeded!< / li >
< li > Added < a href = "/constructor/account.contentSettings" > account.contentSettings< / a > - Sensitive content settings< / li >
< li > Added < a href = "/constructor/messages.inactiveChats" > messages.inactiveChats< / a > - Inactive chat list< / li >
< li > Added < a href = "/constructor/baseThemeClassic" > baseThemeClassic< / a > - Classic theme< / li >
< li > Added < a href = "/constructor/baseThemeDay" > baseThemeDay< / a > - Day theme< / li >
< li > Added < a href = "/constructor/baseThemeNight" > baseThemeNight< / a > - Night theme< / li >
< li > Added < a href = "/constructor/baseThemeTinted" > baseThemeTinted< / a > - Tinted theme< / li >
< li > Added < a href = "/constructor/baseThemeArctic" > baseThemeArctic< / a > - Arctic theme< / li >
< li > Added < a href = "/constructor/inputWallPaperNoFile" > inputWallPaperNoFile< / a > - Wallpaper with no file access hash, used for example when deleting (< code > unsave=true< / code > ) wallpapers using < a href = "/method/account.saveWallPaper" > account.saveWallPaper< / a > , specifying just the wallpaper ID.< / li >
< li > Added < a href = "/constructor/wallPaperNoFile" > wallPaperNoFile< / a > - Wallpaper with no file access hash, used for example when deleting (< code > unsave=true< / code > ) wallpapers using < a href = "/method/account.saveWallPaper" > account.saveWallPaper< / a > , specifying just the wallpaper ID. < / li >
< li > Added < a href = "/constructor/inputThemeSettings" > inputThemeSettings< / a > - Theme settings< / li >
< li > Added < a href = "/constructor/themeSettings" > themeSettings< / a > - Theme settings< / li >
< li > Added < a href = "/constructor/webPageAttributeTheme" > webPageAttributeTheme< / a > - Page theme< / li >
< / ul >
< h5 > < a class = "anchor" name = "changed-constructors" href = "#changed-constructors" > < i class = "anchor-icon" > < / i > < / a > Changed Constructors< / h5 >
< ul >
< li > Added < strong > attributes< / strong > parameter, removed < strong > documents< / strong > parameter in < a href = "/constructor/webPage" > webPage< / a > < / li >
< li > Added < strong > public_voters< / strong > , < strong > multiple_choice< / strong > , < strong > quiz< / strong > parameters in < a href = "/constructor/poll" > poll< / a > < / li >
< li > Added < strong > correct< / strong > parameter in < a href = "/constructor/pollAnswerVoters" > pollAnswerVoters< / a > < / li >
< li > Added < strong > second_background_color< / strong > , < strong > rotation< / strong > parameters in < a href = "/constructor/wallPaperSettings" > wallPaperSettings< / a > < / li >
< li > Added < strong > video_upload_maxbitrate< / strong > parameter in < a href = "/constructor/autoDownloadSettings" > autoDownloadSettings< / a > < / li >
< li > Added < strong > settings< / strong > parameter in < a href = "/constructor/theme" > theme< / a > < / li >
< / ul >
< h5 > < a class = "anchor" name = "deleted-constructors" href = "#deleted-constructors" > < i class = "anchor-icon" > < / i > < / a > Deleted Constructors< / h5 >
< ul >
< li > Removed themeDocumentNotModified< / li >
< / ul >
< h4 > < a class = "anchor" name = "schema" href = "#schema" > < i class = "anchor-icon" > < / i > < / a > Schema< / h4 >
< div > < pre > < code > < a href = "/constructor/webPage" > webPage< / a > #e89c45b2 flags:< a href = "/type/%23" > #< / a > id:< a href = "/type/long" > long< / a > url:< a href = "/type/string" > string< / a > display_url:< a href = "/type/string" > string< / a > hash:< a href = "/type/int" > int< / a > type:flags.0?< a href = "/type/string" > string< / a > site_name:flags.1?< a href = "/type/string" > string< / a > title:flags.2?< a href = "/type/string" > string< / a > description:flags.3?< a href = "/type/string" > string< / a > photo:flags.4?< a href = "/type/Photo" > Photo< / a > embed_url:flags.5?< a href = "/type/string" > string< / a > embed_type:flags.5?< a href = "/type/string" > string< / a > embed_width:flags.6?< a href = "/type/int" > int< / a > embed_height:flags.6?< a href = "/type/int" > int< / a > duration:flags.7?< a href = "/type/int" > int< / a > author:flags.8?< a href = "/type/string" > string< / a > document:flags.9?< a href = "/type/Document" > Document< / a > cached_page:flags.10?< a href = "/type/Page" > Page< / a > attributes:flags.12?< a href = "/type/Vector%20t" > Vector< / a > < < a href = "/type/WebPageAttribute" > WebPageAttribute< / a > > = < a href = "/type/WebPage" > WebPage< / a > ;\
< a href = "/constructor/poll" > poll< / a > #d5529d06 id:< a href = "/type/long" > long< / a > flags:< a href = "/type/%23" > #< / a > closed:flags.0?< a href = "/constructor/true" > true< / a > public_voters:flags.1?< a href = "/constructor/true" > true< / a > multiple_choice:flags.2?< a href = "/constructor/true" > true< / a > quiz:flags.3?< a href = "/constructor/true" > true< / a > question:< a href = "/type/string" > string< / a > answers:< a href = "/type/Vector%20t" > Vector< / a > < < a href = "/type/PollAnswer" > PollAnswer< / a > > = < a href = "/type/Poll" > Poll< / a > ;
< a href = "/constructor/pollAnswerVoters" > pollAnswerVoters< / a > #3b6ddad2 flags:< a href = "/type/%23" > #< / a > chosen:flags.0?< a href = "/constructor/true" > true< / a > correct:flags.1?< a href = "/constructor/true" > true< / a > option:< a href = "/type/bytes" > bytes< / a > voters:< a href = "/type/int" > int< / a > = < a href = "/type/PollAnswerVoters" > PollAnswerVoters< / a > ;\
< a href = "/constructor/wallPaperSettings" > wallPaperSettings< / a > #05086cf8 flags:< a href = "/type/%23" > #< / a > blur:flags.1?< a href = "/constructor/true" > true< / a > motion:flags.2?< a href = "/constructor/true" > true< / a > background_color:flags.0?< a href = "/type/int" > int< / a > second_background_color:flags.4?< a href = "/type/int" > int< / a > intensity:flags.3?< a href = "/type/int" > int< / a > rotation:flags.4?< a href = "/type/int" > int< / a > = < a href = "/type/WallPaperSettings" > WallPaperSettings< / a > ;\
< a href = "/constructor/autoDownloadSettings" > autoDownloadSettings< / a > #e04232f3 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/int" > int< / a > file_size_max:< a href = "/type/int" > int< / a > video_upload_maxbitrate:< a href = "/type/int" > int< / a > = < a href = "/type/AutoDownloadSettings" > AutoDownloadSettings< / a > ;\
< a href = "/constructor/inputPhotoLegacyFileLocation" > inputPhotoLegacyFileLocation< / a > #d83466f3 id:< a href = "/type/long" > long< / a > access_hash:< a href = "/type/long" > long< / a > file_reference:< a href = "/type/bytes" > bytes< / a > volume_id:< a href = "/type/long" > long< / a > local_id:< a href = "/type/int" > int< / a > secret:< a href = "/type/long" > long< / a > = < a href = "/type/InputFileLocation" > InputFileLocation< / a > ;\
< a href = "/constructor/theme" > theme< / a > #028f1114 flags:< a href = "/type/%23" > #< / a > creator:flags.0?< a href = "/constructor/true" > true< / a > default:flags.1?< 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/ThemeSettings" > ThemeSettings< / a > installs_count:< a href = "/type/int" > int< / a > = < a href = "/type/Theme" > Theme< / a > ;\
< a href = "/constructor/updateGeoLiveViewed" > updateGeoLiveViewed< / a > #871fb939 peer:< a href = "/type/Peer" > Peer< / a > msg_id:< a href = "/type/int" > int< / a > = < a href = "/type/Update" > Update< / a > ;
< a href = "/constructor/updateLoginToken" > updateLoginToken< / a > #564fe691 = < a href = "/type/Update" > Update< / a > ;\
< a href = "/constructor/auth.loginToken" > auth.loginToken< / a > #629f1980 expires:< a href = "/type/int" > int< / a > token:< a href = "/type/bytes" > bytes< / a > = < a href = "/type/auth.LoginToken" > auth.LoginToken< / a > ;
< a href = "/constructor/auth.loginTokenMigrateTo" > auth.loginTokenMigrateTo< / a > #068e9916 dc_id:< a href = "/type/int" > int< / a > token:< a href = "/type/bytes" > bytes< / a > = < a href = "/type/auth.LoginToken" > auth.LoginToken< / a > ;
< a href = "/constructor/auth.loginTokenSuccess" > auth.loginTokenSuccess< / a > #390d5c5e authorization:< a href = "/type/auth.Authorization" > auth.Authorization< / a > = < a href = "/type/auth.LoginToken" > auth.LoginToken< / a > ;
< a href = "/constructor/account.contentSettings" > account.contentSettings< / a > #57e28221 flags:< a href = "/type/%23" > #< / a > sensitive_enabled:flags.0?< a href = "/constructor/true" > true< / a > sensitive_can_change:flags.1?< a href = "/constructor/true" > true< / a > = < a href = "/type/account.ContentSettings" > account.ContentSettings< / a > ;\
< a href = "/constructor/messages.inactiveChats" > messages.inactiveChats< / a > #a927fec5 dates:< a href = "/type/Vector%20t" > Vector< / a > < < a href = "/type/int" > int< / 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.InactiveChats" > messages.InactiveChats< / a > ;\
< a href = "/constructor/baseThemeClassic" > baseThemeClassic< / a > #c3a12462 = < a href = "/type/BaseTheme" > BaseTheme< / a > ;
< a href = "/constructor/baseThemeDay" > baseThemeDay< / a > #fbd81688 = < a href = "/type/BaseTheme" > BaseTheme< / a > ;
< a href = "/constructor/baseThemeNight" > baseThemeNight< / a > #b7b31ea8 = < a href = "/type/BaseTheme" > BaseTheme< / a > ;
< a href = "/constructor/baseThemeTinted" > baseThemeTinted< / a > #6d5f77ee = < a href = "/type/BaseTheme" > BaseTheme< / a > ;
< a href = "/constructor/baseThemeArctic" > baseThemeArctic< / a > #5b11125a = < a href = "/type/BaseTheme" > BaseTheme< / a > ;\
< a href = "/constructor/inputWallPaperNoFile" > inputWallPaperNoFile< / a > #8427bbac = < a href = "/type/InputWallPaper" > InputWallPaper< / a > ;\
< a href = "/constructor/wallPaperNoFile" > wallPaperNoFile< / a > #8af40b25 flags:< a href = "/type/%23" > #< / a > default:flags.1?< a href = "/constructor/true" > true< / a > dark:flags.4?< a href = "/constructor/true" > true< / a > settings:flags.2?< a href = "/type/WallPaperSettings" > WallPaperSettings< / a > = < a href = "/type/WallPaper" > WallPaper< / a > ;\
< a href = "/constructor/inputThemeSettings" > inputThemeSettings< / a > #bd507cd1 flags:< a href = "/type/%23" > #< / a > base_theme:< a href = "/type/BaseTheme" > BaseTheme< / a > accent_color:< a href = "/type/int" > int< / a > message_top_color:flags.0?< a href = "/type/int" > int< / a > message_bottom_color:flags.0?< a href = "/type/int" > int< / a > wallpaper:flags.1?< a href = "/type/InputWallPaper" > InputWallPaper< / a > wallpaper_settings:flags.1?< a href = "/type/WallPaperSettings" > WallPaperSettings< / a > = < a href = "/type/InputThemeSettings" > InputThemeSettings< / a > ;\
< a href = "/constructor/themeSettings" > themeSettings< / a > #9c14984a flags:< a href = "/type/%23" > #< / a > base_theme:< a href = "/type/BaseTheme" > BaseTheme< / a > accent_color:< a href = "/type/int" > int< / a > message_top_color:flags.0?< a href = "/type/int" > int< / a > message_bottom_color:flags.0?< a href = "/type/int" > int< / a > wallpaper:flags.1?< a href = "/type/WallPaper" > WallPaper< / a > = < a href = "/type/ThemeSettings" > ThemeSettings< / a > ;\
< a href = "/constructor/webPageAttributeTheme" > webPageAttributeTheme< / a > #54b56617 flags:< a href = "/type/%23" > #< / a > documents:flags.0?< a href = "/type/Vector%20t" > Vector< / a > < < a href = "/type/Document" > Document< / a > > settings:flags.1?< a href = "/type/ThemeSettings" > ThemeSettings< / a > = < a href = "/type/WebPageAttribute" > WebPageAttribute< / a > ;\
---functions---\
< a href = "/method/upload.getFile" > upload.getFile< / a > #b15a9afc 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/int" > int< / a > limit:< a href = "/type/int" > int< / a > = < a href = "/type/upload.File" > upload.File< / a > ;\
< a href = "/method/account.createTheme" > account.createTheme< / a > #8432c21f 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/InputThemeSettings" > InputThemeSettings< / a > = < a href = "/type/Theme" > Theme< / a > ;
< a href = "/method/account.updateTheme" > account.updateTheme< / a > #5cb367d5 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/InputThemeSettings" > InputThemeSettings< / a > = < a href = "/type/Theme" > Theme< / a > ;
< a href = "/method/auth.exportLoginToken" > auth.exportLoginToken< / a > #b1b41517 api_id:< a href = "/type/int" > int< / a > api_hash:< a href = "/type/string" > string< / a > except_ids:< a href = "/type/Vector%20t" > Vector< / a > < < a href = "/type/int" > int< / a > > = < a href = "/type/auth.LoginToken" > auth.LoginToken< / a > ;
< a href = "/method/auth.importLoginToken" > auth.importLoginToken< / a > #95ac5ce4 token:< a href = "/type/bytes" > bytes< / a > = < a href = "/type/auth.LoginToken" > auth.LoginToken< / a > ;
< a href = "/method/auth.acceptLoginToken" > auth.acceptLoginToken< / a > #e894ad4d token:< a href = "/type/bytes" > bytes< / a > = < a href = "/type/Authorization" > Authorization< / a > ;
< a href = "/method/account.setContentSettings" > account.setContentSettings< / a > #b574b16b flags:< a href = "/type/%23" > #< / a > sensitive_enabled:flags.0?< a href = "/constructor/true" > true< / a > = < a href = "/type/Bool" > Bool< / a > ;
< a href = "/method/account.getContentSettings" > account.getContentSettings< / a > #8b9b4dae = < a href = "/type/account.ContentSettings" > account.ContentSettings< / a > ;\
< a href = "/method/channels.getInactiveChannels" > channels.getInactiveChannels< / a > #11e831ee = < a href = "/type/messages.InactiveChats" > messages.InactiveChats< / a > ;\
< a href = "/method/account.getMultiWallPapers" > account.getMultiWallPapers< / a > #65ad71dc wallpapers:< a href = "/type/Vector%20t" > Vector< / a > < < a href = "/type/InputWallPaper" > InputWallPaper< / a > > = < a href = "/type/Vector%20t" > Vector< / a > < < a href = "/type/WallPaper" > WallPaper< / a > > ;\
< / code > < / pre > < / div >
< h3 > < a class = "anchor" name = "layer-105" href = "#layer-105" > < i class = "anchor-icon" > < / i > < / a > < a href = "/schema?layer=105" > Layer 105< / a > < / h3 >
< p > The API underwent huge changes, a full reread of the < a href = "https://core.telegram.org" > documentation< / a > is required.< / p >
< h3 > < a class = "anchor" name = "layer-23" href = "#layer-23" > < i class = "anchor-icon" > < / i > < / a > < a href = "/schema?layer=23" > Layer 23< / a > < / h3 >
< h4 > < a class = "anchor" name = "schema-changes" href = "#schema-changes" > < i class = "anchor-icon" > < / i > < / a > Schema changes< / h4 >
< h5 > < a class = "anchor" name = "new-methods" href = "#new-methods" > < i class = "anchor-icon" > < / i > < / a > New Methods< / h5 >
< ul >
< li > Added < a href = "/method/account.getPrivacy" > account.getPrivacy< / a > - Get privacy settings of current account< / li >
< li > Added < a href = "/method/account.setPrivacy" > account.setPrivacy< / a > - Change privacy settings of current account< / li >
< li > Added < a href = "/method/account.deleteAccount" > account.deleteAccount< / a > - Delete the user' s account from the telegram servers. Can be used, for example, to delete the account of a user that provided the login code, but forgot the < a href = "/api/srp" > 2FA password and no recovery method is configured< / a > .< / li >
< li > Added < a href = "/method/account.getAccountTTL" > account.getAccountTTL< / a > - Get days to live of account< / li >
< li > Added < a href = "/method/account.setAccountTTL" > account.setAccountTTL< / a > - Set account self-destruction period< / li >
< li > Added < a href = "/method/invokeWithLayer" > invokeWithLayer< / a > - Invoke the specified query using the specified API < a href = "/api/invoking#layers" > layer< / a > < / li >
< li > Added < a href = "/method/contacts.resolveUsername" > contacts.resolveUsername< / a > - Resolve a @username to get peer info< / li >
< li > Added < a href = "/method/account.sendChangePhoneCode" > account.sendChangePhoneCode< / a > - Verify a new phone number to associate to the current account< / li >
< li > Added < a href = "/method/account.changePhone" > account.changePhone< / a > - Change the phone number of the current account< / li >
< li > Added < a href = "/method/messages.getStickers" > messages.getStickers< / a > - Get stickers by emoji< / li >
< li > Added < a href = "/method/messages.getAllStickers" > messages.getAllStickers< / a > - Get all installed stickers< / li >
< li > Added < a href = "/method/account.updateDeviceLocked" > account.updateDeviceLocked< / a > - When client-side passcode lock feature is enabled, will not show message texts in incoming < a href = "/api/push-updates" > PUSH notifications< / a > .< / li >
< / ul >
< h5 > < a class = "anchor" name = "deleted-methods" href = "#deleted-methods" > < i class = "anchor-icon" > < / i > < / a > Deleted Methods< / h5 >
< ul >
< li > Removed invokeWithLayer18< / li >
< / ul >
< h5 > < a class = "anchor" name = "new-constructors" href = "#new-constructors" > < i class = "anchor-icon" > < / i > < / a > New Constructors< / h5 >
< ul >
< li > Added < a href = "/constructor/userStatusRecently" > userStatusRecently< / a > - Online status: last seen recently< / li >
< li > Added < a href = "/constructor/userStatusLastWeek" > userStatusLastWeek< / a > - Online status: last seen last week< / li >
< li > Added < a href = "/constructor/userStatusLastMonth" > userStatusLastMonth< / a > - Online status: last seen last month< / li >
< li > Added < a href = "/constructor/updatePrivacy" > updatePrivacy< / a > - Privacy rules were changed< / li >
< li > Added < a href = "/constructor/inputPrivacyKeyStatusTimestamp" > inputPrivacyKeyStatusTimestamp< / a > - Whether we can see the exact last online timestamp of the user< / li >
< li > Added < a href = "/constructor/privacyKeyStatusTimestamp" > privacyKeyStatusTimestamp< / a > - Whether we can see the last online timestamp< / li >
< li > Added < a href = "/constructor/inputPrivacyValueAllowContacts" > inputPrivacyValueAllowContacts< / a > - Allow only contacts< / li >
< li > Added < a href = "/constructor/inputPrivacyValueAllowAll" > inputPrivacyValueAllowAll< / a > - Allow all users< / li >
< li > Added < a href = "/constructor/inputPrivacyValueAllowUsers" > inputPrivacyValueAllowUsers< / a > - Allow only certain users< / li >
< li > Added < a href = "/constructor/inputPrivacyValueDisallowContacts" > inputPrivacyValueDisallowContacts< / a > - Disallow only contacts< / li >
< li > Added < a href = "/constructor/inputPrivacyValueDisallowAll" > inputPrivacyValueDisallowAll< / a > - Disallow all< / li >
< li > Added < a href = "/constructor/inputPrivacyValueDisallowUsers" > inputPrivacyValueDisallowUsers< / a > - Disallow only certain users< / li >
< li > Added < a href = "/constructor/privacyValueAllowContacts" > privacyValueAllowContacts< / a > - Allow all contacts< / li >
< li > Added < a href = "/constructor/privacyValueAllowAll" > privacyValueAllowAll< / a > - Allow all users< / li >
< li > Added < a href = "/constructor/privacyValueAllowUsers" > privacyValueAllowUsers< / a > - Allow only certain users< / li >
< li > Added < a href = "/constructor/privacyValueDisallowContacts" > privacyValueDisallowContacts< / a > - Disallow only contacts< / li >
< li > Added < a href = "/constructor/privacyValueDisallowAll" > privacyValueDisallowAll< / a > - Disallow all users< / li >
< li > Added < a href = "/constructor/privacyValueDisallowUsers" > privacyValueDisallowUsers< / a > - Disallow only certain users< / li >
< li > Added < a href = "/constructor/account.privacyRules" > account.privacyRules< / a > - Privacy rules< / li >
< li > Added < a href = "/constructor/accountDaysTTL" > accountDaysTTL< / a > - Time to live in days of the current account< / li >
< li > Added < a href = "/constructor/account.sentChangePhoneCode" > account.sentChangePhoneCode< / a > < / li >
< li > Added < a href = "/constructor/updateUserPhone" > updateUserPhone< / a > - A user' s phone number was changed< / li >
< li > Added < a href = "/constructor/documentAttributeImageSize" > documentAttributeImageSize< / a > - Defines the width and height of an image uploaded as document< / li >
< li > Added < a href = "/constructor/documentAttributeAnimated" > documentAttributeAnimated< / a > - Defines an animated GIF< / li >
< li > Added < a href = "/constructor/documentAttributeSticker" > documentAttributeSticker< / a > - Defines a sticker< / li >
< li > Added < a href = "/constructor/documentAttributeVideo" > documentAttributeVideo< / a > - Defines a video< / li >
< li > Added < a href = "/constructor/documentAttributeAudio" > documentAttributeAudio< / a > - Represents an audio file< / li >
< li > Added < a href = "/constructor/documentAttributeFilename" > documentAttributeFilename< / a > - A simple document with a file name< / li >
< li > Added < a href = "/constructor/messages.stickersNotModified" > messages.stickersNotModified< / a > - No new stickers were found for the given query< / li >
< li > Added < a href = "/constructor/messages.stickers" > messages.stickers< / a > - Found stickers< / li >
< li > Added < a href = "/constructor/stickerPack" > stickerPack< / a > - A stickerpack is a group of stickers associated to the same emoji. < / li >
< li > Added < a href = "/constructor/messages.allStickersNotModified" > messages.allStickersNotModified< / a > - Info about all installed stickers hasn' t changed< / li >
< li > Added < a href = "/constructor/messages.allStickers" > messages.allStickers< / a > - Info about all installed stickers< / li >
< li > Added < a href = "/constructor/disabledFeature" > disabledFeature< / a > < / li >
< / ul >
< h5 > < a class = "anchor" name = "changed-constructors" href = "#changed-constructors" > < i class = "anchor-icon" > < / i > < / a > Changed Constructors< / h5 >
< ul >
< li > Added < strong > status< / strong > parameter, removed < strong > expires< / strong > parameter in < a href = "/constructor/contactStatus" > contactStatus< / a > < / li >
< li > Added < strong > expires< / strong > , < strong > chat_big_size< / strong > , < strong > disabled_features< / strong > parameters in < a href = "/constructor/config" > config< / a > < / li >
< li > Added < strong > attributes< / strong > parameter, removed < strong > file_name< / strong > parameter in < a href = "/constructor/inputMediaUploadedDocument" > inputMediaUploadedDocument< / a > < / li >
< li > Added < strong > attributes< / strong > parameter, removed < strong > file_name< / strong > parameter in < a href = "/constructor/inputMediaUploadedThumbDocument" > inputMediaUploadedThumbDocument< / a > < / li >
< li > Added < strong > attributes< / strong > parameter, removed < strong > user_id< / strong > , < strong > file_name< / strong > parameters in < a href = "/constructor/document" > document< / a > < / li >
< / ul >
< h4 > < a class = "anchor" name = "schema" href = "#schema" > < i class = "anchor-icon" > < / i > < / a > Schema< / h4 >
< div > < pre > < code > < a href = "/constructor/contactStatus" > contactStatus< / a > #d3680c61 user_id:< a href = "/type/int" > int< / a > status:< a href = "/type/UserStatus" > UserStatus< / a > = < a href = "/type/ContactStatus" > ContactStatus< / a > ;
< a href = "/constructor/config" > config< / a > #7dae33e0 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 > > chat_big_size:< a href = "/type/int" > int< / a > chat_size_max:< a href = "/type/int" > int< / a > broadcast_size_max:< a href = "/type/int" > int< / a > disabled_features:< a href = "/type/Vector%20t" > Vector< / a > < < a href = "/type/DisabledFeature" > DisabledFeature< / a > > = < a href = "/type/Config" > Config< / a > ;\
< a href = "/constructor/inputMediaUploadedDocument" > inputMediaUploadedDocument< / a > #ffe76b78 file:< a href = "/type/InputFile" > InputFile< / a > mime_type:< a href = "/type/string" > string< / a > attributes:< a href = "/type/Vector%20t" > Vector< / a > < < a href = "/type/DocumentAttribute" > DocumentAttribute< / a > > = < a href = "/type/InputMedia" > InputMedia< / a > ;
< a href = "/constructor/inputMediaUploadedThumbDocument" > inputMediaUploadedThumbDocument< / a > #41481486 file:< a href = "/type/InputFile" > InputFile< / a > thumb:< a href = "/type/InputFile" > InputFile< / a > mime_type:< a href = "/type/string" > string< / a > attributes:< a href = "/type/Vector%20t" > Vector< / a > < < a href = "/type/DocumentAttribute" > DocumentAttribute< / a > > = < a href = "/type/InputMedia" > InputMedia< / a > ;\
< a href = "/constructor/document" > document< / a > #f9a39f4f id:< a href = "/type/long" > long< / a > access_hash:< a href = "/type/long" > long< / a > date:< a href = "/type/int" > int< / a > mime_type:< a href = "/type/string" > string< / a > size:< a href = "/type/int" > int< / a > thumb:< a href = "/type/PhotoSize" > PhotoSize< / 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 > ;\
< a href = "/constructor/userStatusRecently" > userStatusRecently< / a > #e26f42f1 = < a href = "/type/UserStatus" > UserStatus< / a > ;
< a href = "/constructor/userStatusLastWeek" > userStatusLastWeek< / a > #07bf09fc = < a href = "/type/UserStatus" > UserStatus< / a > ;
< a href = "/constructor/userStatusLastMonth" > userStatusLastMonth< / a > #77ebc742 = < a href = "/type/UserStatus" > UserStatus< / a > ;
< a href = "/constructor/updatePrivacy" > updatePrivacy< / a > #ee3b272a key:< a href = "/type/PrivacyKey" > PrivacyKey< / a > rules:< a href = "/type/Vector%20t" > Vector< / a > < < a href = "/type/PrivacyRule" > PrivacyRule< / a > > = < a href = "/type/Update" > Update< / a > ;\
< a href = "/constructor/inputPrivacyKeyStatusTimestamp" > inputPrivacyKeyStatusTimestamp< / a > #4f96cb18 = < a href = "/type/InputPrivacyKey" > InputPrivacyKey< / a > ;\
< a href = "/constructor/privacyKeyStatusTimestamp" > privacyKeyStatusTimestamp< / a > #bc2eab30 = < a href = "/type/PrivacyKey" > PrivacyKey< / a > ;\
< a href = "/constructor/inputPrivacyValueAllowContacts" > inputPrivacyValueAllowContacts< / a > #0d09e07b = < a href = "/type/InputPrivacyRule" > InputPrivacyRule< / a > ;
< a href = "/constructor/inputPrivacyValueAllowAll" > inputPrivacyValueAllowAll< / a > #184b35ce = < a href = "/type/InputPrivacyRule" > InputPrivacyRule< / a > ;
< a href = "/constructor/inputPrivacyValueAllowUsers" > inputPrivacyValueAllowUsers< / a > #131cc67f users:< a href = "/type/Vector%20t" > Vector< / a > < < a href = "/type/InputUser" > InputUser< / a > > = < a href = "/type/InputPrivacyRule" > InputPrivacyRule< / a > ;
< a href = "/constructor/inputPrivacyValueDisallowContacts" > inputPrivacyValueDisallowContacts< / a > #0ba52007 = < a href = "/type/InputPrivacyRule" > InputPrivacyRule< / a > ;
< a href = "/constructor/inputPrivacyValueDisallowAll" > inputPrivacyValueDisallowAll< / a > #d66b66c9 = < a href = "/type/InputPrivacyRule" > InputPrivacyRule< / a > ;
< a href = "/constructor/inputPrivacyValueDisallowUsers" > inputPrivacyValueDisallowUsers< / a > #90110467 users:< a href = "/type/Vector%20t" > Vector< / a > < < a href = "/type/InputUser" > InputUser< / a > > = < a href = "/type/InputPrivacyRule" > InputPrivacyRule< / a > ;\
< a href = "/constructor/privacyValueAllowContacts" > privacyValueAllowContacts< / a > #fffe1bac = < a href = "/type/PrivacyRule" > PrivacyRule< / a > ;
< a href = "/constructor/privacyValueAllowAll" > privacyValueAllowAll< / a > #65427b82 = < a href = "/type/PrivacyRule" > PrivacyRule< / a > ;
< a href = "/constructor/privacyValueAllowUsers" > privacyValueAllowUsers< / a > #4d5bbe0c users:< a href = "/type/Vector%20t" > Vector< / a > < < a href = "/type/int" > int< / a > > = < a href = "/type/PrivacyRule" > PrivacyRule< / a > ;
< a href = "/constructor/privacyValueDisallowContacts" > privacyValueDisallowContacts< / a > #f888fa1a = < a href = "/type/PrivacyRule" > PrivacyRule< / a > ;
< a href = "/constructor/privacyValueDisallowAll" > privacyValueDisallowAll< / a > #8b73e763 = < a href = "/type/PrivacyRule" > PrivacyRule< / a > ;
< a href = "/constructor/privacyValueDisallowUsers" > privacyValueDisallowUsers< / a > #0c7f49b7 users:< a href = "/type/Vector%20t" > Vector< / a > < < a href = "/type/int" > int< / a > > = < a href = "/type/PrivacyRule" > PrivacyRule< / a > ;\
< a href = "/constructor/account.privacyRules" > account.privacyRules< / a > #554abb6f rules:< a href = "/type/Vector%20t" > Vector< / a > < < a href = "/type/PrivacyRule" > PrivacyRule< / a > > users:< a href = "/type/Vector%20t" > Vector< / a > < < a href = "/type/User" > User< / a > > = < a href = "/type/account.PrivacyRules" > account.PrivacyRules< / a > ;
< a href = "/constructor/accountDaysTTL" > accountDaysTTL< / a > #b8d0afdf days:< a href = "/type/int" > int< / a > = < a href = "/type/AccountDaysTTL" > AccountDaysTTL< / a > ;
< a href = "/constructor/account.sentChangePhoneCode" > account.sentChangePhoneCode< / a > #a4f58c4c phone_code_hash:< a href = "/type/string" > string< / a > send_call_timeout:< a href = "/type/int" > int< / a > = < a href = "/type/account.SentChangePhoneCode" > account.SentChangePhoneCode< / a > ;\
< a href = "/constructor/updateUserPhone" > updateUserPhone< / a > #12b9417b user_id:< a href = "/type/int" > int< / a > phone:< a href = "/type/string" > string< / a > = < a href = "/type/Update" > Update< / a > ;\
< a href = "/constructor/documentAttributeImageSize" > documentAttributeImageSize< / a > #6c37c15c w:< a href = "/type/int" > int< / a > h:< a href = "/type/int" > int< / a > = < a href = "/type/DocumentAttribute" > DocumentAttribute< / a > ;
< a href = "/constructor/documentAttributeAnimated" > documentAttributeAnimated< / a > #11b58939 = < a href = "/type/DocumentAttribute" > DocumentAttribute< / a > ;
< a href = "/constructor/documentAttributeSticker" > documentAttributeSticker< / a > #fb0a5727 = < a href = "/type/DocumentAttribute" > DocumentAttribute< / a > ;
< a href = "/constructor/documentAttributeVideo" > documentAttributeVideo< / a > #5910cccb duration:< a href = "/type/int" > int< / a > w:< a href = "/type/int" > int< / a > h:< a href = "/type/int" > int< / a > = < a href = "/type/DocumentAttribute" > DocumentAttribute< / a > ;
< a href = "/constructor/documentAttributeAudio" > documentAttributeAudio< / a > #051448e5 duration:< a href = "/type/int" > int< / a > = < a href = "/type/DocumentAttribute" > DocumentAttribute< / a > ;
< a href = "/constructor/documentAttributeFilename" > documentAttributeFilename< / a > #15590068 file_name:< a href = "/type/string" > string< / a > = < a href = "/type/DocumentAttribute" > DocumentAttribute< / a > ;\
< a href = "/constructor/messages.stickersNotModified" > messages.stickersNotModified< / a > #f1749a22 = < a href = "/type/messages.Stickers" > messages.Stickers< / a > ;
< a href = "/constructor/messages.stickers" > messages.stickers< / a > #8a8ecd32 hash:< a href = "/type/string" > string< / a > stickers:< a href = "/type/Vector%20t" > Vector< / a > < < a href = "/type/Document" > Document< / a > > = < a href = "/type/messages.Stickers" > messages.Stickers< / a > ;\
< a href = "/constructor/stickerPack" > stickerPack< / a > #12b299d4 emoticon:< a href = "/type/string" > string< / a > documents:< a href = "/type/Vector%20t" > Vector< / a > < < a href = "/type/long" > long< / a > > = < a href = "/type/StickerPack" > StickerPack< / a > ;\
< a href = "/constructor/messages.allStickersNotModified" > messages.allStickersNotModified< / a > #e86602c3 = < a href = "/type/messages.AllStickers" > messages.AllStickers< / a > ;
< a href = "/constructor/messages.allStickers" > messages.allStickers< / a > #dcef3102 hash:< a href = "/type/string" > string< / 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/messages.AllStickers" > messages.AllStickers< / a > ;\
< a href = "/constructor/disabledFeature" > disabledFeature< / a > #ae636f24 feature:< a href = "/type/string" > string< / a > description:< a href = "/type/string" > string< / a > = < a href = "/type/DisabledFeature" > DisabledFeature< / a > ;\
---functions---\
< a href = "/method/account.getPrivacy" > account.getPrivacy< / a > #dadbc950 key:< a href = "/type/InputPrivacyKey" > InputPrivacyKey< / a > = < a href = "/type/account.PrivacyRules" > account.PrivacyRules< / a > ;
< a href = "/method/account.setPrivacy" > account.setPrivacy< / a > #c9f81ce8 key:< a href = "/type/InputPrivacyKey" > InputPrivacyKey< / a > rules:< a href = "/type/Vector%20t" > Vector< / a > < < a href = "/type/InputPrivacyRule" > InputPrivacyRule< / a > > = < a href = "/type/account.PrivacyRules" > account.PrivacyRules< / a > ;
< a href = "/method/account.deleteAccount" > account.deleteAccount< / a > #418d4e0b reason:< a href = "/type/string" > string< / a > = < a href = "/type/Bool" > Bool< / a > ;
< a href = "/method/account.getAccountTTL" > account.getAccountTTL< / a > #08fc711d = < a href = "/type/AccountDaysTTL" > AccountDaysTTL< / a > ;
< a href = "/method/account.setAccountTTL" > account.setAccountTTL< / a > #2442485e ttl:< a href = "/type/AccountDaysTTL" > AccountDaysTTL< / a > = < a href = "/type/Bool" > Bool< / a > ;\
< a href = "/method/invokeWithLayer" > invokeWithLayer< / a > #da9b0d0d {X:Type} layer:< a href = "/type/int" > int< / a > query:!X = X;\
< a href = "/method/contacts.resolveUsername" > contacts.resolveUsername< / a > #0bf0131c username:< a href = "/type/string" > string< / a > = < a href = "/type/User" > User< / a > ;\
< a href = "/method/account.sendChangePhoneCode" > account.sendChangePhoneCode< / a > #a407a8f4 phone_number:< a href = "/type/string" > string< / a > = < a href = "/type/account.SentChangePhoneCode" > account.SentChangePhoneCode< / a > ;
< a href = "/method/account.changePhone" > account.changePhone< / a > #70c32edb phone_number:< a href = "/type/string" > string< / a > phone_code_hash:< a href = "/type/string" > string< / a > phone_code:< a href = "/type/string" > string< / a > = < a href = "/type/User" > User< / a > ;\
< a href = "/method/messages.getStickers" > messages.getStickers< / a > #ae22e045 emoticon:< a href = "/type/string" > string< / a > hash:< a href = "/type/string" > string< / a > = < a href = "/type/messages.Stickers" > messages.Stickers< / a > ;
< a href = "/method/messages.getAllStickers" > messages.getAllStickers< / a > #aa3bc868 hash:< a href = "/type/string" > string< / a > = < a href = "/type/messages.AllStickers" > messages.AllStickers< / a > ;\
< a href = "/method/account.updateDeviceLocked" > account.updateDeviceLocked< / a > #38df3532 period:< a href = "/type/int" > int< / a > = < a href = "/type/Bool" > Bool< / a > ;\
< / code > < / pre > < / div >
< h4 > < a class = "anchor" name = "end-to-end-schema-changes" href = "#end-to-end-schema-changes" > < i class = "anchor-icon" > < / i > < / a > End-to-end schema changes< / h4 >
< h5 > < a class = "anchor" name = "new-constructors" href = "#new-constructors" > < i class = "anchor-icon" > < / i > < / a > New Constructors< / h5 >
< ul >
< li > Added < a href = "/constructor/decryptedMessageActionRequestKey" > decryptedMessageActionRequestKey< / a > - Request rekeying, see < a href = "/api/end-to-end/pfs" > rekeying process< / a > < / li >
< li > Added < a href = "/constructor/decryptedMessageActionAcceptKey" > decryptedMessageActionAcceptKey< / a > - Accept new key< / li >
< li > Added < a href = "/constructor/decryptedMessageActionAbortKey" > decryptedMessageActionAbortKey< / a > - Abort rekeying< / li >
< li > Added < a href = "/constructor/decryptedMessageActionCommitKey" > decryptedMessageActionCommitKey< / a > - Commit new key, see < a href = "/api/end-to-end/pfs" > rekeying process< / a > < / li >
< li > Added < a href = "/constructor/decryptedMessageActionNoop" > decryptedMessageActionNoop< / a > - NOOP action< / li >
< li > Added < a href = "/constructor/documentAttributeImageSize" > documentAttributeImageSize< / a > - Defines the width and height of an image uploaded as document< / li >
< li > Added < a href = "/constructor/documentAttributeAnimated" > documentAttributeAnimated< / a > - Defines an animated GIF< / li >
< li > Added < a href = "/constructor/documentAttributeSticker" > documentAttributeSticker< / a > - Defines a sticker< / li >
< li > Added < a href = "/constructor/documentAttributeVideo" > documentAttributeVideo< / a > - Defines a video< / li >
< li > Added < a href = "/constructor/documentAttributeAudio" > documentAttributeAudio< / a > - Represents an audio file< / li >
< li > Added < a href = "/constructor/documentAttributeFilename" > documentAttributeFilename< / a > - A simple document with a file name< / li >
< li > Added < a href = "/constructor/photoSizeEmpty" > photoSizeEmpty< / a > - Empty constructor. Image with this thumbnail is unavailable.< / li >
< li > Added < a href = "/constructor/photoSize" > photoSize< / a > - Image description.< / li >
< li > Added < a href = "/constructor/photoCachedSize" > photoCachedSize< / a > - Description of an image and its content.< / li >
< li > Added < a href = "/constructor/fileLocationUnavailable" > fileLocationUnavailable< / a > < / li >
< li > Added < a href = "/constructor/fileLocation" > fileLocation< / a > < / li >
< li > Added < a href = "/constructor/decryptedMessageMediaExternalDocument" > decryptedMessageMediaExternalDocument< / a > - Non-e2e documented forwarded from non-secret chat< / li >
< / ul >
< h4 > < a class = "anchor" name = "end-to-end-schema" href = "#end-to-end-schema" > < i class = "anchor-icon" > < / i > < / a > End-to-end schema< / h4 >
< div > < pre > < code > ===20===\
< a href = "/constructor/decryptedMessageActionRequestKey" > decryptedMessageActionRequestKey< / a > #f3c9611b exchange_id:< a href = "/type/long" > long< / a > g_a:< a href = "/type/bytes" > bytes< / a > = < a href = "/type/DecryptedMessageAction" > DecryptedMessageAction< / a > ;
< a href = "/constructor/decryptedMessageActionAcceptKey" > decryptedMessageActionAcceptKey< / a > #6fe1735b exchange_id:< a href = "/type/long" > long< / a > g_b:< a href = "/type/bytes" > bytes< / a > key_fingerprint:< a href = "/type/long" > long< / a > = < a href = "/type/DecryptedMessageAction" > DecryptedMessageAction< / a > ;
< a href = "/constructor/decryptedMessageActionAbortKey" > decryptedMessageActionAbortKey< / a > #dd05ec6b exchange_id:< a href = "/type/long" > long< / a > = < a href = "/type/DecryptedMessageAction" > DecryptedMessageAction< / a > ;
< a href = "/constructor/decryptedMessageActionCommitKey" > decryptedMessageActionCommitKey< / a > #ec2e0b9b exchange_id:< a href = "/type/long" > long< / a > key_fingerprint:< a href = "/type/long" > long< / a > = < a href = "/type/DecryptedMessageAction" > DecryptedMessageAction< / a > ;
< a href = "/constructor/decryptedMessageActionNoop" > decryptedMessageActionNoop< / a > #a82fdd63 = < a href = "/type/DecryptedMessageAction" > DecryptedMessageAction< / a > ;\
===23===
< a href = "/constructor/documentAttributeImageSize" > documentAttributeImageSize< / a > #6c37c15c w:< a href = "/type/int" > int< / a > h:< a href = "/type/int" > int< / a > = < a href = "/type/DocumentAttribute" > DocumentAttribute< / a > ;
< a href = "/constructor/documentAttributeAnimated" > documentAttributeAnimated< / a > #11b58939 = < a href = "/type/DocumentAttribute" > DocumentAttribute< / a > ;
< a href = "/constructor/documentAttributeSticker" > documentAttributeSticker< / a > #fb0a5727 = < a href = "/type/DocumentAttribute" > DocumentAttribute< / a > ;
< a href = "/constructor/documentAttributeVideo" > documentAttributeVideo< / a > #5910cccb duration:< a href = "/type/int" > int< / a > w:< a href = "/type/int" > int< / a > h:< a href = "/type/int" > int< / a > = < a href = "/type/DocumentAttribute" > DocumentAttribute< / a > ;
< a href = "/constructor/documentAttributeAudio" > documentAttributeAudio< / a > #051448e5 duration:< a href = "/type/int" > int< / a > = < a href = "/type/DocumentAttribute" > DocumentAttribute< / a > ;
< a href = "/constructor/documentAttributeFilename" > documentAttributeFilename< / a > #15590068 file_name:< a href = "/type/string" > string< / a > = < a href = "/type/DocumentAttribute" > DocumentAttribute< / a > ;\
< a href = "/constructor/photoSizeEmpty" > photoSizeEmpty< / a > #0e17e23c type:< a href = "/type/string" > string< / a > = < a href = "/type/PhotoSize" > PhotoSize< / a > ;
< a href = "/constructor/photoSize" > photoSize< / a > #77bfb61b type:< a href = "/type/string" > string< / a > location:< a href = "/type/FileLocation" > FileLocation< / a > w:< a href = "/type/int" > int< / a > h:< a href = "/type/int" > int< / a > size:< a href = "/type/int" > int< / a > = < a href = "/type/PhotoSize" > PhotoSize< / a > ;
< a href = "/constructor/photoCachedSize" > photoCachedSize< / a > #e9a734fa type:< a href = "/type/string" > string< / a > location:< a href = "/type/FileLocation" > FileLocation< / a > w:< a href = "/type/int" > int< / a > h:< a href = "/type/int" > int< / a > bytes:< a href = "/type/bytes" > bytes< / a > = < a href = "/type/PhotoSize" > PhotoSize< / a > ;\
< a href = "/constructor/fileLocationUnavailable" > fileLocationUnavailable< / a > #7c596b46 volume_id:< a href = "/type/long" > long< / a > local_id:< a href = "/type/int" > int< / a > secret:< a href = "/type/long" > long< / a > = < a href = "/type/FileLocation" > FileLocation< / a > ;
< a href = "/constructor/fileLocation" > fileLocation< / a > #53d69076 dc_id:< a href = "/type/int" > int< / a > volume_id:< a href = "/type/long" > long< / a > local_id:< a href = "/type/int" > int< / a > secret:< a href = "/type/long" > long< / a > = < a href = "/type/FileLocation" > FileLocation< / a > ;\
< a href = "/constructor/decryptedMessageMediaExternalDocument" > decryptedMessageMediaExternalDocument< / a > #fa95b0dd id:< a href = "/type/long" > long< / a > access_hash:< a href = "/type/long" > long< / a > date:< a href = "/type/int" > int< / a > mime_type:< a href = "/type/string" > string< / a > size:< a href = "/type/int" > int< / a > thumb:< a href = "/type/PhotoSize" > PhotoSize< / 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/DecryptedMessageMedia" > DecryptedMessageMedia< / a > ;\
< / code > < / pre > < / div >
< h3 > < a class = "anchor" name = "layer-18" href = "#layer-18" > < i class = "anchor-icon" > < / i > < / a > < a href = "/schema?layer=18" > Layer 18< / a > < / h3 >
< p > Added username support and a new type of updates for service messages.< / p >
< h4 > < a class = "anchor" name = "schema-changes" href = "#schema-changes" > < i class = "anchor-icon" > < / i > < / a > Schema changes< / h4 >
< ul >
< li > Added methods < a href = "/method/account.checkUsername" > account.checkUsername< / a > and < a href = "/method/account.updateUsername" > account.updateUsername< / a > for setting up a username, as well as the method < a href = "/method/contacts.search" > contacts.search< / a > that allows searching for publicly available users by username.< / li >
< li > < strong > username< / strong > field added to constructors of the type < a href = "/type/User" > User< / a > and to the < a href = "/constructor/updateUserName" > updateUserName< / a > constructor.< / li >
< li > Added new update constructor < a href = "/constructor/updateServiceNotification" > updateServiceNotification< / a > for receiving service messages.< / li >
< / ul >
< h4 > < a class = "anchor" name = "schema" href = "#schema" > < i class = "anchor-icon" > < / i > < / a > Schema< / h4 >
< pre > < code > contactFound user_id:int = ContactFound;
contacts.found results:Vector< ContactFound> users:Vector< User> = contacts.Found;
updateUserName user_id:int first_name:string last_name:string username:string = Update;
userSelf id:int first_name:string last_name:string username:string phone:string photo:UserProfilePhoto status:UserStatus inactive:Bool = User;
userContact id:int first_name:string last_name:string username:string access_hash:long phone:string photo:UserProfilePhoto status:UserStatus = User;
userRequest id:int first_name:string last_name:string username:string access_hash:long phone:string photo:UserProfilePhoto status:UserStatus = User;
userForeign id:int first_name:string last_name:string username:string access_hash:long photo:UserProfilePhoto status:UserStatus = User;
userDeleted id:int first_name:string last_name:string username:string = User;
updateServiceNotification type:string message:string media:MessageMedia popup:Bool = Update;
---functions---
account.checkUsername username:string = Bool;
account.updateUsername username:string = User;
contacts.search q:string limit:int = contacts.Found;
invokeWithLayer18#1c900537 {X:Type} query:!X = X;< / code > < / pre >
< h3 > < a class = "anchor" name = "layer-17" href = "#layer-17" > < i class = "anchor-icon" > < / i > < / a > < a href = "/schema?layer=17" > Layer 17< / a > < / h3 >
< p > Added new events for recording and uploading media, selecting contacts and locations to share.< / p >
< p > Read status for multimedia (messages containing < a href = "/constructor/messageMediaVideo" > messageMediaVideo< / a > or < a href = "/constructor/messageMediaAudio" > messageMediaAudio< / a > ) was moved to the new method < a href = "/method/messages.readMessageContents" > messages.readMessageContents< / a > . In case < strong > read_contents< / strong > is not passed or < a href = "/method/messages.readHistory" > messages.readHistory< / a > is used with an older layer, messages will be marked as read in the traditional way.< / p >
< h4 > < a class = "anchor" name = "schema-changes" href = "#schema-changes" > < i class = "anchor-icon" > < / i > < / a > Schema changes< / h4 >
< ul >
< li > Added new type < a href = "/type/SendMessageAction" > SendMessageAction< / a > for user actions aside from typing (recording, uploading media, etc.). It is used in updates < a href = "/constructor/updateUserTyping" > updateUserTyping< / a > , < a href = "/constructor/updateChatUserTyping" > updateChatUserTyping< / a > , in the method < a href = "/method/messages.setTyping" > messages.setTyping< / a > , and in the new encrypted service message < a href = "/constructor/decryptedMessageActionTyping" > decryptedMessageActionTyping< / a > .< / li >
< li > < strong > unread< / strong > and < strong > out< / strong > parameters in the constructors of the < a href = "/type/Message" > Message< / a > type were joined to form the new < strong > flags< / strong > parameter, containing a flag mask.< / li >
< li > Added new method < a href = "/method/messages.readMessageContents" > messages.readMessageContents< / a > , to be called once the user listened to a voice message or watched a video.< / li >
< li > Added parameters for end-to-end encrypted messages < strong > in_seq_no< / strong > , < strong > out_seq_no< / strong > and < strong > ttl< / strong > .< / li >
< li > Added < strong > mime_type< / strong > field to secret chat audio and video constructors.< / li >
< / ul >
< h4 > < a class = "anchor" name = "schema" href = "#schema" > < i class = "anchor-icon" > < / i > < / a > Schema< / h4 >
< pre > < code > sendMessageTypingAction = SendMessageAction;
sendMessageCancelAction = SendMessageAction;
sendMessageRecordVideoAction = SendMessageAction;
sendMessageUploadVideoAction = SendMessageAction;
sendMessageRecordAudioAction = SendMessageAction;
sendMessageUploadAudioAction = SendMessageAction;
sendMessageUploadPhotoAction = SendMessageAction;
sendMessageUploadDocumentAction = SendMessageAction;
sendMessageGeoLocationAction = SendMessageAction;
sendMessageChooseContactAction = SendMessageAction;
updateUserTyping user_id:int action:SendMessageAction = Update;
updateChatUserTyping chat_id:int user_id:int action:SendMessageAction = Update;
// Message object
message flags:int id:int from_id:int to_id:Peer date:int message:string media:MessageMedia = Message;
messageForwarded flags:int id:int fwd_from_id:int fwd_date:int from_id:int to_id:Peer date:int message:string media:MessageMedia = Message;
messageService flags:int id:int from_id:int to_id:Peer date:int action:MessageAction = Message;
---functions---
messages.setTyping peer:InputPeer action:SendMessageAction = Bool;
messages.readHistory peer:InputPeer max_id:int offset:int read_contents:Bool = messages.AffectedHistory;
messages.readMessageContents id:Vector< int> = Vector< int> ;
invokeWithLayer17#50858a19 {X:Type} query:!X = X;< / code > < / pre >
< h4 > < a class = "anchor" name = "end-to-end-schema" href = "#end-to-end-schema" > < i class = "anchor-icon" > < / i > < / a > End-to-end schema< / h4 >
< pre > < code > ===17===
// Layer
decryptedMessageLayer random_bytes:bytes layer:int in_seq_no:int out_seq_no:int message:DecryptedMessage = DecryptedMessageLayer;
decryptedMessageMediaAudio duration:int mime_type:string size:int key:bytes iv:bytes = DecryptedMessageMedia;
decryptedMessageMediaVideo thumb:bytes thumb_w:int thumb_h:int duration:int mime_type:string w:int h:int size:int key:bytes iv:bytes = DecryptedMessageMedia;
sendMessageTypingAction = SendMessageAction;
sendMessageCancelAction = SendMessageAction;
sendMessageRecordVideoAction = SendMessageAction;
sendMessageUploadVideoAction = SendMessageAction;
sendMessageRecordAudioAction = SendMessageAction;
sendMessageUploadAudioAction = SendMessageAction;
sendMessageUploadPhotoAction = SendMessageAction;
sendMessageUploadDocumentAction = SendMessageAction;
sendMessageGeoLocationAction = SendMessageAction;
sendMessageChooseContactAction = SendMessageAction;
decryptedMessageActionNotifyLayer layer:int = DecryptedMessageAction;
decryptedMessageActionTyping action:SendMessageAction = DecryptedMessageAction;
decryptedMessage random_id:long ttl:int message:string media:DecryptedMessageMedia = DecryptedMessage;
decryptedMessageService random_id:long action:DecryptedMessageAction = DecryptedMessage;< / code > < / pre >
< h3 > < a class = "anchor" name = "layer-16" href = "#layer-16" > < i class = "anchor-icon" > < / i > < / a > < a href = "/schema?layer=16" > Layer 16< / a > < / h3 >
< p > Added new < strong > sms_type< / strong > = < code > 5< / code > in the method < a href = "/method/auth.sendCode" > auth.sendCode< / a > .< / p >
< h4 > < a class = "anchor" name = "schema-changes" href = "#schema-changes" > < i class = "anchor-icon" > < / i > < / a > Schema changes< / h4 >
< ul >
< li > Added new constructor: < a href = "/constructor/auth.sentAppCode" > auth.sentAppCode< / a > to determine whether a code was sent via Telegram.< / li >
< li > Added new method < a href = "/method/auth.sendSms" > auth.sendSms< / a > to force re-sending a code via SMS.< / li >
< / ul >
< h4 > < a class = "anchor" name = "schema" href = "#schema" > < i class = "anchor-icon" > < / i > < / a > Schema< / h4 >
< pre > < code > auth.sentAppCode phone_registered:Bool phone_code_hash:string send_call_timeout:int is_password:Bool = auth.SentCode;
---functions---
auth.sendSms phone_number:string phone_code_hash:string = Bool;
invokeWithLayer16#cf5f0987 {X:Type} query:!X = X;< / code > < / pre >
< h3 > < a class = "anchor" name = "layer-15" href = "#layer-15" > < i class = "anchor-icon" > < / i > < / a > < a href = "/schema?layer=15" > Layer 15< / a > < / h3 >
< p > Modified behavior of the < strong > offset< / strong > parameter in the method < a href = "/method/messages.getHistory" > messages.getHistory< / a > . From now on it' s possible to combine message_id offset and a numeric offset.< / p >
< h4 > < a class = "anchor" name = "schema" href = "#schema" > < i class = "anchor-icon" > < / i > < / a > Schema< / h4 >
< pre > < code > invokeWithLayer15#b4418b64 {X:Type} query:!X = X;< / code > < / pre >
< h3 > < a class = "anchor" name = "layer-14" href = "#layer-14" > < i class = "anchor-icon" > < / i > < / a > < a href = "/schema?layer=14" > Layer 14< / a > < / h3 >
< h4 > < a class = "anchor" name = "schema-changes" href = "#schema-changes" > < i class = "anchor-icon" > < / i > < / a > Schema changes< / h4 >
< ul >
< li > Added new update constructors: < a href = "/constructor/updateUserBlocked" > updateUserBlocked< / a > and < a href = "/constructor/updateNotifySettings" > updateNotifySettings< / a > to sync notification settings and blacklists between devices.< / li >
< li > Added < strong > notify_settings< / strong > field to the < a href = "/constructor/dialog" > dialog< / a > constructor.< / li >
< / ul >
< h4 > < a class = "anchor" name = "schema" href = "#schema" > < i class = "anchor-icon" > < / i > < / a > Schema< / h4 >
< pre > < code > notifyPeer peer:Peer = NotifyPeer;
notifyUsers = NotifyPeer;
notifyChats = NotifyPeer;
notifyAll = NotifyPeer;
dialog peer:Peer top_message:int unread_count:int notify_settings:PeerNotifySettings = Dialog;
updateUserBlocked user_id:int blocked:Bool = Update;
updateNotifySettings peer:NotifyPeer notify_settings:PeerNotifySettings = Update;
---functions---
invokeWithLayer14#2b9b08fa {X:Type} query:!X = X;< / code > < / pre >
< h3 > < a class = "anchor" name = "layer-13" href = "#layer-13" > < i class = "anchor-icon" > < / i > < / a > < a href = "/schema?layer=13" > Layer 13< / a > < / h3 >
< h4 > < a class = "anchor" name = "schema-changes" href = "#schema-changes" > < i class = "anchor-icon" > < / i > < / a > Schema changes< / h4 >
< ul >
< li > Added < strong > mime_type< / strong > field to all audio and video constructors.< / li >
< li > Added new < a href = "/type/DecryptedMessageAction" > service message types< / a > in secret chats: messages read, messages deleted, screenshot taken, chat history cleared and API layer used by client notifications.< / li >
< li > Added < strong > retry_contacts< / strong > field to the < a href = "/constructor/contacts.importedContacts" > contacts.importedContacts< / a > constructor: ids of contacts, that will have to be imported at a later date.< / li >
< / ul >
< h4 > < a class = "anchor" name = "schema" href = "#schema" > < i class = "anchor-icon" > < / i > < / a > Schema< / h4 >
< pre > < code > contacts.importedContacts imported:Vector< ImportedContact> retry_contacts:Vector< long> users:Vector< User> = contacts.ImportedContacts;
inputMediaUploadedAudio file:InputFile duration:int mime_type:string = InputMedia;
inputMediaUploadedVideo file:InputFile duration:int w:int h:int mime_type:string = InputMedia;
inputMediaUploadedThumbVideo file:InputFile thumb:InputFile duration:int w:int h:int mime_type:string = InputMedia;
audio id:long access_hash:long user_id:int date:int duration:int mime_type:string size:int dc_id:int = Audio;
video id:long access_hash:long user_id:int date:int caption:string duration:int mime_type:string size:int thumb:PhotoSize dc_id:int w:int h:int = Video;
---functions---
invokeWithLayer13#427c8ea2 {X:Type} query:!X = X;< / code > < / pre >
< h3 > < a class = "anchor" name = "layer-12" href = "#layer-12" > < i class = "anchor-icon" > < / i > < / a > < a href = "/schema?layer=12" > Layer 12< / a > < / h3 >
< h4 > < a class = "anchor" name = "schema-changes" href = "#schema-changes" > < i class = "anchor-icon" > < / i > < / a > Schema changes< / h4 >
< ul >
< li > Added method < a href = "/method/help.getSupport" > help.getSupport< / a > for obtaining support user id.< / li >
< li > Added < strong > broadcast_size_max< / strong > field to the constructor < a href = "/constructor/config" > config< / a > , contaning maximum number of broadcast recipients.< / li >
< li > Added < strong > send_call_timeout< / strong > field to the constructor < a href = "/constructor/auth.sentCode" > auth.sentCode< / a > , containing required delay before calling < a href = "/method/auth.sendCall" > auth.sendCall< / a > . New field < strong > is_password< / strong > in the same constructor.< / li >
< / ul >
< h4 > < a class = "anchor" name = "schema" href = "#schema" > < i class = "anchor-icon" > < / i > < / a > Schema< / h4 >
< pre > < code > auth.sentCode phone_registered:Bool phone_code_hash:string send_call_timeout:int is_password:Bool = auth.SentCode;
config date:int test_mode:Bool this_dc:int dc_options:Vector< DcOption> chat_size_max:int broadcast_size_max:int = Config;
help.support phone_number:string user:User = help.Support;
---functions---
help.getSupport = help.Support;
invokeWithLayer12#dda60d3c {X:Type} query:!X = X;< / code > < / pre >
< h3 > < a class = "anchor" name = "layer-11" href = "#layer-11" > < i class = "anchor-icon" > < / i > < / a > < a href = "/schema?layer=11" > Layer 11< / a > < / h3 >
< h4 > < a class = "anchor" name = "schema-changes" href = "#schema-changes" > < i class = "anchor-icon" > < / i > < / a > Schema changes< / h4 >
< ul >
< li > The < strong > nonce< / strong > parameter was removed from secret chat constructors. For purposes of backward compatibility, in all previous layers this field will contain empty bytes.< / li >
< / ul >
< h4 > < a class = "anchor" name = "schema" href = "#schema" > < i class = "anchor-icon" > < / i > < / a > Schema< / h4 >
< pre > < code > encryptedChatRequested id:int access_hash:long date:int admin_id:int participant_id:int g_a:bytes = EncryptedChat;
encryptedChat id:int access_hash:long date:int admin_id:int participant_id:int g_a_or_b:bytes key_fingerprint:long = EncryptedChat;
---functions---
invokeWithLayer11#a6b88fdf {X:Type} query:!X = X;< / code > < / pre >
< h3 > < a class = "anchor" name = "layer-10" href = "#layer-10" > < i class = "anchor-icon" > < / i > < / a > < a href = "/schema?layer=10" > Layer 10< / a > < / h3 >
< p > Added brief constructors for editing group members. Added new attachment types for ordinary and secret chats.< / p >
< h4 > < a class = "anchor" name = "schema-changes" href = "#schema-changes" > < i class = "anchor-icon" > < / i > < / a > Schema changes< / h4 >
< ul >
< li > Added new update contructors: < a href = "/constructor/updateChatParticipantAdd" > updateChatParticipantAdd< / a > and < a href = "/constructor/updateChatParticipantDelete" > updateChatParticipantDelete< / a > .< / li >
< li > Added new media types: < a href = "/type/Document" > Document< / a > , < a href = "/type/Audio" > Audio< / a > , along with rescpective attachment constructors.< / li >
< li > If the client doesn' t support Layer 10, it will receive < a href = "/constructor/messageMediaUnsupported" > messageMediaUnsupported< / a > constructors instead of the < a href = "/constructor/messageMediaDocument" > messageMediaDocument< / a > and < a href = "/constructor/messageMediaAudio" > messageMediaAudio< / a > constructors.< / li >
< / ul >
< h4 > < a class = "anchor" name = "schema" href = "#schema" > < i class = "anchor-icon" > < / i > < / a > Schema< / h4 >
< pre > < code > updateChatParticipantAdd chat_id:int user_id:int inviter_id:int version:int = Update;
updateChatParticipantDelete chat_id:int user_id:int version:int = Update;
inputMediaUploadedAudio file:InputFile duration:int = InputMedia;
inputMediaAudio id:InputAudio = InputMedia;
inputMediaUploadedDocument file:InputFile file_name:string mime_type:string = InputMedia;
inputMediaUploadedThumbDocument file:InputFile thumb:InputFile file_name:string mime_type:string = InputMedia;
inputMediaDocument id:InputDocument = InputMedia;
messageMediaDocument document:Document = MessageMedia;
messageMediaAudio audio:Audio = MessageMedia;
// Input Audio
inputAudioEmpty = InputAudio;
inputAudio id:long access_hash:long = InputAudio;
// Input Document
inputDocumentEmpty = InputDocument;
inputDocument id:long access_hash:long = InputDocument;
// Input location
inputAudioFileLocation id:long access_hash:long = InputFileLocation;
inputDocumentFileLocation id:long access_hash:long = InputFileLocation;
decryptedMessageMediaDocument thumb:bytes thumb_w:int thumb_h:int file_name:string mime_type:string size:int key:bytes iv:bytes = DecryptedMessageMedia;
decryptedMessageMediaAudio duration:int size:int key:bytes iv:bytes = DecryptedMessageMedia;
// Audio object
audioEmpty id:long = Audio;
audio id:long access_hash:long user_id:int date:int duration:int size:int dc_id:int = Audio;
// Video object
documentEmpty id:long = Document;
document id:long access_hash:long user_id:int date:int file_name:string mime_type:string size:int thumb:PhotoSize dc_id:int = Document;
---functions---
invokeWithLayer10#39620c41 {X:Type} query:!X = X;< / code > < / pre >
< h4 > < a class = "anchor" name = "push-notifications" href = "#push-notifications" > < i class = "anchor-icon" > < / i > < / a > Push-notifications< / h4 >
< p > Added MESSAGE_DOC, MESSAGE_AUDIO notifications — a message with document or audio received Added CHAT_MESSAGE_DOC, CHAT_MESSAGE_AUDIO notifications — a message with document or audio received in a group< / p >
< h3 > < a class = "anchor" name = "layer-9" href = "#layer-9" > < i class = "anchor-icon" > < / i > < / a > < a href = "/schema?layer=9" > Layer 9< / a > < / h3 >
< p > Increased efficiency when loading big files. Added important checks for certain methods.< / p >
< h4 > < a class = "anchor" name = "schema-changes" href = "#schema-changes" > < i class = "anchor-icon" > < / i > < / a > Schema changes< / h4 >
< ul >
< li > Added new < a href = "/method/upload.saveBigFilePart" > upload.saveBigFilePart< / a > method, constructors < a href = "/constructor/inputFileBig" > inputFileBig< / a > , < a href = "/constructor/inputEncryptedFileBigUploaded" > inputEncryptedFileBigUploaded< / a > to optimize saving parts of big files. See the updated article on < a href = "/api/files#uploading-files" > Uploading files< / a > for details.< / li >
< li > Added a check whether the < a href = "/method/initConnection" > initConnection< / a > method was called with all required parameters before making other API calls. See the updated article on < a href = "/api/invoking#saving-client-info" > Calling methods< / a > for details.< / li >
< li > Added availability check for < strong > lang_code< / strong > parameters when calling methods < a href = "/method/auth.sendCode" > auth.sendCode< / a > , < a href = "/method/account.registerDevice" > account.registerDevice< / a > < / li >
< li > Added availability check for < strong > random_id< / strong > parameters in all message sending methods: < a href = "/method/messages.sendMessage" > messages.sendMessage< / a > , < a href = "/method/messages.sendMedia" > messages.sendMedia< / a > , < a href = "/method/messages.forwardMessage" > messages.forwardMessage< / a > < / li >
< / ul >
< h4 > < a class = "anchor" name = "schema" href = "#schema" > < i class = "anchor-icon" > < / i > < / a > Schema< / h4 >
< pre > < code > inputFileBig id:long parts:int name:string = InputFile;
inputEncryptedFileBigUploaded id:long parts:int key_fingerprint:int = InputEncryptedFile;
---functions---
upload.saveBigFilePart file_id:long file_part:int file_total_parts:int bytes:bytes = Bool;
initConnection#69796de9 {X:Type} api_id:int device_model:string system_version:string app_version:string lang_code:string query:!X = X;
invokeWithLayer9#76715a63 {X:Type} query:!X = X;< / code > < / pre >
< h3 > < a class = "anchor" name = "layer-8" href = "#layer-8" > < i class = "anchor-icon" > < / i > < / a > < a href = "/schema?layer=8" > Layer 8< / a > < / h3 >
< p > Added support for end-to-end encryption in secret chats. < a href = "/api/end-to-end" > More…< / a > < / p >
< h4 > < a class = "anchor" name = "schema-changes" href = "#schema-changes" > < i class = "anchor-icon" > < / i > < / a > Schema changes< / h4 >
< ul >
< li > Added many constructors and methods for secret chats.< / li >
< li > Added < strong > qts< / strong > field in constructor < a href = "/constructor/updates.state" > updates.state< / a > .< / li >
< li > Added 4 new constructors of < a href = "/type/Update" > Update< / a > type< / li >
< / ul >
< h4 > < a class = "anchor" name = "schema" href = "#schema" > < i class = "anchor-icon" > < / i > < / a > Schema< / h4 >
< pre > < code > updateNewEncryptedMessage message:EncryptedMessage qts:int = Update;
updateEncryptedChatTyping chat_id:int = Update;
updateEncryption chat:EncryptedChat date:int = Update;
updateEncryptedMessagesRead chat_id:int max_date:int = Update;
// EncryptedChat object
encryptedChatEmpty id:int = EncryptedChat;
encryptedChatWaiting id:int access_hash:long date:int admin_id:int participant_id:int = EncryptedChat;
encryptedChatRequested id:int access_hash:long date:int admin_id:int participant_id:int g_a:bytes = EncryptedChat;
encryptedChat id:int access_hash:long date:int admin_id:int participant_id:int g_a_or_b:bytes key_fingerprint:long = EncryptedChat;
encryptedChatDiscarded id:int = EncryptedChat;
inputEncryptedChat chat_id:int access_hash:long = InputEncryptedChat;
// EncryptedFile object
encryptedFileEmpty = EncryptedFile;
encryptedFile id:long access_hash:long size:int dc_id:int key_fingerprint:int = EncryptedFile;
inputEncryptedFileEmpty = InputEncryptedFile;
inputEncryptedFileUploaded id:long parts:int md5_checksum:string key_fingerprint:int = InputEncryptedFile;
inputEncryptedFile id:long access_hash:long = InputEncryptedFile;
inputEncryptedFileLocation id:long access_hash:long = InputFileLocation;
// Encrypted message
encryptedMessage random_id:long chat_id:int date:int bytes:bytes file:EncryptedFile = EncryptedMessage;
encryptedMessageService random_id:long chat_id:int date:int bytes:bytes = EncryptedMessage;
// Diffie-Hellman config
messages.dhConfigNotModified random:bytes = messages.DhConfig;
messages.dhConfig g:int p:bytes version:int random:bytes = messages.DhConfig;
messages.sentEncryptedMessage date:int = messages.SentEncryptedMessage;
messages.sentEncryptedFile date:int file:EncryptedFile = messages.SentEncryptedMessage;
// Updated state with qts
updates.state pts:int qts:int date:int seq:int unread_count:int = updates.State;
updates.difference new_messages:Vector< Message> new_encrypted_messages:Vector< EncryptedMessage> other_updates:Vector< Update> chats:Vector< Chat> users:Vector< User> state:updates.State = updates.Difference;
updates.differenceSlice new_messages:Vector< Message> new_encrypted_messages:Vector< EncryptedMessage> other_updates:Vector< Update> chats:Vector< Chat> users:Vector< User> intermediate_state:updates.State = updates.Difference;
---functions---
messages.getDhConfig version:int random_length:int = messages.DhConfig;
messages.requestEncryption user_id:InputUser random_id:int g_a:bytes = EncryptedChat;
messages.acceptEncryption peer:InputEncryptedChat g_b:bytes key_fingerprint:long = EncryptedChat;
messages.discardEncryption chat_id:int = Bool;
messages.setEncryptedTyping peer:InputEncryptedChat typing:Bool = Bool;
messages.readEncryptedHistory peer:InputEncryptedChat max_date:int = Bool;
messages.sendEncrypted peer:InputEncryptedChat random_id:long data:bytes = messages.SentEncryptedMessage;
messages.sendEncryptedFile peer:InputEncryptedChat random_id:long data:bytes file:InputEncryptedFile = messages.SentEncryptedMessage;
messages.sendEncryptedService peer:InputEncryptedChat random_id:long data:bytes = messages.SentEncryptedMessage;
messages.receivedQueue max_qts:int = Vector< long> ;
updates.getDifference pts:int date:int qts:int = updates.Difference;
invokeWithLayer8#e9abd9fd {X:Type} query:!X = X;< / code > < / pre >
< h4 > < a class = "anchor" name = "push-notifications" href = "#push-notifications" > < i class = "anchor-icon" > < / i > < / a > Push-notifications< / h4 >
< ul >
< li > Added notification of < a href = "/api/push-updates#possible-notifications" > ENCRYPTION_REQUEST< / a > type — a contact requested secret chat creation< / li >
< li > Added notification of < a href = "/api/push-updates#possible-notifications" > ENCRYPTION_ACCEPT< / a > type — a contact confirmed secret chat creation< / li >
< li > Added notification of < a href = "/api/push-updates#possible-notifications" > ENCRYPTED_MESSAGE< / a > type — a contact sent message in a secret chat< / li >
< / ul >
< h4 > < a class = "anchor" name = "end-to-end-schema" href = "#end-to-end-schema" > < i class = "anchor-icon" > < / i > < / a > End-to-end schema< / h4 >
< pre > < code > ===8===
decryptedMessage random_id:long random_bytes:bytes message:string media:DecryptedMessageMedia = DecryptedMessage;
decryptedMessageService random_id:long random_bytes:bytes action:DecryptedMessageAction = DecryptedMessage;
decryptedMessageMediaEmpty = DecryptedMessageMedia;
decryptedMessageMediaPhoto thumb:bytes thumb_w:int thumb_h:int w:int h:int size:int key:bytes iv:bytes = DecryptedMessageMedia;
decryptedMessageMediaVideo thumb:bytes thumb_w:int thumb_h:int duration:int w:int h:int size:int key:bytes iv:bytes = DecryptedMessageMedia;
decryptedMessageMediaGeoPoint lat:double long:double = DecryptedMessageMedia;
decryptedMessageMediaContact phone_number:string first_name:string last_name:string user_id:int = DecryptedMessageMedia;
decryptedMessageActionSetMessageTTL ttl_seconds:int = DecryptedMessageAction;
decryptedMessageMediaDocument thumb:bytes thumb_w:int thumb_h:int file_name:string mime_type:string size:int key:bytes iv:bytes = DecryptedMessageMedia;
decryptedMessageMediaAudio duration:int size:int key:bytes iv:bytes = DecryptedMessageMedia;
decryptedMessageActionReadMessages random_ids:Vector< long> = DecryptedMessageAction;
decryptedMessageActionDeleteMessages random_ids:Vector< long> = DecryptedMessageAction;
decryptedMessageActionScreenshotMessages random_ids:Vector< long> = DecryptedMessageAction;
decryptedMessageActionFlushHistory = DecryptedMessageAction;< / code > < / pre >
< h3 > < a class = "anchor" name = "layer-7" href = "#layer-7" > < i class = "anchor-icon" > < / i > < / a > < a href = "/schema?layer=7" > Layer 7< / a > < / h3 >
< p > Added wallpaper constructor < a href = "/constructor/wallPaperSolid" > wallPaperSolid< / a > .< / p >
< h4 > < a class = "anchor" name = "schema" href = "#schema" > < i class = "anchor-icon" > < / i > < / a > Schema< / h4 >
< pre > < code > wallPaperSolid id:int title:string bg_color:int color:int = WallPaper;
---functions---
invokeWithLayer7#a5be56d3 {X:Type} query:!X = X;< / code > < / pre >
< h3 > < a class = "anchor" name = "layer-6" href = "#layer-6" > < i class = "anchor-icon" > < / i > < / a > < a href = "/schema?layer=6" > Layer 6< / a > < / h3 >
< p > Added location identifiers from foursquare.< / p >
< h4 > < a class = "anchor" name = "schema" href = "#schema" > < i class = "anchor-icon" > < / i > < / a > Schema< / h4 >
< pre > < code > geoChat id:int access_hash:long title:string address:string venue:string geo:GeoPoint photo:ChatPhoto participants_count:int date:int checked_in:Bool version:int = Chat;
---functions---
geochats.createGeoChat title:string geo_point:InputGeoPoint address:string venue:string = geochats.StatedMessage;
invokeWithLayer6#3a64d54d {X:Type} query:!X = X;< / code > < / pre >
< h3 > < a class = "anchor" name = "layer-5" href = "#layer-5" > < i class = "anchor-icon" > < / i > < / a > < a href = "/schema?layer=5" > Layer 5< / a > < / h3 >
< p > Added parameters for internationalization.< / p >
< h4 > < a class = "anchor" name = "schema-changes" href = "#schema-changes" > < i class = "anchor-icon" > < / i > < / a > Schema changes< / h4 >
< ul >
< li > Added parameter lang_code to methods < a href = "/method/auth.sendCode" > auth.sendCode< / a > , < a href = "/method/account.registerDevice" > account.registerDevice< / a > < / li >
< / ul >
< h4 > < a class = "anchor" name = "schema" href = "#schema" > < i class = "anchor-icon" > < / i > < / a > Schema< / h4 >
< pre > < code > ---functions---
auth.sendCode phone_number:string sms_type:int api_id:int api_hash:string lang_code:string = auth.SentCode;
account.registerDevice token_type:int token:string device_model:string system_version:string app_version:string app_sandbox:Bool lang_code:string = Bool;
invokeWithLayer5#417a57ae {X:Type} query:!X = X;< / code > < / pre >
< h3 > < a class = "anchor" name = "layer-4" href = "#layer-4" > < i class = "anchor-icon" > < / i > < / a > < a href = "/schema?layer=4" > Layer 4< / a > < / h3 >
< p > Added geochats. < a href = "/api/geochats" > More…< / a > < / p >
< h4 > < a class = "anchor" name = "schema-changes" href = "#schema-changes" > < i class = "anchor-icon" > < / i > < / a > Schema changes< / h4 >
< ul >
< li > Added many constructors and methods for geochats.< / li >
< li > Added friends_unread_count field to constructor < a href = "/constructor/updates.state" > updates.state< / a > .< / li >
< / ul >
< h4 > < a class = "anchor" name = "schema" href = "#schema" > < i class = "anchor-icon" > < / i > < / a > Schema< / h4 >
< pre > < code > inputGeoChat chat_id:int access_hash:long = InputGeoChat;
geoChat id:int access_hash:long title:string address:string geo:GeoPoint photo:ChatPhoto participants_count:int date:int left:Bool version:int = Chat;
geoChatMessageEmpty chat_id:int id:int = GeoChatMessage;
geoChatMessage chat_id:int id:int from_id:int date:int message:string media:MessageMedia = GeoChatMessage;
geoChatMessageService chat_id:int id:int from_id:int date:int action:MessageAction = GeoChatMessage;
geochats.statedMessage message:GeoChatMessage chats:Vector< Chat> users:Vector< User> seq:int = geochats.StatedMessage;
geochats.located results:Vector< ChatLocated> messages:Vector< GeoChatMessage> chats:Vector< Chat> users:Vector< User> = geochats.Located;
geochats.messages messages:Vector< GeoChatMessage> chats:Vector< Chat> users:Vector< User> = geochats.Messages;
geochats.messagesSlice count:int messages:Vector< GeoChatMessage> chats:Vector< Chat> users:Vector< User> = geochats.Messages;
messageActionGeoChatCreate title:string address:string = MessageAction;
messageActionGeoChatCheckin = MessageAction;
updateNewGeoChatMessage message:GeoChatMessage = Update;
updates.state pts:int date:int seq:int unread_count:int friends_unread_count:int = updates.State;
---functions---
geochats.getLocated geo_point:InputGeoPoint radius:int limit:int = geochats.Located;
geochats.checkin peer:InputGeoChat = geochats.StatedMessage;
geochats.getFullChat peer:InputGeoChat = messages.ChatFull;
geochats.editChatTitle peer:InputGeoChat title:string address:string = geochats.StatedMessage;
geochats.editChatPhoto peer:InputGeoChat photo:InputChatPhoto = geochats.StatedMessage;
geochats.search peer:InputGeoChat q:string filter:MessagesFilter min_date:int max_date:int offset:int max_id:int limit:int = geochats.Messages;
geochats.getHistory peer:InputGeoChat offset:int max_id:int limit:int = geochats.Messages;
geochats.setTyping peer:InputGeoChat typing:Bool = Bool;
geochats.sendMessage peer:InputGeoChat message:string random_id:long = geochats.StatedMessage;
geochats.sendMedia peer:InputGeoChat media:InputMedia random_id:long = geochats.StatedMessage;
geochats.createGeoChat title:string geo_point:InputGeoPoint address:string = geochats.StatedMessage;
invokeWithLayer4#dea0d430 {X:Type} query:!X = X;< / code > < / pre >
< h4 > < a class = "anchor" name = "push-notifications" href = "#push-notifications" > < i class = "anchor-icon" > < / i > < / a > Push-notifications< / h4 >
< ul >
< li > Added notification of < a href = "/api/push-updates#possible-notifications" > GEOCHAT_CHECKIN< / a > type — a user has checked-in in a geochat.< / li >
< / ul >
< h3 > < a class = "anchor" name = "layer-3" href = "#layer-3" > < i class = "anchor-icon" > < / i > < / a > < a href = "/schema?layer=3" > Layer 3< / a > < / h3 >
< p > Support for link changes for a contact when a message is sent. Now, if user X has user Y in the contact list and if user Y writes a message to user X, number X will become available for him.< / p >
< h4 > < a class = "anchor" name = "schema-changes" href = "#schema-changes" > < i class = "anchor-icon" > < / i > < / a > Schema changes< / h4 >
< ul >
< li > Added constructors < a href = "/constructor/messages.statedMessagesLinks" > messages.statedMessagesLinks< / a > , < a href = "/constructor/messages.statedMessageLink" > messages.statedMessageLink< / a > , < a href = "/constructor/messages.sentMessageLink" > messages.sentMessageLink< / a > . They are completely similar to previous ones except for the links field containing changed links.< / li >
< li > Added events_mask field to constructors < a href = "/constructor/inputPeerNotifySettings" > inputPeerNotifySettings< / a > , < a href = "/constructor/peerNotifySettings" > peerNotifySettings< / a > making possible turning-off PUSH-notifications on image changes.< / li >
< li > Added method < a href = "/method/messages.forwardMessage" > messages.forwardMessage< / a > for sending single messages.< / li >
< li > Added method < a href = "/method/messages.sendBroadcast" > messages.sendBroadcast< / a > for bulky messaging.< / li >
< / ul >
< h4 > < a class = "anchor" name = "schema" href = "#schema" > < i class = "anchor-icon" > < / i > < / a > Schema< / h4 >
< pre > < code > messages.statedMessagesLinks messages:Vector< Message> chats:Vector< Chat> users:Vector< User> links:Vector< contacts.Link> pts:int seq:int = messages.StatedMessages;
messages.statedMessageLink message:Message chats:Vector< Chat> users:Vector< User> links:Vector< contacts.Link> pts:int seq:int = messages.StatedMessage;
messages.sentMessageLink id:int date:int pts:int seq:int links:Vector< contacts.Link> = messages.SentMessage;
---functions---
messages.forwardMessage peer:InputPeer id:int random_id:long = messages.StatedMessage;
messages.sendBroadcast contacts:Vector< InputUser> message:string media:InputMedia = messages.StatedMessages;
invokeWithLayer3#b7475268 {X:Type} query:!X = X;< / code > < / pre >
< h3 > < a class = "anchor" name = "layer-2" href = "#layer-2" > < i class = "anchor-icon" > < / i > < / a > < a href = "/schema?layer=2" > Layer 2< / a > < / h3 >
< p > Support for notifications on changes of contact profile images. It is assumed that receiving such image changed notification a client will add a record on this event in the message history with this contact.< / p >
< h4 > < a class = "anchor" name = "schema-changes" href = "#schema-changes" > < i class = "anchor-icon" > < / i > < / a > Schema changes< / h4 >
< ul >
< li > Added date and previous fields to constructor < a href = "/constructor/updateUserPhoto" > updateUserPhoto< / a > .< / li >
< li > Added events_mask field to constructors < a href = "/constructor/inputPeerNotifySettings" > inputPeerNotifySettings< / a > , < a href = "/constructor/peerNotifySettings" > peerNotifySettings< / a > making possible turning-off PUSH-notifications on image change.< / li >
< li > Added identifier for relevant image to constructor < a href = "/constructor/userProfilePhoto" > userProfilePhoto< / a > .< / li >
< li > Added method < a href = "/method/photos.getUserPhotos" > photos.getUserPhotos< / a > to get a history of previous profile images.< / li >
< / ul >
< h4 > < a class = "anchor" name = "schema" href = "#schema" > < i class = "anchor-icon" > < / i > < / a > Schema< / h4 >
< pre > < code > inputPeerNotifySettings mute_until:int sound:string show_previews:Bool events_mask:int = InputPeerNotifySettings;
peerNotifySettings mute_until:int sound:string show_previews:Bool events_mask:int = PeerNotifySettings;
updateUserPhoto user_id:int date:int photo:UserProfilePhoto previous:Bool = Update;
userProfilePhoto photo_id:long photo_small:FileLocation photo_big:FileLocation = UserProfilePhoto;
---functions---
photos.getUserPhotos user_id:InputUser offset:int max_id:int limit:int = photos.Photos;
invokeWithLayer2#289dd1f6 {X:Type} query:!X = X;< / code > < / pre >
< h4 > < a class = "anchor" name = "push-notifications" href = "#push-notifications" > < i class = "anchor-icon" > < / i > < / a > Push-notifications< / h4 >
< ul >
< li > Added notification of < a href = "/api/push-updates#possible-notifications" > CONTACT_PHOTO< / a > type — a contact has changed profile image.< / 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 >
< li > < a href = "//telegram.org/blog" > Blog< / a > < / li >
< li > < a href = "//telegram.org/jobs" > Jobs< / a > < / li >
< / 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 >
< li > < a href = "//telegram.org/dl/android" > Android< / a > < / li >
< li > < a href = "//telegram.org/dl/wp" > Windows Phone< / a > < / li >
< / 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 >
< script src = "/js/main.js?43" > < / script >
< 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 >