diff --git a/data/core.telegram.org/api/geochats.html b/data/core.telegram.org/api/geochats.html deleted file mode 100644 index 703ed750f7..0000000000 --- a/data/core.telegram.org/api/geochats.html +++ /dev/null @@ -1,115 +0,0 @@ - - -
- -Deprecated old docs. This was definitely not the droid you were looking for.
Below you will find information on scheme changes. For more details on the use of layers, see Invoking API methods.
-Added SVG path previews for animated stickers.
-photoPathSize#d8214d41 type:string bytes:bytes = PhotoSize;
Added message statistics, and a method to unpin all pinned messages in a chat.
-{1} sent you {2} music files
{1} sent you {2} files
{1} sent {3} music files to the group {2}
{1} sent {3} files to the group {2}
{1} posted {2} music files
{1} posted {2} files
inputGeoPoint#48222faf flags:# lat:double long:double accuracy_radius:flags.0?int = InputGeoPoint;
-geoPoint#b2a2f663 flags:# long:double lat:double access_hash:long accuracy_radius:flags.0?int = GeoPoint;
-messages.messagesSlice#3a54685e flags:# inexact:flags.1?true count:int next_rate:flags.0?int offset_id_offset:flags.2?int messages:Vector<Message> chats:Vector<Chat> users:Vector<User> = messages.Messages;
-messages.channelMessages#64479808 flags:# inexact:flags.1?true pts:int count:int offset_id_offset:flags.2?int messages:Vector<Message> chats:Vector<Chat> users:Vector<User> = messages.Messages;
-inputBotInlineMessageMediaGeo#96929a85 flags:# geo_point:InputGeoPoint heading:flags.0?int period:flags.1?int proximity_notification_radius:flags.3?int reply_markup:flags.2?ReplyMarkup = InputBotInlineMessage;
-botInlineMessageMediaGeo#051846fd flags:# geo:GeoPoint heading:flags.0?int period:flags.1?int proximity_notification_radius:flags.3?int reply_markup:flags.2?ReplyMarkup = BotInlineMessage;
-inputMediaGeoLive#971fa843 flags:# stopped:flags.0?true geo_point:InputGeoPoint heading:flags.2?int period:flags.1?int proximity_notification_radius:flags.3?int = InputMedia;
-messageMediaGeoLive#b940c666 flags:# geo:GeoPoint heading:flags.0?int period:int proximity_notification_radius:flags.1?int = MessageMedia;
-inputMessageCallbackQuery#acfa1a7e id:int query_id:long = InputMessage;
-channelParticipantLeft#c3c6796b user_id:int = ChannelParticipant;
-channelParticipantsMentions#e04b5ceb flags:# q:flags.0?string top_msg_id:flags.1?int = ChannelParticipantsFilter;
-updatePinnedMessages#ed85eab5 flags:# pinned:flags.0?true peer:Peer messages:Vector<int> pts:int pts_count:int = Update;
-updatePinnedChannelMessages#8588878b flags:# pinned:flags.0?true channel_id:int messages:Vector<int> pts:int pts_count:int = Update;
-inputMessagesFilterPinned#1bb00451 = MessagesFilter;
-stats.messageStats#8999f295 views_graph:StatsGraph = stats.MessageStats;
-messageActionGeoProximityReached#98e0d697 from_id:Peer to_id:Peer distance:int = MessageAction;
----functions---
-messages.search#0c352eec flags:# peer:InputPeer q:string from_id:flags.0?InputPeer top_msg_id:flags.1?int filter:MessagesFilter min_date:int max_date:int offset_id:int add_offset:int limit:int max_id:int min_id:int hash:int = messages.Messages;
-stats.getMessagePublicForwards#5630281b channel:InputChannel msg_id:int offset_rate:int offset_peer:InputPeer offset_id:int limit:int = messages.Messages;
-stats.getMessageStats#b6e0a3f5 flags:# dark:flags.0?true channel:InputChannel msg_id:int = stats.MessageStats;
-messages.unpinAllMessages#f025bc8b peer:InputPeer = messages.AffectedHistory;
Added message threads and comment sections in channel posts.
-@replies
message#58ae39c9 flags:# out:flags.1?true mentioned:flags.4?true media_unread:flags.5?true silent:flags.13?true post:flags.14?true from_scheduled:flags.18?true legacy:flags.19?true edit_hide:flags.21?true pinned:flags.24?true id:int from_id:flags.8?Peer peer_id:Peer fwd_from:flags.2?MessageFwdHeader via_bot_id:flags.11?int reply_to:flags.3?MessageReplyHeader date:int message:string media:flags.9?MessageMedia reply_markup:flags.6?ReplyMarkup entities:flags.7?Vector<MessageEntity> views:flags.10?int forwards:flags.10?int replies:flags.23?MessageReplies edit_date:flags.15?int post_author:flags.16?string grouped_id:flags.17?long restriction_reason:flags.22?Vector<RestrictionReason> = Message;
-messageService#286fa604 flags:# out:flags.1?true mentioned:flags.4?true media_unread:flags.5?true silent:flags.13?true post:flags.14?true legacy:flags.19?true id:int from_id:flags.8?Peer peer_id:Peer reply_to:flags.3?MessageReplyHeader date:int action:MessageAction = Message;
-contacts.blocked#0ade1591 blocked:Vector<PeerBlocked> chats:Vector<Chat> users:Vector<User> = contacts.Blocked;
-contacts.blockedSlice#e1664194 count:int blocked:Vector<PeerBlocked> chats:Vector<Chat> users:Vector<User> = contacts.Blocked;
-updateShortMessage#2296d2c8 flags:# out:flags.1?true mentioned:flags.4?true media_unread:flags.5?true silent:flags.13?true id:int user_id:int message:string pts:int pts_count:int date:int fwd_from:flags.2?MessageFwdHeader via_bot_id:flags.11?int reply_to:flags.3?MessageReplyHeader entities:flags.7?Vector<MessageEntity> = Updates;
-updateShortChatMessage#402d5dbb flags:# out:flags.1?true mentioned:flags.4?true media_unread:flags.5?true silent:flags.13?true id:int from_id:int chat_id:int message:string pts:int pts_count:int date:int fwd_from:flags.2?MessageFwdHeader via_bot_id:flags.11?int reply_to:flags.3?MessageReplyHeader entities:flags.7?Vector<MessageEntity> = Updates;
-channelParticipantCreator#447dca4b flags:# user_id:int admin_rights:ChatAdminRights rank:flags.0?string = ChannelParticipant;
-messageFwdHeader#5f777dce flags:# from_id:flags.0?Peer from_name:flags.5?string date:int channel_post:flags.2?int post_author:flags.3?string saved_from_peer:flags.4?Peer saved_from_msg_id:flags.4?int psa_type:flags.6?string = MessageFwdHeader;
-messageViews#455b853d flags:# views:flags.0?int forwards:flags.1?int replies:flags.2?MessageReplies = MessageViews;
-updateChannelMessageForwards#6e8a84df channel_id:int id:int forwards:int = Update;
-photoSizeProgressive#5aa86a51 type:string location:FileLocation w:int h:int sizes:Vector<int> = PhotoSize;
-messages.messageViews#b6c4f543 views:Vector<MessageViews> chats:Vector<Chat> users:Vector<User> = messages.MessageViews;
-updateReadChannelDiscussionInbox#1cc7de54 flags:# channel_id:int top_msg_id:int read_max_id:int broadcast_id:flags.0?int broadcast_post:flags.0?int = Update;
-updateReadChannelDiscussionOutbox#4638a26c channel_id:int top_msg_id:int read_max_id:int = Update;
-messages.discussionMessage#f5dd8f9d flags:# messages:Vector<Message> max_id:flags.0?int read_inbox_max_id:flags.1?int read_outbox_max_id:flags.2?int chats:Vector<Chat> users:Vector<User> = messages.DiscussionMessage;
-messageReplyHeader#a6d57763 flags:# reply_to_msg_id:int reply_to_peer_id:flags.0?Peer reply_to_top_id:flags.1?int = MessageReplyHeader;
-messageReplies#4128faac flags:# comments:flags.0?true replies:int replies_pts:int recent_repliers:flags.1?Vector<Peer> channel_id:flags.0?int max_id:flags.2?int read_max_id:flags.3?int = MessageReplies;
-updatePeerBlocked#246a4b22 peer_id:Peer blocked:Bool = Update;
-peerBlocked#e8fd8014 peer_id:Peer date:int = PeerBlocked;
-updateChannelUserTyping#ff2abe9f flags:# channel_id:int top_msg_id:flags.0?int user_id:int action:SendMessageAction = Update;
----functions---
-contacts.block#68cc1411 id:InputPeer = Bool;
-contacts.unblock#bea65d50 id:InputPeer = Bool;
-messages.search#4e17810b flags:# peer:InputPeer q:string from_id:flags.0?InputUser top_msg_id:flags.1?int filter:MessagesFilter min_date:int max_date:int offset_id:int add_offset:int limit:int max_id:int min_id:int hash:int = messages.Messages;
-messages.setTyping#58943ee2 flags:# peer:InputPeer top_msg_id:flags.0?int action:SendMessageAction = Bool;
-messages.getMessagesViews#5784d3e1 peer:InputPeer id:Vector<int> increment:Bool = messages.MessageViews;
-messages.searchGlobal#4bc6589a flags:# folder_id:flags.0?int q:string filter:MessagesFilter min_date:int max_date:int offset_rate:int offset_peer:InputPeer offset_id:int limit:int = messages.Messages;
-channels.exportMessageLink#e63fadeb flags:# grouped:flags.0?true thread:flags.1?true channel:InputChannel id:int = ExportedMessageLink;
-messages.getReplies#24b581ba peer:InputPeer msg_id:int offset_id:int offset_date:int add_offset:int limit:int max_id:int min_id:int hash:int = messages.Messages;
-messages.getDiscussionMessage#446972fd peer:InputPeer msg_id:int = messages.DiscussionMessage;
-messages.readDiscussion#f731a9f4 peer:InputPeer msg_id:int read_max_id:int = Bool;
-contacts.blockFromReplies#29a8962c flags:# delete_message:flags.0?true delete_history:flags.1?true report_spam:flags.2?true msg_id:int = Updates;
Added method for fetching country names and phone patterns.
-keyboardButtonCallback#35bbdb6b flags:# requires_password:flags.0?true text:string data:bytes = KeyboardButton;
-help.countryCode#4203c5ef flags:# country_code:string prefixes:flags.0?Vector<string> patterns:flags.1?Vector<string> = help.CountryCode;
-help.country#c3878e23 flags:# hidden:flags.0?true iso2:string default_name:string name:flags.1?string country_codes:Vector<help.CountryCode> = help.Country;
-help.countriesListNotModified#93cc1f32 = help.CountriesList;
-help.countriesList#87d0759e countries:Vector<help.Country> hash:int = help.CountriesList;
----functions---
-messages.sendEncrypted#44fa7a15 flags:# silent:flags.0?true peer:InputEncryptedChat random_id:long data:bytes = messages.SentEncryptedMessage;
-messages.sendEncryptedFile#5559481d flags:# silent:flags.0?true peer:InputEncryptedChat random_id:long data:bytes file:InputEncryptedFile = messages.SentEncryptedMessage;
-messages.getBotCallbackAnswer#9342ca07 flags:# game:flags.1?true peer:InputPeer msg_id:int data:flags.0?bytes password:flags.2?InputCheckPasswordSRP = messages.BotCallbackAnswer;
-help.getCountriesList#735787a8 lang_code:string hash:int = help.CountriesList;
Added WebRTC endpoint constructors.
-phoneConnectionWebrtc#635fe375 flags:# turn:flags.0?true stun:flags.1?true id:long ip:string ipv6:string port:int username:string password:string = PhoneConnection;
Added supergroup statistics and global privacy settings.
-inputChatUploadedPhoto#c642724e flags:# file:flags.0?InputFile video:flags.1?InputFile video_start_ts:flags.2?double = InputChatPhoto;
-userProfilePhoto#69d3ab26 flags:# has_video:flags.0?true photo_id:long photo_small:FileLocation photo_big:FileLocation dc_id:int = UserProfilePhoto;
-chatPhoto#d20b9f3c flags:# has_video:flags.0?true photo_small:FileLocation photo_big:FileLocation dc_id:int = ChatPhoto;
-photo#fb197a65 flags:# has_stickers:flags.0?true id:long access_hash:long file_reference:bytes date:int sizes:Vector<PhotoSize> video_sizes:flags.1?Vector<VideoSize> dc_id:int = Photo;
-peerSettings#733f2961 flags:# report_spam:flags.0?true add_contact:flags.1?true block_contact:flags.2?true share_contact:flags.3?true need_contacts_exception:flags.4?true report_geo:flags.5?true autoarchived:flags.7?true geo_distance:flags.6?int = PeerSettings;
-encryptedChatRequested#62718a82 flags:# folder_id:flags.0?int id:int access_hash:long date:int admin_id:int participant_id:int g_a:bytes = EncryptedChat;
-videoSize#e831c556 flags:# type:string location:FileLocation w:int h:int size:int video_start_ts:flags.0?double = VideoSize;
-statsGroupTopPoster#18f3d0f7 user_id:int messages:int avg_chars:int = StatsGroupTopPoster;
-statsGroupTopAdmin#6014f412 user_id:int deleted:int kicked:int banned:int = StatsGroupTopAdmin;
-statsGroupTopInviter#31962a4c user_id:int invitations:int = StatsGroupTopInviter;
-stats.megagroupStats#ef7ff916 period:StatsDateRangeDays members:StatsAbsValueAndPrev messages:StatsAbsValueAndPrev viewers:StatsAbsValueAndPrev posters:StatsAbsValueAndPrev growth_graph:StatsGraph members_graph:StatsGraph new_members_by_source_graph:StatsGraph languages_graph:StatsGraph messages_graph:StatsGraph actions_graph:StatsGraph top_hours_graph:StatsGraph weekdays_graph:StatsGraph top_posters:Vector<StatsGroupTopPoster> top_admins:Vector<StatsGroupTopAdmin> top_inviters:Vector<StatsGroupTopInviter> users:Vector<User> = stats.MegagroupStats;
-globalPrivacySettings#bea2f424 flags:# archive_and_mute_new_noncontact_peers:flags.0?Bool = GlobalPrivacySettings;
-updateChannelParticipant#65d2b464 flags:# channel_id:int date:int user_id:int prev_participant:flags.0?ChannelParticipant new_participant:flags.1?ChannelParticipant qts:int = Update;
----functions---
-photos.updateProfilePhoto#72d4742c id:InputPhoto = photos.Photo;
-photos.uploadProfilePhoto#89f30f69 flags:# file:flags.0?InputFile video:flags.1?InputFile video_start_ts:flags.2?double = photos.Photo;
-stats.getMegagroupStats#dcdf8607 flags:# dark:flags.0?true channel:InputChannel = stats.MegagroupStats;
-account.getGlobalPrivacySettings#eb2b4cf6 = GlobalPrivacySettings;
-account.setGlobalPrivacySettings#1edaaac2 settings:GlobalPrivacySettings = GlobalPrivacySettings;
-help.dismissSuggestion#077fa99f suggestion:string = Bool;
Added a chat invitation that also allows peeking into the group to read messages without joining it.
-chatInvitePeek#61695cb0 chat:Chat expires:int = ChatInvite;
Added WebRTC signaling methods.
-userFull#edf17c12 flags:# blocked:flags.0?true phone_calls_available:flags.4?true phone_calls_private:flags.5?true can_pin_message:flags.7?true has_scheduled:flags.12?true video_calls_available:flags.13?true user:User about:flags.1?string settings:PeerSettings profile_photo:flags.2?Photo notify_settings:PeerNotifySettings bot_info:flags.3?BotInfo pinned_msg_id:flags.6?int common_chats_count:int folder_id:flags.11?int = UserFull;
-inputMediaUploadedDocument#5b38c6c1 flags:# nosound_video:flags.3?true force_file:flags.4?true file:InputFile thumb:flags.2?InputFile mime_type:string attributes:Vector<DocumentAttribute> stickers:flags.0?Vector<InputDocument> ttl_seconds:flags.1?int = InputMedia;
-document#1e87342b flags:# id:long access_hash:long file_reference:bytes date:int mime_type:string size:int thumbs:flags.0?Vector<PhotoSize> video_thumbs:flags.1?Vector<VideoSize> dc_id:int attributes:Vector<DocumentAttribute> = Document;
-user#938458c1 flags:# self:flags.10?true contact:flags.11?true mutual_contact:flags.12?true deleted:flags.13?true bot:flags.14?true bot_chat_history:flags.15?true bot_nochats:flags.16?true verified:flags.17?true restricted:flags.18?true min:flags.20?true bot_inline_geo:flags.21?true support:flags.23?true scam:flags.24?true apply_min_photo:flags.25?true id:int access_hash:flags.0?long first_name:flags.1?string last_name:flags.2?string username:flags.3?string phone:flags.4?string photo:flags.5?UserProfilePhoto status:flags.6?UserStatus bot_info_version:flags.14?int restriction_reason:flags.18?Vector<RestrictionReason> bot_inline_placeholder:flags.19?string lang_code:flags.22?string = User;
-channelFull#f0e6672a flags:# can_view_participants:flags.3?true can_set_username:flags.6?true can_set_stickers:flags.7?true hidden_prehistory:flags.10?true can_set_location:flags.16?true has_scheduled:flags.19?true can_view_stats:flags.20?true blocked:flags.22?true id:int about:string participants_count:flags.0?int admins_count:flags.1?int kicked_count:flags.2?int banned_count:flags.2?int online_count:flags.13?int read_inbox_max_id:int read_outbox_max_id:int unread_count:int chat_photo:Photo notify_settings:PeerNotifySettings exported_invite:ExportedChatInvite bot_info:Vector<BotInfo> migrated_from_chat_id:flags.4?int migrated_from_max_id:flags.4?int pinned_msg_id:flags.5?int stickerset:flags.8?StickerSet available_min_id:flags.9?int folder_id:flags.11?int linked_chat_id:flags.14?int location:flags.15?ChannelLocation slowmode_seconds:flags.17?int slowmode_next_send_date:flags.18?int stats_dc:flags.12?int pts:int = ChatFull;
-phoneCallWaiting#1b8f4ad1 flags:# video:flags.6?true id:long access_hash:long date:int admin_id:int participant_id:int protocol:PhoneCallProtocol receive_date:flags.0?int = PhoneCall;
-phoneCallRequested#87eabb53 flags:# video:flags.6?true id:long access_hash:long date:int admin_id:int participant_id:int g_a_hash:bytes protocol:PhoneCallProtocol = PhoneCall;
-phoneCallAccepted#997c454a flags:# video:flags.6?true id:long access_hash:long date:int admin_id:int participant_id:int g_b:bytes protocol:PhoneCallProtocol = PhoneCall;
-phoneCall#8742ae7f flags:# p2p_allowed:flags.5?true video:flags.6?true id:long access_hash:long date:int admin_id:int participant_id:int g_a_or_b:bytes key_fingerprint:long protocol:PhoneCallProtocol connections:Vector<PhoneConnection> start_date:int = PhoneCall;
-phoneCallDiscarded#50ca4de1 flags:# need_rating:flags.2?true need_debug:flags.3?true video:flags.6?true id:long reason:flags.0?PhoneCallDiscardReason duration:flags.1?int = PhoneCall;
-chatAdminRights#5fb224d5 flags:# change_info:flags.0?true post_messages:flags.1?true edit_messages:flags.2?true delete_messages:flags.3?true ban_users:flags.4?true invite_users:flags.5?true pin_messages:flags.7?true add_admins:flags.9?true anonymous:flags.10?true = ChatAdminRights;
-videoSize#435bb987 type:string location:FileLocation w:int h:int size:int = VideoSize;
-updatePhoneCallSignalingData#2661bf09 phone_call_id:long data:bytes = Update;
----functions---
-messages.forwardMessages#d9fee60e flags:# silent:flags.5?true background:flags.6?true with_my_score:flags.8?true from_peer:InputPeer id:Vector<int> random_id:Vector<long> to_peer:InputPeer schedule_date:flags.10?int = Updates;
-messages.updatePinnedMessage#d2aaf7ec flags:# silent:flags.0?true unpin:flags.1?true pm_oneside:flags.2?true peer:InputPeer id:int = Updates;
-phone.sendSignalingData#ff7a9383 peer:InputPhoneCall data:bytes = Bool;
Public Service Announcement constructors and better PUSH notifications.
-Notice that all PINNED_*
PUSH notifications have two variants: one for groups, and one for channels.
{1} sent you a quiz {2}
{1} posted a quiz {2}
{1} sent a quiz {3} to the group {2}
{1} pinned a quiz {2}
messageFwdHeader#353a686b flags:# from_id:flags.0?int from_name:flags.5?string date:int channel_id:flags.1?int channel_post:flags.2?int post_author:flags.3?string saved_from_peer:flags.4?Peer saved_from_msg_id:flags.4?int psa_type:flags.6?string = MessageFwdHeader;
-help.promoDataEmpty#98f6ac75 expires:int = help.PromoData;
-help.promoData#8c39793f flags:# proxy:flags.0?true expires:int peer:Peer chats:Vector<Chat> users:Vector<User> psa_type:flags.1?string psa_message:flags.2?string = help.PromoData;
----functions---
-help.getPromoData#c0977421 = help.PromoData;
-help.hidePromoData#1e251c95 peer:InputPeer = Bool;
messages.featuredStickersNotModified#c6dc0c66 count:int = messages.FeaturedStickers;
-messages.featuredStickers#b6abc341 hash:int count:int sets:Vector<StickerSetCovered> unread:Vector<long> = messages.FeaturedStickers;
-poll#86e18161 id:long flags:# closed:flags.0?true public_voters:flags.1?true multiple_choice:flags.2?true quiz:flags.3?true question:string answers:Vector<PollAnswer> close_period:flags.4?int close_date:flags.5?int = Poll;
-pollResults#badcc1a3 flags:# min:flags.0?true results:flags.1?Vector<PollAnswerVoters> total_voters:flags.2?int recent_voters:flags.3?Vector<int> solution:flags.4?string solution_entities:flags.4?Vector<MessageEntity> = PollResults;
-inputMediaPoll#0f94e5f1 flags:# poll:Poll correct_answers:flags.0?Vector<bytes> solution:flags.1?string solution_entities:flags.1?Vector<MessageEntity> = InputMedia;
-inputMediaDice#e66fbf7b emoticon:string = InputMedia;
-messageMediaDice#3f7ee58b value:int emoticon:string = MessageMedia;
-inputStickerSetDice#e67f520e emoticon:string = InputStickerSet;
----functions---
-initConnection#c1cd5ea9 {X:Type} flags:# api_id:int device_model:string system_version:string app_version:string system_lang_code:string lang_pack:string lang_code:string proxy:flags.0?InputClientProxy params:flags.1?JSONValue query:!X = X;
-messages.getOldFeaturedStickers#5fe7025b offset:int limit:int hash:int = messages.FeaturedStickers;
Folders, channel stats, bot and sticker improvements
-channelFull#f0e6672a flags:# can_view_participants:flags.3?true can_set_username:flags.6?true can_set_stickers:flags.7?true hidden_prehistory:flags.10?true can_view_stats:flags.12?true can_set_location:flags.16?true has_scheduled:flags.19?true id:int about:string participants_count:flags.0?int admins_count:flags.1?int kicked_count:flags.2?int banned_count:flags.2?int online_count:flags.13?int read_inbox_max_id:int read_outbox_max_id:int unread_count:int chat_photo:Photo notify_settings:PeerNotifySettings exported_invite:ExportedChatInvite bot_info:Vector<BotInfo> migrated_from_chat_id:flags.4?int migrated_from_max_id:flags.4?int pinned_msg_id:flags.5?int stickerset:flags.8?StickerSet available_min_id:flags.9?int folder_id:flags.11?int linked_chat_id:flags.14?int location:flags.15?ChannelLocation slowmode_seconds:flags.17?int slowmode_next_send_date:flags.18?int stats_dc:flags.12?int pts:int = ChatFull;
-webPageNotModified#7311ca11 flags:# cached_page_views:flags.0?int = WebPage;
-phoneCallProtocol#fc878fc8 flags:# udp_p2p:flags.0?true udp_reflector:flags.1?true min_layer:int max_layer:int library_versions:Vector<string> = PhoneCallProtocol;
-page#98657f0d flags:# part:flags.0?true rtl:flags.1?true v2:flags.2?true url:string blocks:Vector<PageBlock> photos:Vector<Photo> documents:Vector<Document> views:flags.3?int = Page;
-dialogFilter#7438f7e8 flags:# contacts:flags.0?true non_contacts:flags.1?true groups:flags.2?true broadcasts:flags.3?true bots:flags.4?true exclude_muted:flags.11?true exclude_read:flags.12?true exclude_archived:flags.13?true id:int title:string emoticon:flags.25?string pinned_peers:Vector<InputPeer> include_peers:Vector<InputPeer> exclude_peers:Vector<InputPeer> = DialogFilter;
-dialogFilterSuggested#77744d4a filter:DialogFilter description:string = DialogFilterSuggested;
-updateDialogFilter#26ffde7d flags:# id:int filter:flags.0?DialogFilter = Update;
-updateDialogFilterOrder#a5d72105 order:Vector<int> = Update;
-updateDialogFilters#3504914f = Update;
-statsDateRangeDays#b637edaf min_date:int max_date:int = StatsDateRangeDays;
-statsAbsValueAndPrev#cb43acde current:double previous:double = StatsAbsValueAndPrev;
-statsPercentValue#cbce2fe0 part:double total:double = StatsPercentValue;
-statsGraphAsync#4a27eb2d token:string = StatsGraph;
-statsGraphError#bedc9822 error:string = StatsGraph;
-statsGraph#8ea464b6 flags:# json:DataJSON zoom_token:flags.0?string = StatsGraph;
-messageInteractionCounters#ad4fc9bd msg_id:int views:int forwards:int = MessageInteractionCounters;
-stats.broadcastStats#bdf78394 period:StatsDateRangeDays followers:StatsAbsValueAndPrev views_per_post:StatsAbsValueAndPrev shares_per_post:StatsAbsValueAndPrev enabled_notifications:StatsPercentValue growth_graph:StatsGraph followers_graph:StatsGraph mute_graph:StatsGraph top_hours_graph:StatsGraph interactions_graph:StatsGraph iv_interactions_graph:StatsGraph views_by_source_graph:StatsGraph new_followers_by_source_graph:StatsGraph languages_graph:StatsGraph recent_message_interactions:Vector<MessageInteractionCounters> = stats.BroadcastStats;
-inputMediaDice#aeffa807 = InputMedia;
-messageMediaDice#638fe46b value:int = MessageMedia;
-inputStickerSetDice#79e21a53 = InputStickerSet;
----functions---
-initConnection#785188b8 {X:Type} flags:# api_id:int device_model:string system_version:string app_version:string system_lang_code:string lang_pack:string lang_code:string proxy:flags.0?InputClientProxy params:flags.1?JSONValue query:!X = X;
-stickers.createStickerSet#f1036780 flags:# masks:flags.0?true animated:flags.1?true user_id:InputUser title:string short_name:string thumb:flags.2?InputDocument stickers:Vector<InputStickerSetItem> = messages.StickerSet;
-messages.getDialogFilters#f19ed96d = Vector<DialogFilter>;
-messages.getSuggestedDialogFilters#a29cd42c = Vector<DialogFilterSuggested>;
-messages.updateDialogFilter#1ad4a04a flags:# id:int filter:flags.0?DialogFilter = Bool;
-messages.updateDialogFiltersOrder#c563c1e4 order:Vector<int> = Bool;
-stats.getBroadcastStats#ab42441a flags:# dark:flags.0?true channel:InputChannel = stats.BroadcastStats;
-stats.loadAsyncGraph#621d5fa0 flags:# token:string x:flags.0?long = StatsGraph;
-stickers.setStickerSetThumb#9a364e30 stickerset:InputStickerSet thumb:InputDocument = messages.StickerSet;
-bots.setBotCommands#805d46f6 commands:Vector<BotCommand> = Bool;
Credit card information
-messageEntityBankCard#761e6af4 offset:int length:int = MessageEntity;
-bankCardOpenUrl#f568028a url:string name:string = BankCardOpenUrl;
-payments.bankCardData#3e24e573 title:string open_urls:Vector<BankCardOpenUrl> = payments.BankCardData;
-peerSelfLocated#f8ec284b expires:int = PeerLocated;
----functions---
-initConnection#785188b8 {X:Type} flags:# api_id:int device_model:string system_version:string app_version:string system_lang_code:string lang_pack:string lang_code:string proxy:flags.0?InputClientProxy query:!X = X;
-contacts.getLocated#d348bc44 flags:# background:flags.1?true geo_point:InputGeoPoint self_expires:flags.0?int = Updates;
-payments.getBankCardData#2e79d779 number:string = payments.BankCardData;
Non-anonymous polls, improved sticker management
-option
was provided to messages.getPollVotes)pollResults#c87024a2 flags:# min:flags.0?true results:flags.1?Vector<PollAnswerVoters> total_voters:flags.2?int recent_voters:flags.3?Vector<int> = PollResults;
-inputMediaPoll#abe9ca25 flags:# poll:Poll correct_answers:flags.0?Vector<bytes> = InputMedia;
-updateMessagePollVote#42f88f2c poll_id:long user_id:int options:Vector<bytes> = Update;
-messageUserVote#a28e5559 user_id:int option:bytes date:int = MessageUserVote;
-messageUserVoteInputOption#36377430 user_id:int date:int = MessageUserVote;
-messageUserVoteMultiple#0e8fe0de user_id:int options:Vector<bytes> date:int = MessageUserVote;
-messages.votesList#0823f649 flags:# count:int votes:Vector<MessageUserVote> users:Vector<User> next_offset:flags.0?string = messages.VotesList;
-keyboardButtonRequestPoll#bbc7515d flags:# quiz:flags.0?Bool text:string = KeyboardButton;
----functions---
-initConnection#785188b8 {X:Type} flags:# api_id:int device_model:string system_version:string app_version:string system_lang_code:string lang_pack:string lang_code:string proxy:flags.0?InputClientProxy params:flags.1?JSONValue query:!X = X;
-messages.getPollVotes#b86e380e flags:# peer:InputPeer id:int option:flags.0?bytes offset:flags.1?string limit:int = messages.VotesList;
-messages.toggleStickerSets#b5052fea flags:# uninstall:flags.0?true archive:flags.1?true unarchive:flags.2?true stickersets:Vector<InputStickerSet> = Bool;
Login with QR-code, sensitive content settings, quizes, multiple-choice and public polls, get inactive chats, improved wallpapers and themes.
-webPage#e89c45b2 flags:# id:long url:string display_url:string hash:int type:flags.0?string site_name:flags.1?string title:flags.2?string description:flags.3?string photo:flags.4?Photo embed_url:flags.5?string embed_type:flags.5?string embed_width:flags.6?int embed_height:flags.6?int duration:flags.7?int author:flags.8?string document:flags.9?Document cached_page:flags.10?Page attributes:flags.12?Vector<WebPageAttribute> = WebPage;
-poll#d5529d06 id:long flags:# closed:flags.0?true public_voters:flags.1?true multiple_choice:flags.2?true quiz:flags.3?true question:string answers:Vector<PollAnswer> = Poll;
-pollAnswerVoters#3b6ddad2 flags:# chosen:flags.0?true correct:flags.1?true option:bytes voters:int = PollAnswerVoters;
-wallPaperSettings#05086cf8 flags:# blur:flags.1?true motion:flags.2?true background_color:flags.0?int second_background_color:flags.4?int intensity:flags.3?int rotation:flags.4?int = WallPaperSettings;
-autoDownloadSettings#e04232f3 flags:# disabled:flags.0?true video_preload_large:flags.1?true audio_preload_next:flags.2?true phonecalls_less_data:flags.3?true photo_size_max:int video_size_max:int file_size_max:int video_upload_maxbitrate:int = AutoDownloadSettings;
-inputPhotoLegacyFileLocation#d83466f3 id:long access_hash:long file_reference:bytes volume_id:long local_id:int secret:long = InputFileLocation;
-theme#028f1114 flags:# creator:flags.0?true default:flags.1?true id:long access_hash:long slug:string title:string document:flags.2?Document settings:flags.3?ThemeSettings installs_count:int = Theme;
-updateGeoLiveViewed#871fb939 peer:Peer msg_id:int = Update;
-updateLoginToken#564fe691 = Update;
-auth.loginToken#629f1980 expires:int token:bytes = auth.LoginToken;
-auth.loginTokenMigrateTo#068e9916 dc_id:int token:bytes = auth.LoginToken;
-auth.loginTokenSuccess#390d5c5e authorization:auth.Authorization = auth.LoginToken;
-account.contentSettings#57e28221 flags:# sensitive_enabled:flags.0?true sensitive_can_change:flags.1?true = account.ContentSettings;
-messages.inactiveChats#a927fec5 dates:Vector<int> chats:Vector<Chat> users:Vector<User> = messages.InactiveChats;
-baseThemeClassic#c3a12462 = BaseTheme;
-baseThemeDay#fbd81688 = BaseTheme;
-baseThemeNight#b7b31ea8 = BaseTheme;
-baseThemeTinted#6d5f77ee = BaseTheme;
-baseThemeArctic#5b11125a = BaseTheme;
-inputWallPaperNoFile#8427bbac = InputWallPaper;
-wallPaperNoFile#8af40b25 flags:# default:flags.1?true dark:flags.4?true settings:flags.2?WallPaperSettings = WallPaper;
-inputThemeSettings#bd507cd1 flags:# base_theme:BaseTheme accent_color:int message_top_color:flags.0?int message_bottom_color:flags.0?int wallpaper:flags.1?InputWallPaper wallpaper_settings:flags.1?WallPaperSettings = InputThemeSettings;
-themeSettings#9c14984a flags:# base_theme:BaseTheme accent_color:int message_top_color:flags.0?int message_bottom_color:flags.0?int wallpaper:flags.1?WallPaper = ThemeSettings;
-webPageAttributeTheme#54b56617 flags:# documents:flags.0?Vector<Document> settings:flags.1?ThemeSettings = WebPageAttribute;
----functions---
-upload.getFile#b15a9afc flags:# precise:flags.0?true cdn_supported:flags.1?true location:InputFileLocation offset:int limit:int = upload.File;
-account.createTheme#8432c21f flags:# slug:string title:string document:flags.2?InputDocument settings:flags.3?InputThemeSettings = Theme;
-account.updateTheme#5cb367d5 flags:# format:string theme:InputTheme slug:flags.0?string title:flags.1?string document:flags.2?InputDocument settings:flags.3?InputThemeSettings = Theme;
-auth.exportLoginToken#b1b41517 api_id:int api_hash:string except_ids:Vector<int> = auth.LoginToken;
-auth.importLoginToken#95ac5ce4 token:bytes = auth.LoginToken;
-auth.acceptLoginToken#e894ad4d token:bytes = Authorization;
-account.setContentSettings#b574b16b flags:# sensitive_enabled:flags.0?true = Bool;
-account.getContentSettings#8b9b4dae = account.ContentSettings;
-channels.getInactiveChannels#11e831ee = messages.InactiveChats;
-account.getMultiWallPapers#65ad71dc wallpapers:Vector<InputWallPaper> = Vector<WallPaper>;
The API underwent huge changes, a full reread of the documentation is required.
-contactStatus#d3680c61 user_id:int status:UserStatus = ContactStatus;
-config#7dae33e0 date:int expires:int test_mode:Bool this_dc:int dc_options:Vector<DcOption> chat_big_size:int chat_size_max:int broadcast_size_max:int disabled_features:Vector<DisabledFeature> = Config;
-inputMediaUploadedDocument#ffe76b78 file:InputFile mime_type:string attributes:Vector<DocumentAttribute> = InputMedia;
-inputMediaUploadedThumbDocument#41481486 file:InputFile thumb:InputFile mime_type:string attributes:Vector<DocumentAttribute> = InputMedia;
-document#f9a39f4f id:long access_hash:long date:int mime_type:string size:int thumb:PhotoSize dc_id:int attributes:Vector<DocumentAttribute> = Document;
-userStatusRecently#e26f42f1 = UserStatus;
-userStatusLastWeek#07bf09fc = UserStatus;
-userStatusLastMonth#77ebc742 = UserStatus;
-updatePrivacy#ee3b272a key:PrivacyKey rules:Vector<PrivacyRule> = Update;
-inputPrivacyKeyStatusTimestamp#4f96cb18 = InputPrivacyKey;
-privacyKeyStatusTimestamp#bc2eab30 = PrivacyKey;
-inputPrivacyValueAllowContacts#0d09e07b = InputPrivacyRule;
-inputPrivacyValueAllowAll#184b35ce = InputPrivacyRule;
-inputPrivacyValueAllowUsers#131cc67f users:Vector<InputUser> = InputPrivacyRule;
-inputPrivacyValueDisallowContacts#0ba52007 = InputPrivacyRule;
-inputPrivacyValueDisallowAll#d66b66c9 = InputPrivacyRule;
-inputPrivacyValueDisallowUsers#90110467 users:Vector<InputUser> = InputPrivacyRule;
-privacyValueAllowContacts#fffe1bac = PrivacyRule;
-privacyValueAllowAll#65427b82 = PrivacyRule;
-privacyValueAllowUsers#4d5bbe0c users:Vector<int> = PrivacyRule;
-privacyValueDisallowContacts#f888fa1a = PrivacyRule;
-privacyValueDisallowAll#8b73e763 = PrivacyRule;
-privacyValueDisallowUsers#0c7f49b7 users:Vector<int> = PrivacyRule;
-account.privacyRules#554abb6f rules:Vector<PrivacyRule> users:Vector<User> = account.PrivacyRules;
-accountDaysTTL#b8d0afdf days:int = AccountDaysTTL;
-account.sentChangePhoneCode#a4f58c4c phone_code_hash:string send_call_timeout:int = account.SentChangePhoneCode;
-updateUserPhone#12b9417b user_id:int phone:string = Update;
-documentAttributeImageSize#6c37c15c w:int h:int = DocumentAttribute;
-documentAttributeAnimated#11b58939 = DocumentAttribute;
-documentAttributeSticker#fb0a5727 = DocumentAttribute;
-documentAttributeVideo#5910cccb duration:int w:int h:int = DocumentAttribute;
-documentAttributeAudio#051448e5 duration:int = DocumentAttribute;
-documentAttributeFilename#15590068 file_name:string = DocumentAttribute;
-messages.stickersNotModified#f1749a22 = messages.Stickers;
-messages.stickers#8a8ecd32 hash:string stickers:Vector<Document> = messages.Stickers;
-stickerPack#12b299d4 emoticon:string documents:Vector<long> = StickerPack;
-messages.allStickersNotModified#e86602c3 = messages.AllStickers;
-messages.allStickers#dcef3102 hash:string packs:Vector<StickerPack> documents:Vector<Document> = messages.AllStickers;
-disabledFeature#ae636f24 feature:string description:string = DisabledFeature;
----functions---
-account.getPrivacy#dadbc950 key:InputPrivacyKey = account.PrivacyRules;
-account.setPrivacy#c9f81ce8 key:InputPrivacyKey rules:Vector<InputPrivacyRule> = account.PrivacyRules;
-account.deleteAccount#418d4e0b reason:string = Bool;
-account.getAccountTTL#08fc711d = AccountDaysTTL;
-account.setAccountTTL#2442485e ttl:AccountDaysTTL = Bool;
-invokeWithLayer#da9b0d0d {X:Type} layer:int query:!X = X;
-contacts.resolveUsername#0bf0131c username:string = User;
-account.sendChangePhoneCode#a407a8f4 phone_number:string = account.SentChangePhoneCode;
-account.changePhone#70c32edb phone_number:string phone_code_hash:string phone_code:string = User;
-messages.getStickers#ae22e045 emoticon:string hash:string = messages.Stickers;
-messages.getAllStickers#aa3bc868 hash:string = messages.AllStickers;
-account.updateDeviceLocked#38df3532 period:int = Bool;
===20===
-decryptedMessageActionCommitKey#ec2e0b9b exchange_id:long key_fingerprint:long = DecryptedMessageAction;
-decryptedMessageActionNoop#a82fdd63 = DecryptedMessageAction;
-decryptedMessageActionAbortKey#dd05ec6b exchange_id:long = DecryptedMessageAction;
-decryptedMessageActionAcceptKey#6fe1735b exchange_id:long g_b:bytes key_fingerprint:long = DecryptedMessageAction;
-decryptedMessageActionRequestKey#f3c9611b exchange_id:long g_a:bytes = DecryptedMessageAction;
-===23===
-documentAttributeImageSize#6c37c15c w:int h:int = DocumentAttribute;
-documentAttributeAnimated#11b58939 = DocumentAttribute;
-documentAttributeSticker#fb0a5727 = DocumentAttribute;
-documentAttributeVideo#5910cccb duration:int w:int h:int = DocumentAttribute;
-documentAttributeAudio#051448e5 duration:int = DocumentAttribute;
-documentAttributeFilename#15590068 file_name:string = DocumentAttribute;
-photoSizeEmpty#0e17e23c type:string = PhotoSize;
-photoSize#77bfb61b type:string location:FileLocation w:int h:int size:int = PhotoSize;
-photoCachedSize#e9a734fa type:string location:FileLocation w:int h:int bytes:bytes = PhotoSize;
-fileLocationUnavailable#7c596b46 volume_id:long local_id:int secret:long = FileLocation;
-fileLocation#53d69076 dc_id:int volume_id:long local_id:int secret:long = FileLocation;
-decryptedMessageMediaExternalDocument#fa95b0dd id:long access_hash:long date:int mime_type:string size:int thumb:PhotoSize dc_id:int attributes:Vector<DocumentAttribute> = DecryptedMessageMedia;
Added username support and a new type of updates for service messages.
-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;
-Added new events for recording and uploading media, selecting contacts and locations to share.
-Read status for multimedia (messages containing messageMediaVideo or messageMediaAudio) was moved to the new method messages.readMessageContents. In case read_contents is not passed or messages.readHistory is used with an older layer, messages will be marked as read in the traditional way.
-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;
-===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;
-Added new sms_type = 5
in the method auth.sendCode.
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;
-Modified behavior of the offset parameter in the method messages.getHistory. From now on it's possible to combine message_id offset and a numeric offset.
-invokeWithLayer15#b4418b64 {X:Type} query:!X = X;
-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;
-contacts.importedContacts imported:Vector<ImportedContact> retry_contacts:Vector<long> users:Vector<User> = contacts.Im portedContacts;
-
-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;
-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;
-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;
-Added brief constructors for editing group members. Added new attachment types for ordinary and secret chats.
-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;
-PUSH-notifications
-
-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
-Increased efficiency when loading big files. Added important checks for certain methods.
-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;
-Added support for end-to-end encryption in secret chats. More...
-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;
-===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;
-Added wallpaper constructor wallPaperSolid.
-wallPaperSolid id:int title:string bg_color:int color:int = WallPaper;
----functions---
-invokeWithLayer7#a5be56d3 {X:Type} query:!X = X;
-Added location identifiers from foursquare.
-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;
-Added parameters for internationalization.
----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;
-Added geochats. More...
-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;
-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. More...
-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;
-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.
-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;
-Let's consider several typical interaction scenarios for two users.
-User A knows phone number of B (for instance, A has B's number in the phone book). But B does not know А's number. User A sends message to B. Immediately prior to sending a message relevant check is executed at the server side and the link between A and B will change automatically: A's number becomes available for B (user A is then presented as constructor userRequest). -The same happens if user B not having A's number sends a message to the latter. A's number also becomes available to B.
-User A has found user B in a chat, geochat or any other way. For both of them phone numbers are not available (in API - constructor userForeign). A starts chat with B. When messaging A's number will not become available for B and vice versa. To provide B with A's number it is necessary to send him personal message with contact info (phone number should be transferred in constructor inputMediaContact using method messages.sendMedia). -Now B having personal message with A's phone number can store it in his phone book and import it using method contacts.importContacts to have it in contacts. With all that, it is not mandatory for him to send his number: after any message later between them B's number will be available for A (see One user knows the other's number).
-This is quite obvious: messaging does not change links since target state has been reached.
-Since when sending messages to a current user updates on changed links are not sent constructors containing updated links were added to resulting types of messaging methods:
-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;
-To indicate for clients that these constructors are supported one should use 3rd layer.