diff --git a/data/corefork.telegram.org.html b/data/corefork.telegram.org.html index cce89d5518..7adcd67da8 100644 --- a/data/corefork.telegram.org.html +++ b/data/corefork.telegram.org.html @@ -91,8 +91,8 @@
How to subscribe to updates and handle them properly.
How to subscribe and handle them properly.
-How to handle channels, supergroups, gigagroups, legacy groups, and what's the difference between them.
+How to handle channels, supergroups, gigagroups, basic groups, and what's the difference between them.
Telegram offers detailed channel statistics for channels and supergroups.
Telegram allows users to react on any message using specific emojis, triggering cute lottie animations.
Channels, legacy groups and supergroups may have a public username or a private invite link: private invite links may be further enhanced with per-user join requests.
+Channels, basic groups and supergroups may have a public username or a private invite link: private invite links may be further enhanced with per-user join requests.
How to handle admin permissions, granular bans and global permissions in channels, groups and supergroups.
How to subscribe to updates and handle them properly.
How to subscribe and handle them properly.
-How to handle channels, supergroups, gigagroups, legacy groups, and what's the difference between them.
+How to handle channels, supergroups, gigagroups, basic groups, and what's the difference between them.
Telegram offers detailed channel statistics for channels and supergroups.
Telegram allows users to react on any message using specific emojis, triggering cute lottie animations.
Channels, legacy groups and supergroups may have a public username or a private invite link: private invite links may be further enhanced with per-user join requests.
+Channels, basic groups and supergroups may have a public username or a private invite link: private invite links may be further enhanced with per-user join requests.
How to handle admin permissions, granular bans and global permissions in channels, groups and supergroups.
Authorization is associated with a client's encryption key identifier: auth_key_id. No additional parameters need to be passed into methods following authorization.
-To log in as a bot, follow these instructions ».
-Authorization is associated with a client's encryption key identifier: auth_key_id. No additional parameters need to be passed into methods following authorization.
+To log in as a bot, follow these instructions ».
+Example implementations: telegram for android, tdlib.
-To show a nicely formatted and validated phone number field, the help.countriesList constructor can be obtained using the help.getCountriesList method.
The help.countriesList config is then used as described here ».
Then, a text message containing an authorization code is sent to the user's phone using auth.sendCode.
However, this is not always the case, if logout tokens are used:
When invoking auth.logOut on a previously authorized session with 2FA enabled, the server may return a future_auth_token
, which should be stored in the local database.
At all times, the logout token database should contain at most 20 tokens: evict older tokens as new tokens are added.
When invoking auth.sendCode, all logout tokens present in the database should be provided to codeSettings.logout_tokens
.
If any of the logout tokens matches the account we're trying to login into and the token hasn't expired, auth.sendCode will directly return a SESSION_PASSWORD_NEEDED
RPC error, directly asking the user to enter the 2FA password, without sending any authorization code.
To show a nicely formatted and validated phone number field, the help.countriesList constructor can be obtained using the help.getCountriesList method.
+The help.countriesList config is then used as described here ».
Then, a text message containing an authorization code is sent to the user's phone using auth.sendCode.
+However, this is not always the case, if logout tokens are used:
When invoking auth.logOut on a previously authorized session with 2FA enabled, the server may return a future_auth_token
, which should be stored in the local database.
+At all times, the logout token database should contain at most 20 tokens: evict older tokens as new tokens are added.
+When invoking auth.sendCode, all logout tokens present in the database should be provided to codeSettings.logout_tokens
.
+If any of the logout tokens matches the account we're trying to login into and the token hasn't expired, auth.sendCode will directly return a SESSION_PASSWORD_NEEDED
RPC error, directly asking the user to enter the 2FA password, without sending any authorization code.
Otherwise, the system will send an authorization code using the following logic:
-The system will automatically choose how to send the authorization code; there are multiple possible ways the code can arrive:
The auth.sendCode method also has parameters for enabling/disabling use of flash calls and missed calls, and allows passing an SMS token that will be included in the sent SMS.
For example, the latter is required in newer versions of android, to use the android SMS receiver APIs.
The auth.sendCode method also has parameters for enabling/disabling use of flash calls and missed calls, and allows passing an SMS token that will be included in the sent SMS. +For example, the latter is required in newer versions of android, to use the android SMS receiver APIs.
The returned auth.SentCode object will contain multiple parameters:
flags | -# | +# | Flags, see TL conditional fields |
type | -auth.SentCodeType | +auth.SentCodeType | Phone code type |
phone_code_hash | -string | +string | Phone code hash, to be stored and later re-used with auth.signIn |
next_type | -flags.1?auth.CodeType | +flags.1?auth.CodeType | Phone code type that will be sent next, if the phone code is not received within timeout seconds: to send it use auth.resendCode |
timeout | -flags.2?int | +flags.2?int | Timeout for reception of the phone code |
If the message takes too long (timeout
seconds) to arrive at the phone, the auth.resendCode method may be invoked to resend a code of type next_type
.
If the same happens again, you can use auth.resendCode with the next_type
returned by the previous call to auth.resendCode.
To cancel the verification code use auth.cancelCode.
If the message takes too long (timeout
seconds) to arrive at the phone, the auth.resendCode method may be invoked to resend a code of type next_type
.
+If the same happens again, you can use auth.resendCode with the next_type
returned by the previous call to auth.resendCode.
+To cancel the verification code use auth.cancelCode.
When user enters verification code, the auth.signIn method must be used to validate it and possibly sign user in.
-If the code was entered correctly, but the method returns auth.authorizationSignUpRequired, it means that account with this phone number doesn't exist yet: user needs to provide basic information, accept terms of service and then the new user registration method (auth.signUp) must be invoked.
-When trying to sign in using auth.signIn, an error 400 SESSION_PASSWORD_NEEDED may be returned, if the user has two-factor authentication enabled.
In this case, instructions for SRP 2FA authentication must be followed.
If the code was entered correctly, but the method returns auth.authorizationSignUpRequired, it means that account with this phone number doesn't exist yet: user needs to provide basic information, accept terms of service and then the new user registration method (auth.signUp) must be invoked.
+When trying to sign in using auth.signIn, an error 400 SESSION_PASSWORD_NEEDED may be returned, if the user has two-factor authentication enabled. +In this case, instructions for SRP 2FA authentication must be followed.
To set up two-factor authorization on an already authorized account, follow the SRP 2FA authentication docs.
-Each phone number is limited to only a certain amount of logins per day (e.g. 5, but this is subject to change) after which the API will return a FLOOD error until the next day. This might not be enough for testing the implementation of User Authorization flows in client applications.
There are several reserved phone number prefixes for testing that your application handles redirects between DCs, sign up, sign in and 2FA flows correctly. These numbers are only available on Test DCs (their IP addresses for TCP transport are available in API development tools panel after api_id was obtained, URI format for HTTPS/Websocket transport).
If you wish to emulate an application of a user associated with DC number X, it is sufficient to specify the phone number as 99966XYYYY
, where YYYY are random numbers, when registering the user. A user like this would always get XXXXX as the login confirmation code (the DC number, repeated five times). Note that the value of X must be in the range of 1-3 because there are only 3 Test DCs. When the flood limit is reached for any particular test number, just choose another number (changing the YYYY random part).
-To help you with working on production DCs, logins with the same phone number with which the
api_id
was registered have more generous flood limits.
As a result of authorization, the client key, auth_key_id, becomes associated with the user, and each subsequent API call with this key will be executed with that user's identity. The authorization method itself returns the relevant user. It is best to immediately store the User ID locally in a binding with the key.
+As a result of authorization, the client key, auth_key_id, becomes associated with the user, and each subsequent API call with this key will be executed with that user's identity. The authorization method itself returns the relevant user. It is best to immediately store the User ID locally in a binding with the key.
Only a small portion of the API methods are available to unauthorized users:
Other methods will result in an error: 401 UNAUTHORIZED.
-Other methods will result in an error: 401 UNAUTHORIZED.
diff --git a/data/corefork.telegram.org/api/channel.html b/data/corefork.telegram.org/api/channel.html index 953225384b..f5b490e0d3 100644 --- a/data/corefork.telegram.org/api/channel.html +++ b/data/corefork.telegram.org/api/channel.html @@ -2,12 +2,12 @@ -geo_point
to become when prompted by the API using suggestions », can convert a megagroup into a gigagroup using channels.convertToGigagroup (one way only).send_messages
rights are disabled for all group participants by default), but the participant limit is removed and the group can become much bigger than a supergroup (e.g. >200,000 currently).In previous versions of telegram, only legacy groups (represented by chat constructors) could be created using messages.createChat: these groups have fewer features, and can only have 200 members at max.
-Messages from all legacy groups are stored in the user's message box »: this means that all legacy groups and all private chats share the same, single message ID and PTS sequence.
In previous versions of telegram, only basic groups (represented by chat constructors) could be created using messages.createChat: these groups have fewer features, and can only have 200 members at max.
+Messages from all basic groups are stored in the user's message box »: this means that all basic groups and all private chats share the same, single message ID and PTS sequence.
To upgrade a legacy group to a supergroup, messages.migrateChat can be used. +
To upgrade a basic group to a supergroup, messages.migrateChat can be used.
The chats
field of the result will have two objects:
migrated_to
field, indicating the address of the new supergroupchats
field of the result will have two objects:
When getting full info about the migrated channel, the channelFull object will have migrated_from_chat_id
and migrated_from_max_id
fields indicating the original ID of the chat, and the message ID in the original chat at which the group was migrated.
All users of the chat will receive an updateNewMessage from the old chat with a messageService containing a messageActionChatMigrateTo constructor.
All new messages have to be sent to the new supergroup.
-When working with migrated groups clients need to handle loading of the message history (as well as search results et cetera) from both the legacy group and the new supergroup. This is done by merging the two messages lists (requested with different Peer values) client side.
+When working with migrated groups clients need to handle loading of the message history (as well as search results et cetera) from both the basic group and the new supergroup. This is done by merging the two messages lists (requested with different Peer values) client side.
Channels, legacy groups and supergroups may have a public username or a private invite link: private invite links may be further enhanced with per-user join requests.
+Channels, basic groups and supergroups may have a public username or a private invite link: private invite links may be further enhanced with per-user join requests.
For more info on how to work with public usernames, invite links and join requests, see here ».
Channels, legacy groups and supergroups allow setting granular permissions both for admins and specific users; channels, supergroups and legacy groups also allow setting global granular permissions for users.
+Channels, basic groups and supergroups allow setting granular permissions both for admins and specific users; channels, supergroups and basic groups also allow setting global granular permissions for users.
For more info on how to set and modify rights, see here ».
Telegram allows pinning multiple messages on top in a chat, group, supergroup or channel.
diff --git a/data/corefork.telegram.org/api/config.html b/data/corefork.telegram.org/api/config.html index bfa8523ca8..af203c0300 100644 --- a/data/corefork.telegram.org/api/config.html +++ b/data/corefork.telegram.org/api/config.html @@ -45,287 +45,314 @@The MTProto API has multiple configuration parameters that can be fetched with the appropriate methods.
-config#330b4067 flags:# phonecalls_enabled:flags.1?true default_p2p_contacts:flags.3?true preload_featured_stickers:flags.4?true ignore_phone_entities:flags.5?true revoke_pm_inbox:flags.6?true blocked_mode:flags.8?true pfs_enabled:flags.13?true date:int expires:int test_mode:Bool this_dc:int dc_options:Vector<DcOption> dc_txt_domain_name:string chat_size_max:int megagroup_size_max:int forwarded_count_max:int online_update_period_ms:int offline_blur_timeout_ms:int offline_idle_timeout_ms:int online_cloud_timeout_ms:int notify_cloud_delay_ms:int notify_default_delay_ms:int push_chat_period_ms:int push_chat_limit:int saved_gifs_limit:int edit_time_limit:int revoke_time_limit:int revoke_pm_time_limit:int rating_e_decay:int stickers_recent_limit:int stickers_faved_limit:int channels_read_media_period:int tmp_sessions:flags.0?int pinned_dialogs_count_max:int pinned_infolder_count_max:int call_receive_timeout_ms:int call_ring_timeout_ms:int call_connect_timeout_ms:int call_packet_timeout_ms:int me_url_prefix:string autoupdate_url_prefix:flags.7?string gif_search_username:flags.9?string venue_search_username:flags.10?string img_search_username:flags.11?string static_maps_provider:flags.12?string caption_length_max:int message_length_max:int webfile_dc_id:int suggested_lang_code:flags.2?string lang_pack_version:flags.2?int base_lang_pack_version:flags.2?int = Config;
-nearestDc#8e1a1775 country:string this_dc:int nearest_dc:int = NearestDc;
+MTProto configuration
+config#330b4067 flags:# phonecalls_enabled:flags.1?true default_p2p_contacts:flags.3?true preload_featured_stickers:flags.4?true ignore_phone_entities:flags.5?true revoke_pm_inbox:flags.6?true blocked_mode:flags.8?true pfs_enabled:flags.13?true date:int expires:int test_mode:Bool this_dc:int dc_options:Vector<DcOption> dc_txt_domain_name:string chat_size_max:int megagroup_size_max:int forwarded_count_max:int online_update_period_ms:int offline_blur_timeout_ms:int offline_idle_timeout_ms:int online_cloud_timeout_ms:int notify_cloud_delay_ms:int notify_default_delay_ms:int push_chat_period_ms:int push_chat_limit:int saved_gifs_limit:int edit_time_limit:int revoke_time_limit:int revoke_pm_time_limit:int rating_e_decay:int stickers_recent_limit:int stickers_faved_limit:int channels_read_media_period:int tmp_sessions:flags.0?int pinned_dialogs_count_max:int pinned_infolder_count_max:int call_receive_timeout_ms:int call_ring_timeout_ms:int call_connect_timeout_ms:int call_packet_timeout_ms:int me_url_prefix:string autoupdate_url_prefix:flags.7?string gif_search_username:flags.9?string venue_search_username:flags.10?string img_search_username:flags.11?string static_maps_provider:flags.12?string caption_length_max:int message_length_max:int webfile_dc_id:int suggested_lang_code:flags.2?string lang_pack_version:flags.2?int base_lang_pack_version:flags.2?int = Config;
+nearestDc#8e1a1775 country:string this_dc:int nearest_dc:int = NearestDc;
---functions---
-help.getConfig#c4f9186b = Config;
-help.getNearestDc#1fb33026 = NearestDc;
+help.getConfig#c4f9186b = Config;
+help.getNearestDc#1fb33026 = NearestDc;
The huge config constructor contains lots of useful information, from chat and message size limitations, to privacy settings, online status refresh interval and timeout, VoIP configuration, default inline bot usernames for GIF, image and venue lookup, and lots of other global and user-specific information, check out the constructor page for more information.
-jsonObjectValue#c0de1bd9 key:string value:JSONValue = JSONObjectValue;
+Client configuration
+jsonObjectValue#c0de1bd9 key:string value:JSONValue = JSONObjectValue;
-jsonNull#3f6d7b68 = JSONValue;
-jsonBool#c7345e6a value:Bool = JSONValue;
-jsonNumber#2be0dfa4 value:double = JSONValue;
-jsonString#b71e767a value:string = JSONValue;
-jsonArray#f7444763 value:Vector<JSONValue> = JSONValue;
-jsonObject#99c1d49d value:Vector<JSONObjectValue> = JSONValue;
+jsonNull#3f6d7b68 = JSONValue;
+jsonBool#c7345e6a value:Bool = JSONValue;
+jsonNumber#2be0dfa4 value:double = JSONValue;
+jsonString#b71e767a value:string = JSONValue;
+jsonArray#f7444763 value:Vector<JSONValue> = JSONValue;
+jsonObject#99c1d49d value:Vector<JSONObjectValue> = JSONValue;
---functions---
-help.getAppConfig#98914110 = JSONValue;
-The help.getAppConfig method returns a JSON object containing rapidly evolving, client-specific configuration parameters.
While help.getConfig returns MTProto-specific configuration with information about server-side limitations and other MTProto-related information, help.getAppConfig returns configuration parameters useful for graphical Telegram clients.
-Typical fields included in the resulting JSON object are:
emojies_animated_zoom
- Animated emojis and animated dice should be scaled by this factor before being shown to the user (float)
- keep_alive_service
- Whether app clients should start a keepalive service to keep the app running and fetch updates even when the app is closed (boolean)
background_connection
- Whether app clients should start a background TCP connection for MTProto update fetching (boolean)
- emojies_send_dice
- A list of supported animated dice stickers (array of strings).
emojies_send_dice_success
- For animated dice emojis other than the basic , indicates the winning dice value and the final frame of the animated sticker, at which to show the fireworks (object with emoji keys and object values, containing value
and frame_start
float values)
- emojies_sounds
- A map of soundbites to be played when the user clicks on the specified animated emoji; the file reference field should be base64-decoded before downloading the file (map of file IDs, with emoji string keys)
gif_search_branding
- Specifies the name of the service providing GIF search through gif_search_username (string)
- gif_search_emojies
- Specifies a list of emojies that should be suggested as search term in a bar above the GIF search box (array of string emojis)
stickers_emoji_suggest_only_api
- Specifies that the app should not display local sticker suggestions for emojis at all and just use the result of messages.getStickers (bool)
- stickers_emoji_cache_time
- Specifies the validity period of the local cache of messages.getStickers, also relevant when generating the pagination hash when invoking the method. (int)
qr_login_camera
- Whether the Settings->Devices menu should show an option to scan a QR login code (boolean)
- qr_login_code
- Whether the login screen should show a QR code login option, possibly as default login method (string, “disabled”, “primary” or “secondary”)
dialog_filters_enabled
- Whether clients should show an option for managing dialog filters AKA folders (boolean)
- dialog_filters_tooltip
- Whether clients should actively show a tooltip, inviting the user to configure dialog filters AKA folders; typically this happens when the chat list is long enough to start getting cluttered. (boolean)
autoarchive_setting_available
- Whether clients can invoke account.setGlobalPrivacySettings with globalPrivacySettings.archive_and_mute_new_noncontact_peers = boolTrue
, to automatically archive and mute new incoming chats from non-contacts. (boolean)
- pending_suggestions
- Contains a list of suggestions that should be actively shown as a tooltip to the user. (Array of strings, possible values shown in the suggestions section ».
url_auth_domains
- A list of domains that support automatic login with manual user confirmation, click here for more info on URL authorization ». (array of strings)
- autologin_domains
- A list of Telegram domains that support automatic login with no user confirmation, click here for more info on URL authorization ». (array of strings)
autologin_token
- Autologin token, click here for more info on URL authorization ». (string)
- round_video_encoding
- Contains a set of recommended codec parameters for round videos.
chat_read_mark_size_threshold
- Per-user read receipts, fetchable using messages.getMessageReadParticipants, will be available in groups with an amount of participants less or equal to chat_read_mark_size_threshold
. (int)
- chat_read_mark_expire_period
- To protect user privacy, read receipts are only stored for chat_read_mark_expire_period
seconds after the message was sent. (int)
groupcall_video_participants_max
- Maximum number of participants in a group call (livestreams allow ∞ participants) (int)
- reactions_default
- Default emoji reaction to use in the quick reaction menu, this value can be changed using messages.setDefaultReaction (string)
* reactions_uniq_max
- Maximum number of unique reaction-emojis for any given message: for example, if there are 2000 and 1000 reactions and reactions_uniq_max = 2, you can't add a reaction, because that would raise the number of unique reaction-emojis to 3 > 2. (integer)
+help.getAppConfig#98914110 = JSONValue;
+The help.getAppConfig method returns a JSON object containing rapidly evolving, client-specific configuration parameters.
+While help.getConfig returns MTProto-specific configuration with information about server-side limitations and other MTProto-related information, help.getAppConfig returns configuration parameters useful for graphical Telegram clients.
Typical fields included in the resulting JSON object are:
+emojies_animated_zoom
- Animated emojis and animated dice should be scaled by this factor before being shown to the user (float)keep_alive_service
- Whether app clients should start a keepalive service to keep the app running and fetch updates even when the app is closed (boolean)background_connection
- Whether app clients should start a background TCP connection for MTProto update fetching (boolean)emojies_send_dice
- A list of supported animated dice stickers (array of strings).emojies_send_dice_success
- For animated dice emojis other than the basic , indicates the winning dice value and the final frame of the animated sticker, at which to show the fireworks (object with emoji keys and object values, containing value
and frame_start
float values)emojies_sounds
- A map of soundbites to be played when the user clicks on the specified animated emoji; the file reference field should be base64-decoded before downloading the file (map of file IDs, with emoji string keys)gif_search_branding
- Specifies the name of the service providing GIF search through gif_search_username (string)gif_search_emojies
- Specifies a list of emojies that should be suggested as search term in a bar above the GIF search box (array of string emojis)stickers_emoji_suggest_only_api
- Specifies that the app should not display local sticker suggestions for emojis at all and just use the result of messages.getStickers (bool)stickers_emoji_cache_time
- Specifies the validity period of the local cache of messages.getStickers, also relevant when generating the pagination hash when invoking the method. (int)qr_login_camera
- Whether the Settings->Devices menu should show an option to scan a QR login code (boolean)qr_login_code
- Whether the login screen should show a QR code login option, possibly as default login method (string, "disabled", "primary" or "secondary")dialog_filters_enabled
- Whether clients should show an option for managing dialog filters AKA folders (boolean)dialog_filters_tooltip
- Whether clients should actively show a tooltip, inviting the user to configure dialog filters AKA folders; typically this happens when the chat list is long enough to start getting cluttered. (boolean)autoarchive_setting_available
- Whether clients can invoke account.setGlobalPrivacySettings with globalPrivacySettings.archive_and_mute_new_noncontact_peers = boolTrue
, to automatically archive and mute new incoming chats from non-contacts. (boolean)pending_suggestions
- Contains a list of suggestions that should be actively shown as a tooltip to the user. (Array of strings, possible values shown in the suggestions section ». url_auth_domains
- A list of domains that support automatic login with manual user confirmation, click here for more info on URL authorization ». (array of strings)autologin_domains
- A list of Telegram domains that support automatic login with no user confirmation, click here for more info on URL authorization ». (array of strings)autologin_token
- Autologin token, click here for more info on URL authorization ». (string)round_video_encoding
- Contains a set of recommended codec parameters for round videos. chat_read_mark_size_threshold
- Per-user read receipts, fetchable using messages.getMessageReadParticipants, will be available in groups with an amount of participants less or equal to chat_read_mark_size_threshold
. (int)chat_read_mark_expire_period
- To protect user privacy, read receipts are only stored for chat_read_mark_expire_period
seconds after the message was sent. (int)groupcall_video_participants_max
- Maximum number of participants in a group call (livestreams allow ∞ participants) (int)reactions_default
- Default emoji reaction to use in the quick reaction menu, this value can be changed using messages.setDefaultReaction (string)reactions_uniq_max
- Maximum number of unique reaction-emojis for any given message: for example, if there are 2000 and 1000 reactions and reactions_uniq_max = 2, you can't add a reaction, because that would raise the number of unique reaction-emojis to 3 > 2. (integer)Example value:
-{
- "test": 1,
- "emojies_animated_zoom": 0.625,
- "keep_alive_service": true,
- "background_connection": true,
- "emojies_send_dice": [
- "\ud83c\udfb2",
- "\ud83c\udfaf",
- "\ud83c\udfc0",
- "\u26bd",
- "\u26bd\ufe0f",
- "\ud83c\udfb0",
- "\ud83c\udfb3"
+{
+ "test": 1,
+ "emojies_animated_zoom": 0.625,
+ "keep_alive_service": true,
+ "background_connection": true,
+ "emojies_send_dice": [
+ "\ud83c\udfb2",
+ "\ud83c\udfaf",
+ "\ud83c\udfc0",
+ "\u26bd",
+ "\u26bd\ufe0f",
+ "\ud83c\udfb0",
+ "\ud83c\udfb3"
],
- "emojies_send_dice_success": {
- "\ud83c\udfaf": {
- "value": 6,
- "frame_start": 62
+ "emojies_send_dice_success": {
+ "\ud83c\udfaf": {
+ "value": 6,
+ "frame_start": 62
},
- "\ud83c\udfc0": {
- "value": 5,
- "frame_start": 110
+ "\ud83c\udfc0": {
+ "value": 5,
+ "frame_start": 110
},
- "\u26bd": {
- "value": 5,
- "frame_start": 110
+ "\u26bd": {
+ "value": 5,
+ "frame_start": 110
},
- "\u26bd\ufe0f": {
- "value": 5,
- "frame_start": 110
+ "\u26bd\ufe0f": {
+ "value": 5,
+ "frame_start": 110
},
- "\ud83c\udfb0": {
- "value": 64,
- "frame_start": 110
+ "\ud83c\udfb0": {
+ "value": 64,
+ "frame_start": 110
},
- "\ud83c\udfb3": {
- "value": 6,
- "frame_start": 110
+ "\ud83c\udfb3": {
+ "value": 6,
+ "frame_start": 110
}
},
- "emojies_sounds": {
- "\ud83c\udf83": {
- "id": "4956223179606458539",
- "access_hash": "-2107001400913062971",
- "file_reference_base64": "AGIaeBZckszt-s71DzCHhSkfZI_l"
+ "emojies_sounds": {
+ "\ud83c\udf83": {
+ "id": "4956223179606458539",
+ "access_hash": "-2107001400913062971",
+ "file_reference_base64": "AGIaeBZckszt-s71DzCHhSkfZI_l"
},
- "\u26b0": {
- "id": "4956223179606458540",
- "access_hash": "-1498869544183595185",
- "file_reference_base64": "AGIaeBZRfKxsAgnaLEDh5XIa8Gri"
+ "\u26b0": {
+ "id": "4956223179606458540",
+ "access_hash": "-1498869544183595185",
+ "file_reference_base64": "AGIaeBZRfKxsAgnaLEDh5XIa8Gri"
},
- "\ud83e\udddf\u200d\u2642": {
- "id": "4960929110848176331",
- "access_hash": "3986395821757915468",
- "file_reference_base64": "AGIaeBZcFga_bS9BsPvVNA2zuYCI"
+ "\ud83e\udddf\u200d\u2642": {
+ "id": "4960929110848176331",
+ "access_hash": "3986395821757915468",
+ "file_reference_base64": "AGIaeBZcFga_bS9BsPvVNA2zuYCI"
},
- "\ud83e\udddf": {
- "id": "4960929110848176332",
- "access_hash": "-8929417974289765626",
- "file_reference_base64": "AGIaeBbUbidUDCl4nImJXPTl2wWj"
+ "\ud83e\udddf": {
+ "id": "4960929110848176332",
+ "access_hash": "-8929417974289765626",
+ "file_reference_base64": "AGIaeBbUbidUDCl4nImJXPTl2wWj"
},
- "\ud83e\udddf\u200d\u2640": {
- "id": "4960929110848176333",
- "access_hash": "9161696144162881753",
- "file_reference_base64": "AGIaeBb-ulJ2E-rSI2B8EKyAXs-8"
+ "\ud83e\udddf\u200d\u2640": {
+ "id": "4960929110848176333",
+ "access_hash": "9161696144162881753",
+ "file_reference_base64": "AGIaeBb-ulJ2E-rSI2B8EKyAXs-8"
},
- "\ud83c\udf51": {
- "id": "4963180910661861548",
- "access_hash": "-7431729439735063448",
- "file_reference_base64": "AGIaeBa940aXpIVLThj0J2ctxYFe"
+ "\ud83c\udf51": {
+ "id": "4963180910661861548",
+ "access_hash": "-7431729439735063448",
+ "file_reference_base64": "AGIaeBa940aXpIVLThj0J2ctxYFe"
},
- "\ud83c\udf8a": {
- "id": "5094064004578410732",
- "access_hash": "8518192996098758509",
- "file_reference_base64": "AGIaeBZFqTTp5drt0JZ86DGDAu1t"
+ "\ud83c\udf8a": {
+ "id": "5094064004578410732",
+ "access_hash": "8518192996098758509",
+ "file_reference_base64": "AGIaeBZFqTTp5drt0JZ86DGDAu1t"
},
- "\ud83c\udf84": {
- "id": "5094064004578410733",
- "access_hash": "-4142643820629256996",
- "file_reference_base64": "AGIaeBbEqu-gV0qAUdP5lD3MxLSK"
+ "\ud83c\udf84": {
+ "id": "5094064004578410733",
+ "access_hash": "-4142643820629256996",
+ "file_reference_base64": "AGIaeBbEqu-gV0qAUdP5lD3MxLSK"
},
- "\ud83e\uddbe": {
- "id": "5094064004578410734",
- "access_hash": "-8934384022571962340",
- "file_reference_base64": "AGIaeBZ0YCp8_Zl_cmP4nvKkkSfF"
+ "\ud83e\uddbe": {
+ "id": "5094064004578410734",
+ "access_hash": "-8934384022571962340",
+ "file_reference_base64": "AGIaeBZ0YCp8_Zl_cmP4nvKkkSfF"
}
},
- "gif_search_branding": "tenor",
- "gif_search_emojies": [
- "\ud83d\udc4d",
- "\ud83d\ude18",
- "\ud83d\ude0d",
- "\ud83d\ude21",
- "\ud83e\udd73",
- "\ud83d\ude02",
- "\ud83d\ude2e",
- "\ud83d\ude44",
- "\ud83d\ude0e",
- "\ud83d\udc4e"
+ "gif_search_branding": "tenor",
+ "gif_search_emojies": [
+ "\ud83d\udc4d",
+ "\ud83d\ude18",
+ "\ud83d\ude0d",
+ "\ud83d\ude21",
+ "\ud83e\udd73",
+ "\ud83d\ude02",
+ "\ud83d\ude2e",
+ "\ud83d\ude44",
+ "\ud83d\ude0e",
+ "\ud83d\udc4e"
],
- "stickers_emoji_suggest_only_api": false,
- "stickers_emoji_cache_time": 86400,
- "groupcall_video_participants_max": 1000,
- "qr_login_camera": true,
- "qr_login_code": "primary",
- "dialog_filters_enabled": true,
- "dialog_filters_tooltip": true,
- "autoarchive_setting_available": false,
- "pending_suggestions": [
- "AUTOARCHIVE_POPULAR",
- "VALIDATE_PASSWORD",
- "VALIDATE_PHONE_NUMBER",
- "NEWCOMER_TICKS"
+ "stickers_emoji_suggest_only_api": false,
+ "stickers_emoji_cache_time": 86400,
+ "groupcall_video_participants_max": 1000,
+ "qr_login_camera": true,
+ "qr_login_code": "primary",
+ "dialog_filters_enabled": true,
+ "dialog_filters_tooltip": true,
+ "autoarchive_setting_available": false,
+ "pending_suggestions": [
+ "AUTOARCHIVE_POPULAR",
+ "VALIDATE_PASSWORD",
+ "VALIDATE_PHONE_NUMBER",
+ "NEWCOMER_TICKS"
],
- "autologin_token": "string",
- "autologin_domains": [
- "instantview.telegram.org",
- "translations.telegram.org",
- "contest.dev",
- "contest.com",
- "bugs.telegram.org",
- "suggestions.telegram.org",
- "themes.telegram.org",
- "promote.telegram.org"
+ "autologin_token": "string",
+ "autologin_domains": [
+ "instantview.telegram.org",
+ "translations.telegram.org",
+ "contest.dev",
+ "contest.com",
+ "bugs.telegram.org",
+ "suggestions.telegram.org",
+ "themes.telegram.org",
+ "promote.telegram.org"
],
- "round_video_encoding": {
- "diameter": 384,
- "video_bitrate": 1000,
- "audio_bitrate": 64,
- "max_size": 12582912
+ "round_video_encoding": {
+ "diameter": 384,
+ "video_bitrate": 1000,
+ "audio_bitrate": 64,
+ "max_size": 12582912
},
- "chat_read_mark_expire_period": 604800,
- "chat_read_mark_size_threshold": 100,
- "reactions_default": "\ud83d\udc4d",
- "reactions_uniq_max": 11
+ "chat_read_mark_expire_period": 604800,
+ "chat_read_mark_size_threshold": 100,
+ "reactions_default": "\ud83d\udc4d",
+ "reactions_uniq_max": 11
}
-Suggestions
+Suggestions
The API can return a set of useful suggestions for users of graphical clients.
-Basic suggestions
-jsonObjectValue#c0de1bd9 key:string value:JSONValue = JSONObjectValue;
+Basic suggestions
+jsonObjectValue#c0de1bd9 key:string value:JSONValue = JSONObjectValue;
-jsonNull#3f6d7b68 = JSONValue;
-jsonBool#c7345e6a value:Bool = JSONValue;
-jsonNumber#2be0dfa4 value:double = JSONValue;
-jsonString#b71e767a value:string = JSONValue;
-jsonArray#f7444763 value:Vector<JSONValue> = JSONValue;
-jsonObject#99c1d49d value:Vector<JSONObjectValue> = JSONValue;
+jsonNull#3f6d7b68 = JSONValue;
+jsonBool#c7345e6a value:Bool = JSONValue;
+jsonNumber#2be0dfa4 value:double = JSONValue;
+jsonString#b71e767a value:string = JSONValue;
+jsonArray#f7444763 value:Vector<JSONValue> = JSONValue;
+jsonObject#99c1d49d value:Vector<JSONObjectValue> = JSONValue;
---functions---
-help.getAppConfig#98914110 = JSONValue;
-The help.getAppConfig method returns a JSON object containing rapidly evolving, client-specific configuration parameters.
A full list of these parameters can be seen in the Client Configuration section », but we're mostly interested in the pending_suggestions
and autoarchive_setting_available
fields of the returned JSON object:
+help.getAppConfig#98914110 = JSONValue;
+The help.getAppConfig method returns a JSON object containing rapidly evolving, client-specific configuration parameters.
+A full list of these parameters can be seen in the Client Configuration section », but we're mostly interested in the pending_suggestions
and autoarchive_setting_available
fields of the returned JSON object:
autoarchive_setting_available
- Whether clients can invoke account.setGlobalPrivacySettings with globalPrivacySettings.archive_and_mute_new_noncontact_peers = boolTrue
, to automatically archive and mute new incoming chats from non-contacts. (boolean)
pending_suggestions
- Contains a list of suggestions that should be actively shown as a tooltip to the user. Array of strings, possible values shown below:
-"AUTOARCHIVE_POPULAR"
- Users should invoke account.setGlobalPrivacySettings with globalPrivacySettings.archive_and_mute_new_noncontact_peers = boolTrue
, to automatically archive and mute new incoming chats from non-contacts.
-"VALIDATE_PASSWORD"
- Users should make sure they still remember their 2-step verification password.
-"VALIDATE_PHONE_NUMBER"
- Users should check whether their authorization phone number is correct and change the phone number if it is inaccessible.
-"NEWCOMER_TICKS"
- Show the user a hint about the meaning of one and two ticks on sent messages.
+"AUTOARCHIVE_POPULAR"
- Users should invoke account.setGlobalPrivacySettings with globalPrivacySettings.archive_and_mute_new_noncontact_peers = boolTrue
, to automatically archive and mute new incoming chats from non-contacts.
+"VALIDATE_PASSWORD"
- Users should make sure they still remember their 2-step verification password.
+"VALIDATE_PHONE_NUMBER"
- Users should check whether their authorization phone number is correct and change the phone number if it is inaccessible.
+"NEWCOMER_TICKS"
- Show the user a hint about the meaning of one and two ticks on sent messages.
-Channel suggestions
-messages.chatFull#e5d7d19c full_chat:ChatFull chats:Vector<Chat> users:Vector<User> = messages.ChatFull;
+Channel suggestions
+messages.chatFull#e5d7d19c full_chat:ChatFull chats:Vector<Chat> users:Vector<User> = messages.ChatFull;
-channelFull#e13c3d20 flags:# can_view_participants:flags.3?true can_set_username:flags.6?true can_set_stickers:flags.7?true hidden_prehistory:flags.10?true can_set_location:flags.16?true has_scheduled:flags.19?true can_view_stats:flags.20?true blocked:flags.22?true id:long about:string participants_count:flags.0?int admins_count:flags.1?int kicked_count:flags.2?int banned_count:flags.2?int online_count:flags.13?int read_inbox_max_id:int read_outbox_max_id:int unread_count:int chat_photo:Photo notify_settings:PeerNotifySettings exported_invite:flags.23?ExportedChatInvite bot_info:Vector<BotInfo> migrated_from_chat_id:flags.4?long migrated_from_max_id:flags.4?int pinned_msg_id:flags.5?int stickerset:flags.8?StickerSet available_min_id:flags.9?int folder_id:flags.11?int linked_chat_id:flags.14?long location:flags.15?ChannelLocation slowmode_seconds:flags.17?int slowmode_next_send_date:flags.18?int stats_dc:flags.12?int pts:int call:flags.21?InputGroupCall ttl_period:flags.24?int pending_suggestions:flags.25?Vector<string> groupcall_default_join_as:flags.26?Peer theme_emoticon:flags.27?string requests_pending:flags.28?int recent_requesters:flags.28?Vector<long> default_send_as:flags.29?Peer available_reactions:flags.30?Vector<string> = ChatFull;
+channelFull#e13c3d20 flags:# can_view_participants:flags.3?true can_set_username:flags.6?true can_set_stickers:flags.7?true hidden_prehistory:flags.10?true can_set_location:flags.16?true has_scheduled:flags.19?true can_view_stats:flags.20?true blocked:flags.22?true id:long about:string participants_count:flags.0?int admins_count:flags.1?int kicked_count:flags.2?int banned_count:flags.2?int online_count:flags.13?int read_inbox_max_id:int read_outbox_max_id:int unread_count:int chat_photo:Photo notify_settings:PeerNotifySettings exported_invite:flags.23?ExportedChatInvite bot_info:Vector<BotInfo> migrated_from_chat_id:flags.4?long migrated_from_max_id:flags.4?int pinned_msg_id:flags.5?int stickerset:flags.8?StickerSet available_min_id:flags.9?int folder_id:flags.11?int linked_chat_id:flags.14?long location:flags.15?ChannelLocation slowmode_seconds:flags.17?int slowmode_next_send_date:flags.18?int stats_dc:flags.12?int pts:int call:flags.21?InputGroupCall ttl_period:flags.24?int pending_suggestions:flags.25?Vector<string> groupcall_default_join_as:flags.26?Peer theme_emoticon:flags.27?string requests_pending:flags.28?int recent_requesters:flags.28?Vector<long> default_send_as:flags.29?Peer available_reactions:flags.30?Vector<string> = ChatFull;
---functions---
-channels.getFullChannel#8736a09 channel:InputChannel = messages.ChatFull;
-Some channel/supergroup-related suggestions can also be contained in the pending_suggestions
field of the channelFull constructor, returned by channels.getFullChannel.
Here's a list of possible suggestions:
* CONVERT_GIGAGROUP
- The supergroup has many participants: the admin should call channels.convertToGigagroup to convert it to a gigagroup.
-Dismissing suggestions
-boolFalse#bc799737 = Bool;
-boolTrue#997275b5 = Bool;
+channels.getFullChannel#8736a09 channel:InputChannel = messages.ChatFull;
+Some channel/supergroup-related suggestions can also be contained in the pending_suggestions
field of the channelFull constructor, returned by channels.getFullChannel.
+Here's a list of possible suggestions:
+
+CONVERT_GIGAGROUP
- The supergroup has many participants: the admin should call channels.convertToGigagroup to convert it to a gigagroup.
+
+Dismissing suggestions
+boolFalse#bc799737 = Bool;
+boolTrue#997275b5 = Bool;
---functions---
-help.dismissSuggestion#f50dbaa1 peer:InputPeer suggestion:string = Bool;
-help.dismissSuggestion can be used to dismiss a suggestion.
Pass inputPeerEmpty to peer
for basic suggestions and the channel/supergroup's peer for channel suggestions.
-App-specific configuration
-help.appUpdate#ccbbce30 flags:# can_not_skip:flags.0?true id:int version:string text:string entities:Vector<MessageEntity> document:flags.1?Document url:flags.2?string sticker:flags.3?Document = help.AppUpdate;
-help.noAppUpdate#c45a6536 = help.AppUpdate;
+help.dismissSuggestion#f50dbaa1 peer:InputPeer suggestion:string = Bool;
+help.dismissSuggestion can be used to dismiss a suggestion.
+Pass inputPeerEmpty to peer
for basic suggestions and the channel/supergroup's peer for channel suggestions.
+App-specific configuration
+help.appUpdate#ccbbce30 flags:# can_not_skip:flags.0?true id:int version:string text:string entities:Vector<MessageEntity> document:flags.1?Document url:flags.2?string sticker:flags.3?Document = help.AppUpdate;
+help.noAppUpdate#c45a6536 = help.AppUpdate;
-updates#74ae4240 updates:Vector<Update> users:Vector<User> chats:Vector<Chat> date:int seq:int = Updates;
-updateServiceNotification#ebe46819 flags:# popup:flags.0?true inbox_date:flags.1?int type:string message:string media:MessageMedia entities:Vector<MessageEntity> = Update;
+updates#74ae4240 updates:Vector<Update> users:Vector<User> chats:Vector<Chat> date:int seq:int = Updates;
+updateServiceNotification#ebe46819 flags:# popup:flags.0?true inbox_date:flags.1?int type:string message:string media:MessageMedia entities:Vector<MessageEntity> = Update;
-help.inviteText#18cb9f78 message:string = help.InviteText;
+help.inviteText#18cb9f78 message:string = help.InviteText;
---functions---
-help.getAppUpdate#522d5a7d source:string = help.AppUpdate;
-help.getAppChangelog#9010ef6f prev_app_version:string = Updates;
+help.getAppUpdate#522d5a7d source:string = help.AppUpdate;
+help.getAppChangelog#9010ef6f prev_app_version:string = Updates;
-help.getInviteText#4d392343 = help.InviteText;
+help.getInviteText#4d392343 = help.InviteText;
- help.getAppUpdate - Get info about an application update, can contain the updated application binary in the attached document
- help.getAppChangelog - Get a list of service messages with app-specific changelogs
-- help.getInviteText - Returns a localized invitation message that can be sent via SMS to contacts that haven't signed up to Telegram yet
+- help.getInviteText - Returns a localized invitation message that can be sent via SMS to contacts that haven't signed up to Telegram yet
-Terms of service
-help.termsOfServiceUpdateEmpty#e3309f7f expires:int = help.TermsOfServiceUpdate;
-help.termsOfServiceUpdate#28ecf961 expires:int terms_of_service:help.TermsOfService = help.TermsOfServiceUpdate;
+Terms of service
+help.termsOfServiceUpdateEmpty#e3309f7f expires:int = help.TermsOfServiceUpdate;
+help.termsOfServiceUpdate#28ecf961 expires:int terms_of_service:help.TermsOfService = help.TermsOfServiceUpdate;
-help.termsOfService#780a0310 flags:# popup:flags.0?true id:DataJSON text:string entities:Vector<MessageEntity> min_age_confirm:flags.1?int = help.TermsOfService;
+help.termsOfService#780a0310 flags:# popup:flags.0?true id:DataJSON text:string entities:Vector<MessageEntity> min_age_confirm:flags.1?int = help.TermsOfService;
-auth.authorizationSignUpRequired#44747e9a flags:# terms_of_service:flags.0?help.TermsOfService = auth.Authorization;
+auth.authorizationSignUpRequired#44747e9a flags:# terms_of_service:flags.0?help.TermsOfService = auth.Authorization;
---functions---
-help.getTermsOfServiceUpdate#2ca51fd1 = help.TermsOfServiceUpdate;
-help.acceptTermsOfService#ee72f79a id:DataJSON = Bool;
+help.getTermsOfServiceUpdate#2ca51fd1 = help.TermsOfServiceUpdate;
+help.acceptTermsOfService#ee72f79a id:DataJSON = Bool;
-auth.signIn#bcd51581 phone_number:string phone_code_hash:string phone_code:string = auth.Authorization;
+auth.signIn#bcd51581 phone_number:string phone_code_hash:string phone_code:string = auth.Authorization;
-account.deleteAccount#418d4e0b reason:string = Bool;
-These methods can be used for managing consent to Telegram's Terms Of Service.
-Typically, before a user signs up by invoking auth.signUp, apps should show a pop-up (if the popup
flag of the help.termsOfService method is set), asking the user to accept Telegram's terms of service; in case of denial, the user is to be returned to the initial page of the login flow.
+account.deleteAccount#418d4e0b reason:string = Bool;
+These methods can be used for managing consent to Telegram's Terms Of Service.
+Typically, before a user signs up by invoking auth.signUp, apps should show a pop-up (if the popup
flag of the help.termsOfService method is set), asking the user to accept Telegram's terms of service; in case of denial, the user is to be returned to the initial page of the login flow.
When signing up for the first time, the help.termsOfService is to be obtained from the auth.authorizationSignUpRequired constructor returned by the auth.signIn.
-After signing up, or when logging in as an existing user, apps are supposed to call help.getTermsOfServiceUpdate to check for any updates to the Terms of Service; this call should be repeated after expires
seconds have elapsed.
If an update to the Terms Of Service is available, clients are supposed to show a consent popup; if accepted, clients should call help.acceptTermsOfService, providing the termsOfService id
JSON object; in case of denial, clients are to delete the account using account.deleteAccount, providing Decline ToS update
as deletion reason
.
+After signing up, or when logging in as an existing user, apps are supposed to call help.getTermsOfServiceUpdate to check for any updates to the Terms of Service; this call should be repeated after expires
seconds have elapsed.
+If an update to the Terms Of Service is available, clients are supposed to show a consent popup; if accepted, clients should call help.acceptTermsOfService, providing the termsOfService id
JSON object; in case of denial, clients are to delete the account using account.deleteAccount, providing Decline ToS update
as deletion reason
.
Example implementation: android (signup), android (after login)
-Telegram support info
-user#3ff6ecb0 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 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 = User;
+Telegram support info
+user#3ff6ecb0 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 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 = User;
-help.support#17c6b5f6 phone_number:string user:User = help.Support;
-help.supportName#8c05f1c9 name:string = help.SupportName;
+help.support#17c6b5f6 phone_number:string user:User = help.Support;
+help.supportName#8c05f1c9 name:string = help.SupportName;
---functions---
-help.getSupport#9cdf08cd = help.Support;
-help.getSupportName#d360e72c = help.SupportName;
-These methods can be used for fetching info about Telegram's support user, that users can use to get support and ask questions about the app.
- help.getSupport - Will return the user object that can be used for contacting support.
- help.getSupportName - Will return a localized name for the support chat.
-Country information and login phone patterns
-help.countryCode#4203c5ef flags:# country_code:string prefixes:flags.0?Vector<string> patterns:flags.1?Vector<string> = help.CountryCode;
+help.getSupport#9cdf08cd = help.Support;
+help.getSupportName#d360e72c = help.SupportName;
+These methods can be used for fetching info about Telegram's support user, that users can use to get support and ask questions about the app.
+
+- help.getSupport - Will return the user object that can be used for contacting support.
+- help.getSupportName - Will return a localized name for the support chat.
+
+Country information and login phone patterns
+help.countryCode#4203c5ef flags:# country_code:string prefixes:flags.0?Vector<string> patterns:flags.1?Vector<string> = help.CountryCode;
-help.country#c3878e23 flags:# hidden:flags.0?true iso2:string default_name:string name:flags.1?string country_codes:Vector<help.CountryCode> = help.Country;
+help.country#c3878e23 flags:# hidden:flags.0?true iso2:string default_name:string name:flags.1?string country_codes:Vector<help.CountryCode> = help.Country;
-help.countriesListNotModified#93cc1f32 = help.CountriesList;
-help.countriesList#87d0759e countries:Vector<help.Country> hash:int = help.CountriesList;
+help.countriesListNotModified#93cc1f32 = help.CountriesList;
+help.countriesList#87d0759e countries:Vector<help.Country> hash:int = help.CountriesList;
---functions---
-help.getCountriesList#735787a8 lang_code:string hash:int = help.CountriesList;
+help.getCountriesList#735787a8 lang_code:string hash:int = help.CountriesList;
help.getCountriesList can be used to fetch a list of localized names for all available countries and phone code patterns for logging in.
-The phone code pattern should be used when showing the login screen, or when changing phone number: for example, a pattern value of XXX XXX XXX
with country_code
+39
indicates that the phone field for login should accept a spaced pattern like +39 123 456 789
.
Also, the beginning of the national part of the phone number (123 456 789
) should match one of the prefixes
, if any were returned.
-
The phone code pattern should be used when showing the login screen, or when changing phone number: for example, a pattern value of XXX XXX XXX
with country_code
+39
indicates that the phone field for login should accept a spaced pattern like +39 123 456 789
.
+Also, the beginning of the national part of the phone number (123 456 789
) should match one of the prefixes
, if any were returned.
To obtain a list of admined supergroups that a channel admin can possibly associate to a channel, use channels.getGroupsForDiscussion.
-Returned legacy group chats must be first upgraded to supergroups before they can be set as a discussion group.
+Returned basic group chats must be first upgraded to supergroups before they can be set as a discussion group.
Before linking a supergroup to a channel, access to the supergroup's old messages must also be enabled using channels.togglePreHistoryHidden.
To set a returned supergroup as a discussion group use channels.setDiscussionGroup.
Schema:
diff --git a/data/corefork.telegram.org/api/files.html b/data/corefork.telegram.org/api/files.html index ade1549b33..95b558aaac 100644 --- a/data/corefork.telegram.org/api/files.html +++ b/data/corefork.telegram.org/api/files.html @@ -151,7 +151,7 @@ The SHA256 hash of the file is computed, and it is passed along with the file'sAnimated profile pictures are also supported, by populating the video
constructor: square MPEG4 videos up to 1080x1080
are supported, 800x800
is the recommended resolution.
The video_start_ts
is a floating point UNIX timestamp in seconds, indicating the frame of the video that should be used as static preview.
Chat, channel and supergroup profile photos and videos can be uploaded using messages.editChatPhoto (legacy groups) or channels.editPhoto (channels, supergroups).
+
Chat, channel and supergroup profile photos and videos can be uploaded using messages.editChatPhoto (basic groups) or channels.editPhoto (channels, supergroups).
Use the inputChatPhoto to reuse previously uploaded profile pictures.
There are methods available to download files which have been successfully uploaded. The schema of the types and methods used is presented below:
diff --git a/data/corefork.telegram.org/api/push-updates.html b/data/corefork.telegram.org/api/push-updates.html index a10074c65e..87a1e3bf52 100644 --- a/data/corefork.telegram.org/api/push-updates.html +++ b/data/corefork.telegram.org/api/push-updates.html @@ -105,7 +105,7 @@Channels and supergroups allow setting granular permissions both for admins and specific users. -Channels, supergroups and legacy groups also allow setting global granular permissions for users.
+Channels, supergroups and basic groups also allow setting global granular permissions for users.They can be modified as follows:
channels.editAdmin can be used to modify the admin rights of a user in a channel or supergroup. -Legacy groups do not allow setting granular admin permissions, messages.editChatAdmin has to be used, instead.
+Basic groups do not allow setting granular admin permissions, messages.editChatAdmin has to be used, instead.Permissions are defined by the chatAdminRights constructor, some admin rights can only be used for channels, others both for channels and supergroups (see the constructor page).
channels.editBanned can be used to modify the rights of a user in a channel or supergroup, to ban/kick a user from the group, or restrict the user from doing certain things. -Legacy groups do not allow setting granular user permissions for single users, single users can only be removed from groups using messages.deleteChatUser: however, setting global granular permissions with legacy groups is supported.
+Basic groups do not allow setting granular user permissions for single users, single users can only be removed from groups using messages.deleteChatUser: however, setting global granular permissions with basic groups is supported.Permissions are defined by the chatBannedRights constructor, for more info see the constructor page.
messages.editChatDefaultBannedRights can be used to modify the rights of all users in a channel, supergroup or legacy group, to restrict them from doing certain things.
+messages.editChatDefaultBannedRights can be used to modify the rights of all users in a channel, supergroup or basic group, to restrict them from doing certain things.
Permissions are defined by the chatBannedRights constructor: all flags can be used except for view_messages
, for more info see the constructor page.
Update object may contain info about multiple events (for example, updateDeleteMessages).
That's why all single updates might have pts_count parameter indicating the number of events contained in the received update (with some exceptions, in this case, the pts_count is considered to be 0
).
Each channel and supergroup has its message box and its event sequence as a result; private chats and legacy groups of one user have another common event sequence. +
Each channel and supergroup has its message box and its event sequence as a result; private chats and basic groups of one user have another common event sequence. Secret chats, certain bot events and other kinds of updates have yet another common secondary event sequence.
To recap, the client has to take care of the integrity of the following sequences to properly handle updates:
--Howdy! This text assumes that you‘re familiar with Telegram’s bot platform.
+
If this is not the case, kindly check out our Introduction to Bots.Howdy! This text assumes that you're familiar with Telegram's bot platform.
If this is not the case, kindly check out our Introduction to Bots.
Today we‘re introducing the biggest change to Telegram’s Bot Platform since June 2015. These new tools will help you create fluid and intuitive interfaces for your bots. And bots are becoming a lot more capable. They can now send any type of content supported on Telegram, provide location-based services and integrate with other services deeply based on users' phone numbers.
+Today we're introducing the biggest change to Telegram's Bot Platform since June 2015. These new tools will help you create fluid and intuitive interfaces for your bots. And bots are becoming a lot more capable. They can now send any type of content supported on Telegram, provide location-based services and integrate with other services deeply based on users' phone numbers.
If you'd like a more concise changelog, you can find one in the Bot API Manual.
To begin with, we're adding a new type of keyboard that is integrated directly into the message it belongs to. Inline keyboards are available for messages sent both in chat mode and inline mode.
@@ -87,9 +87,9 @@ If this is not the case, kindly check out our…">Sample bot
@sticker – This sticker search bot offers a ‘switch to inline’ button to teach users how to use it in inline mode.
Sample bot
@sticker – This sticker search bot offers a 'switch to inline' button to teach users how to use it in inline mode.
Since inline keyboards don‘t send additional messages to the chat, it made sense to give bots a way of manipulating their existing messages, so that they don’t have to send a new message each time they need to update something. This helps reduce clutter and build more fluid interfaces.
+Since inline keyboards don't send additional messages to the chat, it made sense to give bots a way of manipulating their existing messages, so that they don't have to send a new message each time they need to update something. This helps reduce clutter and build more fluid interfaces.
How to handle channels, supergroups, gigagroups, legacy groups, and what's the difference between them.
How to handle channels, supergroups, gigagroups, basic groups, and what's the difference between them.
diff --git a/data/corefork.telegram.org/constructor/botCommandScopeChats.html b/data/corefork.telegram.org/constructor/botCommandScopeChats.html index c7fb5e6750..6d2cf43da1 100644 --- a/data/corefork.telegram.org/constructor/botCommandScopeChats.html +++ b/data/corefork.telegram.org/constructor/botCommandScopeChats.html @@ -61,8 +61,8 @@How to handle channels, supergroups, gigagroups, legacy groups, and what's the difference between them.
+How to handle channels, supergroups, gigagroups, basic groups, and what's the difference between them.
diff --git a/data/corefork.telegram.org/constructor/botCommandScopePeerAdmins.html b/data/corefork.telegram.org/constructor/botCommandScopePeerAdmins.html index 227751ac0a..9a312de623 100644 --- a/data/corefork.telegram.org/constructor/botCommandScopePeerAdmins.html +++ b/data/corefork.telegram.org/constructor/botCommandScopePeerAdmins.html @@ -76,8 +76,8 @@How to handle channels, supergroups, gigagroups, legacy groups, and what's the difference between them.
+How to handle channels, supergroups, gigagroups, basic groups, and what's the difference between them.
diff --git a/data/corefork.telegram.org/constructor/botCommandScopePeerUser.html b/data/corefork.telegram.org/constructor/botCommandScopePeerUser.html index b1dc09e6ba..170e963d88 100644 --- a/data/corefork.telegram.org/constructor/botCommandScopePeerUser.html +++ b/data/corefork.telegram.org/constructor/botCommandScopePeerUser.html @@ -81,8 +81,8 @@How to handle channels, supergroups, gigagroups, legacy groups, and what's the difference between them.
+How to handle channels, supergroups, gigagroups, basic groups, and what's the difference between them.
diff --git a/data/corefork.telegram.org/constructor/channel.html b/data/corefork.telegram.org/constructor/channel.html index 8d087bb40c..22c77371e6 100644 --- a/data/corefork.telegram.org/constructor/channel.html +++ b/data/corefork.telegram.org/constructor/channel.html @@ -157,6 +157,16 @@In some situations user and channel constructors have reduced set of fields present (although id is always there) and min flag set.
-How to handle channels, supergroups, gigagroups, legacy groups, and what's the difference between them.
+How to handle channels, supergroups, gigagroups, basic groups, and what's the difference between them.
How to handle admin permissions, granular bans and global permissions in channels, groups and supergroups.
diff --git a/data/corefork.telegram.org/constructor/channelAdminLogEventActionParticipantJoinByInvite.html b/data/corefork.telegram.org/constructor/channelAdminLogEventActionParticipantJoinByInvite.html index 9264e2f76c..fda9bf0d09 100644 --- a/data/corefork.telegram.org/constructor/channelAdminLogEventActionParticipantJoinByInvite.html +++ b/data/corefork.telegram.org/constructor/channelAdminLogEventActionParticipantJoinByInvite.html @@ -76,8 +76,8 @@How to handle channels, supergroups, gigagroups, legacy groups, and what's the difference between them.
+How to handle channels, supergroups, gigagroups, basic groups, and what's the difference between them.
diff --git a/data/corefork.telegram.org/constructor/channelFull.html b/data/corefork.telegram.org/constructor/channelFull.html index c50d4ae9b0..a056fc15db 100644 --- a/data/corefork.telegram.org/constructor/channelFull.html +++ b/data/corefork.telegram.org/constructor/channelFull.html @@ -299,8 +299,8 @@Groups can be associated to a channel as a discussion group, to allow users to discuss about posts.
How to handle admin permissions, granular bans and global permissions in channels, groups and supergroups.
-How to handle channels, supergroups, gigagroups, legacy groups, and what's the difference between them.
+How to handle channels, supergroups, gigagroups, basic groups, and what's the difference between them.
Telegram allows pinning multiple messages on top of a specific chat.
How to handle channels, supergroups, gigagroups, legacy groups, and what's the difference between them.
+How to handle channels, supergroups, gigagroups, basic groups, and what's the difference between them.
How to handle admin permissions, granular bans and global permissions in channels, groups and supergroups.
diff --git a/data/corefork.telegram.org/constructor/chatAdminRights.html b/data/corefork.telegram.org/constructor/chatAdminRights.html index 174c33e800..75760d4ff5 100644 --- a/data/corefork.telegram.org/constructor/chatAdminRights.html +++ b/data/corefork.telegram.org/constructor/chatAdminRights.html @@ -131,8 +131,8 @@How to handle channels, supergroups, gigagroups, legacy groups, and what's the difference between them.
+How to handle channels, supergroups, gigagroups, basic groups, and what's the difference between them.
diff --git a/data/corefork.telegram.org/constructor/chatBannedRights.html b/data/corefork.telegram.org/constructor/chatBannedRights.html index 29bdbd7ec2..802f11ed8b 100644 --- a/data/corefork.telegram.org/constructor/chatBannedRights.html +++ b/data/corefork.telegram.org/constructor/chatBannedRights.html @@ -141,8 +141,8 @@How to handle channels, supergroups, gigagroups, legacy groups, and what's the difference between them.
+How to handle channels, supergroups, gigagroups, basic groups, and what's the difference between them.
diff --git a/data/corefork.telegram.org/constructor/chatFull.html b/data/corefork.telegram.org/constructor/chatFull.html index 9ed625e2a8..ad2eedcbe7 100644 --- a/data/corefork.telegram.org/constructor/chatFull.html +++ b/data/corefork.telegram.org/constructor/chatFull.html @@ -4,10 +4,10 @@Full info about a legacy group.
+Full info about a basic group.
Chats and channels may have a public username or a private invite link: private invite links may be further enhanced with per-user join requests.
Telegram allows users to react on any message using specific emojis, triggering cute lottie animations.
-How to handle channels, supergroups, gigagroups, legacy groups, and what's the difference between them.
How to handle channels, supergroups, gigagroups, basic groups, and what's the difference between them.
How to handle channels, supergroups, gigagroups, legacy groups, and what's the difference between them.
+How to handle channels, supergroups, gigagroups, basic groups, and what's the difference between them.
Chats and channels may have a public username or a private invite link: private invite links may be further enhanced with per-user join requests.
diff --git a/data/corefork.telegram.org/constructor/config.html b/data/corefork.telegram.org/constructor/config.html index af19e30acf..e9410b858f 100644 --- a/data/corefork.telegram.org/constructor/config.html +++ b/data/corefork.telegram.org/constructor/config.html @@ -337,8 +337,8 @@Binding temporary authorization key to permanent ones.
Returns current configuration, including data center configuration.
-How to handle channels, supergroups, gigagroups, legacy groups, and what's the difference between them.
+How to handle channels, supergroups, gigagroups, basic groups, and what's the difference between them.
Forwards messages by their IDs.
How to handle channels, supergroups, gigagroups, legacy groups, and what's the difference between them.
+How to handle channels, supergroups, gigagroups, basic groups, and what's the difference between them.
diff --git a/data/corefork.telegram.org/constructor/inlineQueryPeerTypeChat.html b/data/corefork.telegram.org/constructor/inlineQueryPeerTypeChat.html index 9c86c5bcee..636043383f 100644 --- a/data/corefork.telegram.org/constructor/inlineQueryPeerTypeChat.html +++ b/data/corefork.telegram.org/constructor/inlineQueryPeerTypeChat.html @@ -61,8 +61,8 @@How to handle channels, supergroups, gigagroups, legacy groups, and what's the difference between them.
+How to handle channels, supergroups, gigagroups, basic groups, and what's the difference between them.
diff --git a/data/corefork.telegram.org/constructor/inlineQueryPeerTypeMegagroup.html b/data/corefork.telegram.org/constructor/inlineQueryPeerTypeMegagroup.html index 4d14125b9a..0a057f71d0 100644 --- a/data/corefork.telegram.org/constructor/inlineQueryPeerTypeMegagroup.html +++ b/data/corefork.telegram.org/constructor/inlineQueryPeerTypeMegagroup.html @@ -61,8 +61,8 @@How to handle channels, supergroups, gigagroups, legacy groups, and what's the difference between them.
+How to handle channels, supergroups, gigagroups, basic groups, and what's the difference between them.
diff --git a/data/corefork.telegram.org/constructor/inputNotifyBroadcasts.html b/data/corefork.telegram.org/constructor/inputNotifyBroadcasts.html index 25b2e89d56..3a121e9b8a 100644 --- a/data/corefork.telegram.org/constructor/inputNotifyBroadcasts.html +++ b/data/corefork.telegram.org/constructor/inputNotifyBroadcasts.html @@ -61,8 +61,8 @@How to handle channels, supergroups, gigagroups, legacy groups, and what's the difference between them.
+How to handle channels, supergroups, gigagroups, basic groups, and what's the difference between them.
diff --git a/data/corefork.telegram.org/constructor/messageActionChannelMigrateFrom.html b/data/corefork.telegram.org/constructor/messageActionChannelMigrateFrom.html index 038cf84e68..24b3ff9db3 100644 --- a/data/corefork.telegram.org/constructor/messageActionChannelMigrateFrom.html +++ b/data/corefork.telegram.org/constructor/messageActionChannelMigrateFrom.html @@ -81,8 +81,8 @@How to handle channels, supergroups, gigagroups, legacy groups, and what's the difference between them.
+How to handle channels, supergroups, gigagroups, basic groups, and what's the difference between them.
diff --git a/data/corefork.telegram.org/constructor/messageActionChatMigrateTo.html b/data/corefork.telegram.org/constructor/messageActionChatMigrateTo.html index aecdc0b700..6287b64d4d 100644 --- a/data/corefork.telegram.org/constructor/messageActionChatMigrateTo.html +++ b/data/corefork.telegram.org/constructor/messageActionChatMigrateTo.html @@ -76,8 +76,8 @@How to handle channels, supergroups, gigagroups, legacy groups, and what's the difference between them.
+How to handle channels, supergroups, gigagroups, basic groups, and what's the difference between them.
diff --git a/data/corefork.telegram.org/constructor/messageReplyHeader.html b/data/corefork.telegram.org/constructor/messageReplyHeader.html index dcf6ef6fa2..1cddd6f772 100644 --- a/data/corefork.telegram.org/constructor/messageReplyHeader.html +++ b/data/corefork.telegram.org/constructor/messageReplyHeader.html @@ -72,6 +72,11 @@Full info about a channel, supergroup, gigagroup or legacy group.
+Full info about a channel, supergroup, gigagroup or basic group.
How to handle channels, supergroups, gigagroups, legacy groups, and what's the difference between them.
How to handle channels, supergroups, gigagroups, basic groups, and what's the difference between them.
How to handle channels, supergroups, gigagroups, legacy groups, and what's the difference between them.
+How to handle channels, supergroups, gigagroups, basic groups, and what's the difference between them.
diff --git a/data/corefork.telegram.org/constructor/updateChannelParticipant.html b/data/corefork.telegram.org/constructor/updateChannelParticipant.html index 45428eb550..d1aa21ffc0 100644 --- a/data/corefork.telegram.org/constructor/updateChannelParticipant.html +++ b/data/corefork.telegram.org/constructor/updateChannelParticipant.html @@ -116,8 +116,8 @@How to handle channels, supergroups, gigagroups, legacy groups, and what's the difference between them.
+How to handle channels, supergroups, gigagroups, basic groups, and what's the difference between them.
How to subscribe to updates and handle them properly.
diff --git a/data/corefork.telegram.org/constructor/updateChannelReadMessagesContents.html b/data/corefork.telegram.org/constructor/updateChannelReadMessagesContents.html index 906552275c..7d2b365e1d 100644 --- a/data/corefork.telegram.org/constructor/updateChannelReadMessagesContents.html +++ b/data/corefork.telegram.org/constructor/updateChannelReadMessagesContents.html @@ -81,8 +81,8 @@How to handle channels, supergroups, gigagroups, legacy groups, and what's the difference between them.
+How to handle channels, supergroups, gigagroups, basic groups, and what's the difference between them.
diff --git a/data/corefork.telegram.org/constructor/updateChannelUserTyping.html b/data/corefork.telegram.org/constructor/updateChannelUserTyping.html index cec92cc766..b162efbb41 100644 --- a/data/corefork.telegram.org/constructor/updateChannelUserTyping.html +++ b/data/corefork.telegram.org/constructor/updateChannelUserTyping.html @@ -98,8 +98,8 @@Telegram allows commenting on a channel post or on a generic supergroup message, thanks to message threads.
-How to handle channels, supergroups, gigagroups, legacy groups, and what's the difference between them.
+How to handle channels, supergroups, gigagroups, basic groups, and what's the difference between them.
diff --git a/data/corefork.telegram.org/constructor/updateChannelWebPage.html b/data/corefork.telegram.org/constructor/updateChannelWebPage.html index af23e17de1..71a29e45ab 100644 --- a/data/corefork.telegram.org/constructor/updateChannelWebPage.html +++ b/data/corefork.telegram.org/constructor/updateChannelWebPage.html @@ -91,8 +91,8 @@How to handle channels, supergroups, gigagroups, legacy groups, and what's the difference between them.
+How to handle channels, supergroups, gigagroups, basic groups, and what's the difference between them.
How to subscribe to updates and handle them properly.
diff --git a/data/corefork.telegram.org/constructor/updateChatDefaultBannedRights.html b/data/corefork.telegram.org/constructor/updateChatDefaultBannedRights.html index 8e513a4c22..3529a1259e 100644 --- a/data/corefork.telegram.org/constructor/updateChatDefaultBannedRights.html +++ b/data/corefork.telegram.org/constructor/updateChatDefaultBannedRights.html @@ -86,8 +86,8 @@How to handle channels, supergroups, gigagroups, legacy groups, and what's the difference between them.
+How to handle channels, supergroups, gigagroups, basic groups, and what's the difference between them.
diff --git a/data/corefork.telegram.org/constructor/updateChatParticipant.html b/data/corefork.telegram.org/constructor/updateChatParticipant.html index a27de97d22..6908e35c82 100644 --- a/data/corefork.telegram.org/constructor/updateChatParticipant.html +++ b/data/corefork.telegram.org/constructor/updateChatParticipant.html @@ -116,8 +116,8 @@How to handle channels, supergroups, gigagroups, legacy groups, and what's the difference between them.
+How to handle channels, supergroups, gigagroups, basic groups, and what's the difference between them.
How to subscribe to updates and handle them properly.
diff --git a/data/corefork.telegram.org/constructor/updateChatParticipantAdmin.html b/data/corefork.telegram.org/constructor/updateChatParticipantAdmin.html index b625c76747..c65ec75661 100644 --- a/data/corefork.telegram.org/constructor/updateChatParticipantAdmin.html +++ b/data/corefork.telegram.org/constructor/updateChatParticipantAdmin.html @@ -4,10 +4,10 @@Admin permissions of a user in a legacy group were changed
+Admin permissions of a user in a basic group were changed
How to handle channels, supergroups, gigagroups, legacy groups, and what's the difference between them.
How to handle channels, supergroups, gigagroups, basic groups, and what's the difference between them.
How to subscribe to updates and handle them properly.
-How to handle channels, supergroups, gigagroups, legacy groups, and what's the difference between them.
+How to handle channels, supergroups, gigagroups, basic groups, and what's the difference between them.
diff --git a/data/corefork.telegram.org/constructor/updateEditChannelMessage.html b/data/corefork.telegram.org/constructor/updateEditChannelMessage.html index 6c469ff68f..10ba78853b 100644 --- a/data/corefork.telegram.org/constructor/updateEditChannelMessage.html +++ b/data/corefork.telegram.org/constructor/updateEditChannelMessage.html @@ -88,8 +88,8 @@How to subscribe to updates and handle them properly.
-How to handle channels, supergroups, gigagroups, legacy groups, and what's the difference between them.
+How to handle channels, supergroups, gigagroups, basic groups, and what's the difference between them.
diff --git a/data/corefork.telegram.org/constructor/updateGroupCall.html b/data/corefork.telegram.org/constructor/updateGroupCall.html index 3fbcafde40..10c8b8f341 100644 --- a/data/corefork.telegram.org/constructor/updateGroupCall.html +++ b/data/corefork.telegram.org/constructor/updateGroupCall.html @@ -81,8 +81,8 @@How to handle channels, supergroups, gigagroups, legacy groups, and what's the difference between them.
+How to handle channels, supergroups, gigagroups, basic groups, and what's the difference between them.
diff --git a/data/corefork.telegram.org/constructor/updateNewChannelMessage.html b/data/corefork.telegram.org/constructor/updateNewChannelMessage.html index dde9794235..f27f56d58a 100644 --- a/data/corefork.telegram.org/constructor/updateNewChannelMessage.html +++ b/data/corefork.telegram.org/constructor/updateNewChannelMessage.html @@ -88,8 +88,8 @@How to subscribe to updates and handle them properly.
-How to handle channels, supergroups, gigagroups, legacy groups, and what's the difference between them.
+How to handle channels, supergroups, gigagroups, basic groups, and what's the difference between them.
diff --git a/data/corefork.telegram.org/constructor/updateNewMessage.html b/data/corefork.telegram.org/constructor/updateNewMessage.html index 34bedd9820..c7fd4d4a12 100644 --- a/data/corefork.telegram.org/constructor/updateNewMessage.html +++ b/data/corefork.telegram.org/constructor/updateNewMessage.html @@ -4,10 +4,10 @@New message in a private chat or in a legacy group.
+New message in a private chat or in a basic group.
How to subscribe to updates and handle them properly.
-How to handle channels, supergroups, gigagroups, legacy groups, and what's the difference between them.
How to handle channels, supergroups, gigagroups, basic groups, and what's the difference between them.
How to handle channels, supergroups, gigagroups, legacy groups, and what's the difference between them.
+How to handle channels, supergroups, gigagroups, basic groups, and what's the difference between them.
Telegram allows commenting on a channel post or on a generic supergroup message, thanks to message threads.
diff --git a/data/corefork.telegram.org/constructor/updateReadChannelDiscussionOutbox.html b/data/corefork.telegram.org/constructor/updateReadChannelDiscussionOutbox.html index 8cf95d0c02..b7acb0693c 100644 --- a/data/corefork.telegram.org/constructor/updateReadChannelDiscussionOutbox.html +++ b/data/corefork.telegram.org/constructor/updateReadChannelDiscussionOutbox.html @@ -86,8 +86,8 @@How to handle channels, supergroups, gigagroups, legacy groups, and what's the difference between them.
+How to handle channels, supergroups, gigagroups, basic groups, and what's the difference between them.
Telegram allows commenting on a channel post or on a generic supergroup message, thanks to message threads.
diff --git a/data/corefork.telegram.org/constructor/updateReadChannelInbox.html b/data/corefork.telegram.org/constructor/updateReadChannelInbox.html index 946ba0e3c0..824eaf5119 100644 --- a/data/corefork.telegram.org/constructor/updateReadChannelInbox.html +++ b/data/corefork.telegram.org/constructor/updateReadChannelInbox.html @@ -105,8 +105,8 @@Telegram allows placing chats into folders, based on their type, mute status, or other custom criteria, thanks to folder blacklists and whitelists.
How to subscribe to updates and handle them properly.
-How to handle channels, supergroups, gigagroups, legacy groups, and what's the difference between them.
+How to handle channels, supergroups, gigagroups, basic groups, and what's the difference between them.
diff --git a/data/corefork.telegram.org/constructor/updateReadChannelOutbox.html b/data/corefork.telegram.org/constructor/updateReadChannelOutbox.html index 9029248261..94b51e82db 100644 --- a/data/corefork.telegram.org/constructor/updateReadChannelOutbox.html +++ b/data/corefork.telegram.org/constructor/updateReadChannelOutbox.html @@ -81,8 +81,8 @@How to handle channels, supergroups, gigagroups, legacy groups, and what's the difference between them.
+How to handle channels, supergroups, gigagroups, basic groups, and what's the difference between them.
diff --git a/data/corefork.telegram.org/method/account.initTakeoutSession b/data/corefork.telegram.org/method/account.initTakeoutSession index 6126560c3f..562989a6be 100644 --- a/data/corefork.telegram.org/method/account.initTakeoutSession +++ b/data/corefork.telegram.org/method/account.initTakeoutSession @@ -86,7 +86,7 @@How to handle channels, supergroups, gigagroups, legacy groups, and what's the difference between them.
+How to handle channels, supergroups, gigagroups, basic groups, and what's the difference between them.
diff --git a/data/corefork.telegram.org/method/channels.checkUsername b/data/corefork.telegram.org/method/channels.checkUsername index d922dafd34..9d20ec5af0 100644 --- a/data/corefork.telegram.org/method/channels.checkUsername +++ b/data/corefork.telegram.org/method/channels.checkUsername @@ -116,8 +116,8 @@How to handle channels, supergroups, gigagroups, legacy groups, and what's the difference between them.
+How to handle channels, supergroups, gigagroups, basic groups, and what's the difference between them.
diff --git a/data/corefork.telegram.org/method/channels.convertToGigagroup b/data/corefork.telegram.org/method/channels.convertToGigagroup index ebee3a681b..bc96ae7c14 100644 --- a/data/corefork.telegram.org/method/channels.convertToGigagroup +++ b/data/corefork.telegram.org/method/channels.convertToGigagroup @@ -106,8 +106,8 @@How to handle channels, supergroups, gigagroups, legacy groups, and what's the difference between them.
+How to handle channels, supergroups, gigagroups, basic groups, and what's the difference between them.
The MTProto API has multiple configuration parameters that can be fetched with the appropriate methods.
diff --git a/data/corefork.telegram.org/method/channels.createChannel b/data/corefork.telegram.org/method/channels.createChannel index 8da3be864c..9770c01d71 100644 --- a/data/corefork.telegram.org/method/channels.createChannel +++ b/data/corefork.telegram.org/method/channels.createChannel @@ -156,8 +156,8 @@How to handle channels, supergroups, gigagroups, legacy groups, and what's the difference between them.
+How to handle channels, supergroups, gigagroups, basic groups, and what's the difference between them.
Import chat history from a foreign chat app into a specific Telegram chat, click here for more info about imported chats ».
diff --git a/data/corefork.telegram.org/method/channels.deleteChannel b/data/corefork.telegram.org/method/channels.deleteChannel index 6edcc3584d..374c85bc7c 100644 --- a/data/corefork.telegram.org/method/channels.deleteChannel +++ b/data/corefork.telegram.org/method/channels.deleteChannel @@ -126,8 +126,8 @@How to handle channels, supergroups, gigagroups, legacy groups, and what's the difference between them.
+How to handle channels, supergroups, gigagroups, basic groups, and what's the difference between them.
diff --git a/data/corefork.telegram.org/method/channels.deleteHistory b/data/corefork.telegram.org/method/channels.deleteHistory index 0945285ad7..1b1c217ab7 100644 --- a/data/corefork.telegram.org/method/channels.deleteHistory +++ b/data/corefork.telegram.org/method/channels.deleteHistory @@ -106,8 +106,8 @@How to handle channels, supergroups, gigagroups, legacy groups, and what's the difference between them.
+How to handle channels, supergroups, gigagroups, basic groups, and what's the difference between them.
diff --git a/data/corefork.telegram.org/method/channels.deleteMessages b/data/corefork.telegram.org/method/channels.deleteMessages index f567cc99ab..8a6f3bd206 100644 --- a/data/corefork.telegram.org/method/channels.deleteMessages +++ b/data/corefork.telegram.org/method/channels.deleteMessages @@ -116,8 +116,8 @@How to handle channels, supergroups, gigagroups, legacy groups, and what's the difference between them.
+How to handle channels, supergroups, gigagroups, basic groups, and what's the difference between them.
diff --git a/data/corefork.telegram.org/method/channels.editAdmin b/data/corefork.telegram.org/method/channels.editAdmin index 504342d1eb..ad6b91f8c1 100644 --- a/data/corefork.telegram.org/method/channels.editAdmin +++ b/data/corefork.telegram.org/method/channels.editAdmin @@ -227,8 +227,8 @@How to handle channels, supergroups, gigagroups, legacy groups, and what's the difference between them.
+How to handle channels, supergroups, gigagroups, basic groups, and what's the difference between them.
diff --git a/data/corefork.telegram.org/method/channels.editBanned b/data/corefork.telegram.org/method/channels.editBanned index d11ad7f597..196c73b697 100644 --- a/data/corefork.telegram.org/method/channels.editBanned +++ b/data/corefork.telegram.org/method/channels.editBanned @@ -157,8 +157,8 @@How to handle channels, supergroups, gigagroups, legacy groups, and what's the difference between them.
+How to handle channels, supergroups, gigagroups, basic groups, and what's the difference between them.
diff --git a/data/corefork.telegram.org/method/channels.editLocation b/data/corefork.telegram.org/method/channels.editLocation index aafd343a26..9692d15dfe 100644 --- a/data/corefork.telegram.org/method/channels.editLocation +++ b/data/corefork.telegram.org/method/channels.editLocation @@ -116,8 +116,8 @@How to handle channels, supergroups, gigagroups, legacy groups, and what's the difference between them.
+How to handle channels, supergroups, gigagroups, basic groups, and what's the difference between them.
diff --git a/data/corefork.telegram.org/method/channels.editPhoto b/data/corefork.telegram.org/method/channels.editPhoto index 9cc159bd05..7a03afca6a 100644 --- a/data/corefork.telegram.org/method/channels.editPhoto +++ b/data/corefork.telegram.org/method/channels.editPhoto @@ -147,8 +147,8 @@How to handle channels, supergroups, gigagroups, legacy groups, and what's the difference between them.
+How to handle channels, supergroups, gigagroups, basic groups, and what's the difference between them.
How to handle file references.
diff --git a/data/corefork.telegram.org/method/channels.editTitle b/data/corefork.telegram.org/method/channels.editTitle index 55bba7052f..04993ac038 100644 --- a/data/corefork.telegram.org/method/channels.editTitle +++ b/data/corefork.telegram.org/method/channels.editTitle @@ -132,8 +132,8 @@How to handle channels, supergroups, gigagroups, legacy groups, and what's the difference between them.
+How to handle channels, supergroups, gigagroups, basic groups, and what's the difference between them.
diff --git a/data/corefork.telegram.org/method/channels.exportMessageLink b/data/corefork.telegram.org/method/channels.exportMessageLink index a6e7cfb189..55bb47610b 100644 --- a/data/corefork.telegram.org/method/channels.exportMessageLink +++ b/data/corefork.telegram.org/method/channels.exportMessageLink @@ -130,8 +130,8 @@How to handle channels, supergroups, gigagroups, legacy groups, and what's the difference between them.
+How to handle channels, supergroups, gigagroups, basic groups, and what's the difference between them.
diff --git a/data/corefork.telegram.org/method/channels.getAdminLog b/data/corefork.telegram.org/method/channels.getAdminLog index b6113af50a..38a7354eb8 100644 --- a/data/corefork.telegram.org/method/channels.getAdminLog +++ b/data/corefork.telegram.org/method/channels.getAdminLog @@ -152,8 +152,8 @@How to fetch results from large lists of objects.
-How to handle channels, supergroups, gigagroups, legacy groups, and what's the difference between them.
+How to handle channels, supergroups, gigagroups, basic groups, and what's the difference between them.
diff --git a/data/corefork.telegram.org/method/channels.getAdminedPublicChannels b/data/corefork.telegram.org/method/channels.getAdminedPublicChannels index 998558e45a..d9b47667a4 100644 --- a/data/corefork.telegram.org/method/channels.getAdminedPublicChannels +++ b/data/corefork.telegram.org/method/channels.getAdminedPublicChannels @@ -111,8 +111,8 @@How to handle channels, supergroups, gigagroups, legacy groups, and what's the difference between them.
+How to handle channels, supergroups, gigagroups, basic groups, and what's the difference between them.
Check if a username is free and can be assigned to a channel/supergroup
How to handle channels, supergroups, gigagroups, legacy groups, and what's the difference between them.
+How to handle channels, supergroups, gigagroups, basic groups, and what's the difference between them.
diff --git a/data/corefork.telegram.org/method/channels.getFullChannel b/data/corefork.telegram.org/method/channels.getFullChannel index 5161120dfb..19b5c4ea60 100644 --- a/data/corefork.telegram.org/method/channels.getFullChannel +++ b/data/corefork.telegram.org/method/channels.getFullChannel @@ -116,8 +116,8 @@How to handle channels, supergroups, gigagroups, legacy groups, and what's the difference between them.
+How to handle channels, supergroups, gigagroups, basic groups, and what's the difference between them.
diff --git a/data/corefork.telegram.org/method/channels.getGroupsForDiscussion b/data/corefork.telegram.org/method/channels.getGroupsForDiscussion index dee93359ec..7358b1b622 100644 --- a/data/corefork.telegram.org/method/channels.getGroupsForDiscussion +++ b/data/corefork.telegram.org/method/channels.getGroupsForDiscussion @@ -43,7 +43,7 @@Get all groups that can be used as discussion groups.
-Returned legacy group chats must be first upgraded to supergroups before they can be set as a discussion group.
+
Returned basic group chats must be first upgraded to supergroups before they can be set as a discussion group.
To set a returned supergroup as a discussion group, access to its old messages must be enabled using channels.togglePreHistoryHidden, first.
Groups can be associated to a channel as a discussion group, to allow users to discuss about posts.
-How to handle channels, supergroups, gigagroups, legacy groups, and what's the difference between them.
+How to handle channels, supergroups, gigagroups, basic groups, and what's the difference between them.
Hide/unhide message history for new channel/supergroup users
How to fetch results from large lists of objects.
-How to handle channels, supergroups, gigagroups, legacy groups, and what's the difference between them.
How to handle channels, supergroups, gigagroups, basic groups, and what's the difference between them.
diff --git a/data/corefork.telegram.org/method/channels.getMessages b/data/corefork.telegram.org/method/channels.getMessages index d9b878ccd9..01766687d5 100644 --- a/data/corefork.telegram.org/method/channels.getMessages +++ b/data/corefork.telegram.org/method/channels.getMessages @@ -124,8 +124,8 @@How to handle channels, supergroups, gigagroups, legacy groups, and what's the difference between them.
+How to handle channels, supergroups, gigagroups, basic groups, and what's the difference between them.
diff --git a/data/corefork.telegram.org/method/channels.getParticipant b/data/corefork.telegram.org/method/channels.getParticipant index 8090bd5951..efb579ad05 100644 --- a/data/corefork.telegram.org/method/channels.getParticipant +++ b/data/corefork.telegram.org/method/channels.getParticipant @@ -131,8 +131,8 @@How to handle channels, supergroups, gigagroups, legacy groups, and what's the difference between them.
+How to handle channels, supergroups, gigagroups, basic groups, and what's the difference between them.
diff --git a/data/corefork.telegram.org/method/channels.getParticipants b/data/corefork.telegram.org/method/channels.getParticipants index d47f4bebc9..ac56de1083 100644 --- a/data/corefork.telegram.org/method/channels.getParticipants +++ b/data/corefork.telegram.org/method/channels.getParticipants @@ -129,8 +129,8 @@How to fetch results from large lists of objects.
-How to handle channels, supergroups, gigagroups, legacy groups, and what's the difference between them.
+How to handle channels, supergroups, gigagroups, basic groups, and what's the difference between them.
diff --git a/data/corefork.telegram.org/method/channels.leaveChannel b/data/corefork.telegram.org/method/channels.leaveChannel index db29fef609..24c2eb9dfc 100644 --- a/data/corefork.telegram.org/method/channels.leaveChannel +++ b/data/corefork.telegram.org/method/channels.leaveChannel @@ -132,8 +132,8 @@How to handle channels, supergroups, gigagroups, legacy groups, and what's the difference between them.
+How to handle channels, supergroups, gigagroups, basic groups, and what's the difference between them.
diff --git a/data/corefork.telegram.org/method/channels.readHistory b/data/corefork.telegram.org/method/channels.readHistory index e405a49674..8f163b0195 100644 --- a/data/corefork.telegram.org/method/channels.readHistory +++ b/data/corefork.telegram.org/method/channels.readHistory @@ -111,8 +111,8 @@How to handle channels, supergroups, gigagroups, legacy groups, and what's the difference between them.
+How to handle channels, supergroups, gigagroups, basic groups, and what's the difference between them.
diff --git a/data/corefork.telegram.org/method/channels.readMessageContents b/data/corefork.telegram.org/method/channels.readMessageContents index 5657b5891e..d28daeb4fb 100644 --- a/data/corefork.telegram.org/method/channels.readMessageContents +++ b/data/corefork.telegram.org/method/channels.readMessageContents @@ -111,8 +111,8 @@How to handle channels, supergroups, gigagroups, legacy groups, and what's the difference between them.
+How to handle channels, supergroups, gigagroups, basic groups, and what's the difference between them.
diff --git a/data/corefork.telegram.org/method/channels.toggleSlowMode b/data/corefork.telegram.org/method/channels.toggleSlowMode index 18e57ea89a..15e17503b6 100644 --- a/data/corefork.telegram.org/method/channels.toggleSlowMode +++ b/data/corefork.telegram.org/method/channels.toggleSlowMode @@ -116,8 +116,8 @@How to handle channels, supergroups, gigagroups, legacy groups, and what's the difference between them.
+How to handle channels, supergroups, gigagroups, basic groups, and what's the difference between them.
diff --git a/data/corefork.telegram.org/method/messages.deleteChat b/data/corefork.telegram.org/method/messages.deleteChat index 350e565fd6..445398cfa1 100644 --- a/data/corefork.telegram.org/method/messages.deleteChat +++ b/data/corefork.telegram.org/method/messages.deleteChat @@ -106,8 +106,8 @@How to handle channels, supergroups, gigagroups, legacy groups, and what's the difference between them.
+How to handle channels, supergroups, gigagroups, basic groups, and what's the difference between them.
diff --git a/data/corefork.telegram.org/method/messages.editChatAbout b/data/corefork.telegram.org/method/messages.editChatAbout index 5c0b4a5046..546d84d991 100644 --- a/data/corefork.telegram.org/method/messages.editChatAbout +++ b/data/corefork.telegram.org/method/messages.editChatAbout @@ -142,8 +142,8 @@How to handle channels, supergroups, gigagroups, legacy groups, and what's the difference between them.
+How to handle channels, supergroups, gigagroups, basic groups, and what's the difference between them.
diff --git a/data/corefork.telegram.org/method/messages.editChatAdmin b/data/corefork.telegram.org/method/messages.editChatAdmin index 0991c09573..5ade77be8a 100644 --- a/data/corefork.telegram.org/method/messages.editChatAdmin +++ b/data/corefork.telegram.org/method/messages.editChatAdmin @@ -4,10 +4,10 @@Make a user admin in a legacy group.
+Make a user admin in a basic group.
How to handle channels, supergroups, gigagroups, legacy groups, and what's the difference between them.
How to handle channels, supergroups, gigagroups, basic groups, and what's the difference between them.
How to handle channels, supergroups, gigagroups, legacy groups, and what's the difference between them.
+How to handle channels, supergroups, gigagroups, basic groups, and what's the difference between them.
diff --git a/data/corefork.telegram.org/method/messages.getDiscussionMessage b/data/corefork.telegram.org/method/messages.getDiscussionMessage index d7bc8dde5e..838afca782 100644 --- a/data/corefork.telegram.org/method/messages.getDiscussionMessage +++ b/data/corefork.telegram.org/method/messages.getDiscussionMessage @@ -110,8 +110,8 @@How to handle channels, supergroups, gigagroups, legacy groups, and what's the difference between them.
+How to handle channels, supergroups, gigagroups, basic groups, and what's the difference between them.
Telegram allows commenting on a channel post or on a generic supergroup message, thanks to message threads.
Get full info about a legacy group.
+Get full info about a basic group.
How to handle channels, supergroups, gigagroups, legacy groups, and what's the difference between them.
How to handle channels, supergroups, gigagroups, basic groups, and what's the difference between them.
messages.messageReactionsList#31bd492d flags:# count:int reactions:Vector<MessagePeerReaction> chats:Vector<Chat> users:Vector<User> next_offset:flags.0?string = messages.MessageReactionsList;
---functions---
messages.getMessageReactionsList#e0ee6b77 flags:# peer:InputPeer id:int reaction:flags.0?string offset:flags.1?string limit:int = messages.MessageReactionsList;
-Name | -Type | +Type | Description |
---|---|---|---|
flags | -# | +# | Flags, see TL conditional fields |
peer | -InputPeer | +InputPeer | Peer |
id | -int | +int | Message ID |
reaction | -flags.0?string | +flags.0?string | Get only reactions of this type (UTF8 emoji) |
offset | -flags.1?string | +flags.1?string | Offset (typically taken from the next_offset field of the returned messages.MessageReactionsList) |
limit | -int | +int | Maximum number of results to return, see pagination |
List of message reactions »
-List of peers that reacted to a specific message
+How to fetch results from large lists of objects.
-Telegram allows users to react on any message using specific emojis, triggering cute lottie animations.
- +Telegram allows users to react on any message using specific emojis, triggering cute lottie animations.
diff --git a/data/corefork.telegram.org/method/messages.getMessagesViews b/data/corefork.telegram.org/method/messages.getMessagesViews index fe0efffa9c..bfef1894ec 100644 --- a/data/corefork.telegram.org/method/messages.getMessagesViews +++ b/data/corefork.telegram.org/method/messages.getMessagesViews @@ -125,8 +125,8 @@How to handle channels, supergroups, gigagroups, legacy groups, and what's the difference between them.
+How to handle channels, supergroups, gigagroups, basic groups, and what's the difference between them.
diff --git a/data/corefork.telegram.org/method/messages.migrateChat b/data/corefork.telegram.org/method/messages.migrateChat index 5416afdd36..48913d77cd 100644 --- a/data/corefork.telegram.org/method/messages.migrateChat +++ b/data/corefork.telegram.org/method/messages.migrateChat @@ -4,10 +4,10 @@Turn a legacy group into a supergroup
+Turn a basic group into a supergroup
How to handle channels, supergroups, gigagroups, legacy groups, and what's the difference between them.
How to handle channels, supergroups, gigagroups, basic groups, and what's the difference between them.
How to handle channels, supergroups, gigagroups, legacy groups, and what's the difference between them.
+How to handle channels, supergroups, gigagroups, basic groups, and what's the difference between them.
diff --git a/data/corefork.telegram.org/method/stats.getMegagroupStats b/data/corefork.telegram.org/method/stats.getMegagroupStats index b1da8b78bd..962dd81c36 100644 --- a/data/corefork.telegram.org/method/stats.getMegagroupStats +++ b/data/corefork.telegram.org/method/stats.getMegagroupStats @@ -115,8 +115,8 @@How to handle channels, supergroups, gigagroups, legacy groups, and what's the difference between them.
+How to handle channels, supergroups, gigagroups, basic groups, and what's the difference between them.
Telegram offers detailed channel statistics for channels and supergroups.
diff --git a/data/corefork.telegram.org/methods.html b/data/corefork.telegram.org/methods.html index f8ce7474c5..622e75f930 100644 --- a/data/corefork.telegram.org/methods.html +++ b/data/corefork.telegram.org/methods.html @@ -584,7 +584,7 @@How to handle channels, supergroups, gigagroups, legacy groups, and what's the difference between them.
+How to handle channels, supergroups, gigagroups, basic groups, and what's the difference between them.
diff --git a/data/corefork.telegram.org/type/ChatBannedRights.html b/data/corefork.telegram.org/type/ChatBannedRights.html index c1ae5422f7..175bf6ccdb 100644 --- a/data/corefork.telegram.org/type/ChatBannedRights.html +++ b/data/corefork.telegram.org/type/ChatBannedRights.html @@ -72,8 +72,8 @@How to handle channels, supergroups, gigagroups, legacy groups, and what's the difference between them.
+How to handle channels, supergroups, gigagroups, basic groups, and what's the difference between them.
diff --git a/data/corefork.telegram.org/type/ChatFull.html b/data/corefork.telegram.org/type/ChatFull.html index 0d8ef02216..4beac45755 100644 --- a/data/corefork.telegram.org/type/ChatFull.html +++ b/data/corefork.telegram.org/type/ChatFull.html @@ -4,10 +4,10 @@Full info about a channel, supergroup, gigagroup or legacy group.
+Full info about a channel, supergroup, gigagroup or basic group.
How to handle channels, supergroups, gigagroups, legacy groups, and what's the difference between them.
How to handle channels, supergroups, gigagroups, basic groups, and what's the difference between them.
How to handle channels, supergroups, gigagroups, legacy groups, and what's the difference between them.
+How to handle channels, supergroups, gigagroups, basic groups, and what's the difference between them.
diff --git a/data/corefork.telegram.org/type/StatsGroupTopInviter.html b/data/corefork.telegram.org/type/StatsGroupTopInviter.html index 951b4e03bd..318e2c602c 100644 --- a/data/corefork.telegram.org/type/StatsGroupTopInviter.html +++ b/data/corefork.telegram.org/type/StatsGroupTopInviter.html @@ -72,8 +72,8 @@How to handle channels, supergroups, gigagroups, legacy groups, and what's the difference between them.
+How to handle channels, supergroups, gigagroups, basic groups, and what's the difference between them.
diff --git a/data/corefork.telegram.org/type/StatsGroupTopPoster.html b/data/corefork.telegram.org/type/StatsGroupTopPoster.html index 92728d38ea..80a51c4398 100644 --- a/data/corefork.telegram.org/type/StatsGroupTopPoster.html +++ b/data/corefork.telegram.org/type/StatsGroupTopPoster.html @@ -72,8 +72,8 @@How to handle channels, supergroups, gigagroups, legacy groups, and what's the difference between them.
+How to handle channels, supergroups, gigagroups, basic groups, and what's the difference between them.
diff --git a/data/corefork.telegram.org/type/Update.html b/data/corefork.telegram.org/type/Update.html index 9ead7370b5..9405fdf498 100644 --- a/data/corefork.telegram.org/type/Update.html +++ b/data/corefork.telegram.org/type/Update.html @@ -282,7 +282,7 @@Full info about a channel, supergroup, gigagroup or legacy group.
+Full info about a channel, supergroup, gigagroup or basic group.
How to handle channels, supergroups, gigagroups, legacy groups, and what's the difference between them.
How to handle channels, supergroups, gigagroups, basic groups, and what's the difference between them.