From f96d8ca577cf2ea2c50546c5ab19406bfae4c3bd Mon Sep 17 00:00:00 2001
From: GitHub Action Users can interact with your bot via inline queries, straight from the text input field in any chat. Bots can offer users HTML5 games to play solo or to compete against each other in groups and one-on-one chats; how to work with games in the MTProto API. Bots can offer users interactive HTML5 web apps to completely replace any website. Bots can offer users interactive HTML5 mini apps to completely replace any website. Bots can install attachment menu entries, offering conveniently accessible, versatile web apps. Bots can install attachment menu entries, offering conveniently accessible, versatile mini apps. Telegram users and channels can easily post and view stories through the API. Telegram allows users to specify granular privacy settings, choosing which users can or can't interact with them in certain ways. Telegram allows applying detailed message filters while looking for messages in chats.
This allows the server to filter messages based on a text query, and even on their type, and this feature is often used by graphical clients to implement features like the chat gallery, chat profile pictures and more. Working with contacts in the API. Working with the blocklist. How to work with geolocation-based features like geochats and the nearby users feature. When interacting with HTML5 games and the websites of payment gateways, Telegram apps should expose the following JS APIs. Users can interact with your bot via inline queries, straight from the text input field in any chat. Bots can offer users HTML5 games to play solo or to compete against each other in groups and one-on-one chats; how to work with games in the MTProto API. Bots can offer users interactive HTML5 web apps to completely replace any website. Bots can offer users interactive HTML5 mini apps to completely replace any website. Bots can install attachment menu entries, offering conveniently accessible, versatile web apps. Bots can install attachment menu entries, offering conveniently accessible, versatile mini apps. Telegram users and channels can easily post and view stories through the API. Telegram allows users to specify granular privacy settings, choosing which users can or can't interact with them in certain ways. Telegram allows applying detailed message filters while looking for messages in chats.
This allows the server to filter messages based on a text query, and even on their type, and this feature is often used by graphical clients to implement features like the chat gallery, chat profile pictures and more. Working with contacts in the API. Working with the blocklist. How to work with geolocation-based features like geochats and the nearby users feature. When interacting with HTML5 games and the websites of payment gateways, Telegram apps should expose the following JS APIs. Everything works exactly the same as when posting stories as a user, with the only difference that clients should pass the appropriate inputPeerChannel instead of inputPeerSelf to stories.canSendStory, stories.sendStory and all the other story methods, see the main documentation » for more info. Everything works exactly the same as when posting stories as a user, with the only difference that clients should pass the appropriate inputPeerChannel instead of inputPeerSelf to stories.canSendStory, stories.sendStory and all the other story methods, see the main documentation » for more info. Use stories.getChatsToSend to obtain a list of channels where the user can post stories; stories.canSendStory must still be used before uploading a story to make sure no other limit was reached, as described in the main documentation ». Bots can install attachment menu entries, offering conveniently accessible, versatile web apps. Bots can install attachment menu entries, offering conveniently accessible, versatile web apps. Schema: Once an attachment menu is enabled for a certain user, the user. Clicking on the attachment menu entry should open the related bot web app, see here » for more info on the required steps. Clicking on the attachment menu entry should open the related bot mini app, see here » for more info on the required steps. Attachment menus can be installed and opened through attachment menu deep links. The user client should display the messages.botResults. If either the messages.botResults. If either the messages.botResults. If the user instead chooses a specific One of the following constructors will be returned: botMenuButtonDefault will never be returned in this case. One of the following constructors will be returned: They support seamless authorization, integrated payments via multiple payment providers (with Google Pay and Apple Pay out of the box), delivering tailored push notifications to users, and much more. This article offers a client-side overview of the implementation of bot mini apps using the MTProto API: see here for an overview of the mini-app side JS API ». Both simple and normal Mini Apps can send web events starting with Both simple and normal Mini Apps can send web events starting with Mini Apps can also receive events, by exposing a Here's the full list of events that can be received by a Mini App from the client, by calling the Another way to open Mini Apps is by using named bot Mini App links ». Another way to open Mini Apps is by using named bot Mini App links ». These links are different from bot attachment menu deep links », because they don't require the user to install an attachment menu, and a single bot can offer multiple Mini Apps, distinguished by their These links should be handled as follows: Games
Web apps
-Mini apps
+Attachment menu
-Stories
Privacy settings
Search & filters
+Search & filters
Polls
@@ -221,7 +221,7 @@ This allows the server to filter messages based on a text query, and even on the
Blocklist
Nearby users&chats
+Nearby users&chats
Web events
Games
Web apps
-Mini apps
+Attachment menu
-Stories
Privacy settings
Search & filters
+Search & filters
Polls
@@ -221,7 +221,7 @@ This allows the server to filter messages based on a text query, and even on the
Blocklist
Nearby users&chats
+Nearby users&chats
Web events
BOOST_NOT_MODIFIED
RPC error will be returned when calling any of
---functions---
stories.getChatsToSend#a56a8b60 = messages.Chats;
-user#abb5f120 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 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 = User;
@@ -83,7 +83,7 @@
Changes made using this method will trigger an updateAttachMenuBots update in other clients, which should trigger a messages.getAttachMenuBots call to fetch the full updated list of installed attachment menu entries.
The attachment menu list should also be refreshed if the user changes the app's language in the settings.
attach_menu_enabled
flag will be set for the bot, and the attachMenuBot.inactive
flag will be unset. results
obtained during querying in a list, making sure to handle eventual bot timeouts in the form of a BOT_RESPONSE_TIMEOUT
RPC error, by simply not displaying anything. switch_pm
or messages.botResults.switch_webview
flags are populated, a button should be displayed on top of the result list, that when clicked, instead of sending an inline result to the chat, switches the user to a private chat with the bot (switch_pm
) or to a bot web app (switch_webview
). switch_pm
or messages.botResults.switch_webview
flags are populated, a button should be displayed on top of the result list, that when clicked, instead of sending an inline result to the chat, switches the user to a private chat with the bot (switch_pm
) or to a bot mini app (switch_webview
). BotInlineResult
from the normal results
list, the messages.sendInlineBotResult method should be invoked, passing:
query_id
from messages.botResults
user_id
- inputUserEmptybutton
- one of the following constructors:
-
user_id
- inputUser with the user ID/access hashbutton
- one of the following constructors:
-
@@ -102,7 +102,7 @@
-
-
diff --git a/data/web/corefork.telegram.org/api/bots/webapps.html b/data/web/corefork.telegram.org/api/bots/webapps.html
index d98da18d7f..18af166cc9 100644
--- a/data/web/corefork.telegram.org/api/bots/webapps.html
+++ b/data/web/corefork.telegram.org/api/bots/webapps.html
@@ -48,7 +48,7 @@
Outgoing events: Mini App to client
-web_app_
; see the web event documentation for the full list of events that can be sent by the Mini App to the client ». web_app_
; see the web event documentation for the full list of events that can be sent by the Mini App to the client ». Incoming events: Client to Mini App
window.Telegram.WebView.receiveEvent("event_name", params)
method. receiveEvent
method. failed
event if the
messages.getBotApp#34fdc5c3 app:InputBotApp hash:long = messages.BotApp;
messages.requestAppWebView#8c5a3b3c flags:# write_allowed:flags.0?true peer:InputPeer app:InputBotApp start_param:flags.1?string theme_params:flags.2?DataJSON platform:string = AppWebViewResult;
-short_name
.
diff --git a/data/web/corefork.telegram.org/api/config.html b/data/web/corefork.telegram.org/api/config.html
index 330f1d1607..aeabe28385 100644
--- a/data/web/corefork.telegram.org/api/config.html
+++ b/data/web/corefork.telegram.org/api/config.html
@@ -356,8 +356,8 @@ When fetching the admin list of a supergroup using click here for more info on URL authorization ». (array of strings)
whitelisted_domains
A list of Telegram domains that can always be opened without additional user confirmation, when clicking on in-app links where the URL is not fully displayed (i.e. messageEntityTextUrl entities). (array of strings)
-Note that when opening named bot web app links for the first time, confirmation should still be requested from the user, even if the domain of the containing deep link is whitelisted (i.e. t.me/<bot_username>/<short_name>?startapp=<start_parameter>
, where t.me
is whitelisted).
Confirmation should always be asked, even if we already opened the named bot web app before, if the link is not visible (i.e. messageEntityTextUrl text links, inline buttons etc.).
+Note that when opening named bot mini app links for the first time, confirmation should still be requested from the user, even if the domain of the containing deep link is whitelisted (i.e. t.me/<bot_username>/<short_name>?startapp=<start_parameter>
, where t.me
is whitelisted).
Confirmation should always be asked, even if we already opened the named bot mini app before, if the link is not visible (i.e. messageEntityTextUrl text links, inline buttons etc.).
round_video_encoding
Contains a set of recommended codec parameters for round videos. (object, as described in the example)
chat_read_mark_size_threshold
in_seq_no | out_seq_no |
Used to share named bot web apps.
-These links are different from bot attachment menu deep links, because they don't require the user to install an attachment menu, and a single bot can offer multiple named web apps, distinguished by their short_name
.
These links should be handled as specified in the named bot web app documentation ».
+Used to share named bot mini apps.
+These links are different from bot attachment menu deep links, because they don't require the user to install an attachment menu, and a single bot can offer multiple named mini apps, distinguished by their short_name
.
These links should be handled as specified in the named bot mini app documentation ».
t.me
syntax:
t.me/<bot_username>/<short_name>?startapp=<start_parameter>
tg:
syntax:
appname
short_name
when invoking messages.getBotAppshort_name
when invoking messages.getBotAppstartapp
peer_types
field.Installs and opens an attachment menu web app in the currently open chat.
+Installs and opens an attachment menu mini app in the currently open chat.
t.me
syntax:
t.me/<bot_username>?startattach
t.me/<bot_username>?startattach=<start_parameter>
@@ -1158,7 +1158,7 @@ tg://resolve?domain=<bot_username>&startattach=<start_parameter>
Installs and opens an attachment menu web app in a specific chat.
+Installs and opens an attachment menu mini app in a specific chat.
t.me
syntax:
t.me/<username>?attach=<bot_username>
t.me/<username>?attach=<bot_username>&startattach=<start_parameter>
@@ -1182,12 +1182,12 @@ tg://resolve?phone=<phone_number>&attach=<bot_username>&star
username
Required for username links
-Username of chat where to open web app
+Username of chat where to open mini app
phone_number
Required for phone number links
-Phone number of private chat where to open web app
+Phone number of private chat where to open mini app
bot_username
@@ -1202,7 +1202,7 @@ tg://resolve?phone=<phone_number>&attach=<bot_username>&star
Open in any chat
-Installs an attachment menu, opens a dialog selection form that will open the attachment menu web app in a specific chat.
+Installs an attachment menu, opens a dialog selection form that will open the attachment menu mini app in a specific chat.
t.me
syntax:
t.me/<bot_username>?startattach&choose=users+bots+groups+channels
t.me/<bot_username>?startattach=<start_parameter>&choose=users+bots+groups+channels
diff --git a/data/web/corefork.telegram.org/api/nearby.html b/data/web/corefork.telegram.org/api/nearby.html
index 98e648e47c..8113338df4 100644
--- a/data/web/corefork.telegram.org/api/nearby.html
+++ b/data/web/corefork.telegram.org/api/nearby.html
@@ -45,7 +45,7 @@
How to work with geolocation-based features like geochats and the nearby users feature.
-Fetching nearby users & geogroups
+Fetching nearby users and geogroups
inputGeoPoint#48222faf flags:# lat:double long:double accuracy_radius:flags.0?int = InputGeoPoint;
---functions---
@@ -63,7 +63,7 @@
channels.createChannel#91006707 flags:# broadcast:flags.0?true megagroup:flags.1?true for_import:flags.3?true forum:flags.5?true title:string about:string geo_point:flags.2?InputGeoPoint address:flags.2?string ttl_period:flags.4?int = Updates;
channels.editLocation#58e63f6d channel:InputChannel geo_point:InputGeoPoint address:string = Bool;
-Pass a geo_point
to channels.createChannel when creating a supergroup in order to create a geogroup associated to a geolocation, that will be returned to nearby users ».
+Pass a geo_point
to channels.createChannel when creating a supergroup in order to create a geogroup associated to a geolocation, that will be returned to nearby users ».
A textual description of the location (1-64 UTF-8 chars) should also be passed in address
.
Use channels.editLocation to change the group's location.
Advertising our current location
@@ -72,10 +72,10 @@
---functions---
contacts.getLocated#d348bc44 flags:# background:flags.1?true geo_point:InputGeoPoint self_expires:flags.0?int = Updates;
-Our current location may be advertised to other users using contacts.getLocated: in this case the self_expires
flag must always be set.
+Our current location may be advertised to other users using contacts.getLocated: in this case the self_expires
flag must always be set.
This flag is used to specify the expiration TTL of the passed geolocation (i.e. the geolocation will expire after self_expires
seconds); pass `0x7fffffff`` to disable expiry, 0 to make the current geolocation private.
The method will also return a list of nearby users and chats, but only if the passed expiration TTL is not equal to zero.
-Users may still fetch nearby users and chats without making their geolocation public by simply not setting the flag, see here » for more info.
+Users may still fetch nearby users and chats without making their geolocation public by simply not setting the flag, see here » for more info.
While the geolocation of the current user is public, clients should update it in the background every half-an-hour or so (or in any case before the expiration date specified with self_expires
), while setting this flag: if the new location is more than 1 KM away from the previous one, or if the previous location is unknown, the background
flag should be set.
diff --git a/data/web/corefork.telegram.org/api/payments.html b/data/web/corefork.telegram.org/api/payments.html
index 6c82200d73..ca1acafd48 100644
--- a/data/web/corefork.telegram.org/api/payments.html
+++ b/data/web/corefork.telegram.org/api/payments.html
@@ -85,7 +85,7 @@ You can also attach an inline keyboard to the message using the reply_mark
payments.exportInvoice#f91b065 invoice_media:InputMedia = payments.ExportedInvoice;
Bots may also generate invoice deep links using payments.exportInvoice.
-The returned payments.exportedInvoice will contain an invoice deep link that can be shared directly, or sent in a bot web app web_app_open_invoice
event.
+The returned payments.exportedInvoice will contain an invoice deep link that can be shared directly, or sent in a bot mini app web_app_open_invoice
event.
2. Order information
2.1 Invoice
keyboardButtonBuy#afd93fbb text:string = KeyboardButton;
diff --git a/data/web/corefork.telegram.org/api/poll.html b/data/web/corefork.telegram.org/api/poll.html
index 983a6b5871..4df6287ec4 100644
--- a/data/web/corefork.telegram.org/api/poll.html
+++ b/data/web/corefork.telegram.org/api/poll.html
@@ -111,9 +111,9 @@ These last two parameters are exactly the same, except that one uses absolute, t
Regularly, if new users have voted in polls available to the user, they will receive an updateMessagePoll, with updated pollResults.
The same constructor can also be fetched manually using messages.getPollResults.
Getting poll voters in non-anonymous polls
-messageUserVote#34d247b4 user_id:long option:bytes date:int = MessageUserVote;
-messageUserVoteInputOption#3ca5b0ec user_id:long date:int = MessageUserVote;
-messageUserVoteMultiple#8a65e557 user_id:long options:Vector<bytes> date:int = MessageUserVote;
+messagePeerVote#b6cc2d5c peer:Peer option:bytes date:int = MessagePeerVote;
+messagePeerVoteInputOption#74cda504 peer:Peer date:int = MessagePeerVote;
+messagePeerVoteMultiple#4628f6e6 peer:Peer options:Vector<bytes> date:int = MessagePeerVote;
messages.votesList#4899484e flags:# count:int votes:Vector<MessagePeerVote> chats:Vector<Chat> users:Vector<User> next_offset:flags.0?string = messages.VotesList;
diff --git a/data/web/corefork.telegram.org/api/stories.html b/data/web/corefork.telegram.org/api/stories.html
index 3fc0d41ff6..12f7a25f29 100644
--- a/data/web/corefork.telegram.org/api/stories.html
+++ b/data/web/corefork.telegram.org/api/stories.html
@@ -75,7 +75,7 @@ Note that in order to obtain permission to post stories as a channel, it must be
- If we're trying to send a story as a channel:
- The current user is an administrator of the channel and has
post_stories
admin rights; otherwise, a CHAT_ADMIN_REQUIRED
error is returned.
-- AND the channel has received enough boosts to post the story »; otherwise, a
BOOSTS_REQUIRED
error is returned.
+- AND the channel has received enough boosts to post the story »; otherwise, a
BOOSTS_REQUIRED
error is returned.
- If we're trying to send a story as the current user:
@@ -94,13 +94,13 @@ Note that if any of the conditions changes in the period between the call to media
: The story media.
media_areas
: Media areas associated to the story, see here » for more info.
privacy_rules
: A set of privacy rules » for the story as an array of InputPrivacyRule constructors, indicating who can or can't view the story.
-expire
: Period after which the story is moved to archive (and to the profile if pinned
is set), in seconds; must be one of 6 * 3600
, 12 * 3600
, 86400
, or 2 * 86400
for Telegram Premium users, and 86400
otherwise.
-pinned
: Whether to also add the story to the profile automatically upon expiration. If not set, the story will only be added to the archive.
+expire
: Period after which the story is moved to archive (and to the profile if pinned
is set), in seconds; must be one of 6 * 3600
, 12 * 3600
, 86400
, or 2 * 86400
for Telegram Premium users, and 86400
otherwise.
+pinned
: Whether to also add the story to the profile automatically upon expiration. If not set, the story will only be added to the archive.
Once a story is successfully uploaded, an updateStoryID will be returned, indicating the story ID (id
) that was attributed to the story (like for messages, random_id
indicates the random_id
that was passed to stories.sendStory: this way, you can tell which story was assigned a specific id
by checking which stories.sendStory call has the returned random_id
).
Also, posting a story will emit an updateStory both for us, and for our subscribers/contacts (even if they have hidden our stories).
A story may also be edited using stories.editStory.
-Pinned/archived stories
+Pinned or archived stories
stories.stories#5dd8c3c8 count:int stories:Vector<StoryItem> chats:Vector<Chat> users:Vector<User> = stories.Stories;
---functions---
@@ -157,7 +157,7 @@ Use stories.getAllStories to fetch t
Initially, neither the next
or state
flags should be set: upon completion of the RPC call, a new state
string is returned and should be stored locally, associated either to the main or hidden story list (depending on the value of hidden
we passed); pass the locally stored state
to all future calls of the method.
If more stories are available, the returned stories.allStories.has_more
flag will be set: in this case, the client should re-call the method with the newly returned state
and the next
flag set to fetch a new state
and the remaining stories from the chosen story list; the process should be repeated until no more stories are available (has_more
will not be set).
-Once the full story list is fetched, stories.allStories can be called with the stored state
without setting the next
flag to check for updates in an active story list: if no changes have occurred since our last call, stories.allStoriesNotModified is returned, otherwise stories.allStories is returned (possibly requiring further pagination as described above).
+
Once the full story list is fetched, stories.allStories can be called with the stored state
without setting the next
flag to check for updates in an active story list: if no changes have occurred since our last call, stories.allStoriesNotModified is returned, otherwise stories.allStories is returned (possibly requiring further pagination as described above).
Note that a change is currently only defined as an addition or removal (i.e. by moving it to the hidden list or vice versa) of a peer to/from a story list, not as a new story being posted; those changes are received as simple updateStory updates.
Changes to the active stories list are contained in the stories.allStories.peer_stories
field: this field contains a vector of peerStories constructors, one for each peer, containing the peer ID, the ID of the maximum read story (if any), and a list of StoryItem constructors of type:
@@ -179,7 +179,7 @@ Use stories.getAllReadPeerStorie
stories.toggleAllStoriesHidden#7c2557c4 hidden:Bool = Bool;
Use stories.togglePeerStoriesHidden to hide the active stories of a specific peer, preventing them from being displayed on the action bar on the homescreen.
When the stories of a user are marked as hidden, the stories_hidden
flag is set on the related user constructor, and they should only be visible on the action bar when opening the archive folder, by setting the hidden
flag when calling stories.getAllStories, see here for more info.
-Note that the archive folder is the peer folder used for archived chats: hidden stories are displayed there purely due to a UI implementation detail, not because they're actually added to the archive peer folder » or the story archive », which are different things.
+Note that the archive folder is the peer folder used for archived chats: hidden stories are displayed there purely due to a UI implementation detail, not because they're actually added to the archive peer folder » or the story archive », which are different things.
Fetching the viewer list
storyView#b0bdeac5 flags:# blocked:flags.0?true blocked_my_stories_from:flags.1?true user_id:long date:int reaction:flags.2?Reaction = StoryView;
stories.storyViewsList#46e9b9ec flags:# count:int reactions_count:int views:Vector<StoryView> users:Vector<User> next_offset:flags.0?string = stories.StoryViewsList;
@@ -249,7 +249,7 @@ When the stories of a user are marked as hidden, the stories_hidden
mediaAreaVenue#be82db9c coordinates:MediaAreaCoordinates geo:GeoPoint title:string address:string provider:string venue_id:string venue_type:string = MediaArea;
inputMediaAreaVenue#b282217f coordinates:MediaAreaCoordinates query_id:long result_id:string = MediaArea;
-Location tags are represented by a mediaAreaVenue or mediaAreaGeoPoint, associated to a location sticker on top of the story media with an associated clickable media area.
+Location tags are represented by a mediaAreaVenue or mediaAreaGeoPoint, associated to a location sticker on top of the story media with an associated clickable media area.
Both constructors have an associated geolocation represented as a geoPoint, and information about the clickable media area on top of the story media as a mediaAreaCoordinates constructor.
mediaAreaGeoPoint is used to represent a simple geolocation without any extra information.
mediaAreaVenue is used to represent the location of a specific venue (i.e. a mall, a shop, a dance school et cetera), and apart from the venue's coordinates, it also contains a textual representation of the address, the venue name (title
) and a venue type/ID (venue_id
/venue_type
) in a format supported by the venue provider specified in provider
.
diff --git a/data/web/corefork.telegram.org/api/web-events.html b/data/web/corefork.telegram.org/api/web-events.html
index efd9294bcb..81432dd09c 100644
--- a/data/web/corefork.telegram.org/api/web-events.html
+++ b/data/web/corefork.telegram.org/api/web-events.html
@@ -44,10 +44,10 @@
-When interacting with HTML5 games, websites of payment gateways and bot web apps, Telegram apps should expose APIs to allow receiving data and events from the websites.
+When interacting with HTML5 games, websites of payment gateways and bot mini apps, Telegram apps should expose APIs to allow receiving data and events from the websites.
Event APIs
-Games, payment gateways and bot web apps can generate events that are meant to be received by the Telegram apps.
-Typically events are generated by using the postEvent
method of the GamingCommunication library, or by the bot web apps library.
+
Games, payment gateways and bot mini apps can generate events that are meant to be received by the Telegram apps.
+Typically events are generated by using the postEvent
method of the GamingCommunication library, or by the bot mini apps library.
The postEvent
function will try sending the event to the Telegram app in a number of different ways.
WebviewProxy
In mobile apps, the event receiver API should be typically exposed as a window.TelegramWebviewProxy
object with a postEvent
method.
@@ -56,14 +56,14 @@ The postEvent
function will try sending the event to the Telegram a
Alternatively, a window.external.notify
method can be exposed, accepting a string JSON payload with the event type and payload:
window.external.notify(JSON.stringify({eventType: eventType, eventData: eventData}));
postMessage API
-Finally, web MTProto clients that need to open a game, open a bot web app or process a payment in an iframe can use the postMessage API to receive events from iframes.
-The GamingCommunication and bot web apps libraries by default will use '*'
as targetOrigin
, sending messages to parent pages regardless of the origin of the embedder.
+Finally, web MTProto clients that need to open a game, open a bot mini app or process a payment in an iframe can use the postMessage API to receive events from iframes.
+The GamingCommunication and bot mini apps libraries by default will use '*'
as targetOrigin
, sending messages to parent pages regardless of the origin of the embedder.
window.parent.postMessage(JSON.stringify({eventType: eventType, eventData: eventData}), targetOrigin);
Event types
eventType
is a simple string indicating the event type, and eventData
is a payload with an object that will be parsed by the Telegram app.
web_app_close
No event payload.
-Emitted by bot web apps when the web app webview should be closed.
+Emitted by bot mini apps when the mini app webview should be closed.
web_app_open_popup
Event data: a JSON object with the following fields (which should be properly validated by the client).
@@ -76,10 +76,10 @@ The GamingCommunication and bot web apps libraries by default will use '*'
-Emitted by bot web apps when to open a native pop-up over the webview.
+Emitted by bot mini apps when to open a native pop-up over the webview.
By default, buttons should be displayed on one row.
-If the web app provides two buttons that can't fit horizontally on one row, display each button on a separate row.
-If the web app provides three buttons, always display each button on a separate row.
+If the mini app provides two buttons that can't fit horizontally on one row, display each button on a separate row.
+If the mini app provides three buttons, always display each button on a separate row.
- If the user presses any of the buttons, call
window.Telegram.WebView.receiveEvent("popup_closed", {"button_id": "<button id>"})
- If the user cancels the interaction without pressing any of the specified buttons, call
window.Telegram.WebView.receiveEvent("popup_closed", {})
@@ -91,17 +91,17 @@ While handling is enabled, maximum 3 consecutive valid events of this type can b
If equal to true
, the client should require user confirmation with a "Changes that you made may not be saved." popup with "Cancel"/"Close anyway" buttons before closing the webview, to avoid accidentally aborting a sensitive operation; otherwise no confirmation should be requested.
web_app_set_background_color
Event data: a JSON object with a string color
with a hex RGB color.
-Used to set the web app background and lower overscroll color.
+Used to set the mini app background and lower overscroll color.
web_app_set_header_color
Event data: a JSON object with a string color_key
, with of the following values:
bg_color
- The bg_color
from the theme parameters should be used.
secondary_bg_color
- The secondary_bg_color
from the theme parameters should be used.
-Used to set the web app header and upper overscroll color.
+Used to set the mini app header and upper overscroll color.
web_app_data_send
Event data: a JSON object with a string data
field.
-Used by simple webapps to send back data to the bot as specified here ». The Web App will be closed.
+Used by simple mini apps to send back data to the bot as specified here ». The Mini App will be closed.
web_app_trigger_haptic_feedback
Event data: a JSON object with the following fields:
@@ -129,32 +129,32 @@ While handling is enabled, maximum 3 consecutive valid events of this type can b
Used to trigger haptic feedback for a user interaction in a webapp.
web_app_open_link
Event data: a JSON object with a string url
field.
-Used to open a link in an external browser (or in a new tab for browser clients). The Web App will not be closed.
-Note that this method can be called only in response to the user interaction with the Web App interface (e.g. a click inside the Web App or on the main button).
-After opening the URL, further events of this type should be ignored until the user interacts again with the Web App interface (as above).
-Note that user interactions must have a TTL of 10 seconds: events of this type must be ignored if the last Web App user interaction happened more than 10 seconds ago.
+Used to open a link in an external browser (or in a new tab for browser clients). The Mini App will not be closed.
+Note that this method can be called only in response to the user interaction with the Mini App interface (e.g. a click inside the Mini App or on the main button).
+After opening the URL, further events of this type should be ignored until the user interacts again with the Mini App interface (as above).
+Note that user interactions must have a TTL of 10 seconds: events of this type must be ignored if the last Mini App user interaction happened more than 10 seconds ago.
web_app_open_tg_link
Event data: a JSON object with a string path_full
field, containing the path+query component of a t.me deep link (url = 'https://t.me' + path_full
).
-Used to open a t.me deep link. The Web App must be closed.
+Used to open a t.me deep link. The Mini App must be closed.
web_app_open_invoice
Event data: a JSON object with a string slug
field, containing an invoice deep link.
-Used to initiate payment of an invoice », by opening an invoice popup over the Web App: the Web App itself must not be closed.
-The payment status must be reported back to the web app using invoice_closed.
+Used to initiate payment of an invoice », by opening an invoice popup over the Mini App: the Mini App itself must not be closed.
+The payment status must be reported back to the mini app using invoice_closed.
web_app_expand
No event payload.
-Expands the web app to the maximum available height.
-The web app must also be expanded when the user swipes up on the webview.
+Expands the mini app to the maximum available height.
+The mini app must also be expanded when the user swipes up on the webview.
This event must be ignored during a user swipe down, used to reduce the webview.
web_app_request_viewport
No event payload.
-Used by web apps to request information about the viewport, clients should emit a viewport_changed event.
+Used by mini apps to request information about the viewport, clients should emit a viewport_changed event.
web_app_request_theme
No event payload.
-Used by web apps to request information about the current theme, clients should emit a theme_changed event.
+Used by mini apps to request information about the current theme, clients should emit a theme_changed event.
web_app_ready
No event payload.
-Emitted by web apps when they are fully loaded, signaling to client apps that the loading spinner placeholder can be removed.
-Note that there is no guarantee that this event will be emitted when the web app is fully loaded: clients should remove the loading spinner upon receiving this event or when the page finishes loading (native webview/iframe event), whichever event comes first.
+Emitted by mini apps when they are fully loaded, signaling to client apps that the loading spinner placeholder can be removed.
+Note that there is no guarantee that this event will be emitted when the mini app is fully loaded: clients should remove the loading spinner upon receiving this event or when the page finishes loading (native webview/iframe event), whichever event comes first.
web_app_setup_main_button
Event payload: JSON object with the following fields:
@@ -166,8 +166,8 @@ The web app must also be expanded when the user swipes up on the webview.
is_progress_visible
- Indicates whether the button should display a loading indicator (boolean, false by default)
Configures the main button, located immediately below the webview: when the user presses it a main_button_pressed
event should be emitted by the client.
-Some clients implement a horizontal media type tab bar located at the bottom of the screen, opened when the user clicks on the attachment menu button: this tab bar contains a horizontal list of buttons used to attach media of a certain type and to open installed attachment menu web apps.
-In clients that implements a tab bar, iff the user opens a web app through a tab bar button and the web app emits a web_app_setup_main_button
with is_visible=true
, the main button should be displayed (replacing the tab bar) only after the first tap inside of the webview, to prevent bots from immediately blocking the tab bar.
+Some clients implement a horizontal media type tab bar located at the bottom of the screen, opened when the user clicks on the attachment menu button: this tab bar contains a horizontal list of buttons used to attach media of a certain type and to open installed attachment menu mini apps.
+In clients that implements a tab bar, iff the user opens a mini app through a tab bar button and the mini app emits a web_app_setup_main_button
with is_visible=true
, the main button should be displayed (replacing the tab bar) only after the first tap inside of the webview, to prevent bots from immediately blocking the tab bar.
Otherwise, the main button can be displayed right away with no user interaction when receiving a web_app_setup_main_button
event with is_visible=true
.
web_app_setup_back_button
Event data: a JSON object with an is_visible
boolean field.
diff --git a/data/web/corefork.telegram.org/constructor/appWebViewResultUrl.html b/data/web/corefork.telegram.org/constructor/appWebViewResultUrl.html
index da28db72d1..133586c0e4 100644
--- a/data/web/corefork.telegram.org/constructor/appWebViewResultUrl.html
+++ b/data/web/corefork.telegram.org/constructor/appWebViewResultUrl.html
@@ -4,10 +4,10 @@
appWebViewResultUrl
-
+
-
+
@@ -42,7 +42,7 @@
appWebViewResultUrl
- Contains the link that must be used to open a named bot web app.
+ Contains the link that must be used to open a named bot mini app.
-
diff --git a/data/web/corefork.telegram.org/constructor/attachMenuBot.html b/data/web/corefork.telegram.org/constructor/attachMenuBot.html
index b7d620066e..721a0749ed 100644
--- a/data/web/corefork.telegram.org/constructor/attachMenuBot.html
+++ b/data/web/corefork.telegram.org/constructor/attachMenuBot.html
@@ -4,10 +4,10 @@
attachMenuBot
-
+
-
+
@@ -42,7 +42,7 @@
attachMenuBot
- Represents a bot web app that can be launched from the attachment menu »
+ Represents a bot mini app that can be launched from the attachment menu »
-
diff --git a/data/web/corefork.telegram.org/constructor/attachMenuBotIcon.html b/data/web/corefork.telegram.org/constructor/attachMenuBotIcon.html
index 6f7eacbb92..9fb9ed4b89 100644
--- a/data/web/corefork.telegram.org/constructor/attachMenuBotIcon.html
+++ b/data/web/corefork.telegram.org/constructor/attachMenuBotIcon.html
@@ -4,10 +4,10 @@
attachMenuBotIcon
-
+
-
+
@@ -42,7 +42,7 @@
attachMenuBotIcon
- Represents an attachment menu icon for bot web apps »
+ Represents an attachment menu icon for bot mini apps »
-
@@ -74,7 +74,7 @@
name
string
-One of the following values: note that animated icons must be played when the user clicks on the button, activating the bot web app.
default_static
- Default attachment menu icon in SVG format
placeholder_static
- Default placeholder for opened Web Apps in SVG format
ios_static
- Attachment menu icon in SVG format for the official iOS app
ios_animated
- Animated attachment menu icon in TGS format for the official iOS app
android_animated
- Animated attachment menu icon in TGS format for the official Android app
macos_animated
- Animated attachment menu icon in TGS format for the official native Mac OS app
+One of the following values: note that animated icons must be played when the user clicks on the button, activating the bot mini app.
default_static
- Default attachment menu icon in SVG format
placeholder_static
- Default placeholder for opened Web Apps in SVG format
ios_static
- Attachment menu icon in SVG format for the official iOS app
ios_animated
- Animated attachment menu icon in TGS format for the official iOS app
android_animated
- Animated attachment menu icon in TGS format for the official Android app
macos_animated
- Animated attachment menu icon in TGS format for the official native Mac OS app
icon
diff --git a/data/web/corefork.telegram.org/constructor/attachMenuBotIconColor.html b/data/web/corefork.telegram.org/constructor/attachMenuBotIconColor.html
index 250280c685..8435375f93 100644
--- a/data/web/corefork.telegram.org/constructor/attachMenuBotIconColor.html
+++ b/data/web/corefork.telegram.org/constructor/attachMenuBotIconColor.html
@@ -4,10 +4,10 @@
attachMenuBotIconColor
-
+
-
+
@@ -42,7 +42,7 @@
attachMenuBotIconColor
- Represents an attachment menu icon color for bot web apps »
+ Represents an attachment menu icon color for bot mini apps »
-
diff --git a/data/web/corefork.telegram.org/constructor/attachMenuBots.html b/data/web/corefork.telegram.org/constructor/attachMenuBots.html
index 7b774c85e0..5c2cd4f1c6 100644
--- a/data/web/corefork.telegram.org/constructor/attachMenuBots.html
+++ b/data/web/corefork.telegram.org/constructor/attachMenuBots.html
@@ -4,10 +4,10 @@
attachMenuBots
-
+
-
+
@@ -42,7 +42,7 @@
attachMenuBots
- Represents a list of bot web apps that can be launched from the attachment menu »
+ Represents a list of bot mini apps that can be launched from the attachment menu »
-
@@ -74,7 +74,7 @@
bots
Vector<AttachMenuBot>
-List of bot web apps that can be launched from the attachment menu »
+List of bot mini apps that can be launched from the attachment menu »
users
diff --git a/data/web/corefork.telegram.org/constructor/attachMenuBotsBot.html b/data/web/corefork.telegram.org/constructor/attachMenuBotsBot.html
index 237624194a..60cb02115b 100644
--- a/data/web/corefork.telegram.org/constructor/attachMenuBotsBot.html
+++ b/data/web/corefork.telegram.org/constructor/attachMenuBotsBot.html
@@ -4,10 +4,10 @@
attachMenuBotsBot
-
+
-
+
@@ -42,7 +42,7 @@
attachMenuBotsBot
- Represents a bot web app that can be launched from the attachment menu »
+ Represents a bot mini app that can be launched from the attachment menu »
-
@@ -69,7 +69,7 @@
bot
AttachMenuBot
-Represents a bot web app that can be launched from the attachment menu »
+Represents a bot mini app that can be launched from the attachment menu »
users
diff --git a/data/web/corefork.telegram.org/constructor/attachMenuBotsNotModified.html b/data/web/corefork.telegram.org/constructor/attachMenuBotsNotModified.html
index cd0a961961..f98bc5e103 100644
--- a/data/web/corefork.telegram.org/constructor/attachMenuBotsNotModified.html
+++ b/data/web/corefork.telegram.org/constructor/attachMenuBotsNotModified.html
@@ -4,10 +4,10 @@
attachMenuBotsNotModified
-
+
-
+
@@ -42,7 +42,7 @@
attachMenuBotsNotModified
- The list of bot web apps hasn't changed
+ The list of bot mini apps hasn't changed
-
diff --git a/data/web/corefork.telegram.org/constructor/botApp.html b/data/web/corefork.telegram.org/constructor/botApp.html
index dcecaa0859..756b3a456e 100644
--- a/data/web/corefork.telegram.org/constructor/botApp.html
+++ b/data/web/corefork.telegram.org/constructor/botApp.html
@@ -4,10 +4,10 @@
botApp
-
+
-
+
@@ -42,7 +42,7 @@
botApp
- Contains information about a named bot web app.
+ Contains information about a named bot mini app.
-
@@ -74,37 +74,37 @@
id
long
-Bot web app ID
+bot mini app ID
access_hash
long
-Bot web app access hash
+bot mini app access hash
short_name
string
-Bot web app short name, used to generate named bot web app deep links.
+bot mini app short name, used to generate named bot mini app deep links.
title
string
-Bot web app title.
+bot mini app title.
description
string
-Bot web app description.
+bot mini app description.
photo
Photo
-Bot web app photo.
+bot mini app photo.
document
flags.0?Document
-Bot web app animation.
+bot mini app animation.
hash
@@ -119,7 +119,7 @@
Deep links
Telegram clients must handle special tg:// and t.me deep links encountered in messages, link entities and in other apps by registering OS handlers.
messages.getBotApp
-Obtain information about a named bot web app
+Obtain information about a named bot mini app
Mini Apps on Telegram
Bots can offer users interactive HTML5 web apps to completely replace any website.
diff --git a/data/web/corefork.telegram.org/constructor/chatAdminRights.html b/data/web/corefork.telegram.org/constructor/chatAdminRights.html
index 15f64ef1cb..5931298e31 100644
--- a/data/web/corefork.telegram.org/constructor/chatAdminRights.html
+++ b/data/web/corefork.telegram.org/constructor/chatAdminRights.html
@@ -134,17 +134,17 @@
post_stories
flags.14?true
-If set, allows the admin to post stories as the channel.
+If set, allows the admin to post stories as the channel.
edit_stories
flags.15?true
-If set, allows the admin to edit stories posted by the other admins of the channel.
+If set, allows the admin to edit stories posted by the other admins of the channel.
delete_stories
flags.16?true
-If set, allows the admin to delete stories posted by the other admins of the channel.
+If set, allows the admin to delete stories posted by the other admins of the channel.
diff --git a/data/web/corefork.telegram.org/constructor/inlineBotWebView.html b/data/web/corefork.telegram.org/constructor/inlineBotWebView.html
index f8bb7c21c3..e12c9d88b4 100644
--- a/data/web/corefork.telegram.org/constructor/inlineBotWebView.html
+++ b/data/web/corefork.telegram.org/constructor/inlineBotWebView.html
@@ -4,10 +4,10 @@
inlineBotWebView
-
+
-
+
@@ -42,7 +42,7 @@
inlineBotWebView
- Specifies a bot web app button, shown on top of the inline query results list.
+ Specifies a bot mini app button, shown on top of the inline query results list.
-
diff --git a/data/web/corefork.telegram.org/constructor/inputBotAppID.html b/data/web/corefork.telegram.org/constructor/inputBotAppID.html
index e98b437167..16e94b21f9 100644
--- a/data/web/corefork.telegram.org/constructor/inputBotAppID.html
+++ b/data/web/corefork.telegram.org/constructor/inputBotAppID.html
@@ -4,10 +4,10 @@
inputBotAppID
-
+
-
+
@@ -42,7 +42,7 @@
inputBotAppID
- Used to fetch information about a named bot web app by its ID
+ Used to fetch information about a named bot mini app by its ID
-
@@ -69,7 +69,7 @@
id
long
-named bot web app ID.
+named bot mini app ID.
access_hash
@@ -84,7 +84,7 @@
Mini Apps on Telegram
Bots can offer users interactive HTML5 web apps to completely replace any website.
botApp
-Contains information about a named bot web app.
+Contains information about a named bot mini app.
diff --git a/data/web/corefork.telegram.org/constructor/inputBotAppShortName.html b/data/web/corefork.telegram.org/constructor/inputBotAppShortName.html
index 8233596a6a..87062bfdf0 100644
--- a/data/web/corefork.telegram.org/constructor/inputBotAppShortName.html
+++ b/data/web/corefork.telegram.org/constructor/inputBotAppShortName.html
@@ -4,10 +4,10 @@
inputBotAppShortName
-
+
-
+
@@ -42,7 +42,7 @@
inputBotAppShortName
- Used to fetch information about a named bot web app by its short name
+ Used to fetch information about a named bot mini app by its short name
-
@@ -69,12 +69,12 @@
bot_id
InputUser
-ID of the bot that owns the bot web app
+ID of the bot that owns the bot mini app
short_name
string
-Short name, obtained from a named bot web app deep link
+Short name, obtained from a named bot mini app deep link
diff --git a/data/web/corefork.telegram.org/constructor/keyboardButtonSimpleWebView.html b/data/web/corefork.telegram.org/constructor/keyboardButtonSimpleWebView.html
index d7ab5d2cb9..f8da432acb 100644
--- a/data/web/corefork.telegram.org/constructor/keyboardButtonSimpleWebView.html
+++ b/data/web/corefork.telegram.org/constructor/keyboardButtonSimpleWebView.html
@@ -4,10 +4,10 @@
keyboardButtonSimpleWebView
-
+
-
+
@@ -42,7 +42,7 @@
keyboardButtonSimpleWebView
- Button to open a bot web app using messages.requestSimpleWebView, without sending user information to the web app.
+ Button to open a bot mini app using messages.requestSimpleWebView, without sending user information to the web app.
Can only be sent or received as part of a reply keyboard, use keyboardButtonWebView for inline keyboards.
@@ -85,9 +85,9 @@
Mini Apps on Telegram
Bots can offer users interactive HTML5 web apps to completely replace any website.
messages.requestSimpleWebView
-Open a bot web app.
+Open a bot mini app.
keyboardButtonWebView
-Button to open a bot web app using messages.requestWebView, sending over user information after user confirmation.
+Button to open a bot mini app using messages.requestWebView, sending over user information after user confirmation.
Can only be sent or received as part of an inline keyboard, use keyboardButtonSimpleWebView for reply keyboards.
diff --git a/data/web/corefork.telegram.org/constructor/keyboardButtonWebView.html b/data/web/corefork.telegram.org/constructor/keyboardButtonWebView.html
index 38bc79a026..dd2b7e23ba 100644
--- a/data/web/corefork.telegram.org/constructor/keyboardButtonWebView.html
+++ b/data/web/corefork.telegram.org/constructor/keyboardButtonWebView.html
@@ -4,10 +4,10 @@
keyboardButtonWebView
-
+
-
+
@@ -42,7 +42,7 @@
keyboardButtonWebView
- Button to open a bot web app using messages.requestWebView, sending over user information after user confirmation.
+ Button to open a bot mini app using messages.requestWebView, sending over user information after user confirmation.
Can only be sent or received as part of an inline keyboard, use keyboardButtonSimpleWebView for reply keyboards.
@@ -85,10 +85,10 @@
Mini Apps on Telegram
Bots can offer users interactive HTML5 web apps to completely replace any website.
messages.requestWebView
-Open a bot web app, sending over user information after user confirmation.
+Open a bot mini app, sending over user information after user confirmation.
After calling this method, until the user closes the webview, messages.prolongWebView must be called every 60 seconds.
keyboardButtonSimpleWebView
-Button to open a bot web app using messages.requestSimpleWebView, without sending user information to the web app.
+Button to open a bot mini app using messages.requestSimpleWebView, without sending user information to the web app.
Can only be sent or received as part of a reply keyboard, use keyboardButtonWebView for inline keyboards.
diff --git a/data/web/corefork.telegram.org/constructor/messageActionBotAllowed.html b/data/web/corefork.telegram.org/constructor/messageActionBotAllowed.html
index 02a60e3213..67ebbc9430 100644
--- a/data/web/corefork.telegram.org/constructor/messageActionBotAllowed.html
+++ b/data/web/corefork.telegram.org/constructor/messageActionBotAllowed.html
@@ -4,10 +4,10 @@
messageActionBotAllowed
-
+
-
+
@@ -90,7 +90,7 @@
app
flags.2?BotApp
-We have authorized the bot to send us messages by opening the specified bot web app.
+We have authorized the bot to send us messages by opening the specified bot mini app.
diff --git a/data/web/corefork.telegram.org/constructor/messageActionWebViewDataSent.html b/data/web/corefork.telegram.org/constructor/messageActionWebViewDataSent.html
index adb7973134..5507c8855b 100644
--- a/data/web/corefork.telegram.org/constructor/messageActionWebViewDataSent.html
+++ b/data/web/corefork.telegram.org/constructor/messageActionWebViewDataSent.html
@@ -4,10 +4,10 @@
messageActionWebViewDataSent
-
+
-
+
@@ -42,7 +42,7 @@
messageActionWebViewDataSent
- Data from an opened reply keyboard bot web app was relayed to the bot that owns it (user side service message).
+ Data from an opened reply keyboard bot mini app was relayed to the bot that owns it (user side service message).
Clients should display a service message with the text Data from the «$text» button was transferred to the bot.
@@ -78,7 +78,7 @@
Related pages
keyboardButtonSimpleWebView
-Button to open a bot web app using messages.requestSimpleWebView, without sending user information to the web app.
+Button to open a bot mini app using messages.requestSimpleWebView, without sending user information to the web app.
Can only be sent or received as part of a reply keyboard, use keyboardButtonWebView for inline keyboards.
Mini Apps on Telegram
Bots can offer users interactive HTML5 web apps to completely replace any website.
diff --git a/data/web/corefork.telegram.org/constructor/messageActionWebViewDataSentMe.html b/data/web/corefork.telegram.org/constructor/messageActionWebViewDataSentMe.html
index 71ed545582..9287d63b2c 100644
--- a/data/web/corefork.telegram.org/constructor/messageActionWebViewDataSentMe.html
+++ b/data/web/corefork.telegram.org/constructor/messageActionWebViewDataSentMe.html
@@ -4,10 +4,10 @@
messageActionWebViewDataSentMe
-
+
-
+
@@ -42,7 +42,7 @@
messageActionWebViewDataSentMe
- Data from an opened reply keyboard bot web app was relayed to the bot that owns it (bot side service message).
+ Data from an opened reply keyboard bot mini app was relayed to the bot that owns it (bot side service message).
-
@@ -82,7 +82,7 @@
Related pages
keyboardButtonSimpleWebView
-Button to open a bot web app using messages.requestSimpleWebView, without sending user information to the web app.
+Button to open a bot mini app using messages.requestSimpleWebView, without sending user information to the web app.
Can only be sent or received as part of a reply keyboard, use keyboardButtonWebView for inline keyboards.
Mini Apps on Telegram
Bots can offer users interactive HTML5 web apps to completely replace any website.
diff --git a/data/web/corefork.telegram.org/constructor/messages.botApp.html b/data/web/corefork.telegram.org/constructor/messages.botApp.html
index 2dc629154f..3ee7eb60b1 100644
--- a/data/web/corefork.telegram.org/constructor/messages.botApp.html
+++ b/data/web/corefork.telegram.org/constructor/messages.botApp.html
@@ -4,10 +4,10 @@
messages.botApp
-
+
-
+
@@ -42,7 +42,7 @@
messages.botApp
- Contains information about a named bot web app
+ Contains information about a named bot mini app
-
@@ -97,7 +97,7 @@
Related pages
messages.requestAppWebView
-Open a bot web app from a named bot web app deep link, sending over user information after user confirmation.
+Open a bot mini app from a named bot mini app deep link, sending over user information after user confirmation.
After calling this method, until the user closes the webview, messages.prolongWebView must be called every 60 seconds.
Mini Apps on Telegram
Bots can offer users interactive HTML5 web apps to completely replace any website.
diff --git a/data/web/corefork.telegram.org/constructor/messages.botResults.html b/data/web/corefork.telegram.org/constructor/messages.botResults.html
index af80c42148..352f0a45dc 100644
--- a/data/web/corefork.telegram.org/constructor/messages.botResults.html
+++ b/data/web/corefork.telegram.org/constructor/messages.botResults.html
@@ -94,7 +94,7 @@
switch_webview
flags.3?InlineBotWebView
-Shown as a button on top of the remaining inline result list; if clicked, opens the specified bot web app.
+Shown as a button on top of the remaining inline result list; if clicked, opens the specified bot mini app.
results
diff --git a/data/web/corefork.telegram.org/constructor/stories.stories.html b/data/web/corefork.telegram.org/constructor/stories.stories.html
index d2d61233b5..e2115cf2f8 100644
--- a/data/web/corefork.telegram.org/constructor/stories.stories.html
+++ b/data/web/corefork.telegram.org/constructor/stories.stories.html
@@ -42,7 +42,7 @@
stories.stories
- List of stories
+ List of stories
-
diff --git a/data/web/corefork.telegram.org/constructor/updateAttachMenuBots.html b/data/web/corefork.telegram.org/constructor/updateAttachMenuBots.html
index 3a704e2fd4..78969fd4cd 100644
--- a/data/web/corefork.telegram.org/constructor/updateAttachMenuBots.html
+++ b/data/web/corefork.telegram.org/constructor/updateAttachMenuBots.html
@@ -64,7 +64,7 @@
Bot attachment menu entries
Bots can install attachment menu entries, offering conveniently accessible, versatile web apps.
messages.getAttachMenuBots
-Returns installed attachment menu bot web apps »
+Returns installed attachment menu bot mini apps »
diff --git a/data/web/corefork.telegram.org/constructor/updateNewAuthorization.html b/data/web/corefork.telegram.org/constructor/updateNewAuthorization.html
index 3eb3cce04f..d1e8338502 100644
--- a/data/web/corefork.telegram.org/constructor/updateNewAuthorization.html
+++ b/data/web/corefork.telegram.org/constructor/updateNewAuthorization.html
@@ -4,10 +4,10 @@
updateNewAuthorization
-
+
-
+
diff --git a/data/web/corefork.telegram.org/method/account.initTakeoutSession.html b/data/web/corefork.telegram.org/method/account.initTakeoutSession.html
index 3c2bc78d78..3f24dfae71 100644
--- a/data/web/corefork.telegram.org/method/account.initTakeoutSession.html
+++ b/data/web/corefork.telegram.org/method/account.initTakeoutSession.html
@@ -125,7 +125,7 @@
420
TAKEOUT_INIT_DELAY_%d
-Wait %d seconds before initializing takeout.
+Sorry, for security reasons, you will be able to begin downloading your data in %d seconds. We have notified all your devices about the export request to make sure it's authorized and to give you time to react if it's not.
diff --git a/data/web/corefork.telegram.org/method/channels.createChannel.html b/data/web/corefork.telegram.org/method/channels.createChannel.html
index 9aa498d787..b98c1d3b98 100644
--- a/data/web/corefork.telegram.org/method/channels.createChannel.html
+++ b/data/web/corefork.telegram.org/method/channels.createChannel.html
@@ -140,6 +140,11 @@
400
+ADDRESS_INVALID
+
+
+
+400
CHANNELS_ADMIN_LOCATED_TOO_MUCH
The user has reached the limit of public geogroups.
@@ -177,7 +182,7 @@
Import chat history from a foreign chat app into a specific Telegram chat, click here for more info about imported chats ».
Forums
Telegram allows creating forums with multiple distinct topics.
-Nearby users&chats
+Nearby users&chats
How to work with geolocation-based features like geochats and the nearby users feature.
messages.setDefaultHistoryTTL
Changes the default value of the Time-To-Live setting, applied to all new chats.
diff --git a/data/web/corefork.telegram.org/method/channels.editForumTopic.html b/data/web/corefork.telegram.org/method/channels.editForumTopic.html
index f96effd9b6..991b66add5 100644
--- a/data/web/corefork.telegram.org/method/channels.editForumTopic.html
+++ b/data/web/corefork.telegram.org/method/channels.editForumTopic.html
@@ -129,6 +129,11 @@
This supergroup is not a forum.
+403
+CHAT_ADMIN_REQUIRED
+You must be an admin in this chat to do this.
+
+
400
DOCUMENT_INVALID
The specified document is invalid.
diff --git a/data/web/corefork.telegram.org/method/channels.editLocation.html b/data/web/corefork.telegram.org/method/channels.editLocation.html
index 222bd3479c..b8b894c5c0 100644
--- a/data/web/corefork.telegram.org/method/channels.editLocation.html
+++ b/data/web/corefork.telegram.org/method/channels.editLocation.html
@@ -110,6 +110,11 @@
400
+MEGAGROUP_GEO_REQUIRED
+
+
+
+400
MEGAGROUP_REQUIRED
You can only use this method on a supergroup.
@@ -118,7 +123,7 @@
Related pages
Channels, supergroups, gigagroups and basic groups
How to handle channels, supergroups, gigagroups, basic groups, and what's the difference between them.
-Nearby users&chats
+Nearby users&chats
How to work with geolocation-based features like geochats and the nearby users feature.
diff --git a/data/web/corefork.telegram.org/method/contacts.setBlocked.html b/data/web/corefork.telegram.org/method/contacts.setBlocked.html
index 3ef3f02452..52d77ea3a6 100644
--- a/data/web/corefork.telegram.org/method/contacts.setBlocked.html
+++ b/data/web/corefork.telegram.org/method/contacts.setBlocked.html
@@ -97,9 +97,7 @@
Blocklist
Working with the blocklist.
Pagination in the API
-How to fetch results from large lists of objects.
-Contacts
-Working with contacts.
+How to fetch results from large lists of objects.
diff --git a/data/web/corefork.telegram.org/method/messages.getAttachMenuBot.html b/data/web/corefork.telegram.org/method/messages.getAttachMenuBot.html
index 83812b5ffa..6430967952 100644
--- a/data/web/corefork.telegram.org/method/messages.getAttachMenuBot.html
+++ b/data/web/corefork.telegram.org/method/messages.getAttachMenuBot.html
@@ -4,10 +4,10 @@
messages.getAttachMenuBot
-
+
-
+
@@ -42,7 +42,7 @@
messages.getAttachMenuBot
- Returns attachment menu entry for a bot web app that can be launched from the attachment menu »
+ Returns attachment menu entry for a bot mini app that can be launched from the attachment menu »
-
diff --git a/data/web/corefork.telegram.org/method/messages.getAttachMenuBots.html b/data/web/corefork.telegram.org/method/messages.getAttachMenuBots.html
index edc57697c1..d2e2f8c0f3 100644
--- a/data/web/corefork.telegram.org/method/messages.getAttachMenuBots.html
+++ b/data/web/corefork.telegram.org/method/messages.getAttachMenuBots.html
@@ -4,10 +4,10 @@
messages.getAttachMenuBots
-
+
-
+
@@ -42,7 +42,7 @@
messages.getAttachMenuBots
- Returns installed attachment menu bot web apps »
+ Returns installed attachment menu bot mini apps »
-
diff --git a/data/web/corefork.telegram.org/method/messages.getBotApp.html b/data/web/corefork.telegram.org/method/messages.getBotApp.html
index 9ec951fc6d..a92bc1e043 100644
--- a/data/web/corefork.telegram.org/method/messages.getBotApp.html
+++ b/data/web/corefork.telegram.org/method/messages.getBotApp.html
@@ -4,10 +4,10 @@
messages.getBotApp
-
+
-
+
@@ -42,7 +42,7 @@
messages.getBotApp
- Obtain information about a named bot web app
+ Obtain information about a named bot mini app
-
@@ -71,7 +71,7 @@
app
InputBotApp
-Bot app information obtained from a named bot web app deep link ».
+Bot app information obtained from a named bot mini app deep link ».
hash
diff --git a/data/web/corefork.telegram.org/method/messages.migrateChat.html b/data/web/corefork.telegram.org/method/messages.migrateChat.html
index 8d8733e01f..c4861d50ca 100644
--- a/data/web/corefork.telegram.org/method/messages.migrateChat.html
+++ b/data/web/corefork.telegram.org/method/messages.migrateChat.html
@@ -114,6 +114,11 @@
The provided chat id is invalid.
+500
+CHAT_INVALID
+Invalid chat.
+
+
400
PEER_ID_INVALID
The provided peer id is invalid.
diff --git a/data/web/corefork.telegram.org/method/messages.prolongWebView.html b/data/web/corefork.telegram.org/method/messages.prolongWebView.html
index f53051abac..87de37c43e 100644
--- a/data/web/corefork.telegram.org/method/messages.prolongWebView.html
+++ b/data/web/corefork.telegram.org/method/messages.prolongWebView.html
@@ -4,10 +4,10 @@
messages.prolongWebView
-
+
-
+
@@ -115,7 +115,7 @@
Mini Apps on Telegram
Bots can offer users interactive HTML5 web apps to completely replace any website.
messages.requestWebView
-Open a bot web app, sending over user information after user confirmation.
+Open a bot mini app, sending over user information after user confirmation.
After calling this method, until the user closes the webview, messages.prolongWebView must be called every 60 seconds.
diff --git a/data/web/corefork.telegram.org/method/messages.requestAppWebView.html b/data/web/corefork.telegram.org/method/messages.requestAppWebView.html
index a91878b5d1..8f8e89ad13 100644
--- a/data/web/corefork.telegram.org/method/messages.requestAppWebView.html
+++ b/data/web/corefork.telegram.org/method/messages.requestAppWebView.html
@@ -4,10 +4,10 @@
messages.requestAppWebView
-
+
-
+
@@ -42,7 +42,7 @@
messages.requestAppWebView
- Open a bot web app from a named bot web app deep link, sending over user information after user confirmation.
+ Open a bot mini app from a named bot mini app deep link, sending over user information after user confirmation.
After calling this method, until the user closes the webview, messages.prolongWebView must be called every 60 seconds.
@@ -77,7 +77,7 @@
write_allowed
flags.0?true
-Set this flag if the bot is asking permission to send messages to the user as specified in the named bot web app deep link docs, and the user agreed.
+Set this flag if the bot is asking permission to send messages to the user as specified in the named bot mini app deep link docs, and the user agreed.
peer
@@ -87,12 +87,12 @@
app
InputBotApp
-The app obtained by invoking messages.getBotApp as specified in the named bot web app deep link docs.
+The app obtained by invoking messages.getBotApp as specified in the named bot mini app deep link docs.
start_param
flags.1?string
-If the startapp
query string parameter is present in the named bot web app deep link, pass it to start_param
.
+If the startapp
query string parameter is present in the named bot mini app deep link, pass it to start_param
.
theme_params
@@ -112,7 +112,7 @@
Deep links
Telegram clients must handle special tg:// and t.me deep links encountered in messages, link entities and in other apps by registering OS handlers.
messages.getBotApp
-Obtain information about a named bot web app
+Obtain information about a named bot mini app
Mini Apps on Telegram
Bots can offer users interactive HTML5 web apps to completely replace any website.
Telegram Mini Apps
diff --git a/data/web/corefork.telegram.org/method/messages.requestSimpleWebView.html b/data/web/corefork.telegram.org/method/messages.requestSimpleWebView.html
index a1e1d33ab6..d0a7eeb316 100644
--- a/data/web/corefork.telegram.org/method/messages.requestSimpleWebView.html
+++ b/data/web/corefork.telegram.org/method/messages.requestSimpleWebView.html
@@ -4,10 +4,10 @@
messages.requestSimpleWebView
-
+
-
+
@@ -42,7 +42,7 @@
messages.requestSimpleWebView
- Open a bot web app.
+ Open a bot mini app.
-
@@ -86,7 +86,7 @@
bot
InputUser
-Bot that owns the webapp
+Bot that owns the mini app
url
diff --git a/data/web/corefork.telegram.org/method/messages.requestWebView.html b/data/web/corefork.telegram.org/method/messages.requestWebView.html
index 7db45d8e1d..18aec2dda2 100644
--- a/data/web/corefork.telegram.org/method/messages.requestWebView.html
+++ b/data/web/corefork.telegram.org/method/messages.requestWebView.html
@@ -4,10 +4,10 @@
messages.requestWebView
-
+
-
+
@@ -42,7 +42,7 @@
messages.requestWebView
- Open a bot web app, sending over user information after user confirmation.
+ Open a bot mini app, sending over user information after user confirmation.
After calling this method, until the user closes the webview, messages.prolongWebView must be called every 60 seconds.
diff --git a/data/web/corefork.telegram.org/method/messages.sendInlineBotResult.html b/data/web/corefork.telegram.org/method/messages.sendInlineBotResult.html
index fa3ffcc348..e634f874ce 100644
--- a/data/web/corefork.telegram.org/method/messages.sendInlineBotResult.html
+++ b/data/web/corefork.telegram.org/method/messages.sendInlineBotResult.html
@@ -279,6 +279,11 @@
There are too many scheduled messages.
+500
+SEND_MEDIA_INVALID
+
+
+
420
SLOWMODE_WAIT_%d
Slowmode is enabled in this chat: wait %d seconds before sending another message to this chat.
diff --git a/data/web/corefork.telegram.org/method/messages.sendMessage.html b/data/web/corefork.telegram.org/method/messages.sendMessage.html
index 9c23d0bd89..9d83927df4 100644
--- a/data/web/corefork.telegram.org/method/messages.sendMessage.html
+++ b/data/web/corefork.telegram.org/method/messages.sendMessage.html
@@ -330,6 +330,11 @@
400
+REPLY_TO_USER_INVALID
+
+
+
+400
SCHEDULE_BOT_NOT_ALLOWED
Bots cannot schedule messages.
@@ -359,6 +364,11 @@
Slowmode is enabled in this chat: wait %d seconds before sending another message to this chat.
+400
+STORY_ID_INVALID
+
+
+
406
TOPIC_CLOSED
This topic was closed, you can't send messages to it anymore.
diff --git a/data/web/corefork.telegram.org/method/messages.sendScreenshotNotification.html b/data/web/corefork.telegram.org/method/messages.sendScreenshotNotification.html
index 01a75dc6df..df2a566b53 100644
--- a/data/web/corefork.telegram.org/method/messages.sendScreenshotNotification.html
+++ b/data/web/corefork.telegram.org/method/messages.sendScreenshotNotification.html
@@ -115,6 +115,11 @@
400
+STORY_ID_INVALID
+
+
+
+400
YOU_BLOCKED_USER
You blocked this user.
diff --git a/data/web/corefork.telegram.org/method/messages.sendWebViewData.html b/data/web/corefork.telegram.org/method/messages.sendWebViewData.html
index f4b5e91f8b..ba8486e819 100644
--- a/data/web/corefork.telegram.org/method/messages.sendWebViewData.html
+++ b/data/web/corefork.telegram.org/method/messages.sendWebViewData.html
@@ -4,10 +4,10 @@
messages.sendWebViewData
-
+
-
+
@@ -42,7 +42,7 @@
messages.sendWebViewData
- Used by the user to relay data from an opened reply keyboard bot web app to the bot that owns it.
+ Used by the user to relay data from an opened reply keyboard bot mini app to the bot that owns it.
-
@@ -100,7 +100,7 @@
Related pages
keyboardButtonSimpleWebView
-Button to open a bot web app using messages.requestSimpleWebView, without sending user information to the web app.
+Button to open a bot mini app using messages.requestSimpleWebView, without sending user information to the web app.
Can only be sent or received as part of a reply keyboard, use keyboardButtonWebView for inline keyboards.
Web events
How telegram apps interact with webpages
diff --git a/data/web/corefork.telegram.org/method/messages.sendWebViewResultMessage.html b/data/web/corefork.telegram.org/method/messages.sendWebViewResultMessage.html
index 8442dbdda5..0fbc61ce2b 100644
--- a/data/web/corefork.telegram.org/method/messages.sendWebViewResultMessage.html
+++ b/data/web/corefork.telegram.org/method/messages.sendWebViewResultMessage.html
@@ -102,7 +102,7 @@
Bots can use this method
Related pages
messages.requestWebView
-Open a bot web app, sending over user information after user confirmation.
+Open a bot mini app, sending over user information after user confirmation.
After calling this method, until the user closes the webview, messages.prolongWebView must be called every 60 seconds.
diff --git a/data/web/corefork.telegram.org/method/messages.setInlineBotResults.html b/data/web/corefork.telegram.org/method/messages.setInlineBotResults.html
index 388ffa1cd6..c1a00a04b2 100644
--- a/data/web/corefork.telegram.org/method/messages.setInlineBotResults.html
+++ b/data/web/corefork.telegram.org/method/messages.setInlineBotResults.html
@@ -112,7 +112,7 @@
switch_webview
flags.4?InlineBotWebView
-If passed, clients will display a button on top of the remaining inline result list with the specified text, that switches the user to the specified bot web app.
+If passed, clients will display a button on top of the remaining inline result list with the specified text, that switches the user to the specified bot mini app.
diff --git a/data/web/corefork.telegram.org/method/messages.toggleBotInAttachMenu.html b/data/web/corefork.telegram.org/method/messages.toggleBotInAttachMenu.html
index c9b72b750f..579f87400d 100644
--- a/data/web/corefork.telegram.org/method/messages.toggleBotInAttachMenu.html
+++ b/data/web/corefork.telegram.org/method/messages.toggleBotInAttachMenu.html
@@ -95,7 +95,7 @@
Related pages
attachMenuBot
-Represents a bot web app that can be launched from the attachment menu »
+Represents a bot mini app that can be launched from the attachment menu »
Bot attachment menu entries
Bots can install attachment menu entries, offering conveniently accessible, versatile web apps.
diff --git a/data/web/corefork.telegram.org/method/stories.applyBoost.html b/data/web/corefork.telegram.org/method/stories.applyBoost.html
index 0bcfa6e70c..8ca314c25d 100644
--- a/data/web/corefork.telegram.org/method/stories.applyBoost.html
+++ b/data/web/corefork.telegram.org/method/stories.applyBoost.html
@@ -91,7 +91,7 @@
400
BOOST_NOT_MODIFIED
-You're already boosting the specified channel.
+You're already boosting the specified channel.
400
diff --git a/data/web/corefork.telegram.org/method/stories.canApplyBoost.html b/data/web/corefork.telegram.org/method/stories.canApplyBoost.html
index 40f2b1698a..10ae0a502f 100644
--- a/data/web/corefork.telegram.org/method/stories.canApplyBoost.html
+++ b/data/web/corefork.telegram.org/method/stories.canApplyBoost.html
@@ -91,7 +91,7 @@
400
BOOST_NOT_MODIFIED
-You're already boosting the specified channel.
+You're already boosting the specified channel.
400
@@ -107,9 +107,7 @@
Related pages
Channel boosts
-Telegram Premium users can grant their favorite channels additional features like the ability to post stories by giving them boosts.
-Stories
-Telegram users and channels can easily post and view stories through the API.
+Telegram Premium users can grant their favorite channels additional features like the ability to post stories by giving them boosts.
diff --git a/data/web/corefork.telegram.org/method/stories.canSendStory.html b/data/web/corefork.telegram.org/method/stories.canSendStory.html
index 0450fc778d..c56f838738 100644
--- a/data/web/corefork.telegram.org/method/stories.canSendStory.html
+++ b/data/web/corefork.telegram.org/method/stories.canSendStory.html
@@ -91,7 +91,7 @@
400
BOOSTS_REQUIRED
-The specified channel must first be boosted by its users in order to be able to post stories.
+The specified channel must first be boosted by its users in order to be able to post stories.
400
@@ -126,8 +126,8 @@
Related pages
-Stories
-Telegram users and channels can easily post and view stories through the API.
+Channel boosts
+Telegram Premium users can grant their favorite channels additional features like the ability to post stories by giving them boosts.
Client configuration
The MTProto API has multiple configuration parameters that can be fetched with the appropriate methods.
Telegram Premium
diff --git a/data/web/corefork.telegram.org/method/stories.getPeerStories.html b/data/web/corefork.telegram.org/method/stories.getPeerStories.html
index 2027bd826d..6b49e15dc9 100644
--- a/data/web/corefork.telegram.org/method/stories.getPeerStories.html
+++ b/data/web/corefork.telegram.org/method/stories.getPeerStories.html
@@ -89,6 +89,11 @@
400
+CHANNEL_PRIVATE
+You haven't joined this channel/supergroup.
+
+
+400
PEER_ID_INVALID
The provided peer id is invalid.
diff --git a/data/web/corefork.telegram.org/method/stories.getPinnedStories.html b/data/web/corefork.telegram.org/method/stories.getPinnedStories.html
index b5a1b33a21..e2dc7c52c0 100644
--- a/data/web/corefork.telegram.org/method/stories.getPinnedStories.html
+++ b/data/web/corefork.telegram.org/method/stories.getPinnedStories.html
@@ -42,7 +42,7 @@
stories.getPinnedStories
- Fetch the stories pinned on a peer's profile.
+ Fetch the stories pinned on a peer's profile.
-
diff --git a/data/web/corefork.telegram.org/method/stories.getStoriesArchive.html b/data/web/corefork.telegram.org/method/stories.getStoriesArchive.html
index fc8815f995..5b5cd57480 100644
--- a/data/web/corefork.telegram.org/method/stories.getStoriesArchive.html
+++ b/data/web/corefork.telegram.org/method/stories.getStoriesArchive.html
@@ -42,7 +42,7 @@
stories.getStoriesArchive
- Fetch the story archive » of a peer we control.
+ Fetch the story archive » of a peer we control.
-
@@ -99,6 +99,11 @@
400
+CHAT_ADMIN_REQUIRED
+You must be an admin in this chat to do this.
+
+
+400
PEER_ID_INVALID
The provided peer id is invalid.
diff --git a/data/web/corefork.telegram.org/method/stories.getStoriesViews.html b/data/web/corefork.telegram.org/method/stories.getStoriesViews.html
index e83b5e413d..a8b0f89a77 100644
--- a/data/web/corefork.telegram.org/method/stories.getStoriesViews.html
+++ b/data/web/corefork.telegram.org/method/stories.getStoriesViews.html
@@ -94,6 +94,16 @@
400
+CHANNEL_INVALID
+The provided channel is invalid.
+
+
+400
+CHANNEL_PRIVATE
+You haven't joined this channel/supergroup.
+
+
+400
PEER_ID_INVALID
The provided peer id is invalid.
diff --git a/data/web/corefork.telegram.org/method/stories.incrementStoryViews.html b/data/web/corefork.telegram.org/method/stories.incrementStoryViews.html
index 4c6ec724ad..57327ddd8f 100644
--- a/data/web/corefork.telegram.org/method/stories.incrementStoryViews.html
+++ b/data/web/corefork.telegram.org/method/stories.incrementStoryViews.html
@@ -98,6 +98,11 @@
PEER_ID_INVALID
The provided peer id is invalid.
+
+400
+STORY_ID_EMPTY
+You specified no story IDs.
+
diff --git a/data/web/corefork.telegram.org/method/upload.reuploadCdnFile.html b/data/web/corefork.telegram.org/method/upload.reuploadCdnFile.html
index 4bab2091f8..cf19e9e980 100644
--- a/data/web/corefork.telegram.org/method/upload.reuploadCdnFile.html
+++ b/data/web/corefork.telegram.org/method/upload.reuploadCdnFile.html
@@ -92,6 +92,16 @@
+400
+AES_DECRYPT_FAILED
+
+
+
+400
+CDN_METHOD_INVALID
+You can't call this method in a CDN DC.
+
+
500
CDN_UPLOAD_TIMEOUT
A server-side timeout occurred while reuploading the file to the CDN DC.
diff --git a/data/web/corefork.telegram.org/methods.html b/data/web/corefork.telegram.org/methods.html
index effccac4c8..225cd61a37 100644
--- a/data/web/corefork.telegram.org/methods.html
+++ b/data/web/corefork.telegram.org/methods.html
@@ -1498,11 +1498,11 @@ Look for updates of telegram's terms of service…">
stories.getPinnedStories
-Fetch the stories pinned on a peer's profile.
+Fetch the stories pinned on a peer's profile.
stories.getStoriesArchive
-Fetch the story archive » of a peer we control.
+Fetch the story archive » of a peer we control.
stories.getStoriesByID
@@ -1736,7 +1736,7 @@ Look for updates of telegram's terms of service…">
messages.requestWebView
-Open a bot web app, sending over user information after user confirmation.
After calling this method, until the user closes the webview, messages.prolongWebView must be called every 60 seconds.
+Open a bot mini app, sending over user information after user confirmation.
After calling this method, until the user closes the webview, messages.prolongWebView must be called every 60 seconds.
messages.prolongWebView
@@ -1744,7 +1744,7 @@ Look for updates of telegram's terms of service…">
messages.requestSimpleWebView
-Open a bot web app.
+Open a bot mini app.
messages.sendWebViewResultMessage
@@ -1752,15 +1752,15 @@ Look for updates of telegram's terms of service…">
messages.sendWebViewData
-Used by the user to relay data from an opened reply keyboard bot web app to the bot that owns it.
+Used by the user to relay data from an opened reply keyboard bot mini app to the bot that owns it.
messages.requestAppWebView
-Open a bot web app from a named bot web app deep link, sending over user information after user confirmation.
After calling this method, until the user closes the webview, messages.prolongWebView must be called every 60 seconds.
+Open a bot mini app from a named bot mini app deep link, sending over user information after user confirmation.
After calling this method, until the user closes the webview, messages.prolongWebView must be called every 60 seconds.
messages.getBotApp
-Obtain information about a named bot web app
+Obtain information about a named bot mini app
@@ -1967,7 +1967,7 @@ Look for updates of telegram's terms of service…">
contacts.setBlocked
-Replace the contents of an entire blocklist, see here for more info ».
+Replace the contents of an entire blocklist, see here for more info ».
contacts.editCloseFriends
@@ -2786,7 +2786,7 @@ Look for updates of telegram's terms of service…">
-Working with the attachment menu » of web app bots »
+Working with the attachment menu » of web app bots »
@@ -2797,11 +2797,11 @@ Look for updates of telegram's terms of service…">
messages.getAttachMenuBots
-Returns installed attachment menu bot web apps »
+Returns installed attachment menu bot mini apps »
messages.getAttachMenuBot
-Returns attachment menu entry for a bot web app that can be launched from the attachment menu »
+Returns attachment menu entry for a bot mini app that can be launched from the attachment menu »
messages.toggleBotInAttachMenu
@@ -2828,7 +2828,7 @@ Look for updates of telegram's terms of service…">
-Working with the bot menu button »
+Working with the bot menu button »
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 147fef3c08..25b1e325d8 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 @@
1) Client sends query to server
Sent payload (excluding transport headers/trailers):
-0000 | 00 00 00 00 00 00 00 00 54 62 0A 00 CE 97 5F 65
-0010 | 14 00 00 00 F1 8E 7E BE 9A 34 B2 BA F3 FF F7 F1
-0020 | C3 31 F2 31 91 49 DF 0F
+0000 | 00 00 00 00 00 00 00 00 94 DC 0A 00 8D A3 5F 65
+0010 | 14 00 00 00 F1 8E 7E BE E4 69 51 99 0E 2C FC CA
+0020 | C9 32 4D 1B 8C 8F 04 C9
Payload (de)serialization:
req_pq_multi#be7e8ef1 nonce:int128 = ResPQ;
@@ -77,7 +77,7 @@
message_id
8, 8
-54620A00CE975F65
+94DC0A008DA35F65
Message ID generated as specified here » (unixtime() << 32) + (N*4)
@@ -95,7 +95,7 @@
nonce
24, 16
-9A34B2BAF3FFF7F1C331F2319149DF0F
+E46951990E2CFCCAC9324D1B8C8F04C9
Random number
@@ -104,11 +104,11 @@
2) Server sends response of the form
Received payload (excluding transport headers/trailers):
-0000 | 00 00 00 00 00 00 00 00 01 20 6E C1 CE 97 5F 65
-0010 | 5C 00 00 00 63 24 16 05 9A 34 B2 BA F3 FF F7 F1
-0020 | C3 31 F2 31 91 49 DF 0F EE 52 4C B3 9F 67 CF EF
-0030 | A6 71 47 6A 74 13 E8 55 08 1E 14 EA 0E 80 3B 6D
-0040 | 49 00 00 00 15 C4 B5 1C 03 00 00 00 A5 B7 F7 09
+0000 | 00 00 00 00 00 00 00 00 01 C0 FA A4 8D A3 5F 65
+0010 | A4 00 00 00 63 24 16 05 E4 69 51 99 0E 2C FC CA
+0020 | C9 32 4D 1B 8C 8F 04 C9 A6 4C FF DC C6 39 1B 39
+0030 | 96 EF 16 29 1A 89 8C 9F 08 13 0C 3C 35 9C 72 33
+0040 | E5 00 00 00 15 C4 B5 1C 03 00 00 00 A5 B7 F7 09
0050 | 35 5F C3 0B 21 6B E8 6C 02 2B B4 C3 85 FD 64 DE
0060 | 85 1D 9D D0
Payload (de)serialization:
@@ -132,13 +132,13 @@
message_id
8, 8
-01206EC1CE975F65
+01C0FAA48DA35F65
Message ID generated as specified here » (unixtime() << 32) + (N*4)
message_length
16, 4
-5C000000
(92 in decimal)
+A4000000
(164 in decimal)
Message body length
@@ -150,19 +150,19 @@
nonce
24, 16
-9A34B2BAF3FFF7F1C331F2319149DF0F
+E46951990E2CFCCAC9324D1B8C8F04C9
Value generated by client in Step 1
server_nonce
40, 16
-EE524CB39F67CFEFA671476A7413E855
+A64CFFDCC6391B3996EF16291A898C9F
Server-generated random number
pq
56, 12
-081E14EA0E803B6D49000000
TL byte deserialization
=> bigendian conversion to decimal
=> 2167614668673871177
+08130C3C359C7233E5000000
TL byte deserialization
=> bigendian conversion to decimal
=> 1372538187396821989
Single-byte prefix denoting length, an 8-byte string, and three bytes of padding
@@ -208,22 +208,22 @@
Proof of work
3) Client decomposes pq into prime factors such that p < q.
-pq = 2167614668673871177
-Decompose into 2 prime cofactors p < q
: 2167614668673871177 = 1358494177 * 1595601001
-p = 1358494177
-q = 1595601001
+pq = 1372538187396821989
+Decompose into 2 prime cofactors p < q
: 1372538187396821989 = 1161614081 * 1181578469
+p = 1161614081
+q = 1181578469
Presenting proof of work; Server authentication
4) encrypted_data
payload generation
First of all, generate an encrypted_data
payload as follows:
Generated payload (excluding transport headers/trailers):
-0000 | 95 5F F5 A9 08 1E 14 EA 0E 80 3B 6D 49 00 00 00
-0010 | 04 50 F8 F9 E1 00 00 00 04 5F 1A F0 69 00 00 00
-0020 | 9A 34 B2 BA F3 FF F7 F1 C3 31 F2 31 91 49 DF 0F
-0030 | EE 52 4C B3 9F 67 CF EF A6 71 47 6A 74 13 E8 55
-0040 | 2E A9 3C 55 A6 9B 21 26 00 7B EE CF 09 39 A7 7D
-0050 | 32 32 60 FB 68 C8 DF 67 D3 20 49 70 11 51 32 1C
+0000 | 95 5F F5 A9 08 13 0C 3C 35 9C 72 33 E5 00 00 00
+0010 | 04 45 3C D3 01 00 00 00 04 46 6D 74 E5 00 00 00
+0020 | E4 69 51 99 0E 2C FC CA C9 32 4D 1B 8C 8F 04 C9
+0030 | A6 4C FF DC C6 39 1B 39 96 EF 16 29 1A 89 8C 9F
+0040 | 9C 7B 11 8F 21 6F E2 D6 2A AB 8B 5A 3A 25 B9 D4
+0050 | A6 D6 A8 DB 83 B1 D0 91 15 DB 5E 34 77 FC 43 88
0060 | 02 00 00 00
Payload (de)serialization:
p_q_inner_data_dc#a9f55f95 pq:string p:string q:string nonce:int128 server_nonce:int128 new_nonce:int256 dc:int = P_Q_inner_data;
@@ -246,37 +246,37 @@ q = 1595601001
pq
4, 12
-081E14EA0E803B6D49000000
TL byte deserialization
=> bigendian conversion to decimal
=> 2167614668673871177
+08130C3C359C7233E5000000
TL byte deserialization
=> bigendian conversion to decimal
=> 1372538187396821989
Single-byte prefix denoting length, 8-byte string, and three bytes of padding
p
16, 8
-0450F8F9E1000000
TL byte deserialization
=> bigendian conversion to decimal
=> 1358494177
+04453CD301000000
TL byte deserialization
=> bigendian conversion to decimal
=> 1161614081
First prime cofactor: single-byte prefix denoting length, 4-byte string, and three bytes of padding
q
24, 8
-045F1AF069000000
TL byte deserialization
=> bigendian conversion to decimal
=> 1595601001
+04466D74E5000000
TL byte deserialization
=> bigendian conversion to decimal
=> 1181578469
Second prime cofactor: single-byte prefix denoting length, 4-byte string, and three bytes of padding
nonce
32, 16
-9A34B2BAF3FFF7F1C331F2319149DF0F
+E46951990E2CFCCAC9324D1B8C8F04C9
Value generated by client in Step 1
server_nonce
48, 16
-EE524CB39F67CFEFA671476A7413E855
+A64CFFDCC6391B3996EF16291A898C9F
Value received from server in Step 2
new_nonce
64, 32
-2EA93C55A69B2126007BEECF0939A77D
323260FB68C8DF67D32049701151321C
+9C7B118F216FE2D62AAB8B5A3A25B9D4
A6D6A8DB83B1D09115DB5E3477FC4388
Client-generated random number
@@ -291,39 +291,39 @@ q = 1595601001
The serialization of P_Q_inner_data produces data, which is used to generate encrypted_data as specified in step 4.1.
These are the inputs to the algorithm specified in step 4.1:
-data = 955FF5A9081E14EA0E803B6D490000000450F8F9E1000000045F1AF0690000009A34B2BAF3FFF7F1C331F2319149DF0FEE524CB39F67CFEFA671476A7413E8552EA93C55A69B2126007BEECF0939A77D323260FB68C8DF67D32049701151321C02000000
-random_padding_bytes = 441AD8C99CE5A2AB3F1DF851330024CEE71186EC20A16CC06E5756A596F8439DCFE0C706927E1483D8F95B089AA5575ADF5917018AFD7192D3DFD481F3D036D9545898FA3B92B47D85AF0DC1497FF8D785D00DE958A25301433E532B
+data = 955FF5A908130C3C359C7233E500000004453CD30100000004466D74E5000000E46951990E2CFCCAC9324D1B8C8F04C9A64CFFDCC6391B3996EF16291A898C9F9C7B118F216FE2D62AAB8B5A3A25B9D4A6D6A8DB83B1D09115DB5E3477FC438802000000
+random_padding_bytes = 5BAC11024D7BD6C8E2BAC6129BD8650247D600A27B1A7FEEC5D0D283F17426E457FC4FAF0E801037AA30EAA15F1B5B86022FF814AE225554801BB0893538E84CFD99CC60D54259B8CFA6DD97836347F2D3A86E741646B715BBB08482
And this is the output:
-encrypted_data = CAF6728D3ED9D3C91FDD6F60DA1D298A516E8234AC876CF715341E74E6670B6F5168A4D79C025A05265280540C260D3945CE1CB1EE4D27800D681CFFB572FFAA42A9BAAC3474CAEC86B44B4D41ED09864CD4A43419DF12A7CB984ADA2E3987A993925D9DA258E8975B9CA795591803A2C73AF1B2BB2A3121B35A6BF13763FFC04F21046876942DA6084B36DC857C874F318B076BD083FDD056C897C6428695C5D3C284CDC858BB479B92376F75EEE68715D3C35F7E19CC1196E853AEC2FA4891DE206A1F3CF4F728A35753C8C2B394D8CD28D2CC8874AC300CAD30D2098A8DFE232902E11635291ACB23EFA07C521209B27C53BAC41916EDA3EA3816361D169A
+encrypted_data = 91604243D2B0170B2D8334762A3A93F47F4D5700BEB8D469631710E52216A8A79A73AD4DA242BD652A816CE141F43FC3A0AE5837086A555F3EE9B8327F6EF37039786CF939F6007B17CC8BC8F3CA60FBE2B1BF85CD7961B51747125F6B173DD70214CAAF597363B3885290CDCF5F13DC231C9F45036ECDFFC7397CCD7906FDB5F9DC32F3DB0A187B65493E6E61C3586071D17FF6A0416217BDC3469D766FBB8DD8144BD1DA4AFBE359AC0DDB1FCE47F2E2F5C91E90BB403F53851F82C7B08200EBB5F3A9E0182A879E6B24651F835C668BC39512245FADE4D2BBC26C9346815BFC6CAEE8A99DF85280440071558F9659E37597C6DEEF67FBFA374756864C59FC
The length of the final string is 256 bytes.
5) Send req_DH_params query with generated encrypted_data
Sent payload (excluding transport headers/trailers):
-0000 | 00 00 00 00 00 00 00 00 58 62 0A 00 CE 97 5F 65
-0010 | 40 01 00 00 BE E4 12 D7 9A 34 B2 BA F3 FF F7 F1
-0020 | C3 31 F2 31 91 49 DF 0F EE 52 4C B3 9F 67 CF EF
-0030 | A6 71 47 6A 74 13 E8 55 04 50 F8 F9 E1 00 00 00
-0040 | 04 5F 1A F0 69 00 00 00 85 FD 64 DE 85 1D 9D D0
-0050 | FE 00 01 00 CA F6 72 8D 3E D9 D3 C9 1F DD 6F 60
-0060 | DA 1D 29 8A 51 6E 82 34 AC 87 6C F7 15 34 1E 74
-0070 | E6 67 0B 6F 51 68 A4 D7 9C 02 5A 05 26 52 80 54
-0080 | 0C 26 0D 39 45 CE 1C B1 EE 4D 27 80 0D 68 1C FF
-0090 | B5 72 FF AA 42 A9 BA AC 34 74 CA EC 86 B4 4B 4D
-00A0 | 41 ED 09 86 4C D4 A4 34 19 DF 12 A7 CB 98 4A DA
-00B0 | 2E 39 87 A9 93 92 5D 9D A2 58 E8 97 5B 9C A7 95
-00C0 | 59 18 03 A2 C7 3A F1 B2 BB 2A 31 21 B3 5A 6B F1
-00D0 | 37 63 FF C0 4F 21 04 68 76 94 2D A6 08 4B 36 DC
-00E0 | 85 7C 87 4F 31 8B 07 6B D0 83 FD D0 56 C8 97 C6
-00F0 | 42 86 95 C5 D3 C2 84 CD C8 58 BB 47 9B 92 37 6F
-0100 | 75 EE E6 87 15 D3 C3 5F 7E 19 CC 11 96 E8 53 AE
-0110 | C2 FA 48 91 DE 20 6A 1F 3C F4 F7 28 A3 57 53 C8
-0120 | C2 B3 94 D8 CD 28 D2 CC 88 74 AC 30 0C AD 30 D2
-0130 | 09 8A 8D FE 23 29 02 E1 16 35 29 1A CB 23 EF A0
-0140 | 7C 52 12 09 B2 7C 53 BA C4 19 16 ED A3 EA 38 16
-0150 | 36 1D 16 9A
+0000 | 00 00 00 00 00 00 00 00 98 DC 0A 00 8D A3 5F 65
+0010 | 40 01 00 00 BE E4 12 D7 E4 69 51 99 0E 2C FC CA
+0020 | C9 32 4D 1B 8C 8F 04 C9 A6 4C FF DC C6 39 1B 39
+0030 | 96 EF 16 29 1A 89 8C 9F 04 45 3C D3 01 00 00 00
+0040 | 04 46 6D 74 E5 00 00 00 85 FD 64 DE 85 1D 9D D0
+0050 | FE 00 01 00 91 60 42 43 D2 B0 17 0B 2D 83 34 76
+0060 | 2A 3A 93 F4 7F 4D 57 00 BE B8 D4 69 63 17 10 E5
+0070 | 22 16 A8 A7 9A 73 AD 4D A2 42 BD 65 2A 81 6C E1
+0080 | 41 F4 3F C3 A0 AE 58 37 08 6A 55 5F 3E E9 B8 32
+0090 | 7F 6E F3 70 39 78 6C F9 39 F6 00 7B 17 CC 8B C8
+00A0 | F3 CA 60 FB E2 B1 BF 85 CD 79 61 B5 17 47 12 5F
+00B0 | 6B 17 3D D7 02 14 CA AF 59 73 63 B3 88 52 90 CD
+00C0 | CF 5F 13 DC 23 1C 9F 45 03 6E CD FF C7 39 7C CD
+00D0 | 79 06 FD B5 F9 DC 32 F3 DB 0A 18 7B 65 49 3E 6E
+00E0 | 61 C3 58 60 71 D1 7F F6 A0 41 62 17 BD C3 46 9D
+00F0 | 76 6F BB 8D D8 14 4B D1 DA 4A FB E3 59 AC 0D DB
+0100 | 1F CE 47 F2 E2 F5 C9 1E 90 BB 40 3F 53 85 1F 82
+0110 | C7 B0 82 00 EB B5 F3 A9 E0 18 2A 87 9E 6B 24 65
+0120 | 1F 83 5C 66 8B C3 95 12 24 5F AD E4 D2 BB C2 6C
+0130 | 93 46 81 5B FC 6C AE E8 A9 9D F8 52 80 44 00 71
+0140 | 55 8F 96 59 E3 75 97 C6 DE EF 67 FB FA 37 47 56
+0150 | 86 4C 59 FC
Payload (de)serialization:
req_DH_params#d712e4be nonce:int128 server_nonce:int128 p:string q:string public_key_fingerprint:long encrypted_data:string = Server_DH_Params;
@@ -345,7 +345,7 @@ random_padding_bytes = 441AD8C99CE5A2AB3F1DF851330024CEE71186EC20A16CC06E5756A59
message_id
8, 8
-58620A00CE975F65
+98DC0A008DA35F65
Message ID generated as specified here » (unixtime() << 32) + (N*4)
@@ -363,25 +363,25 @@ random_padding_bytes = 441AD8C99CE5A2AB3F1DF851330024CEE71186EC20A16CC06E5756A59
nonce
24, 16
-9A34B2BAF3FFF7F1C331F2319149DF0F
+E46951990E2CFCCAC9324D1B8C8F04C9
Value generated by client in Step 1
server_nonce
40, 16
-EE524CB39F67CFEFA671476A7413E855
+A64CFFDCC6391B3996EF16291A898C9F
Value received from server in Step 2
p
56, 8
-0450F8F9E1000000
TL byte deserialization
=> bigendian conversion to decimal
=> 1358494177
+04453CD301000000
TL byte deserialization
=> bigendian conversion to decimal
=> 1161614081
First prime cofactor: single-byte prefix denoting length, 4-byte string, and three bytes of padding
q
64, 8
-045F1AF069000000
TL byte deserialization
=> bigendian conversion to decimal
=> 1595601001
+04466D74E5000000
TL byte deserialization
=> bigendian conversion to decimal
=> 1181578469
Second prime cofactor: single-byte prefix denoting length, 4-byte string, and three bytes of padding
@@ -393,7 +393,7 @@ random_padding_bytes = 441AD8C99CE5A2AB3F1DF851330024CEE71186EC20A16CC06E5756A59
encrypted_data
80, 260
-FE000100CAF6728D3ED9D3C91FDD6F60
DA1D298A516E8234AC876CF715341E74
E6670B6F5168A4D79C025A0526528054
0C260D3945CE1CB1EE4D27800D681CFF
B572FFAA42A9BAAC3474CAEC86B44B4D
41ED09864CD4A43419DF12A7CB984ADA
2E3987A993925D9DA258E8975B9CA795
591803A2C73AF1B2BB2A3121B35A6BF1
3763FFC04F21046876942DA6084B36DC
857C874F318B076BD083FDD056C897C6
428695C5D3C284CDC858BB479B92376F
75EEE68715D3C35F7E19CC1196E853AE
C2FA4891DE206A1F3CF4F728A35753C8
C2B394D8CD28D2CC8874AC300CAD30D2
098A8DFE232902E11635291ACB23EFA0
7C521209B27C53BAC41916EDA3EA3816
361D169A
+FE00010091604243D2B0170B2D833476
2A3A93F47F4D5700BEB8D469631710E5
2216A8A79A73AD4DA242BD652A816CE1
41F43FC3A0AE5837086A555F3EE9B832
7F6EF37039786CF939F6007B17CC8BC8
F3CA60FBE2B1BF85CD7961B51747125F
6B173DD70214CAAF597363B3885290CD
CF5F13DC231C9F45036ECDFFC7397CCD
7906FDB5F9DC32F3DB0A187B65493E6E
61C3586071D17FF6A0416217BDC3469D
766FBB8DD8144BD1DA4AFBE359AC0DDB
1FCE47F2E2F5C91E90BB403F53851F82
C7B08200EBB5F3A9E0182A879E6B2465
1F835C668BC39512245FADE4D2BBC26C
9346815BFC6CAEE8A99DF85280440071
558F9659E37597C6DEEF67FBFA374756
864C59FC
Value generated above
@@ -402,47 +402,47 @@ random_padding_bytes = 441AD8C99CE5A2AB3F1DF851330024CEE71186EC20A16CC06E5756A59
6) Server responds with:
Received payload (excluding transport headers/trailers):
-0000 | 00 00 00 00 00 00 00 00 01 FC 45 6F CF 97 5F 65
-0010 | 78 02 00 00 5C 07 E8 D0 9A 34 B2 BA F3 FF F7 F1
-0020 | C3 31 F2 31 91 49 DF 0F EE 52 4C B3 9F 67 CF EF
-0030 | A6 71 47 6A 74 13 E8 55 FE 50 02 00 41 10 93 8E
-0040 | AC B0 EC C6 4A 25 8E F4 17 3B CB 5F 9C B2 7B 36
-0050 | 5F 11 A9 17 2B 44 FC 4B 4E 1E 08 83 9B D0 97 D3
-0060 | 5F C5 72 0F 4F 9E AE F9 45 7D 05 A3 25 76 B5 CB
-0070 | 8F 99 7A 1E A2 E2 08 7C 32 1F B1 BF A2 1A 5E D2
-0080 | A0 BC 87 AF FB 68 FB E0 60 D3 19 6B 30 DC 1E BC
-0090 | 22 6D B9 16 8E 47 1D 60 0E A7 5E 59 CC D7 3E 9A
-00A0 | 26 63 E3 82 94 22 FD 22 5A 0C 3A 80 3D 49 9A 52
-00B0 | F5 DF E0 D9 F6 CA 25 2D 97 22 C8 76 E9 AA FE 46
-00C0 | CD 79 2D 85 2F 73 46 46 18 3A 7B 47 39 2D E9 C0
-00D0 | 9C 6B 29 4B 23 D1 B8 76 5E 72 6D B1 BC 13 80 D0
-00E0 | 24 0E A5 96 B0 DE AF C1 19 27 3C CA B9 50 C9 61
-00F0 | 47 1E 9C 78 57 AB AE DD 86 13 8E A2 AA 9E 37 F1
-0100 | AB 1E DE 96 48 9F 03 82 8A D0 E1 E4 57 1B 4E 63
-0110 | 06 BF F4 F1 9A 64 B7 6D 74 CC 61 C5 8C 13 EC 15
-0120 | 2E FE EC 9F A0 E1 49 F4 7B E9 8E 42 43 56 92 09
-0130 | 6C 4F 21 47 A7 CC CC A6 C6 C4 40 FD C2 FA D9 D9
-0140 | EB CE 03 22 92 B2 AA 84 D0 D9 25 4D 33 77 8B 0B
-0150 | 84 AF 4D 2E B9 5B 79 4A E9 B7 5F 0C BD 10 46 6F
-0160 | 33 A8 5B 3B CC B6 82 02 47 B2 89 FA CE CF A6 A1
-0170 | 23 ED 59 B8 50 DB 9F 99 45 AC 02 F1 7B 6C 1E 0B
-0180 | 11 EA 2E AA 0C 51 2B 7A 45 F1 0D A9 2A 6B 85 3E
-0190 | 1E 31 3B A7 25 0B FD ED 89 88 D4 55 E3 2D A0 6F
-01A0 | 72 E3 5D B2 A6 6E 4F FA E2 09 77 74 8D A3 A3 EC
-01B0 | 30 0C 27 5F 88 33 E3 78 50 C4 65 84 5A 7C 6C 9E
-01C0 | 07 C5 AE 95 FB 70 5D 8F DE F6 33 80 A2 0D 72 7E
-01D0 | 8A F7 FF 7A 40 C1 74 B1 27 AC 11 8A 46 D1 5D 7F
-01E0 | 07 D6 D7 2F 55 4C B3 D8 F0 67 45 BE 72 BF DC 55
-01F0 | 47 05 0A 33 8D 9E 14 B6 56 C9 E4 33 18 9D 29 42
-0200 | 18 A0 73 3B 12 05 22 E6 9C 8A 33 A2 DA C7 E4 0F
-0210 | 8A 7D 10 38 A8 72 5F E0 8F 54 3B 14 0F FB EE BA
-0220 | A3 56 4D F0 B1 0D 82 F9 CF 9A DF D7 89 70 E5 73
-0230 | 15 01 A6 31 AE 13 BE 8A DD 44 A4 77 92 BE 57 C2
-0240 | 4F 6F 27 2D BE 87 87 C5 2B AD 8E D5 38 25 AA C9
-0250 | B0 83 6B 95 3E 17 B4 83 91 B8 3E 92 E3 56 23 8E
-0260 | 36 01 93 7C DD E5 33 0D 6B 6B FB E6 34 77 26 37
-0270 | 32 A3 75 CF 97 80 1A CF 71 75 00 58 16 9A 66 E9
-0280 | EF B9 46 88 BE D1 95 C0 8A 76 F0 1A
+0000 | 00 00 00 00 00 00 00 00 01 58 ED 48 8E A3 5F 65
+0010 | 94 02 00 00 5C 07 E8 D0 E4 69 51 99 0E 2C FC CA
+0020 | C9 32 4D 1B 8C 8F 04 C9 A6 4C FF DC C6 39 1B 39
+0030 | 96 EF 16 29 1A 89 8C 9F FE 50 02 00 17 51 7F 20
+0040 | 90 40 EC F4 1C 08 C7 29 23 A8 F5 1B 5E 52 41 16
+0050 | BD 50 26 33 30 DC 9C 85 8C 73 D3 D6 68 20 2E A8
+0060 | 5B F1 1A 87 57 96 6B 3E C0 9C C6 5F B6 AE 01 9B
+0070 | 6F F8 3A 5B 1C DC A3 B2 04 11 7C 77 03 22 E3 EF
+0080 | B7 8F 34 FC B3 25 0C BD BC 21 C9 19 3C 67 1B E6
+0090 | 0D 6A 66 70 02 B2 DE D6 DE A4 78 6B 8C E3 A9 B6
+00A0 | 0A F6 43 E5 A8 EF 04 0E 9B C8 28 94 43 DF EC AC
+00B0 | 11 3B ED 85 B6 D3 2E 85 76 E4 55 17 96 53 DD 1F
+00C0 | E0 44 DE D1 A9 D1 43 9B 1C E0 82 1F 95 A5 E7 1D
+00D0 | 01 DF 56 70 9E C6 E5 D2 86 AC 63 22 8D 14 1A 4C
+00E0 | 69 FF D4 C0 83 77 D6 5E 41 39 B2 38 88 28 DA 79
+00F0 | 45 FE 56 55 38 B3 1F 04 B3 A7 A0 61 E8 B0 D2 D8
+0100 | 67 AA 3A 48 E4 79 EE 00 1D F8 1D 8B B5 8C 62 7D
+0110 | 6D 9D 42 A0 70 31 BB AA C5 EB 02 8B CA B1 10 D2
+0120 | 2C 53 13 BD 44 B6 34 20 CC 55 51 72 26 57 F5 08
+0130 | DD 44 55 C0 90 CE FA 06 B5 28 69 99 6A E8 E4 67
+0140 | F4 9A A3 48 7F 31 7F 97 EE B9 16 A8 C8 74 6F 94
+0150 | BD 6E 96 81 B6 30 13 C8 67 50 6A 12 56 AD EA 9C
+0160 | 6F DB 88 2D E1 D7 D0 AB 36 AA B4 13 F0 58 19 A5
+0170 | A6 E5 E2 9E CB 07 DF F6 DB C0 C2 19 77 37 5E 07
+0180 | 2E 73 14 6B A1 09 34 4A 17 F2 ED 08 4F 5F AA CE
+0190 | 7B AA B5 45 67 2B 13 41 7F 37 FC 43 C8 D8 CE 14
+01A0 | D7 C6 08 70 33 2C 99 C7 8D 17 75 34 5A BC 1D 2D
+01B0 | B8 38 AB 13 05 7C 7D 0D 2D 94 42 90 B3 EA E0 D2
+01C0 | 03 20 36 CE 92 DE 06 69 89 2F 7E B1 D0 9E D6 C5
+01D0 | E7 B5 97 1E 65 CB DD 4C 01 7C 2C 7C 57 44 0C 41
+01E0 | 67 F6 A3 54 42 CA 09 B9 F1 09 76 FE 80 37 CE F0
+01F0 | E3 09 E2 16 F0 A7 2E FC 47 9A 27 D5 8B AB 39 F9
+0200 | 07 9B 27 9D A3 FE 74 84 86 D8 47 07 38 7B E7 9B
+0210 | 9F CE 62 E6 BF 8D 9F 86 F6 0A 0A 59 39 B2 50 91
+0220 | 80 CC 21 C9 49 0A 2C D9 F0 D0 86 D9 EB A0 78 08
+0230 | 54 07 37 4D 30 72 A2 4C 1D 81 5F 7E EE EB FB E8
+0240 | E1 9B 3E 3B 21 B7 40 10 B6 4E E6 EE E7 BB 71 34
+0250 | 15 A6 5C 6A 29 86 47 2C 2A EC DB E5 94 78 43 55
+0260 | AD 86 A7 7F FB 27 B6 86 15 A0 F9 BF 02 F8 66 35
+0270 | 1D 4D 0F A7 35 6B 93 4E 13 42 7C 39 89 15 04 93
+0280 | 2C 1C 9E BC 00 0C 59 3E 1C 69 E3 11
Payload (de)serialization:
server_DH_params_ok#d0e8075c nonce:int128 server_nonce:int128 encrypted_answer:string = Server_DH_Params;
@@ -464,13 +464,13 @@ random_padding_bytes = 441AD8C99CE5A2AB3F1DF851330024CEE71186EC20A16CC06E5756A59
message_id
8, 8
-01FC456FCF975F65
+0158ED488EA35F65
Message ID generated as specified here » (unixtime() << 32) + (N*4)
message_length
16, 4
-78020000
(632 in decimal)
+94020000
(660 in decimal)
Message body length
@@ -482,19 +482,19 @@ random_padding_bytes = 441AD8C99CE5A2AB3F1DF851330024CEE71186EC20A16CC06E5756A59
nonce
24, 16
-9A34B2BAF3FFF7F1C331F2319149DF0F
+E46951990E2CFCCAC9324D1B8C8F04C9
Value generated by client in Step 1
server_nonce
40, 16
-EE524CB39F67CFEFA671476A7413E855
+A64CFFDCC6391B3996EF16291A898C9F
Value received from server in Step 2
encrypted_answer
56, 596
-FE5002004110938EACB0ECC64A258EF4
173BCB5F9CB27B365F11A9172B44FC4B
4E1E08839BD097D35FC5720F4F9EAEF9
457D05A32576B5CB8F997A1EA2E2087C
321FB1BFA21A5ED2A0BC87AFFB68FBE0
60D3196B30DC1EBC226DB9168E471D60
0EA75E59CCD73E9A2663E3829422FD22
5A0C3A803D499A52F5DFE0D9F6CA252D
9722C876E9AAFE46CD792D852F734646
183A7B47392DE9C09C6B294B23D1B876
5E726DB1BC1380D0240EA596B0DEAFC1
19273CCAB950C961471E9C7857ABAEDD
86138EA2AA9E37F1AB1EDE96489F0382
8AD0E1E4571B4E6306BFF4F19A64B76D
74CC61C58C13EC152EFEEC9FA0E149F4
7BE98E42435692096C4F2147A7CCCCA6
C6C440FDC2FAD9D9EBCE032292B2AA84
D0D9254D33778B0B84AF4D2EB95B794A
E9B75F0CBD10466F33A85B3BCCB68202
47B289FACECFA6A123ED59B850DB9F99
45AC02F17B6C1E0B11EA2EAA0C512B7A
45F10DA92A6B853E1E313BA7250BFDED
8988D455E32DA06F72E35DB2A66E4FFA
E20977748DA3A3EC300C275F8833E378
50C465845A7C6C9E07C5AE95FB705D8F
DEF63380A20D727E8AF7FF7A40C174B1
27AC118A46D15D7F07D6D72F554CB3D8
F06745BE72BFDC5547050A338D9E14B6
56C9E433189D294218A0733B120522E6
9C8A33A2DAC7E40F8A7D1038A8725FE0
8F543B140FFBEEBAA3564DF0B10D82F9
CF9ADFD78970E5731501A631AE13BE8A
DD44A47792BE57C24F6F272DBE8787C5
2BAD8ED53825AAC9B0836B953E17B483
91B83E92E356238E3601937CDDE5330D
6B6BFBE63477263732A375CF97801ACF
71750058169A66E9EFB94688BED195C0
8A76F01A
+FE50020017517F209040ECF41C08C729
23A8F51B5E524116BD50263330DC9C85
8C73D3D668202EA85BF11A8757966B3E
C09CC65FB6AE019B6FF83A5B1CDCA3B2
04117C770322E3EFB78F34FCB3250CBD
BC21C9193C671BE60D6A667002B2DED6
DEA4786B8CE3A9B60AF643E5A8EF040E
9BC8289443DFECAC113BED85B6D32E85
76E455179653DD1FE044DED1A9D1439B
1CE0821F95A5E71D01DF56709EC6E5D2
86AC63228D141A4C69FFD4C08377D65E
4139B2388828DA7945FE565538B31F04
B3A7A061E8B0D2D867AA3A48E479EE00
1DF81D8BB58C627D6D9D42A07031BBAA
C5EB028BCAB110D22C5313BD44B63420
CC5551722657F508DD4455C090CEFA06
B52869996AE8E467F49AA3487F317F97
EEB916A8C8746F94BD6E9681B63013C8
67506A1256ADEA9C6FDB882DE1D7D0AB
36AAB413F05819A5A6E5E29ECB07DFF6
DBC0C21977375E072E73146BA109344A
17F2ED084F5FAACE7BAAB545672B1341
7F37FC43C8D8CE14D7C60870332C99C7
8D1775345ABC1D2DB838AB13057C7D0D
2D944290B3EAE0D2032036CE92DE0669
892F7EB1D09ED6C5E7B5971E65CBDD4C
017C2C7C57440C4167F6A35442CA09B9
F10976FE8037CEF0E309E216F0A72EFC
479A27D58BAB39F9079B279DA3FE7484
86D84707387BE79B9FCE62E6BF8D9F86
F60A0A5939B2509180CC21C9490A2CD9
F0D086D9EBA078085407374D3072A24C
1D815F7EEEEBFBE8E19B3E3B21B74010
B64EE6EEE7BB713415A65C6A2986472C
2AECDBE594784355AD86A77FFB27B686
15A0F9BF02F866351D4D0FA7356B934E
13427C39891504932C1C9EBC000C593E
1C69E311
See below
@@ -502,20 +502,20 @@ random_padding_bytes = 441AD8C99CE5A2AB3F1DF851330024CEE71186EC20A16CC06E5756A59
Decrypt encrypted_answer
using the reverse of the process specified in step 6:
-encrypted_answer = 4110938EACB0ECC64A258EF4173BCB5F9CB27B365F11A9172B44FC4B4E1E08839BD097D35FC5720F4F9EAEF9457D05A32576B5CB8F997A1EA2E2087C321FB1BFA21A5ED2A0BC87AFFB68FBE060D3196B30DC1EBC226DB9168E471D600EA75E59CCD73E9A2663E3829422FD225A0C3A803D499A52F5DFE0D9F6CA252D9722C876E9AAFE46CD792D852F734646183A7B47392DE9C09C6B294B23D1B8765E726DB1BC1380D0240EA596B0DEAFC119273CCAB950C961471E9C7857ABAEDD86138EA2AA9E37F1AB1EDE96489F03828AD0E1E4571B4E6306BFF4F19A64B76D74CC61C58C13EC152EFEEC9FA0E149F47BE98E42435692096C4F2147A7CCCCA6C6C440FDC2FAD9D9EBCE032292B2AA84D0D9254D33778B0B84AF4D2EB95B794AE9B75F0CBD10466F33A85B3BCCB6820247B289FACECFA6A123ED59B850DB9F9945AC02F17B6C1E0B11EA2EAA0C512B7A45F10DA92A6B853E1E313BA7250BFDED8988D455E32DA06F72E35DB2A66E4FFAE20977748DA3A3EC300C275F8833E37850C465845A7C6C9E07C5AE95FB705D8FDEF63380A20D727E8AF7FF7A40C174B127AC118A46D15D7F07D6D72F554CB3D8F06745BE72BFDC5547050A338D9E14B656C9E433189D294218A0733B120522E69C8A33A2DAC7E40F8A7D1038A8725FE08F543B140FFBEEBAA3564DF0B10D82F9CF9ADFD78970E5731501A631AE13BE8ADD44A47792BE57C24F6F272DBE8787C52BAD8ED53825AAC9B0836B953E17B48391B83E92E356238E3601937CDDE5330D6B6BFBE63477263732A375CF97801ACF71750058169A66E9EFB94688BED195C08A76F01A
-tmp_aes_key = DB2F34B706C1F015EF12A76AD1A6D824D5C4EBA7CA8DD56DF50B61B7A9536C80
-tmp_aes_iv = 0B108CEA9A57852932D4DF2C472DD80227154011C4EDB6BA8D1E18682EA93C55
+encrypted_answer = 17517F209040ECF41C08C72923A8F51B5E524116BD50263330DC9C858C73D3D668202EA85BF11A8757966B3EC09CC65FB6AE019B6FF83A5B1CDCA3B204117C770322E3EFB78F34FCB3250CBDBC21C9193C671BE60D6A667002B2DED6DEA4786B8CE3A9B60AF643E5A8EF040E9BC8289443DFECAC113BED85B6D32E8576E455179653DD1FE044DED1A9D1439B1CE0821F95A5E71D01DF56709EC6E5D286AC63228D141A4C69FFD4C08377D65E4139B2388828DA7945FE565538B31F04B3A7A061E8B0D2D867AA3A48E479EE001DF81D8BB58C627D6D9D42A07031BBAAC5EB028BCAB110D22C5313BD44B63420CC5551722657F508DD4455C090CEFA06B52869996AE8E467F49AA3487F317F97EEB916A8C8746F94BD6E9681B63013C867506A1256ADEA9C6FDB882DE1D7D0AB36AAB413F05819A5A6E5E29ECB07DFF6DBC0C21977375E072E73146BA109344A17F2ED084F5FAACE7BAAB545672B13417F37FC43C8D8CE14D7C60870332C99C78D1775345ABC1D2DB838AB13057C7D0D2D944290B3EAE0D2032036CE92DE0669892F7EB1D09ED6C5E7B5971E65CBDD4C017C2C7C57440C4167F6A35442CA09B9F10976FE8037CEF0E309E216F0A72EFC479A27D58BAB39F9079B279DA3FE748486D84707387BE79B9FCE62E6BF8D9F86F60A0A5939B2509180CC21C9490A2CD9F0D086D9EBA078085407374D3072A24C1D815F7EEEEBFBE8E19B3E3B21B74010B64EE6EEE7BB713415A65C6A2986472C2AECDBE594784355AD86A77FFB27B68615A0F9BF02F866351D4D0FA7356B934E13427C39891504932C1C9EBC000C593E1C69E311
+tmp_aes_key = 36AF1C65434A521AC270F3D8F15F783B83916E3D5B318253377518B1879B0FA0
+tmp_aes_iv = BA8DF136F86FF86F2894AD855701045215AB156F6D7B7CD8810B810E9C7B118F
Yielding:
-answer_with_hash = FFD741ADB59CFD08046C78EEC6486E798865444CBA0D89B59A34B2BAF3FFF7F1C331F2319149DF0FEE524CB39F67CFEFA671476A7413E85503000000FE000100C71CAEB9C6B1C9048E6C522F70F13F73980D40238E3E21C14934D037563D930F48198A0AA7C14058229493D22530F4DBFA336F6E0AC925139543AED44CCE7C3720FD51F69458705AC68CD4FE6B6B13ABDC9746512969328454F18FAF8C595F642477FE96BB2A941D5BCD1D4AC8CC49880708FA9B378E3C4F3A9060BEE67CF9A4A4A695811051907E162753B56B0F6B410DBA74D8A84B2A14B3144E0EF1284754FD17ED950D5965B4B9DD46582DB1178D169C6BC465B0D6FF9CA3928FEF5B9AE4E418FC15E83EBEA0F87FA9FF5EED70050DED2849F47BF959D956850CE929851F0D8115F635B105EE2E4E15D04B2454BF6F4FADF034B10403119CD8E3B92FCC5BFE00010079241B5C80B4C81FED0BAF2D4C892B0124D2CD962C2C09CBB117D6E8D4541C56E1902CD0330601647E56C20DB73C55659D8B97F5BEC0DF0D652130B969F6F1C6B72566B68852C8C831B72FF864390C2B0AA0083053FB88CF3D47F08E05EF7AF9057367EE44511540C561B5BA21B7D12AB50ECBECFB85CE1FDCE5654ED90A086B816606EC948399B262748C8732A630633D888B644D2B584622F9DA08294F307DD43E655C5A0687EA568291AAB091D9F6D57D861E75CD4CE8E68B1A69CCE29A4857E570141C53062633339BAB64FC96A28723523975BD7670DB616D2D1C1FAD08D29C781E866B2BA05AEA4F9C90AD55897DBA1077A7FCEBC34C33A43A5E7DBAA7CF975F65167DF1F4851834AB
-answer = BA0D89B59A34B2BAF3FFF7F1C331F2319149DF0FEE524CB39F67CFEFA671476A7413E85503000000FE000100C71CAEB9C6B1C9048E6C522F70F13F73980D40238E3E21C14934D037563D930F48198A0AA7C14058229493D22530F4DBFA336F6E0AC925139543AED44CCE7C3720FD51F69458705AC68CD4FE6B6B13ABDC9746512969328454F18FAF8C595F642477FE96BB2A941D5BCD1D4AC8CC49880708FA9B378E3C4F3A9060BEE67CF9A4A4A695811051907E162753B56B0F6B410DBA74D8A84B2A14B3144E0EF1284754FD17ED950D5965B4B9DD46582DB1178D169C6BC465B0D6FF9CA3928FEF5B9AE4E418FC15E83EBEA0F87FA9FF5EED70050DED2849F47BF959D956850CE929851F0D8115F635B105EE2E4E15D04B2454BF6F4FADF034B10403119CD8E3B92FCC5BFE00010079241B5C80B4C81FED0BAF2D4C892B0124D2CD962C2C09CBB117D6E8D4541C56E1902CD0330601647E56C20DB73C55659D8B97F5BEC0DF0D652130B969F6F1C6B72566B68852C8C831B72FF864390C2B0AA0083053FB88CF3D47F08E05EF7AF9057367EE44511540C561B5BA21B7D12AB50ECBECFB85CE1FDCE5654ED90A086B816606EC948399B262748C8732A630633D888B644D2B584622F9DA08294F307DD43E655C5A0687EA568291AAB091D9F6D57D861E75CD4CE8E68B1A69CCE29A4857E570141C53062633339BAB64FC96A28723523975BD7670DB616D2D1C1FAD08D29C781E866B2BA05AEA4F9C90AD55897DBA1077A7FCEBC34C33A43A5E7DBAA7CF975F65167DF1F4851834AB
+answer_with_hash = 1E8D385DFEC613497A71D39AE30E07D2AECF13BABA0D89B5E46951990E2CFCCAC9324D1B8C8F04C9A64CFFDCC6391B3996EF16291A898C9F03000000FE000100C71CAEB9C6B1C9048E6C522F70F13F73980D40238E3E21C14934D037563D930F48198A0AA7C14058229493D22530F4DBFA336F6E0AC925139543AED44CCE7C3720FD51F69458705AC68CD4FE6B6B13ABDC9746512969328454F18FAF8C595F642477FE96BB2A941D5BCD1D4AC8CC49880708FA9B378E3C4F3A9060BEE67CF9A4A4A695811051907E162753B56B0F6B410DBA74D8A84B2A14B3144E0EF1284754FD17ED950D5965B4B9DD46582DB1178D169C6BC465B0D6FF9CA3928FEF5B9AE4E418FC15E83EBEA0F87FA9FF5EED70050DED2849F47BF959D956850CE929851F0D8115F635B105EE2E4E15D04B2454BF6F4FADF034B10403119CD8E3B92FCC5BFE00010031BD08268C2DDB0B1C87439402F2B753FB694FE149EE4E00917ACD38B3BF9D44D99AD346EB2DC6CDFC07824DBFD44369814FE10BE378977EC56978889A7EB5D0AA6C03B5611EA6445D4C152229B21E78213136FB9A822B3413DD546FC86E8E273322FDAEBA3A24E0B5DCE76DD67A427BAD16A483AA327252E3B0796040233DCFEB0752D77812112EAE83678AB98FA9371D6CD987426D62F761ADFB706351D7FBAFD6E4F2E201B3AEA82A13EA55BEA815DA7E552ACE782D75772AB9BA7AA2E394C34F3BB769089F465C4B64FA94AFCEE238CB885ABDFEA28508905FE6806B8AAA55F8A52ADB6FB908B58B6B054EA896CFE2F4FC03E1DD416CA8602E4F93EB3F8D8EA35F6560C569E896AEB16B
+answer = BA0D89B5E46951990E2CFCCAC9324D1B8C8F04C9A64CFFDCC6391B3996EF16291A898C9F03000000FE000100C71CAEB9C6B1C9048E6C522F70F13F73980D40238E3E21C14934D037563D930F48198A0AA7C14058229493D22530F4DBFA336F6E0AC925139543AED44CCE7C3720FD51F69458705AC68CD4FE6B6B13ABDC9746512969328454F18FAF8C595F642477FE96BB2A941D5BCD1D4AC8CC49880708FA9B378E3C4F3A9060BEE67CF9A4A4A695811051907E162753B56B0F6B410DBA74D8A84B2A14B3144E0EF1284754FD17ED950D5965B4B9DD46582DB1178D169C6BC465B0D6FF9CA3928FEF5B9AE4E418FC15E83EBEA0F87FA9FF5EED70050DED2849F47BF959D956850CE929851F0D8115F635B105EE2E4E15D04B2454BF6F4FADF034B10403119CD8E3B92FCC5BFE00010031BD08268C2DDB0B1C87439402F2B753FB694FE149EE4E00917ACD38B3BF9D44D99AD346EB2DC6CDFC07824DBFD44369814FE10BE378977EC56978889A7EB5D0AA6C03B5611EA6445D4C152229B21E78213136FB9A822B3413DD546FC86E8E273322FDAEBA3A24E0B5DCE76DD67A427BAD16A483AA327252E3B0796040233DCFEB0752D77812112EAE83678AB98FA9371D6CD987426D62F761ADFB706351D7FBAFD6E4F2E201B3AEA82A13EA55BEA815DA7E552ACE782D75772AB9BA7AA2E394C34F3BB769089F465C4B64FA94AFCEE238CB885ABDFEA28508905FE6806B8AAA55F8A52ADB6FB908B58B6B054EA896CFE2F4FC03E1DD416CA8602E4F93EB3F8D8EA35F6560C569E896AEB16B
Generated payload (excluding transport headers/trailers):
-0000 | BA 0D 89 B5 9A 34 B2 BA F3 FF F7 F1 C3 31 F2 31
-0010 | 91 49 DF 0F EE 52 4C B3 9F 67 CF EF A6 71 47 6A
-0020 | 74 13 E8 55 03 00 00 00 FE 00 01 00 C7 1C AE B9
+0000 | BA 0D 89 B5 E4 69 51 99 0E 2C FC CA C9 32 4D 1B
+0010 | 8C 8F 04 C9 A6 4C FF DC C6 39 1B 39 96 EF 16 29
+0020 | 1A 89 8C 9F 03 00 00 00 FE 00 01 00 C7 1C AE B9
0030 | C6 B1 C9 04 8E 6C 52 2F 70 F1 3F 73 98 0D 40 23
0040 | 8E 3E 21 C1 49 34 D0 37 56 3D 93 0F 48 19 8A 0A
0050 | A7 C1 40 58 22 94 93 D2 25 30 F4 DB FA 33 6F 6E
@@ -532,23 +532,23 @@ answer = BA0D89B59A34B2BAF3FFF7F1C331F2319149DF0FEE524CB39F67CFEFA671476A7413E85
0100 | F4 7B F9 59 D9 56 85 0C E9 29 85 1F 0D 81 15 F6
0110 | 35 B1 05 EE 2E 4E 15 D0 4B 24 54 BF 6F 4F AD F0
0120 | 34 B1 04 03 11 9C D8 E3 B9 2F CC 5B FE 00 01 00
-0130 | 79 24 1B 5C 80 B4 C8 1F ED 0B AF 2D 4C 89 2B 01
-0140 | 24 D2 CD 96 2C 2C 09 CB B1 17 D6 E8 D4 54 1C 56
-0150 | E1 90 2C D0 33 06 01 64 7E 56 C2 0D B7 3C 55 65
-0160 | 9D 8B 97 F5 BE C0 DF 0D 65 21 30 B9 69 F6 F1 C6
-0170 | B7 25 66 B6 88 52 C8 C8 31 B7 2F F8 64 39 0C 2B
-0180 | 0A A0 08 30 53 FB 88 CF 3D 47 F0 8E 05 EF 7A F9
-0190 | 05 73 67 EE 44 51 15 40 C5 61 B5 BA 21 B7 D1 2A
-01A0 | B5 0E CB EC FB 85 CE 1F DC E5 65 4E D9 0A 08 6B
-01B0 | 81 66 06 EC 94 83 99 B2 62 74 8C 87 32 A6 30 63
-01C0 | 3D 88 8B 64 4D 2B 58 46 22 F9 DA 08 29 4F 30 7D
-01D0 | D4 3E 65 5C 5A 06 87 EA 56 82 91 AA B0 91 D9 F6
-01E0 | D5 7D 86 1E 75 CD 4C E8 E6 8B 1A 69 CC E2 9A 48
-01F0 | 57 E5 70 14 1C 53 06 26 33 33 9B AB 64 FC 96 A2
-0200 | 87 23 52 39 75 BD 76 70 DB 61 6D 2D 1C 1F AD 08
-0210 | D2 9C 78 1E 86 6B 2B A0 5A EA 4F 9C 90 AD 55 89
-0220 | 7D BA 10 77 A7 FC EB C3 4C 33 A4 3A 5E 7D BA A7
-0230 | CF 97 5F 65
+0130 | 31 BD 08 26 8C 2D DB 0B 1C 87 43 94 02 F2 B7 53
+0140 | FB 69 4F E1 49 EE 4E 00 91 7A CD 38 B3 BF 9D 44
+0150 | D9 9A D3 46 EB 2D C6 CD FC 07 82 4D BF D4 43 69
+0160 | 81 4F E1 0B E3 78 97 7E C5 69 78 88 9A 7E B5 D0
+0170 | AA 6C 03 B5 61 1E A6 44 5D 4C 15 22 29 B2 1E 78
+0180 | 21 31 36 FB 9A 82 2B 34 13 DD 54 6F C8 6E 8E 27
+0190 | 33 22 FD AE BA 3A 24 E0 B5 DC E7 6D D6 7A 42 7B
+01A0 | AD 16 A4 83 AA 32 72 52 E3 B0 79 60 40 23 3D CF
+01B0 | EB 07 52 D7 78 12 11 2E AE 83 67 8A B9 8F A9 37
+01C0 | 1D 6C D9 87 42 6D 62 F7 61 AD FB 70 63 51 D7 FB
+01D0 | AF D6 E4 F2 E2 01 B3 AE A8 2A 13 EA 55 BE A8 15
+01E0 | DA 7E 55 2A CE 78 2D 75 77 2A B9 BA 7A A2 E3 94
+01F0 | C3 4F 3B B7 69 08 9F 46 5C 4B 64 FA 94 AF CE E2
+0200 | 38 CB 88 5A BD FE A2 85 08 90 5F E6 80 6B 8A AA
+0210 | 55 F8 A5 2A DB 6F B9 08 B5 8B 6B 05 4E A8 96 CF
+0220 | E2 F4 FC 03 E1 DD 41 6C A8 60 2E 4F 93 EB 3F 8D
+0230 | 8E A3 5F 65
Payload (de)serialization:
server_DH_inner_data#b5890dba nonce:int128 server_nonce:int128 g:int dh_prime:string g_a:string server_time:int = Server_DH_inner_data;
@@ -570,13 +570,13 @@ answer = BA0D89B59A34B2BAF3FFF7F1C331F2319149DF0FEE524CB39F67CFEFA671476A7413E85
nonce
4, 16
-9A34B2BAF3FFF7F1C331F2319149DF0F
+E46951990E2CFCCAC9324D1B8C8F04C9
Value generated by client in Step 1
server_nonce
20, 16
-EE524CB39F67CFEFA671476A7413E855
+A64CFFDCC6391B3996EF16291A898C9F
Value received from server in Step 2
@@ -594,13 +594,13 @@ answer = BA0D89B59A34B2BAF3FFF7F1C331F2319149DF0FEE524CB39F67CFEFA671476A7413E85
g_a
300, 260
-FE00010079241B5C80B4C81FED0BAF2D
4C892B0124D2CD962C2C09CBB117D6E8
D4541C56E1902CD0330601647E56C20D
B73C55659D8B97F5BEC0DF0D652130B9
69F6F1C6B72566B68852C8C831B72FF8
64390C2B0AA0083053FB88CF3D47F08E
05EF7AF9057367EE44511540C561B5BA
21B7D12AB50ECBECFB85CE1FDCE5654E
D90A086B816606EC948399B262748C87
32A630633D888B644D2B584622F9DA08
294F307DD43E655C5A0687EA568291AA
B091D9F6D57D861E75CD4CE8E68B1A69
CCE29A4857E570141C53062633339BAB
64FC96A28723523975BD7670DB616D2D
1C1FAD08D29C781E866B2BA05AEA4F9C
90AD55897DBA1077A7FCEBC34C33A43A
5E7DBAA7
+FE00010031BD08268C2DDB0B1C874394
02F2B753FB694FE149EE4E00917ACD38
B3BF9D44D99AD346EB2DC6CDFC07824D
BFD44369814FE10BE378977EC5697888
9A7EB5D0AA6C03B5611EA6445D4C1522
29B21E78213136FB9A822B3413DD546F
C86E8E273322FDAEBA3A24E0B5DCE76D
D67A427BAD16A483AA327252E3B07960
40233DCFEB0752D77812112EAE83678A
B98FA9371D6CD987426D62F761ADFB70
6351D7FBAFD6E4F2E201B3AEA82A13EA
55BEA815DA7E552ACE782D75772AB9BA
7AA2E394C34F3BB769089F465C4B64FA
94AFCEE238CB885ABDFEA28508905FE6
806B8AAA55F8A52ADB6FB908B58B6B05
4EA896CFE2F4FC03E1DD416CA8602E4F
93EB3F8D
g_a
diffie-hellman parameter
server_time
560, 4
-CF975F65
(1700763599 in decimal)
+8EA35F65
(1700766606 in decimal)
Server time
@@ -609,34 +609,34 @@ answer = BA0D89B59A34B2BAF3FFF7F1C331F2319149DF0FEE524CB39F67CFEFA671476A7413E85
7) Client computes random 2048-bit number b (using a sufficient amount of entropy) and sends the server a message
First, generate a secure random 2048-bit number b:
-b = B94B19F4663965D3475834E9594CE260D9E75DBA771A518EBFF7826310821ED0140E73DAEED7D995D00D1707F83B95D7B3BED5FB02E907C8DAF8874529D3D6F59954F6E371F62E1D9C0BFD3C9B37BFF4ACF8F364038F8BE4E3CEF93C6AA75FE01F79C47FDB9F898AAB104027B59B029FC356D21637338E5A2A02324A10895C885E1D84B0673FFD7F309DC3CD538AFB85335A9E6E5B2C24FF80DDFECF7F8E07935DBBEEE3125DC748348312C162DFD2EB355FCBFDE963C8A9756B52B0FA53EADAE0C5C4208AF988316F78F87A31EB8F52ECD6FEC107286D9C5B9B1B521A08BD39A041BBA65C1474A2CB765A8AC2006B03E2F2E931D741B50FBFEA07CB22189BFB
+b = 2A3F22645B45D055BADC3890F8907F23847497B8D6373ADE8310ACBB6D7A262FFE8AF3B6E1A0E87102B24DDFB8F3530D408ECE349363E67B07B03F3CA277FD009CBBF9A2A3B48EBB11910F6C8FF2B1BBDAAEC209DF32F27A64E77A42BE16531788C66EBED1CD1C3F15CAC3F63B563F8340CF9B0C9D112712A00F0DE746A8A1DBC9B0477AF018234AB4E99F8BD4DAD26FB3B95DED07F8F2AEB1ECFE3F569C48A80FC147B5658CF1FEB56F2FF26AF4DFA152729694A592DA77A6BB7ED2A547FC3755014F086B6D53E664A898BE275334A23BB4A82172014B8A4EA5160209894FF32D33F765DC5FC66DE4B3E810D12F64A9820DFBBD0350630FB671F9A759313875
Then compute g_b = pow(g, b) mod dh_prime
-g_b = B03B9954067464ABDF175BADDFCC201F0B7E7971DCC88DB4150BD2AEB28A4A93F4D41E5F2B10E5408046F584714511196614524F66E681191F1F7B48C71DD519EDE29A0686D8E7B7BD60D4C276AACE8D6825C79740541A32012589B0FA4FA45632A579F8B962A17850086DA30715DBC9B8F1636A1D04743A542773FEB7F785E47C5DA93B4CBF935DC762245ED7D1448DFBF0C3CD86EF34DF3966FE5A677976026DFF0244EB5822A85AF94C4B17102653239533CA14C9366A486371911B75C4C2A93448F0C6A70F72AE4D3075FC6CC70CCB1D4CC4D64C57D4436DBA65A8DCC93E455770789A3572A636CC8AB107B86B9D7E5596D5FBC71C26D5AAD6AF58290E64
+g_b = 28C6539480C002AFFBEB2FA8C7060A89EF38361C7B8999C1C5D5FD6E7E46100673F76C8E78B82EBEFDDC975FAB0D79AB26280DC346886578A177982EA686736F6C44D505F4CF9D7FA097AA2F07B775DCD0345BA1D12C6BB440A711E9BE663FBB9F1A14CF8676C64A220B259B21377E10CA8B68B05180849D2A29CC96283053D1CF4A4E6105835A6BD97FAB25A15B3F62BF9931BF19072B4D0BCC7CB24E5007D6B9A77EB4A63BB62993097710AC85803A5A4E0FC792D7101A09F1E52ED12273083FDC9D85F465CD1FEDCE4F6E387DC1CE08D02D3E26561B2E5395565BE507209498AF1F4EC2A08BFBBF7799A70D2CFA538F92CBC4A61C50575D4934D5263B4932
7.1) generation of encrypted_data
Generated payload (excluding transport headers/trailers):
-0000 | 54 B6 43 66 9A 34 B2 BA F3 FF F7 F1 C3 31 F2 31
-0010 | 91 49 DF 0F EE 52 4C B3 9F 67 CF EF A6 71 47 6A
-0020 | 74 13 E8 55 00 00 00 00 00 00 00 00 FE 00 01 00
-0030 | B0 3B 99 54 06 74 64 AB DF 17 5B AD DF CC 20 1F
-0040 | 0B 7E 79 71 DC C8 8D B4 15 0B D2 AE B2 8A 4A 93
-0050 | F4 D4 1E 5F 2B 10 E5 40 80 46 F5 84 71 45 11 19
-0060 | 66 14 52 4F 66 E6 81 19 1F 1F 7B 48 C7 1D D5 19
-0070 | ED E2 9A 06 86 D8 E7 B7 BD 60 D4 C2 76 AA CE 8D
-0080 | 68 25 C7 97 40 54 1A 32 01 25 89 B0 FA 4F A4 56
-0090 | 32 A5 79 F8 B9 62 A1 78 50 08 6D A3 07 15 DB C9
-00A0 | B8 F1 63 6A 1D 04 74 3A 54 27 73 FE B7 F7 85 E4
-00B0 | 7C 5D A9 3B 4C BF 93 5D C7 62 24 5E D7 D1 44 8D
-00C0 | FB F0 C3 CD 86 EF 34 DF 39 66 FE 5A 67 79 76 02
-00D0 | 6D FF 02 44 EB 58 22 A8 5A F9 4C 4B 17 10 26 53
-00E0 | 23 95 33 CA 14 C9 36 6A 48 63 71 91 1B 75 C4 C2
-00F0 | A9 34 48 F0 C6 A7 0F 72 AE 4D 30 75 FC 6C C7 0C
-0100 | CB 1D 4C C4 D6 4C 57 D4 43 6D BA 65 A8 DC C9 3E
-0110 | 45 57 70 78 9A 35 72 A6 36 CC 8A B1 07 B8 6B 9D
-0120 | 7E 55 96 D5 FB C7 1C 26 D5 AA D6 AF 58 29 0E 64
+0000 | 54 B6 43 66 E4 69 51 99 0E 2C FC CA C9 32 4D 1B
+0010 | 8C 8F 04 C9 A6 4C FF DC C6 39 1B 39 96 EF 16 29
+0020 | 1A 89 8C 9F 00 00 00 00 00 00 00 00 FE 00 01 00
+0030 | 28 C6 53 94 80 C0 02 AF FB EB 2F A8 C7 06 0A 89
+0040 | EF 38 36 1C 7B 89 99 C1 C5 D5 FD 6E 7E 46 10 06
+0050 | 73 F7 6C 8E 78 B8 2E BE FD DC 97 5F AB 0D 79 AB
+0060 | 26 28 0D C3 46 88 65 78 A1 77 98 2E A6 86 73 6F
+0070 | 6C 44 D5 05 F4 CF 9D 7F A0 97 AA 2F 07 B7 75 DC
+0080 | D0 34 5B A1 D1 2C 6B B4 40 A7 11 E9 BE 66 3F BB
+0090 | 9F 1A 14 CF 86 76 C6 4A 22 0B 25 9B 21 37 7E 10
+00A0 | CA 8B 68 B0 51 80 84 9D 2A 29 CC 96 28 30 53 D1
+00B0 | CF 4A 4E 61 05 83 5A 6B D9 7F AB 25 A1 5B 3F 62
+00C0 | BF 99 31 BF 19 07 2B 4D 0B CC 7C B2 4E 50 07 D6
+00D0 | B9 A7 7E B4 A6 3B B6 29 93 09 77 10 AC 85 80 3A
+00E0 | 5A 4E 0F C7 92 D7 10 1A 09 F1 E5 2E D1 22 73 08
+00F0 | 3F DC 9D 85 F4 65 CD 1F ED CE 4F 6E 38 7D C1 CE
+0100 | 08 D0 2D 3E 26 56 1B 2E 53 95 56 5B E5 07 20 94
+0110 | 98 AF 1F 4E C2 A0 8B FB BF 77 99 A7 0D 2C FA 53
+0120 | 8F 92 CB C4 A6 1C 50 57 5D 49 34 D5 26 3B 49 32
Payload (de)serialization:
client_DH_inner_data#6643b654 nonce:int128 server_nonce:int128 retry_id:long g_b:string = Client_DH_Inner_Data;
@@ -658,19 +658,19 @@ answer = BA0D89B59A34B2BAF3FFF7F1C331F2319149DF0FEE524CB39F67CFEFA671476A7413E85
nonce
4, 16
-9A34B2BAF3FFF7F1C331F2319149DF0F
+E46951990E2CFCCAC9324D1B8C8F04C9
Value generated by client in Step 1
server_nonce
20, 16
-EE524CB39F67CFEFA671476A7413E855
+A64CFFDCC6391B3996EF16291A898C9F
Value received from server in Step 2
g_b
36, 260
-FE000100B03B9954067464ABDF175BAD
DFCC201F0B7E7971DCC88DB4150BD2AE
B28A4A93F4D41E5F2B10E5408046F584
714511196614524F66E681191F1F7B48
C71DD519EDE29A0686D8E7B7BD60D4C2
76AACE8D6825C79740541A32012589B0
FA4FA45632A579F8B962A17850086DA3
0715DBC9B8F1636A1D04743A542773FE
B7F785E47C5DA93B4CBF935DC762245E
D7D1448DFBF0C3CD86EF34DF3966FE5A
677976026DFF0244EB5822A85AF94C4B
17102653239533CA14C9366A48637191
1B75C4C2A93448F0C6A70F72AE4D3075
FC6CC70CCB1D4CC4D64C57D4436DBA65
A8DCC93E455770789A3572A636CC8AB1
07B86B9D7E5596D5FBC71C26D5AAD6AF
58290E64
+FE00010028C6539480C002AFFBEB2FA8
C7060A89EF38361C7B8999C1C5D5FD6E
7E46100673F76C8E78B82EBEFDDC975F
AB0D79AB26280DC346886578A177982E
A686736F6C44D505F4CF9D7FA097AA2F
07B775DCD0345BA1D12C6BB440A711E9
BE663FBB9F1A14CF8676C64A220B259B
21377E10CA8B68B05180849D2A29CC96
283053D1CF4A4E6105835A6BD97FAB25
A15B3F62BF9931BF19072B4D0BCC7CB2
4E5007D6B9A77EB4A63BB62993097710
AC85803A5A4E0FC792D7101A09F1E52E
D12273083FDC9D85F465CD1FEDCE4F6E
387DC1CE08D02D3E26561B2E5395565B
E507209498AF1F4EC2A08BFBBF7799A7
0D2CFA538F92CBC4A61C50575D4934D5
263B4932
Single-byte prefix denoting length, a 256-byte (2048-bit) string, and zero bytes of padding
@@ -684,47 +684,47 @@ answer = BA0D89B59A34B2BAF3FFF7F1C331F2319149DF0FEE524CB39F67CFEFA671476A7413E85
The serialization of Client_DH_Inner_Data produces a string data. This is used to generate encrypted_data as specified in step 6, using the following inputs:
-data = 54B643669A34B2BAF3FFF7F1C331F2319149DF0FEE524CB39F67CFEFA671476A7413E8550000000000000000FE000100B03B9954067464ABDF175BADDFCC201F0B7E7971DCC88DB4150BD2AEB28A4A93F4D41E5F2B10E5408046F584714511196614524F66E681191F1F7B48C71DD519EDE29A0686D8E7B7BD60D4C276AACE8D6825C79740541A32012589B0FA4FA45632A579F8B962A17850086DA30715DBC9B8F1636A1D04743A542773FEB7F785E47C5DA93B4CBF935DC762245ED7D1448DFBF0C3CD86EF34DF3966FE5A677976026DFF0244EB5822A85AF94C4B17102653239533CA14C9366A486371911B75C4C2A93448F0C6A70F72AE4D3075FC6CC70CCB1D4CC4D64C57D4436DBA65A8DCC93E455770789A3572A636CC8AB107B86B9D7E5596D5FBC71C26D5AAD6AF58290E64
-padding = 20107E428F635BE3D5AC0F63
-tmp_aes_key = DB2F34B706C1F015EF12A76AD1A6D824D5C4EBA7CA8DD56DF50B61B7A9536C80
-tmp_aes_iv = 0B108CEA9A57852932D4DF2C472DD80227154011C4EDB6BA8D1E18682EA93C55
+data = 54B64366E46951990E2CFCCAC9324D1B8C8F04C9A64CFFDCC6391B3996EF16291A898C9F0000000000000000FE00010028C6539480C002AFFBEB2FA8C7060A89EF38361C7B8999C1C5D5FD6E7E46100673F76C8E78B82EBEFDDC975FAB0D79AB26280DC346886578A177982EA686736F6C44D505F4CF9D7FA097AA2F07B775DCD0345BA1D12C6BB440A711E9BE663FBB9F1A14CF8676C64A220B259B21377E10CA8B68B05180849D2A29CC96283053D1CF4A4E6105835A6BD97FAB25A15B3F62BF9931BF19072B4D0BCC7CB24E5007D6B9A77EB4A63BB62993097710AC85803A5A4E0FC792D7101A09F1E52ED12273083FDC9D85F465CD1FEDCE4F6E387DC1CE08D02D3E26561B2E5395565BE507209498AF1F4EC2A08BFBBF7799A70D2CFA538F92CBC4A61C50575D4934D5263B4932
+padding = 33B75874ECD7561FE4873622
+tmp_aes_key = 36AF1C65434A521AC270F3D8F15F783B83916E3D5B318253377518B1879B0FA0
+tmp_aes_iv = BA8DF136F86FF86F2894AD855701045215AB156F6D7B7CD8810B810E9C7B118F
Process:
data_with_hash := SHA1(data) + data + padding (0-15 random bytes such that total length is divisible by 16)
encrypted_data := AES256_ige_encrypt (data_with_hash, tmp_aes_key, tmp_aes_iv);
Output:
-encrypted_data = FF6551BB89A52E6E84591FFD97A0B9B04287F5DF2C9DD99981BF339DA80E67F776348AD9182D2B0E62D021B2013DB21FC5631F96F0BFADF9EC2EAA77256247AECBD46E6453C672DE7E96B6C1F0D3A3A93DB290A939B63A0E9756566ED63D80E4A621065B3AC71BF537FA9DE8345363DB25BE0622B24EE43FF4765A609739BE0612C4F6852AD998A2D5EE66A19A48C5C2F049CB606AECD4FB68B14BE28E9CC8CAEDEFC599501039C9E61E333B6487FB64145D26BC53BD0EC357CE6CC22D901043EEC24B7940F92C04253513FF16C711039DA3C1E6EE9BA19707845D7055FEB077383C80253E852F4699A493417E8E078BA432846553008B6F88C5D92048C014ABE942B5D785C622EA7277B8C24422471611009604EE51FC9F6ABA96A6A724A83398CF3EBDFC9268A56A1271DCF337D765E134E2F132B089858573F13A1F18F1968FC110EE978EC3360661FF127D97E2AC
+encrypted_data = 72480B838758A1231EA90000928DBFE8D3D42FE9667A4910C7C78BBD91D1AF45DA1D172DBE7918DE42039E356DF1B0CBF329954913E1EFD46B940795320CC5EF05FFE501F20BB50F2C8C12CAD92E32CABE86F0FD1AA5C2B9CD8C20654A7F2E96B29AB1C67D78951AE51B2A1E0BD578B786C5F123ECBB80894B24B8DC4D0846EA6A81E5DFEFE3DE9EF61D3E97E2D6AFC0D7593538FF7ACF53021AC57173B8730D2889E97DBE1DDAB450D2AEC4941800D190B468076F96118C96C9D177E557A1453491171263CDFE7831A85AF465221ED5DA4B5053966AB85B1C91D071956A79DA59B6DDEB07116BE464E18ED448EB8A9203D1FAD3956B4057B58DB96E9D76F76A09EBB8D8799E2999AFC5E275185C1879FAABFFFC28AA8330352A6AF473F6C31F4098AFBD1CA1C00DB175350850411187E52126D0DF736FCABC2727ADBE444F1B3EBBAD6D876870A6E81E72BF4A43BDE5
The length of the final string is 336 bytes.
7.2) set_client_DH_params query
Sent payload (excluding transport headers/trailers):
-0000 | 00 00 00 00 00 00 00 00 44 14 05 00 CF 97 5F 65
-0010 | 78 01 00 00 1F 5F 04 F5 9A 34 B2 BA F3 FF F7 F1
-0020 | C3 31 F2 31 91 49 DF 0F EE 52 4C B3 9F 67 CF EF
-0030 | A6 71 47 6A 74 13 E8 55 FE 50 01 00 FF 65 51 BB
-0040 | 89 A5 2E 6E 84 59 1F FD 97 A0 B9 B0 42 87 F5 DF
-0050 | 2C 9D D9 99 81 BF 33 9D A8 0E 67 F7 76 34 8A D9
-0060 | 18 2D 2B 0E 62 D0 21 B2 01 3D B2 1F C5 63 1F 96
-0070 | F0 BF AD F9 EC 2E AA 77 25 62 47 AE CB D4 6E 64
-0080 | 53 C6 72 DE 7E 96 B6 C1 F0 D3 A3 A9 3D B2 90 A9
-0090 | 39 B6 3A 0E 97 56 56 6E D6 3D 80 E4 A6 21 06 5B
-00A0 | 3A C7 1B F5 37 FA 9D E8 34 53 63 DB 25 BE 06 22
-00B0 | B2 4E E4 3F F4 76 5A 60 97 39 BE 06 12 C4 F6 85
-00C0 | 2A D9 98 A2 D5 EE 66 A1 9A 48 C5 C2 F0 49 CB 60
-00D0 | 6A EC D4 FB 68 B1 4B E2 8E 9C C8 CA ED EF C5 99
-00E0 | 50 10 39 C9 E6 1E 33 3B 64 87 FB 64 14 5D 26 BC
-00F0 | 53 BD 0E C3 57 CE 6C C2 2D 90 10 43 EE C2 4B 79
-0100 | 40 F9 2C 04 25 35 13 FF 16 C7 11 03 9D A3 C1 E6
-0110 | EE 9B A1 97 07 84 5D 70 55 FE B0 77 38 3C 80 25
-0120 | 3E 85 2F 46 99 A4 93 41 7E 8E 07 8B A4 32 84 65
-0130 | 53 00 8B 6F 88 C5 D9 20 48 C0 14 AB E9 42 B5 D7
-0140 | 85 C6 22 EA 72 77 B8 C2 44 22 47 16 11 00 96 04
-0150 | EE 51 FC 9F 6A BA 96 A6 A7 24 A8 33 98 CF 3E BD
-0160 | FC 92 68 A5 6A 12 71 DC F3 37 D7 65 E1 34 E2 F1
-0170 | 32 B0 89 85 85 73 F1 3A 1F 18 F1 96 8F C1 10 EE
-0180 | 97 8E C3 36 06 61 FF 12 7D 97 E2 AC
+0000 | 00 00 00 00 00 00 00 00 84 08 0B 00 8E A3 5F 65
+0010 | 78 01 00 00 1F 5F 04 F5 E4 69 51 99 0E 2C FC CA
+0020 | C9 32 4D 1B 8C 8F 04 C9 A6 4C FF DC C6 39 1B 39
+0030 | 96 EF 16 29 1A 89 8C 9F FE 50 01 00 72 48 0B 83
+0040 | 87 58 A1 23 1E A9 00 00 92 8D BF E8 D3 D4 2F E9
+0050 | 66 7A 49 10 C7 C7 8B BD 91 D1 AF 45 DA 1D 17 2D
+0060 | BE 79 18 DE 42 03 9E 35 6D F1 B0 CB F3 29 95 49
+0070 | 13 E1 EF D4 6B 94 07 95 32 0C C5 EF 05 FF E5 01
+0080 | F2 0B B5 0F 2C 8C 12 CA D9 2E 32 CA BE 86 F0 FD
+0090 | 1A A5 C2 B9 CD 8C 20 65 4A 7F 2E 96 B2 9A B1 C6
+00A0 | 7D 78 95 1A E5 1B 2A 1E 0B D5 78 B7 86 C5 F1 23
+00B0 | EC BB 80 89 4B 24 B8 DC 4D 08 46 EA 6A 81 E5 DF
+00C0 | EF E3 DE 9E F6 1D 3E 97 E2 D6 AF C0 D7 59 35 38
+00D0 | FF 7A CF 53 02 1A C5 71 73 B8 73 0D 28 89 E9 7D
+00E0 | BE 1D DA B4 50 D2 AE C4 94 18 00 D1 90 B4 68 07
+00F0 | 6F 96 11 8C 96 C9 D1 77 E5 57 A1 45 34 91 17 12
+0100 | 63 CD FE 78 31 A8 5A F4 65 22 1E D5 DA 4B 50 53
+0110 | 96 6A B8 5B 1C 91 D0 71 95 6A 79 DA 59 B6 DD EB
+0120 | 07 11 6B E4 64 E1 8E D4 48 EB 8A 92 03 D1 FA D3
+0130 | 95 6B 40 57 B5 8D B9 6E 9D 76 F7 6A 09 EB B8 D8
+0140 | 79 9E 29 99 AF C5 E2 75 18 5C 18 79 FA AB FF FC
+0150 | 28 AA 83 30 35 2A 6A F4 73 F6 C3 1F 40 98 AF BD
+0160 | 1C A1 C0 0D B1 75 35 08 50 41 11 87 E5 21 26 D0
+0170 | DF 73 6F CA BC 27 27 AD BE 44 4F 1B 3E BB AD 6D
+0180 | 87 68 70 A6 E8 1E 72 BF 4A 43 BD E5
Payload (de)serialization:
set_client_DH_params#f5045f1f nonce:int128 server_nonce:int128 encrypted_data:string = Set_client_DH_params_answer;
@@ -746,7 +746,7 @@ encrypted_data := AES256_ige_encrypt (data_with_hash, tmp_aes_key, tmp_aes_iv);<
message_id
8, 8
-44140500CF975F65
+84080B008EA35F65
Message ID generated as specified here » (unixtime() << 32) + (N*4)
@@ -764,19 +764,19 @@ encrypted_data := AES256_ige_encrypt (data_with_hash, tmp_aes_key, tmp_aes_iv);<
nonce
24, 16
-9A34B2BAF3FFF7F1C331F2319149DF0F
+E46951990E2CFCCAC9324D1B8C8F04C9
Value generated by client in Step 1
server_nonce
40, 16
-EE524CB39F67CFEFA671476A7413E855
+A64CFFDCC6391B3996EF16291A898C9F
Value received from server in Step 2
encrypted_data
56, 340
-FE500100FF6551BB89A52E6E84591FFD
97A0B9B04287F5DF2C9DD99981BF339D
A80E67F776348AD9182D2B0E62D021B2
013DB21FC5631F96F0BFADF9EC2EAA77
256247AECBD46E6453C672DE7E96B6C1
F0D3A3A93DB290A939B63A0E9756566E
D63D80E4A621065B3AC71BF537FA9DE8
345363DB25BE0622B24EE43FF4765A60
9739BE0612C4F6852AD998A2D5EE66A1
9A48C5C2F049CB606AECD4FB68B14BE2
8E9CC8CAEDEFC599501039C9E61E333B
6487FB64145D26BC53BD0EC357CE6CC2
2D901043EEC24B7940F92C04253513FF
16C711039DA3C1E6EE9BA19707845D70
55FEB077383C80253E852F4699A49341
7E8E078BA432846553008B6F88C5D920
48C014ABE942B5D785C622EA7277B8C2
4422471611009604EE51FC9F6ABA96A6
A724A83398CF3EBDFC9268A56A1271DC
F337D765E134E2F132B089858573F13A
1F18F1968FC110EE978EC3360661FF12
7D97E2AC
+FE50010072480B838758A1231EA90000
928DBFE8D3D42FE9667A4910C7C78BBD
91D1AF45DA1D172DBE7918DE42039E35
6DF1B0CBF329954913E1EFD46B940795
320CC5EF05FFE501F20BB50F2C8C12CA
D92E32CABE86F0FD1AA5C2B9CD8C2065
4A7F2E96B29AB1C67D78951AE51B2A1E
0BD578B786C5F123ECBB80894B24B8DC
4D0846EA6A81E5DFEFE3DE9EF61D3E97
E2D6AFC0D7593538FF7ACF53021AC571
73B8730D2889E97DBE1DDAB450D2AEC4
941800D190B468076F96118C96C9D177
E557A1453491171263CDFE7831A85AF4
65221ED5DA4B5053966AB85B1C91D071
956A79DA59B6DDEB07116BE464E18ED4
48EB8A9203D1FAD3956B4057B58DB96E
9D76F76A09EBB8D8799E2999AFC5E275
185C1879FAABFFFC28AA8330352A6AF4
73F6C31F4098AFBD1CA1C00DB1753508
50411187E52126D0DF736FCABC2727AD
BE444F1B3EBBAD6D876870A6E81E72BF
4A43BDE5
Encrypted client_DH_inner_data generated previously, serialized as a TL byte string
@@ -785,17 +785,17 @@ encrypted_data := AES256_ige_encrypt (data_with_hash, tmp_aes_key, tmp_aes_iv);<
8) Auth key generation
The client computes the auth_key using formula g_a^b mod dh_prime
:
-auth_key = 68C607FBF732686328AE0C9C39DA9D914C386228BF7FBE1891A24C99167A35B3586593272E4EF007588229042E8035599C21731D959E408B0CF9842AE25F1715E3F58CFAA3737061AAAD1D1C4195F2502C3AAB56C2FFEA4C2CA0A5443F4C4A74FDBF5CA5CC6E254B301DC3262B52FDD0E92E9FB7406E6E9953A028D2CF4BEE3D7C34C8910C03D041AED65FC90A0BFFC5D52718D7D0C6AF7B8C624B967F8BF06201EB64009F1C191E250A81E1261B2BD0C22075D3CFECDE990C857AD9CBCB180DE9AA3211C34D140D67D6778F209A0FA96742D3D05EBDB8A993CF2C40EF44F4B190DAC0A7B9A9766EFF33C60457ABEB765DAF5F75F5EDA564F78AB4DBFD571E03
+auth_key = 592D13011EA9CF4D4C067794B5B53CE4531573E2828E4B3612809790585E36B8F6627E697477BBD9C4104698168C92BF2B7FFBA53D183BC8CA551236FD07BAD96C20C38FFC4BECABD284E65C43CBAEA80640FDE5AC5BF17EC5E13DC0F96B8CC073EED665083971EE76441CADBC506ED559E037DE5AC9BBB85072B283C9FBCD4F22C7DBC3E3C1B4505A4EA99006927291867C39269A824D7C8A11B0128B11BBB7AC98818F00D26E902A1A18A99C5C938AEEF321BA377B66B64F3B1652FC3F21BD96E80AB4E28A7C510E925EF2B69EBE98C359B745BC9F268C6F6E52DE9D263F7C7606A1E7C0827EBDE0FCE1A8D68C6F55C476DADD2A7A59D9E74250F8970384BA
9) Final server reply
The server verifies and confirms that auth_key_hash is unique: since it's unique, it replies with the following:
Received payload (excluding transport headers/trailers):
-0000 | 00 00 00 00 00 00 00 00 01 68 BC C8 CF 97 5F 65
-0010 | 4C 00 00 00 34 F7 CB 3B 9A 34 B2 BA F3 FF F7 F1
-0020 | C3 31 F2 31 91 49 DF 0F EE 52 4C B3 9F 67 CF EF
-0030 | A6 71 47 6A 74 13 E8 55 6C 0F 3C 63 0E 46 CC AE
-0040 | B0 6F 9F 7D 3C 57 80 43
+0000 | 00 00 00 00 00 00 00 00 01 A8 EE 93 8E A3 5F 65
+0010 | 9C 00 00 00 34 F7 CB 3B E4 69 51 99 0E 2C FC CA
+0020 | C9 32 4D 1B 8C 8F 04 C9 A6 4C FF DC C6 39 1B 39
+0030 | 96 EF 16 29 1A 89 8C 9F F4 1A A1 86 22 84 BE 73
+0040 | F2 45 03 E2 1F 6C 24 BF
Payload (de)serialization:
dh_gen_ok#3bcbf734 nonce:int128 server_nonce:int128 new_nonce_hash1:int128 = Set_client_DH_params_answer;
@@ -817,13 +817,13 @@ encrypted_data := AES256_ige_encrypt (data_with_hash, tmp_aes_key, tmp_aes_iv);<
message_id
8, 8
-0168BCC8CF975F65
+01A8EE938EA35F65
Message ID generated as specified here » (unixtime() << 32) + (N*4)
message_length
16, 4
-4C000000
(76 in decimal)
+9C000000
(156 in decimal)
Message body length
@@ -835,19 +835,19 @@ encrypted_data := AES256_ige_encrypt (data_with_hash, tmp_aes_key, tmp_aes_iv);<
nonce
24, 16
-9A34B2BAF3FFF7F1C331F2319149DF0F
+E46951990E2CFCCAC9324D1B8C8F04C9
Value generated by client in Step 1
server_nonce
40, 16
-EE524CB39F67CFEFA671476A7413E855
+A64CFFDCC6391B3996EF16291A898C9F
Value received from server in Step 2
new_nonce_hash1
56, 16
-6C0F3C630E46CCAEB06F9F7D3C578043
+F41AA1862284BE73F24503E21F6C24BF
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.
diff --git a/data/web/corefork.telegram.org/type/AppWebViewResult.html b/data/web/corefork.telegram.org/type/AppWebViewResult.html
index c608dc1a67..edadbf9164 100644
--- a/data/web/corefork.telegram.org/type/AppWebViewResult.html
+++ b/data/web/corefork.telegram.org/type/AppWebViewResult.html
@@ -4,10 +4,10 @@
AppWebViewResult
-
+
-
+
@@ -42,7 +42,7 @@
AppWebViewResult
- Contains the link that must be used to open a named bot web app.
+ Contains the link that must be used to open a named bot mini app.
-
@@ -71,7 +71,7 @@
appWebViewResultUrl
-Contains the link that must be used to open a named bot web app.
+Contains the link that must be used to open a named bot mini app.
@@ -86,7 +86,7 @@
messages.requestAppWebView
-Open a bot web app from a named bot web app deep link, sending over user information after user confirmation.
After calling this method, until the user closes the webview, messages.prolongWebView must be called every 60 seconds.
+Open a bot mini app from a named bot mini app deep link, sending over user information after user confirmation.
After calling this method, until the user closes the webview, messages.prolongWebView must be called every 60 seconds.
diff --git a/data/web/corefork.telegram.org/type/AttachMenuBot.html b/data/web/corefork.telegram.org/type/AttachMenuBot.html
index 7e82a7479d..90d90c66d2 100644
--- a/data/web/corefork.telegram.org/type/AttachMenuBot.html
+++ b/data/web/corefork.telegram.org/type/AttachMenuBot.html
@@ -4,10 +4,10 @@
AttachMenuBot
-
+
-
+
@@ -42,7 +42,7 @@
AttachMenuBot
- Represents a bot web app that can be launched from the attachment menu »
+ Represents a bot mini app that can be launched from the attachment menu »
-
@@ -67,7 +67,7 @@
attachMenuBot
-Represents a bot web app that can be launched from the attachment menu »
+Represents a bot mini app that can be launched from the attachment menu »
diff --git a/data/web/corefork.telegram.org/type/AttachMenuBotIcon.html b/data/web/corefork.telegram.org/type/AttachMenuBotIcon.html
index f137029ee4..b3dcb844f3 100644
--- a/data/web/corefork.telegram.org/type/AttachMenuBotIcon.html
+++ b/data/web/corefork.telegram.org/type/AttachMenuBotIcon.html
@@ -4,10 +4,10 @@
AttachMenuBotIcon
-
+
-
+
@@ -42,7 +42,7 @@
AttachMenuBotIcon
- Represents an attachment menu icon for bot web apps »
+ Represents an attachment menu icon for bot mini apps »
-
@@ -67,7 +67,7 @@
attachMenuBotIcon
-Represents an attachment menu icon for bot web apps »
+Represents an attachment menu icon for bot mini apps »
diff --git a/data/web/corefork.telegram.org/type/AttachMenuBotIconColor.html b/data/web/corefork.telegram.org/type/AttachMenuBotIconColor.html
index 3e35aba1ca..a358e63a99 100644
--- a/data/web/corefork.telegram.org/type/AttachMenuBotIconColor.html
+++ b/data/web/corefork.telegram.org/type/AttachMenuBotIconColor.html
@@ -4,10 +4,10 @@
AttachMenuBotIconColor
-
+
-
+
@@ -42,7 +42,7 @@
AttachMenuBotIconColor
- Represents an attachment menu icon color for bot web apps »
+ Represents an attachment menu icon color for bot mini apps »
-
@@ -67,7 +67,7 @@
attachMenuBotIconColor
-Represents an attachment menu icon color for bot web apps »
+Represents an attachment menu icon color for bot mini apps »
diff --git a/data/web/corefork.telegram.org/type/AttachMenuBots.html b/data/web/corefork.telegram.org/type/AttachMenuBots.html
index d1ad4b36cc..02d179205f 100644
--- a/data/web/corefork.telegram.org/type/AttachMenuBots.html
+++ b/data/web/corefork.telegram.org/type/AttachMenuBots.html
@@ -4,10 +4,10 @@
AttachMenuBots
-
+
-
+
@@ -42,7 +42,7 @@
AttachMenuBots
- Represents a list of bot web apps that can be launched from the attachment menu »
+ Represents a list of bot mini apps that can be launched from the attachment menu »
-
@@ -72,11 +72,11 @@
attachMenuBotsNotModified
-The list of bot web apps hasn't changed
+The list of bot mini apps hasn't changed
attachMenuBots
-Represents a list of bot web apps that can be launched from the attachment menu »
+Represents a list of bot mini apps that can be launched from the attachment menu »
@@ -91,7 +91,7 @@
messages.getAttachMenuBots
-Returns installed attachment menu bot web apps »
+Returns installed attachment menu bot mini apps »
diff --git a/data/web/corefork.telegram.org/type/AttachMenuBotsBot.html b/data/web/corefork.telegram.org/type/AttachMenuBotsBot.html
index d4f9e868ac..a7253a2f51 100644
--- a/data/web/corefork.telegram.org/type/AttachMenuBotsBot.html
+++ b/data/web/corefork.telegram.org/type/AttachMenuBotsBot.html
@@ -4,10 +4,10 @@
AttachMenuBotsBot
-
+
-
+
@@ -42,7 +42,7 @@
AttachMenuBotsBot
- Represents a bot web app that can be launched from the attachment menu »
+ Represents a bot mini app that can be launched from the attachment menu »
-
@@ -71,7 +71,7 @@
attachMenuBotsBot
-Represents a bot web app that can be launched from the attachment menu »
+Represents a bot mini app that can be launched from the attachment menu »
@@ -86,7 +86,7 @@
messages.getAttachMenuBot
-Returns attachment menu entry for a bot web app that can be launched from the attachment menu »
+Returns attachment menu entry for a bot mini app that can be launched from the attachment menu »
diff --git a/data/web/corefork.telegram.org/type/AttachMenuPeerType.html b/data/web/corefork.telegram.org/type/AttachMenuPeerType.html
index 0c697046fa..3fd6a44b06 100644
--- a/data/web/corefork.telegram.org/type/AttachMenuPeerType.html
+++ b/data/web/corefork.telegram.org/type/AttachMenuPeerType.html
@@ -4,10 +4,10 @@
AttachMenuPeerType
-
+
-
+
@@ -42,7 +42,7 @@
AttachMenuPeerType
- Indicates a supported peer type for a bot web app attachment menu
+ Indicates a supported peer type for a bot mini app attachment menu
-
diff --git a/data/web/corefork.telegram.org/type/Bool.html b/data/web/corefork.telegram.org/type/Bool.html
index 5e4ef99273..1f60a50d31 100644
--- a/data/web/corefork.telegram.org/type/Bool.html
+++ b/data/web/corefork.telegram.org/type/Bool.html
@@ -837,7 +837,7 @@
contacts.setBlocked
-Replace the contents of an entire blocklist, see here for more info ».
+Replace the contents of an entire blocklist, see here for more info ».
bots.canSendMessage
diff --git a/data/web/corefork.telegram.org/type/BotApp.html b/data/web/corefork.telegram.org/type/BotApp.html
index 7c87579f7e..39891e52e0 100644
--- a/data/web/corefork.telegram.org/type/BotApp.html
+++ b/data/web/corefork.telegram.org/type/BotApp.html
@@ -4,10 +4,10 @@
BotApp
-
+
-
+
@@ -42,7 +42,7 @@
BotApp
- Contains information about a named bot web app.
+ Contains information about a named bot mini app.
-
@@ -72,7 +72,7 @@
botApp
-Contains information about a named bot web app.
+Contains information about a named bot mini app.
diff --git a/data/web/corefork.telegram.org/type/InlineBotWebView.html b/data/web/corefork.telegram.org/type/InlineBotWebView.html
index e8679e3dd5..c862aae0b5 100644
--- a/data/web/corefork.telegram.org/type/InlineBotWebView.html
+++ b/data/web/corefork.telegram.org/type/InlineBotWebView.html
@@ -4,10 +4,10 @@
InlineBotWebView
-
+
-
+
@@ -42,7 +42,7 @@
InlineBotWebView
- Specifies a bot web app button, shown on top of the inline query results list.
+ Specifies a bot mini app button, shown on top of the inline query results list.
-
@@ -67,7 +67,7 @@
inlineBotWebView
-Specifies a bot web app button, shown on top of the inline query results list.
+Specifies a bot mini app button, shown on top of the inline query results list.
diff --git a/data/web/corefork.telegram.org/type/InputBotApp.html b/data/web/corefork.telegram.org/type/InputBotApp.html
index c3a6ab0dae..7618d38d34 100644
--- a/data/web/corefork.telegram.org/type/InputBotApp.html
+++ b/data/web/corefork.telegram.org/type/InputBotApp.html
@@ -4,10 +4,10 @@
InputBotApp
-
+
-
+
@@ -42,7 +42,7 @@
InputBotApp
- Used to fetch information about a named bot web app
+ Used to fetch information about a named bot mini app
-
@@ -68,11 +68,11 @@
inputBotAppID
-Used to fetch information about a named bot web app by its ID
+Used to fetch information about a named bot mini app by its ID
inputBotAppShortName
-Used to fetch information about a named bot web app by its short name
+Used to fetch information about a named bot mini app by its short name
diff --git a/data/web/corefork.telegram.org/type/KeyboardButton.html b/data/web/corefork.telegram.org/type/KeyboardButton.html
index 4e295bbedc..4827580e24 100644
--- a/data/web/corefork.telegram.org/type/KeyboardButton.html
+++ b/data/web/corefork.telegram.org/type/KeyboardButton.html
@@ -134,11 +134,11 @@
keyboardButtonWebView
-Button to open a bot web app using messages.requestWebView, sending over user information after user confirmation.
Can only be sent or received as part of an inline keyboard, use keyboardButtonSimpleWebView for reply keyboards.
+Button to open a bot mini app using messages.requestWebView, sending over user information after user confirmation.
Can only be sent or received as part of an inline keyboard, use keyboardButtonSimpleWebView for reply keyboards.
keyboardButtonSimpleWebView
-Button to open a bot web app using messages.requestSimpleWebView, without sending user information to the web app.
Can only be sent or received as part of a reply keyboard, use keyboardButtonWebView for inline keyboards.
+Button to open a bot mini app using messages.requestSimpleWebView, without sending user information to the web app.
Can only be sent or received as part of a reply keyboard, use keyboardButtonWebView for inline keyboards.
keyboardButtonRequestPeer
diff --git a/data/web/corefork.telegram.org/type/MessageAction.html b/data/web/corefork.telegram.org/type/MessageAction.html
index 6ee367b03b..8f405e071d 100644
--- a/data/web/corefork.telegram.org/type/MessageAction.html
+++ b/data/web/corefork.telegram.org/type/MessageAction.html
@@ -225,11 +225,11 @@
messageActionWebViewDataSentMe
-Data from an opened reply keyboard bot web app was relayed to the bot that owns it (bot side service message).
+Data from an opened reply keyboard bot mini app was relayed to the bot that owns it (bot side service message).
messageActionWebViewDataSent
-Data from an opened reply keyboard bot web app was relayed to the bot that owns it (user side service message).
Clients should display a service message with the text Data from the «$text» button was transferred to the bot.
+Data from an opened reply keyboard bot mini app was relayed to the bot that owns it (user side service message).
Clients should display a service message with the text Data from the «$text» button was transferred to the bot.
messageActionGiftPremium
diff --git a/data/web/corefork.telegram.org/type/SimpleWebViewResult.html b/data/web/corefork.telegram.org/type/SimpleWebViewResult.html
index ccd5b356b1..1230a09216 100644
--- a/data/web/corefork.telegram.org/type/SimpleWebViewResult.html
+++ b/data/web/corefork.telegram.org/type/SimpleWebViewResult.html
@@ -86,7 +86,7 @@
messages.requestSimpleWebView
-Open a bot web app.
+Open a bot mini app.
diff --git a/data/web/corefork.telegram.org/type/Update.html b/data/web/corefork.telegram.org/type/Update.html
index 6231050dd5..bc1d43df5b 100644
--- a/data/web/corefork.telegram.org/type/Update.html
+++ b/data/web/corefork.telegram.org/type/Update.html
@@ -215,7 +215,7 @@
updateNewAuthorization
-Authorized to the current user's account through an unknown device.
+A new session logged into the current user's account through an unknown device.
updateNewEncryptedMessage
diff --git a/data/web/corefork.telegram.org/type/Updates.html b/data/web/corefork.telegram.org/type/Updates.html
index 4c4abe782a..4f52538398 100644
--- a/data/web/corefork.telegram.org/type/Updates.html
+++ b/data/web/corefork.telegram.org/type/Updates.html
@@ -494,7 +494,7 @@
messages.sendWebViewData
-Used by the user to relay data from an opened reply keyboard bot web app to the bot that owns it.
+Used by the user to relay data from an opened reply keyboard bot mini app to the bot that owns it.
channels.toggleJoinToSend
diff --git a/data/web/corefork.telegram.org/type/WebViewResult.html b/data/web/corefork.telegram.org/type/WebViewResult.html
index 407a2c0274..6a447605f9 100644
--- a/data/web/corefork.telegram.org/type/WebViewResult.html
+++ b/data/web/corefork.telegram.org/type/WebViewResult.html
@@ -86,7 +86,7 @@
messages.requestWebView
-Open a bot web app, sending over user information after user confirmation.
After calling this method, until the user closes the webview, messages.prolongWebView must be called every 60 seconds.
+Open a bot mini app, sending over user information after user confirmation.
After calling this method, until the user closes the webview, messages.prolongWebView must be called every 60 seconds.
diff --git a/data/web/corefork.telegram.org/type/messages.BotApp.html b/data/web/corefork.telegram.org/type/messages.BotApp.html
index 49396a01a4..efda1f4c72 100644
--- a/data/web/corefork.telegram.org/type/messages.BotApp.html
+++ b/data/web/corefork.telegram.org/type/messages.BotApp.html
@@ -4,10 +4,10 @@
messages.BotApp
-
+
-
+
@@ -42,7 +42,7 @@
messages.BotApp
- Contains information about a named bot web app
+ Contains information about a named bot mini app
-
@@ -71,7 +71,7 @@
messages.botApp
-Contains information about a named bot web app
+Contains information about a named bot mini app
@@ -86,7 +86,7 @@
messages.getBotApp
-Obtain information about a named bot web app
+Obtain information about a named bot mini app
diff --git a/data/web/corefork.telegram.org/type/stories.Stories.html b/data/web/corefork.telegram.org/type/stories.Stories.html
index bb6fb1dc4a..fcf5ae2d2b 100644
--- a/data/web/corefork.telegram.org/type/stories.Stories.html
+++ b/data/web/corefork.telegram.org/type/stories.Stories.html
@@ -42,7 +42,7 @@
stories.Stories
- List of stories
+ List of stories
-
@@ -73,7 +73,7 @@
stories.stories
-List of stories
+List of stories
@@ -88,11 +88,11 @@
stories.getPinnedStories
-Fetch the stories pinned on a peer's profile.
+Fetch the stories pinned on a peer's profile.
stories.getStoriesArchive
-Fetch the story archive » of a peer we control.
+Fetch the story archive » of a peer we control.
stories.getStoriesByID