diff --git a/data/web/corefork.telegram.org/api/layers.html b/data/web/corefork.telegram.org/api/layers.html index 85216fe4d5..f22b49aedc 100644 --- a/data/web/corefork.telegram.org/api/layers.html +++ b/data/web/corefork.telegram.org/api/layers.html @@ -497,12 +497,14 @@
message#a66c7efc flags:# out:flags.1?true mentioned:flags.4?true media_unread:flags.5?true silent:flags.13?true post:flags.14?true from_scheduled:flags.18?true legacy:flags.19?true edit_hide:flags.21?true pinned:flags.24?true noforwards:flags.26?true invert_media:flags.27?true id:int from_id:flags.8?Peer from_boosts_applied:flags.29?int peer_id:Peer saved_peer_id:flags.28?Peer fwd_from:flags.2?MessageFwdHeader via_bot_id:flags.11?long reply_to:flags.3?MessageReplyHeader date:int message:string media:flags.9?MessageMedia reply_markup:flags.6?ReplyMarkup entities:flags.7?Vector<MessageEntity> views:flags.10?int forwards:flags.10?int replies:flags.23?MessageReplies edit_date:flags.15?int post_author:flags.16?string grouped_id:flags.17?long reactions:flags.20?MessageReactions restriction_reason:flags.22?Vector<RestrictionReason> ttl_period:flags.25?int quick_reply_shortcut_id:flags.30?int = Message;
-userFull#22ff3e85 flags:# blocked:flags.0?true phone_calls_available:flags.4?true phone_calls_private:flags.5?true can_pin_message:flags.7?true has_scheduled:flags.12?true video_calls_available:flags.13?true voice_messages_forbidden:flags.20?true translations_disabled:flags.23?true stories_pinned_available:flags.26?true blocked_my_stories_from:flags.27?true wallpaper_overridden:flags.28?true contact_require_premium:flags.29?true read_dates_private:flags.30?true flags2:# id:long about:flags.1?string settings:PeerSettings personal_photo:flags.21?Photo profile_photo:flags.2?Photo fallback_photo:flags.22?Photo notify_settings:PeerNotifySettings bot_info:flags.3?BotInfo pinned_msg_id:flags.6?int common_chats_count:int folder_id:flags.11?int ttl_period:flags.14?int theme_emoticon:flags.15?string private_forward_name:flags.16?string bot_group_admin_rights:flags.17?ChatAdminRights bot_broadcast_admin_rights:flags.18?ChatAdminRights premium_gifts:flags.19?Vector<PremiumGiftOption> wallpaper:flags.24?WallPaper stories:flags.25?PeerStories business_work_hours:flags2.0?BusinessWorkHours business_location:flags2.1?BusinessLocation business_greeting_message:flags2.2?BusinessGreetingMessage business_away_message:flags2.3?BusinessAwayMessage = UserFull;
+userFull#22ff3e85 flags:# blocked:flags.0?true phone_calls_available:flags.4?true phone_calls_private:flags.5?true can_pin_message:flags.7?true has_scheduled:flags.12?true video_calls_available:flags.13?true voice_messages_forbidden:flags.20?true translations_disabled:flags.23?true stories_pinned_available:flags.26?true blocked_my_stories_from:flags.27?true wallpaper_overridden:flags.28?true contact_require_premium:flags.29?true read_dates_private:flags.30?true flags2:# id:long about:flags.1?string settings:PeerSettings personal_photo:flags.21?Photo profile_photo:flags.2?Photo fallback_photo:flags.22?Photo notify_settings:PeerNotifySettings bot_info:flags.3?BotInfo pinned_msg_id:flags.6?int common_chats_count:int folder_id:flags.11?int ttl_period:flags.14?int theme_emoticon:flags.15?string private_forward_name:flags.16?string bot_group_admin_rights:flags.17?ChatAdminRights bot_broadcast_admin_rights:flags.18?ChatAdminRights premium_gifts:flags.19?Vector<PremiumGiftOption> wallpaper:flags.24?WallPaper stories:flags.25?PeerStories business_work_hours:flags2.0?BusinessWorkHours business_location:flags2.1?BusinessLocation business_greeting_message:flags2.2?BusinessGreetingMessage business_away_message:flags2.3?BusinessAwayMessage = UserFull;
+user#215c4438 flags:# self:flags.10?true contact:flags.11?true mutual_contact:flags.12?true deleted:flags.13?true bot:flags.14?true bot_chat_history:flags.15?true bot_nochats:flags.16?true verified:flags.17?true restricted:flags.18?true min:flags.20?true bot_inline_geo:flags.21?true support:flags.23?true scam:flags.24?true apply_min_photo:flags.25?true fake:flags.26?true bot_attach_menu:flags.27?true premium:flags.28?true attach_menu_enabled:flags.29?true flags2:# bot_can_edit:flags2.1?true close_friend:flags2.2?true stories_hidden:flags2.3?true stories_unavailable:flags2.4?true contact_require_premium:flags2.10?true bot_business:flags2.11?true id:long access_hash:flags.0?long first_name:flags.1?string last_name:flags.2?string username:flags.3?string phone:flags.4?string photo:flags.5?UserProfilePhoto status:flags.6?UserStatus bot_info_version:flags.14?int restriction_reason:flags.18?Vector<RestrictionReason> bot_inline_placeholder:flags.19?string lang_code:flags.22?string emoji_status:flags.30?EmojiStatus usernames:flags2.0?Vector<Username> stories_max_id:flags2.5?int color:flags2.8?PeerColor profile_color:flags2.9?PeerColor = User;
dialogFilter#5fb5523b 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 color:flags.27?int pinned_peers:Vector<InputPeer> include_peers:Vector<InputPeer> exclude_peers:Vector<InputPeer> = DialogFilter;
dialogFilterChatlist#9fe28ea4 flags:# has_my_invites:flags.26?true id:int title:string emoticon:flags.25?string color:flags.27?int pinned_peers:Vector<InputPeer> include_peers:Vector<InputPeer> = DialogFilter;
smsjobs.eligibleToJoin#dc8b44cf terms_url:string monthly_sent_sms:int = smsjobs.EligibilityToJoin;
@@ -595,7 +597,7 @@
Added flags, by_me parameters in userStatusRecently
Added flags, by_me parameters in userStatusLastWeek
Added flags, by_me parameters in userStatusLastMonth
-Added contact_require_premium, bot_business parameters in user
+Added contact_require_premium parameter in user
Added boosts_applied, boosts_unrestrict, emojiset parameters in channelFull
Added hide_read_marks, new_noncontact_peers_require_premium parameters in globalPrivacySettings
Added from_id parameter in storyItem
@@ -609,7 +611,7 @@
userStatusRecently#7b197dc8 flags:# by_me:flags.0?true = UserStatus;
userStatusLastWeek#541a1d1a flags:# by_me:flags.0?true = UserStatus;
userStatusLastMonth#65899777 flags:# by_me:flags.0?true = UserStatus;
-user#215c4438 flags:# self:flags.10?true contact:flags.11?true mutual_contact:flags.12?true deleted:flags.13?true bot:flags.14?true bot_chat_history:flags.15?true bot_nochats:flags.16?true verified:flags.17?true restricted:flags.18?true min:flags.20?true bot_inline_geo:flags.21?true support:flags.23?true scam:flags.24?true apply_min_photo:flags.25?true fake:flags.26?true bot_attach_menu:flags.27?true premium:flags.28?true attach_menu_enabled:flags.29?true flags2:# bot_can_edit:flags2.1?true close_friend:flags2.2?true stories_hidden:flags2.3?true stories_unavailable:flags2.4?true contact_require_premium:flags2.10?true bot_business:flags2.11?true id:long access_hash:flags.0?long first_name:flags.1?string last_name:flags.2?string username:flags.3?string phone:flags.4?string photo:flags.5?UserProfilePhoto status:flags.6?UserStatus bot_info_version:flags.14?int restriction_reason:flags.18?Vector<RestrictionReason> bot_inline_placeholder:flags.19?string lang_code:flags.22?string emoji_status:flags.30?EmojiStatus usernames:flags2.0?Vector<Username> stories_max_id:flags2.5?int color:flags2.8?PeerColor profile_color:flags2.9?PeerColor = User;
+user#215c4438 flags:# self:flags.10?true contact:flags.11?true mutual_contact:flags.12?true deleted:flags.13?true bot:flags.14?true bot_chat_history:flags.15?true bot_nochats:flags.16?true verified:flags.17?true restricted:flags.18?true min:flags.20?true bot_inline_geo:flags.21?true support:flags.23?true scam:flags.24?true apply_min_photo:flags.25?true fake:flags.26?true bot_attach_menu:flags.27?true premium:flags.28?true attach_menu_enabled:flags.29?true flags2:# bot_can_edit:flags2.1?true close_friend:flags2.2?true stories_hidden:flags2.3?true stories_unavailable:flags2.4?true contact_require_premium:flags2.10?true id:long access_hash:flags.0?long first_name:flags.1?string last_name:flags.2?string username:flags.3?string phone:flags.4?string photo:flags.5?UserProfilePhoto status:flags.6?UserStatus bot_info_version:flags.14?int restriction_reason:flags.18?Vector<RestrictionReason> bot_inline_placeholder:flags.19?string lang_code:flags.22?string emoji_status:flags.30?EmojiStatus usernames:flags2.0?Vector<Username> stories_max_id:flags2.5?int color:flags2.8?PeerColor profile_color:flags2.9?PeerColor = User;
channelFull#44c054a7 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 flags2:# can_delete_channel:flags2.0?true antispam:flags2.1?true participants_hidden:flags2.2?true translations_disabled:flags2.3?true stories_pinned_available:flags2.5?true view_forum_as_messages:flags2.6?true id:long 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:flags.23?ExportedChatInvite bot_info:Vector<BotInfo> migrated_from_chat_id:flags.4?long 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?long location:flags.15?ChannelLocation slowmode_seconds:flags.17?int slowmode_next_send_date:flags.18?int stats_dc:flags.12?int pts:int call:flags.21?InputGroupCall ttl_period:flags.24?int pending_suggestions:flags.25?Vector<string> groupcall_default_join_as:flags.26?Peer theme_emoticon:flags.27?string requests_pending:flags.28?int recent_requesters:flags.28?Vector<long> default_send_as:flags.29?Peer available_reactions:flags.30?ChatReactions stories:flags2.4?PeerStories wallpaper:flags2.7?WallPaper boosts_applied:flags2.8?int boosts_unrestrict:flags2.9?int emojiset:flags2.10?StickerSet = ChatFull;
globalPrivacySettings#734c4ccb flags:# archive_and_mute_new_noncontact_peers:flags.0?true keep_archived_unmuted:flags.1?true keep_archived_folders:flags.2?true hide_read_marks:flags.3?true new_noncontact_peers_require_premium:flags.4?true = GlobalPrivacySettings;
storyItem#79b26a24 flags:# pinned:flags.5?true public:flags.7?true close_friends:flags.8?true min:flags.9?true noforwards:flags.10?true edited:flags.11?true contacts:flags.12?true selected_contacts:flags.13?true out:flags.16?true id:int date:int from_id:flags.18?Peer fwd_from:flags.17?StoryFwdHeader expire_date:int caption:flags.0?string entities:flags.1?Vector<MessageEntity> media:MessageMedia media_areas:flags.14?Vector<MediaArea> privacy:flags.2?Vector<PrivacyRule> views:flags.3?StoryViews sent_reaction:flags.15?Reaction = StoryItem;
@@ -627,7 +629,7 @@
channels.setBoostsToUnblockRestrictions#ad399cee channel:InputChannel boosts:int = Updates;
channels.setEmojiStickers#3cd930b7 channel:InputChannel stickerset:InputStickerSet = Bool;
This layer introduces saved message tags » and adds support for the "Channels" tab in the global search view ».
+This layer introduces saved message tags » and adds support for the "Channels" tab in the global search view ».
Telegram users and channels can easily post and view stories through the API.
Get info about channels/supergroups
+Many constructors in the API need to be stored in a local database upon reception and should only ever be updated reactively (passively) when received via updates or by other means (as specified in the documentation), to avoid overloading the server by continuously requesting changes for the same unchanged information.
How to handle admin permissions, granular bans and global permissions in channels, groups and supergroups.
How to handle channels, supergroups, gigagroups, basic groups, and what's the difference between them.
+Many constructors in the API need to be stored in a local database upon reception and should only ever be updated reactively (passively) when received via updates or by other means (as specified in the documentation), to avoid overloading the server by continuously requesting changes for the same unchanged information.
How to handle admin permissions, granular bans and global permissions in channels, groups and supergroups.
diff --git a/data/web/corefork.telegram.org/constructor/inputPeerUser.html b/data/web/corefork.telegram.org/constructor/inputPeerUser.html index 087efc2f71..29826410e9 100644 --- a/data/web/corefork.telegram.org/constructor/inputPeerUser.html +++ b/data/web/corefork.telegram.org/constructor/inputPeerUser.html @@ -82,7 +82,9 @@Indicates info about a certain user
+Indicates info about a certain user.
+Unless specified otherwise, when updating the local peer database, all fields from the newly received constructor take priority over the old constructor cached locally (including by removing fields that aren't set in the new constructor).
+See here » for an implementation of the logic to use when updating the local user peer database.
diff --git a/data/web/corefork.telegram.org/constructor/inputUser.html b/data/web/corefork.telegram.org/constructor/inputUser.html index 9a10c83606..2b02d3b520 100644 --- a/data/web/corefork.telegram.org/constructor/inputUser.html +++ b/data/web/corefork.telegram.org/constructor/inputUser.html @@ -82,7 +82,9 @@Indicates info about a certain user
+Indicates info about a certain user.
+Unless specified otherwise, when updating the local peer database, all fields from the newly received constructor take priority over the old constructor cached locally (including by removing fields that aren't set in the new constructor).
+See here » for an implementation of the logic to use when updating the local user peer database.
diff --git a/data/web/corefork.telegram.org/constructor/updateBotDeleteBusinessMessage.html b/data/web/corefork.telegram.org/constructor/updateBotDeleteBusinessMessage.html index a7551c8583..9e689523ed 100644 --- a/data/web/corefork.telegram.org/constructor/updateBotDeleteBusinessMessage.html +++ b/data/web/corefork.telegram.org/constructor/updateBotDeleteBusinessMessage.html @@ -91,7 +91,8 @@Many constructors in the API need to be stored in a local database upon reception and should only ever be updated reactively (passively) when received via updates or by other means (as specified in the documentation), to avoid overloading the server by continuously requesting changes for the same unchanged information.
How to subscribe to updates and handle them properly.
Indicates info about a certain user
+Indicates info about a certain user.
+Unless specified otherwise, when updating the local peer database, all fields from the newly received constructor take priority over the old constructor cached locally (including by removing fields that aren't set in the new constructor).
+See here » for an implementation of the logic to use when updating the local user peer database.
Extended user info
Indicates info about a certain user.
-Unless specified otherwise, when updating the local peer database, all fields from the newly received constructor take priority over the old constructor cached locally (including by removing fields that aren't set in the new constructor).
-See here » for an implementation of the logic to use when updating the local user peer database.
+Unless specified otherwise, when updating the local peer database, all fields from the newly received constructor take priority over the old constructor cached locally (including by removing fields that aren't set in the new constructor).
+See here » for an implementation of the logic to use when updating the local user peer database.
min
is set, the value of photo
can be used to update the local database, see the documentation of that flag for more info.min
is set, the value of photo
can be used to update the local database, see the documentation of that flag for more info.self
flag is set should also trigger the following calls, to refresh the respective caches: bot
flag is not setself
flag is set should also trigger the following calls, to refresh the respective caches: bot
flag is not setmin_access_hash
, which is: true
if min
is set AND phone
flag is not set OR phone
flag is set and the associated phone number string is non-empty false
otherwise. access_hash
and min_access_hash
to the local database if: min_access_hash
is false OR min_access_hash
is true AND access_hash
in the local cache OR min_access_hash
is also true min_access_hash
field set to true, the related access_hash
is only suitable to use in inputPeerPhotoFileLocation
», to directly download the profile pictures of users, everywhere else a inputPeer*FromMessage
constructor will have to be generated as specified here ». 0
instead of the min access hash.min_access_hash
, which is: true
if min
is set AND phone
flag is not set OR phone
flag is set and the associated phone number string is non-empty false
otherwise. access_hash
and min_access_hash
to the local database if: min_access_hash
is false OR min_access_hash
is true AND access_hash
in the local cache OR min_access_hash
is also true min_access_hash
field set to true, the related access_hash
is only suitable to use in inputPeerPhotoFileLocation
», to directly download the profile pictures of users, everywhere else a inputPeer*FromMessage
constructor will have to be generated as specified here ». 0
instead of the min access hash.min
flag is not set OR min
flag is set AND min
flag of the locally cached user entry is set.min
flag is not set OR min
flag is set AND min
flag of the locally cached user entry is set.min
flag is not set OR min
flag is set AND min
flag of the locally cached user entry is set.min
flag is not set OR min
flag is set AND min
flag of the locally cached user entry is set.min
flag is not set OR min
flag is set AND min
flag of the locally cached user entry is set.min
flag is not set OR min
flag is set AND min
flag of the locally cached user entry is set.min
flag is not set OR min
flag is set AND min
flag of the locally cached user entry is set.min
flag is not set OR min
flag is set AND min
flag of the locally cached user entry is set.min
flag is not set OR min
flag is set AND apply_min_photo
flag is set OR min
flag of the locally cached user entry is set.min
flag is not set OR min
flag is set AND apply_min_photo
flag is set OR min
flag of the locally cached user entry is set.min
flag is not set OR min
flag is set AND min
flag of the locally cached user entry is set OR min
flag is not set OR min
flag is set AND min
flag of the locally cached user entry is set OR min
flag is not set OR min
flag is set AND min
flag of the locally cached user entry is set. min
flag is not set OR min
flag is set AND min
flag of the locally cached user entry is set. Many constructors in the API need to be stored in a local database upon reception and should only ever be updated reactively (passively) when received via updates or by other means (as specified in the documentation), to avoid overloading the server by continuously requesting changes for the same unchanged information.
+Extended user info
In some situations user and channel constructors have reduced set of fields present (although id is always there) and min flag set.
Bots can install attachment menu and side menu entries, offering conveniently accessible, versatile web apps.
+Returns current configuration, including data center configuration.
+Got popular message reactions
Telegram allows users to specify granular privacy settings, choosing which users can or can't interact with them in certain ways.
Telegram Premium is an optional subscription service that unlocks additional exclusive client-side and API-side features, while helping support the development of the app.
Indicates info about a certain user
+Indicates info about a certain user.
+Unless specified otherwise, when updating the local peer database, all fields from the newly received constructor take priority over the old constructor cached locally (including by removing fields that aren't set in the new constructor).
+See here » for an implementation of the logic to use when updating the local user peer database.
Check whether we can write to the specified user (non-Premium users only), see here » for more info on the full flow.
Set global privacy settings
Users can turn their Telegram account into a business account, gaining access to business features such as opening hours, location, quick replies, automated messages, custom start pages, chatbot support, and more.
-Extended user info
+Location of profile photo of channel/group/supergroup/user
+How to transfer large data batches correctly.
+User status has not been set yet.
Telegram allows users to set an emoticon or a custom emoji as status, to show next to their name in chats and profiles.
Telegram Premium is an optional subscription service that unlocks additional exclusive client-side and API-side features, while helping support the development of the app.
Indicates info about a certain user
+Indicates info about a certain user.
+Unless specified otherwise, when updating the local peer database, all fields from the newly received constructor take priority over the old constructor cached locally (including by removing fields that aren't set in the new constructor).
+See here » for an implementation of the logic to use when updating the local user peer database.
Check whether we can write to the specified user (non-Premium users only), see here » for more info on the full flow.
Indicates info about a certain user
+Indicates info about a certain user.
+Unless specified otherwise, when updating the local peer database, all fields from the newly received constructor take priority over the old constructor cached locally (including by removing fields that aren't set in the new constructor).
+See here » for an implementation of the logic to use when updating the local user peer database.
Telegram offers many customization options for your profile!
diff --git a/data/web/corefork.telegram.org/mtproto/samples-auth_key.html b/data/web/corefork.telegram.org/mtproto/samples-auth_key.html index 9c3fde0f58..920602fdd8 100644 --- a/data/web/corefork.telegram.org/mtproto/samples-auth_key.html +++ b/data/web/corefork.telegram.org/mtproto/samples-auth_key.html @@ -53,9 +53,9 @@Sent payload (excluding transport headers/trailers):
-0000 | 00 00 00 00 00 00 00 00 C0 62 0C 00 0F 09 9E 66
-0010 | 14 00 00 00 F1 8E 7E BE FE 7E E3 8C 9F B2 A0 E1
-0020 | 5D 1A BB 74 C2 E1 33 D2
+0000 | 00 00 00 00 00 00 00 00 08 CF 03 00 8D 3C A1 66
+0010 | 14 00 00 00 F1 8E 7E BE F6 08 5A 66 81 25 75 E2
+0020 | 81 12 E1 29 9D 0F 62 6E
Payload (de)serialization:
req_pq_multi#be7e8ef1 nonce:int128 = ResPQ;
message_id | 8, 8 | -C0620C000F099E66 |
+08CF03008D3CA166 |
Message ID generated as specified here » (unixtime() << 32) + (N*4) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
nonce | 24, 16 | -FE7EE38C9FB2A0E15D1ABB74C2E133D2 |
+F6085A66812575E28112E1299D0F626E |
Random number | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
message_id | 8, 8 | -015CF7B50F099E66 |
+01A8631A8D3CA166 |
Message ID generated as specified here » (unixtime() << 32) + (N*4) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
message_length | 16, 4 | -54000000 (84 in decimal) |
+9C000000 (156 in decimal) |
Message body length | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
nonce | 24, 16 | -FE7EE38C9FB2A0E15D1ABB74C2E133D2 |
+F6085A66812575E28112E1299D0F626E |
Value generated by client in Step 1 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
server_nonce | 40, 16 | -B11B0686D343E5FBBCDC58F88E1E3AE8 |
+0E48CD96A1866061974658A430BD7733 |
Server-generated random number | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
pq | 56, 12 | -0821F7749A09EA98A3000000 TL byte deserialization => bigendian conversion to decimal => 2447553127439308963 |
+081B0AAAEAF9D12231000000 TL byte deserialization => bigendian conversion to decimal => 1948557714981462577 |
Single-byte prefix denoting length, an 8-byte string, and three bytes of padding | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
pq | 4, 12 | -0821F7749A09EA98A3000000 TL byte deserialization => bigendian conversion to decimal => 2447553127439308963 |
+081B0AAAEAF9D12231000000 TL byte deserialization => bigendian conversion to decimal => 1948557714981462577 |
Single-byte prefix denoting length, 8-byte string, and three bytes of padding | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
p | 16, 8 | -044C8A943B000000 TL byte deserialization => bigendian conversion to decimal => 1284150331 |
+043BC13125000000 TL byte deserialization => bigendian conversion to decimal => 1002516773 |
First prime cofactor: single-byte prefix denoting length, 4-byte string, and three bytes of padding | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
q | 24, 8 | -04719ACEB9000000 TL byte deserialization => bigendian conversion to decimal => 1905970873 |
+0473D9FD1D000000 TL byte deserialization => bigendian conversion to decimal => 1943665949 |
Second prime cofactor: single-byte prefix denoting length, 4-byte string, and three bytes of padding | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
nonce | 32, 16 | -FE7EE38C9FB2A0E15D1ABB74C2E133D2 |
+F6085A66812575E28112E1299D0F626E |
Value generated by client in Step 1 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
server_nonce | 48, 16 | -B11B0686D343E5FBBCDC58F88E1E3AE8 |
+0E48CD96A1866061974658A430BD7733 |
Value received from server in Step 2 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
new_nonce | 64, 32 | -2E2D46448ECCBFCDE4D05564EA295F70 A827B41B52A788647821FA22805B0179 |
+81EC6A3B1F98EB9B15EFE5F46DAE0A5E 82553CDE98C68BE645CA91198CF2C10A |
Client-generated random number | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
message_id | 8, 8 | -C4620C000F099E66 |
+9C1007008D3CA166 |
Message ID generated as specified here » (unixtime() << 32) + (N*4) | |||||||||||||||||||||||||||||||||||||||||||
nonce | 24, 16 | -FE7EE38C9FB2A0E15D1ABB74C2E133D2 |
+F6085A66812575E28112E1299D0F626E |
Value generated by client in Step 1 | |||||||||||||||||||||||||||||||||||||||||||
server_nonce | 40, 16 | -B11B0686D343E5FBBCDC58F88E1E3AE8 |
+0E48CD96A1866061974658A430BD7733 |
Value received from server in Step 2 | |||||||||||||||||||||||||||||||||||||||||||
p | 56, 8 | -044C8A943B000000 TL byte deserialization => bigendian conversion to decimal => 1284150331 |
+043BC13125000000 TL byte deserialization => bigendian conversion to decimal => 1002516773 |
First prime cofactor: single-byte prefix denoting length, 4-byte string, and three bytes of padding | |||||||||||||||||||||||||||||||||||||||||||
q | 64, 8 | -04719ACEB9000000 TL byte deserialization => bigendian conversion to decimal => 1905970873 |
+0473D9FD1D000000 TL byte deserialization => bigendian conversion to decimal => 1943665949 |
Second prime cofactor: single-byte prefix denoting length, 4-byte string, and three bytes of padding | |||||||||||||||||||||||||||||||||||||||||||
encrypted_data | 80, 260 | -FE000100E29368A6A56B647710525E25 91AE29AE3AE8D35FB014BE046AE77F2F FB3F1123835032E4406A6C8344EF0195 36CA43D4ABB07809464ED1994415E0C3 4708C96CF35B05C8F8248AD3B3263D68 E20D070B2ADB55FA160EF76A9571C841 E5EB57BDEAC205C6049CFFF01C0552D5 B9DFCD1A4A01CF79BAF2E42CE19927C7 6E38B060D7260AA263AB5309B55685AA F330E161666F25CAF03EEDF8EE77646C 2B2A052B272CF7ADEDD326EB12E905A5 F4AF56FA6820416E568CC476D847E3AA A5EF7EE1455F73405F28C83D81655246 ED94176385DAD0B19F985E0073B4ABC6 A232EBFEA03AE1B43BD662C587167668 D3D5678ECBB65461D0A46E67A5749330 37F90109 |
+FE00010051DD24B756C4BDC6DFBF81F1 F6A1B2F38562AC8DC7F6C32C624AE8FA 7856C8D1A5756B2D10BFB8B1E2C702F6 9907CECA6B161C1575E4CE4E85A9BA48 C4B63B678B62A1D56027D39C92C37D66 56C771F761BC4ED1073B43EC07064B9D 0173143711E34189C24AAD72128FF9D4 E688E807CBC555A76B830E30313D2099 91A860D1392436F471A761D8566EE2A3 57A2EF9CAD8AA3A741EEAA29431B263F 5CC00C4C5AB00F45AB4BA1938C1F198D 4A69225BE94554CB7F84C428535F7920 6C876DF2FC84EA7AB21D26DEF3C26BAF C01EFB17CA2C39D29050821D0FF05AAC 653794F0B3D916E978A4FD077C63F268 F6ADFDFF2980D42E3D5C5F86954A123A C2D3067B |
Value generated above |
message_id | 8, 8 | -01B8EC7910099E66 |
+01C4CDD48D3CA166 |
Message ID generated as specified here » (unixtime() << 32) + (N*4) | |||||||||||||||||||||||||||||||||||||||||||
message_length | 16, 4 | -D4020000 (724 in decimal) |
+BC020000 (700 in decimal) |
Message body length | |||||||||||||||||||||||||||||||||||||||||||
nonce | 24, 16 | -FE7EE38C9FB2A0E15D1ABB74C2E133D2 |
+F6085A66812575E28112E1299D0F626E |
Value generated by client in Step 1 | |||||||||||||||||||||||||||||||||||||||||||
server_nonce | 40, 16 | -B11B0686D343E5FBBCDC58F88E1E3AE8 |
+0E48CD96A1866061974658A430BD7733 |
Value received from server in Step 2 | |||||||||||||||||||||||||||||||||||||||||||
encrypted_answer | 56, 596 | -FE500200844093D5803E056386D8C89B 8880040345183FFB82DD621DDA6D88DA 41A48D86E9E3ADF248535B804E7244A0 7133476C01E1B000CEC815C5F7B88E4D 0D05F6C94210EA34D5FC6ADD2DB98763 0A0184867C7DE2C1EB4578E591F08847 B8C40F8285D46CC251371775F3792896 559ABF0C8F168C4DE1D60B4CAAA181F8 2FEDDC3CFB6CBC4A7DB12BF8798C102A 839E9DC51E6F7F978027A3B0A247685A 3C0F1DCB12CE0D292037EA78C7B150F3 A6FD31829D10EF21224F10BEB9A73DE7 2B3B87E28E4778EED0DA4C193105D436 C4E6FD4AC1608D01CBD3E7E1D78E96B9 D8DC3C37F12B72055F88DA9BEAE226BA 601DECFE20D5D9722FE534B845745FBF A0B2AE467F9A425A6FCE0A4E58B9AA51 6ABCC68B78C64E634CDEA35321C37999 D474DB0B3802575A086569199E1427B7 D9F2D6D4624C4883AC6C7F37F83712E2 3DF8D567F756DC002A5994E6657E634F CD0FB329ADB28954E5CDEBC88BA81019 A23CA92B49D1392DA16BD9817F274787 03F165FD8D1D077B8C44C925AD3A1195 2EA5CC20F94B2CC64DB65B11ECDA5118 695F8DFDE1F4CAB2D44D0E570789D4A1 FAE65CEBD4573CA4D55A5CE99CE35D3E 2FD5CC6074A2D74665697DD1ABD89C24 F0392F079EFB4AA8AB93BEC6CE8A7C1A 94D41525189F9CDC8629777A8FC5E2A8 09ACA801F5695ABCFCA42CBAF4E77863 46749CB8937AB5F476C7F2043C8DF991 600FAB01CDA7CC4C3BAA38A756B415B6 592A47E410827666334CEF01F69F6815 249E0EEA4CDFD7C7A3E09CB4C0D31696 A80D52787BE0B647CC7169122655B03F 72BAA30034F81262DA9E2F531BDEFB57 56C3218F |
+FE5002005ACB297F7FABE4AEA1B02832 EBD411B0E5423EEC0EE440B9431E23F7 76347E2E33320F460F0B0FB429678B42 3A82AF8C4D8FAC050C300C50154279D6 841DDC1B5F91AE0040C380A11269C468 4A66F04675EA257BF63460BF2726EEE7 3B688FB30BD0C57EF7AAF38BD646129C 6BDE80B3D03BCDC67B947AE4D3D07522 C11AD2BEA8E9549FD5F4140FC96DB662 50DAB836839C89F3383E1CCABC276154 879309FD6E508BEAD47C210EA749ADD4 9E82E23B085136F31A7A144D6BF1C7FC E26E479DCB0A5A3FDD7961DCCF34E072 2E898103F727734DE3B18D7644996580 1F0F912BD60F1CAE664CFC8B52D865F9 3307535A5DA99A36DF2AF6488FEBD3E8 68FA2E842C5435D71C4FBEB10E07F440 B1397B46E3EBF7719568977640B29447 4389C8AD1F2C54B5559820F13FE03DAE 8DD19A09E3C0EA977B98D22F6FE9C99C 22EB98F6A687BA0C1666483FAD6A7122 87322805200A93B870ED19DE0CD57FA4 B87868A3B0A741A5A92852DF2E604FE8 919CDC2DF0A38002CAFA7A501F1BD683 70B9BFDBA8E98BFCB2174B352943D4A8 2E3E9FC3AF3AF7B059721035D7211396 7A2ED64DEE0E78A00AAD097258650332 A965FC489A3FED2DB3AA9AF48DD32AC3 69B57CA0DB0D5B548FA0C2F6965D2C5B 4622DC977286B6E0305FD9F07CBC5983 82BF3CAB0D70F2CD59AA5FCB370CFFCF FFA8A8CAE2359FE9BE35862AF245FD30 D6441A6B8991DD1B8BF81C149C317FD6 55B3C67BECEF93826555ED07E87A9618 47A142059C42E32685279D15A071DFBA D5C59BC24628769C1691D77AEC24DAFA 76B2FEB51C40EE1AB31A7E0A39241A6B 23089CCB |
See below |
nonce | 4, 16 | -FE7EE38C9FB2A0E15D1ABB74C2E133D2 |
+F6085A66812575E28112E1299D0F626E |
Value generated by client in Step 1 | |||||||||||||||||||||||||||||||||||||||||||
server_nonce | 20, 16 | -B11B0686D343E5FBBCDC58F88E1E3AE8 |
+0E48CD96A1866061974658A430BD7733 |
Value received from server in Step 2 | |||||||||||||||||||||||||||||||||||||||||||
g_a | 300, 260 | -FE00010046E70BFCC5BAE4B1679086DC 059F413F9DD08E5CF0FA1A4983B4348D 73304421E92F886B56DD9F9403938350 7A4F09B313647F2D425C07C3A2E27A5F 48D06F26FC447A23613BB4E3D9727A7A 708DA10AB432A3B840BAEBAECDA42C1E 37EF15C6DB83144175D2683AF991642C 0BE636C4F2E9E442FEA9C2CF5A73FAB7 D0BDB15542AD7526A7380ED146B9BE36 D37CA71EEE89CF3CEAF190BF2C60ED42 670A8C2F330E8A2EDB3F6A066BF01C2C 5C3C17AC294616E80C5DEC7DD7F5A615 C01EFF233ABEFAC6D3D2DC04DB2BF72E 36C2BF844C85BC74C5BDFB0F5841DC65 F83AD060DF3A6941D80B05019D79FC73 D761D342B172ABBD0283F56F1097B565 A8AB7AD6 |
+FE00010032F36F957997386EAF11A538 C81CFBAA3BEF08528257C8D1E2BD9BE5 359D00A6D20C56E74DE8E9E245451B2C B4A16CD58BA711F076848CB61779AFE8 760D2F60BC99886887ABE04E8EB616E2 3EA0015467E98E35D6EC3D2A01E6523E C0CB5D75E9F6EBAC67C9131EE89BD918 28F7C1A727D0AB19888E826E4A08B121 D3AC3D8450FC53FE9C35C38908127929 7D5912B7878E071F7BD14D7916BFFFD8 C402C106CD8784C12EFC79ECF20F65AB AEF8E72C8878BF8BC21418CB406775CE A752671EAF6DAB7ABCB0692A93180A93 906A911FFF6AD161433630897F18CC5A 7D4CBEAF20793336756FDE2098F001CF E820A6D0FB863E873DAA54E95269F50C FF992263 |
g_a diffie-hellman parameter |
|||||||||||||||||||||||||||||||||||||||||||
server_time | 560, 4 | -10099E66 (1721633040 in decimal) |
+8D3CA166 (1721842829 in decimal) |
Server time |
nonce | 4, 16 | -FE7EE38C9FB2A0E15D1ABB74C2E133D2 |
+F6085A66812575E28112E1299D0F626E |
Value generated by client in Step 1 | |||||||||||||||||||||||||||||||||||||||||||
server_nonce | 20, 16 | -B11B0686D343E5FBBCDC58F88E1E3AE8 |
+0E48CD96A1866061974658A430BD7733 |
Value received from server in Step 2 | |||||||||||||||||||||||||||||||||||||||||||
g_b | 36, 260 | -FE000100570CD13FAE7E98F38DC9F976 653674A6B9D88176BFB9DDA0A044A7B6 D297640AA7EC2338DA3C7934FA7615BC 92E9B11F691B753327B06D245398D59C 0581BEDE54D1164CE22C20626380C3BE 23A9E117A347A81C6D60DFD86FEFD3FC 9DF00F15D62F15A6809B6A616411A8AC 950C2470ABF61FE7D5812209003D821D FD8FB75E2D90491EFD374511366C5ADF 51EFB9E95148C8D0027B9D803B3471B6 D9D53E7CEC3502C5D2896BB4D255C96D F2215F296E131E1EEC7EC4A12431ED6D B95097FE36BFA720CD9340866C437A31 2A5E8FE2BE14B7FDDB37F5891887BB05 4FCBC59774E805DEDA23F0DC8D17C763 626922369F3646021A9A85123EB40DAE 5B912465 |
+FE000100BC6AF6A9EFC35949F0F6695B 7148242A282D45E2F28BCE2184414F0E 1210C9179ADCB715964979BDE3101270 BBF8FDB8EF17DE5ADC25386293668D13 580CB275A7F56A14140E9110EAD1D5C2 2F02159CFFBCF8C113E57A48E4F8C236 8B282133043B92E9817C967BB4F562AA BEBD0FEF8DB3E87D1653BD3835C2906A 593EF384F209A564C0BFBCB7E036141C 8F9F1A48F42FBFE2A5090BBD95E32E0C 6990C7BE974BD9A9C1EB983917A602EA 6ADBA03582899F8DA52F2E588B91AF45 D1703AEADE35232DA9A0BAC3EE8DD7A8 BE5FAECC1AC0A2C24C951A717A8E07A1 793995644B60F96F769FD08655D6154F 472D74B176834D656C48FC3F30C9A182 0729CD5B |
Single-byte prefix denoting length, a 256-byte (2048-bit) string, and zero bytes of padding | |||||||||||||||||||||||||||||||||||||||||||
message_id | 8, 8 | -400F050011099E66 |
+A01007008D3CA166 |
Message ID generated as specified here » (unixtime() << 32) + (N*4) |
nonce | 24, 16 | -FE7EE38C9FB2A0E15D1ABB74C2E133D2 |
+F6085A66812575E28112E1299D0F626E |
Value generated by client in Step 1 |
server_nonce | 40, 16 | -B11B0686D343E5FBBCDC58F88E1E3AE8 |
+0E48CD96A1866061974658A430BD7733 |
Value received from server in Step 2 |
encrypted_data | 56, 340 | -FE5001000FADE83C081F2D935766DBFA 33666AEF249C17339F5AE8BC952D2FD5 8765672E2DAE53C6885DF337B19B023C EB3BA974905EE6293D85E5061DB24DF7 F8DB5A2FE7EF5CD8459AFA74C2CE1D53 348073EF99F5FBCD08E3E963FB037D18 832C34A0AFBE5C90E420CED585D883DD 3538C93C11CB8110560964FE12C51696 DDBCBD18A469FBA72B42D57CFA54F6E5 0D6EC476AF328E70A6213C49A9566A94 6845E6627EB360EBA89F1AF20E470479 2A033DC09C5DDC94070B04D031BE8149 A4B720AFC13868DF13144FA299882422 DA45EF6B0AC7B09338CFDD4B656D27CB D20AE301D4D160233EB69A9AD6A19F28 54C3E5BE0D4AC635FA1CD15540440E9B 8A3CBD8E8B3A602057197E78038E988B B0671694E778F531750A5A5DE5BEF31A AB97CAD542048E2C940A1F146F1B6BF0 30500B6AB67A87B89F57B207A2F6B005 3C6ADD8E0AD1728E5DC80280AEFACD9F C7323F2B |
+FE500100DBC5D7D540BD682F97D3F0E7 A4807759E7EF315D17972BBB694B9A7A 857EDDF9B937312FAA6CA829F8FAE60F BBAD1ADFD03643DCB9591A1A3E73AE09 DC2692DCD9E505D055EEACC482C86360 58745323BCB1F2934D8D6DAFB8C1FABE 02B55B6F65113F29B7B5FC1C66E7CC94 26803AD2706820DF20B7E150C3E60A15 21067106E8D79842186ABDCE37055658 FF056FA02A332611C31A8BC501D8E109 86E24DE9D27EE31E57B40E1B9841B1B5 2734CDDD2227B7DD144AC7C0EC891716 0092AC385C122E2CD9D7CD728DF982B1 2B2619DA7871302BE67C877490FF798A 7FAD49FCABFF72B56991C6BB4CC23B04 AC3A3E3689DD76940152D717AAE84291 6FD174451809CCE5B30FEFE196DC0D2E 839CE55653B206D7EE292C609F2A94CB 171AB953751ABEA675BC5BD148358E68 E780291C79840DBC609B09D2AF168401 2DB2564839E3ED2CCE13E25E506C4BE5 E1A25C29 |
Encrypted client_DH_inner_data generated previously, serialized as a TL byte string |
message_id | 8, 8 | -0130B99E11099E66 |
+0148346A8E3CA166 |
Message ID generated as specified here » (unixtime() << 32) + (N*4) |
message_length | 16, 4 | -88000000 (136 in decimal) |
+38000000 (56 in decimal) |
Message body length |
nonce | 24, 16 | -FE7EE38C9FB2A0E15D1ABB74C2E133D2 |
+F6085A66812575E28112E1299D0F626E |
Value generated by client in Step 1 |
server_nonce | 40, 16 | -B11B0686D343E5FBBCDC58F88E1E3AE8 |
+0E48CD96A1866061974658A430BD7733 |
Value received from server in Step 2 |
new_nonce_hash1 | 56, 16 | -40898F253A282A6C52F26E65CBCA59DC |
+6245C2E2B161A5D3381A770D75666C2E |
The 128 lower-order bits of SHA1 of the byte string derived from the new_nonce string by adding a single byte with the value of 1, 2, or 3, and followed by another 8 bytes with auth_key_aux_hash . Different values are required to prevent an intruder from changing server response dh_gen_ok into dh_gen_retry. |
Many constructors in the API need to be stored in a local database upon reception and should only ever be updated reactively (passively) when received via updates or by other means (as specified in the documentation), to avoid overloading the server by continuously requesting changes for the same unchanged information.
diff --git a/data/web/corefork.telegram.org/type/User.html b/data/web/corefork.telegram.org/type/User.html index 5e0ee24307..3d6dac464a 100644 --- a/data/web/corefork.telegram.org/type/User.html +++ b/data/web/corefork.telegram.org/type/User.html @@ -80,7 +80,7 @@