diff --git a/data/web/blogfork.telegram.org/bots/api-changelog.html b/data/web/blogfork.telegram.org/bots/api-changelog.html
index 35c442f23d..becd598748 100644
--- a/data/web/blogfork.telegram.org/bots/api-changelog.html
+++ b/data/web/blogfork.telegram.org/bots/api-changelog.html
@@ -55,6 +55,91 @@ To learn how to create…">
diff --git a/data/web/core.telegram.org/bots/api-changelog.html b/data/web/core.telegram.org/bots/api-changelog.html
index 35c442f23d..becd598748 100644
--- a/data/web/core.telegram.org/bots/api-changelog.html
+++ b/data/web/core.telegram.org/bots/api-changelog.html
@@ -55,6 +55,91 @@ To learn how to create…">
Subscribe to @BotNews to be the first to know about the latest updates and join the discussion in @BotTalk
2024
+November 17, 2024
+Bot API 8.0
+
+Bot API 8.0 introduces 10 powerful new features for Mini Apps - including the ability to enter full-screen mode, launch from home screen shortcuts, offer subscription plans and more. Check out all the details in our dedicated blog and Mini App documentation.
+
+Star Subscriptions
+
+- Bots now support paid subscriptions powered by Telegram Stars - monetizing their efforts with multiple tiers of content and features.
+- Added the parameter subscription_period to the method createInvoiceLink to support the creation of links that are billed periodically.
+- Added the parameter business_connection_id to the method createInvoiceLink to support the creation of invoice links on behalf of business accounts.
+- Added the fields subscription_expiration_date, is_recurring and is_first_recurring to the class SuccessfulPayment.
+- Added the method editUserStarSubscription.
+- Added the field subscription_period to the class TransactionPartnerUser.
+
+Full-screen Mode
+
+- Mini Apps are now able to become full-screen in both portrait and landscape mode - allowing them to host more games, play widescreen media and support immersive user experiences.
+- Added the methods requestFullscreen and exitFullscreen to the class WebApp to toggle full-screen mode.
+- Added the fields safeAreaInset and contentSafeAreaInset to the class WebApp, allowing Mini Apps to ensure that their content properly respects the device's safe area margins.
+- Further added the fields isActive and isFullscreen to the class WebApp.
+- Added the events activated, deactivated, safeAreaChanged, contentSafeAreaChanged, fullscreenChanged and fullscreenFailed for Mini Apps.
+
+Homescreen Shortcuts
+
+- Mini Apps can now be accessed via direct shortcuts added to the home screen of mobile devices.
+- Added the method addToHomeScreen to the class WebApp to create a shortcut for users to add to their home screens.
+- Added the method checkHomeScreenStatus to the class WebApp to determine the status and support of the home screen shortcut for the Mini App on the current device.
+- Added the events homeScreenAdded and homeScreenChecked for Mini Apps.
+
+Emoji Status
+
+- Mini Apps can now prompt users to set their emoji status - or request access to later sync it automatically with in-game badges, third-party APIs and more.
+- Added the method setUserEmojiStatus. The user must allow the bot to manage their emoji status.
+- Added the method setEmojiStatus to the class WebApp to let users manually confirm a custom emoji as their new status via a native dialog.
+- Added the method requestEmojiStatusAccess to the class WebApp for obtaining permission to later update a user's emoji status via the Bot API method setUserEmojiStatus.
+- Added the events emojiStatusSet, emojiStatusFailed and emojiStatusAccessRequested for Mini Apps.
+
+Media Sharing and File Downloads
+
+- Users can now share media directly from Mini Apps - sending referral codes, custom memes, artwork and more to any chat or posting them as a story.
+- Added the class PreparedInlineMessage and the method savePreparedInlineMessage, allowing bots to suggest users to send a specific message from a Mini App via the method shareMessage.
+- Added the method shareMessage to the class WebApp to share media from Mini Apps to Telegram chats.
+- Added the method downloadFile to the class WebApp, introducing support for a native popup that prompts users to download files from the Mini App.
+- Added the events shareMessageSent, shareMessageFailed and fileDownloadRequested for Mini Apps.
+
+Geolocation Access
+
+- Mini Apps can now request geolocation access to users, allowing them to build virtually any location-based service, from games with dynamic points of interest to interactive maps for events.
+- Added the field LocationManager to the class WebApp.
+- Added the events locationManagerUpdated and locationRequested for Mini Apps.
+
+Device Motion Tracking
+
+- Mini Apps can now track detailed device motion data, allowing them to implement better productivity tools, immersive VR experiences and more.
+- Added the fields isOrientationLocked, Accelerometer, DeviceOrientation and Gyroscope to the class WebApp.
+- Added the methods lockOrientation and unlockOrientation to the class WebApp to control the screen orientation.
+- Added the events accelerometerStarted, accelerometerStopped, accelerometerChanged, accelerometerFailed, deviceOrientationStarted, deviceOrientationStopped, deviceOrientationChanged, deviceOrientationFailed, gyroscopeStarted, gyroscopeStopped, gyroscopeChanged, gyroscopeFailed for Mini Apps.
+
+Gifts
+
+Loading Screen Customization
+
+- Mini Apps can customize their loading screen, adding their own icon and specific colors for light and dark themes.
+- You can access these customization settings in @BotFather via /mybots > Select Bot > Bot Settings > Configure Mini App > Enable Mini App
+
+Hardware-specific Optimizations
+
+- Mini Apps running on Android can now receive basic information about a device's processing hardware, allowing them to optimize user experience based on the device's capabilities.
+- This information includes the OS, App and SDK's respective versions as well as the device's model and performance class.
+
+ General
+
+- Added the field photo_url to the class WebAppUser for all bots, allowing Mini Apps to access a user's profile photo if their privacy settings allow for it.
+- Third parties (e.g., Mini App builders) that receive or process data on behalf of Mini Apps are now able to validate it without knowing the App's bot token.
+- Debugging options have been expanded to include full support for iOS devices. You can use these tools to find app-specific issues in your Mini App.
+
+
+
+
WARNING! 
Starting December 1, 2024 messages with video that are sent, copied or forwarded to groups and channels with a sufficiently large audience can be automatically scheduled by the server until the respective video is reencoded. Such messages will have 0 as their message identifier and can't be used before they are actually sent.
+
October 31, 2024
Bot API 7.11
diff --git a/data/web/core.telegram.org/bots/api.html b/data/web/core.telegram.org/bots/api.html
index ca3729027c..5151106d32 100644
--- a/data/web/core.telegram.org/bots/api.html
+++ b/data/web/core.telegram.org/bots/api.html
@@ -53,6 +53,91 @@ To learn how to create…">
Subscribe to @BotNews to be the first to know about the latest updates and join the discussion in @BotTalk
+November 17, 2024
+Bot API 8.0
+
+Bot API 8.0 introduces 10 powerful new features for Mini Apps - including the ability to enter full-screen mode, launch from home screen shortcuts, offer subscription plans and more. Check out all the details in our dedicated blog and Mini App documentation.
+
+Star Subscriptions
+
+- Bots now support paid subscriptions powered by Telegram Stars - monetizing their efforts with multiple tiers of content and features.
+- Added the parameter subscription_period to the method createInvoiceLink to support the creation of links that are billed periodically.
+- Added the parameter business_connection_id to the method createInvoiceLink to support the creation of invoice links on behalf of business accounts.
+- Added the fields subscription_expiration_date, is_recurring and is_first_recurring to the class SuccessfulPayment.
+- Added the method editUserStarSubscription.
+- Added the field subscription_period to the class TransactionPartnerUser.
+
+Full-screen Mode
+
+- Mini Apps are now able to become full-screen in both portrait and landscape mode - allowing them to host more games, play widescreen media and support immersive user experiences.
+- Added the methods requestFullscreen and exitFullscreen to the class WebApp to toggle full-screen mode.
+- Added the fields safeAreaInset and contentSafeAreaInset to the class WebApp, allowing Mini Apps to ensure that their content properly respects the device's safe area margins.
+- Further added the fields isActive and isFullscreen to the class WebApp.
+- Added the events activated, deactivated, safeAreaChanged, contentSafeAreaChanged, fullscreenChanged and fullscreenFailed for Mini Apps.
+
+Homescreen Shortcuts
+
+- Mini Apps can now be accessed via direct shortcuts added to the home screen of mobile devices.
+- Added the method addToHomeScreen to the class WebApp to create a shortcut for users to add to their home screens.
+- Added the method checkHomeScreenStatus to the class WebApp to determine the status and support of the home screen shortcut for the Mini App on the current device.
+- Added the events homeScreenAdded and homeScreenChecked for Mini Apps.
+
+Emoji Status
+
+- Mini Apps can now prompt users to set their emoji status - or request access to later sync it automatically with in-game badges, third-party APIs and more.
+- Added the method setUserEmojiStatus. The user must allow the bot to manage their emoji status.
+- Added the method setEmojiStatus to the class WebApp to let users manually confirm a custom emoji as their new status via a native dialog.
+- Added the method requestEmojiStatusAccess to the class WebApp for obtaining permission to later update a user's emoji status via the Bot API method setUserEmojiStatus.
+- Added the events emojiStatusSet, emojiStatusFailed and emojiStatusAccessRequested for Mini Apps.
+
+Media Sharing and File Downloads
+
+- Users can now share media directly from Mini Apps - sending referral codes, custom memes, artwork and more to any chat or posting them as a story.
+- Added the class PreparedInlineMessage and the method savePreparedInlineMessage, allowing bots to suggest users to send a specific message from a Mini App via the method shareMessage.
+- Added the method shareMessage to the class WebApp to share media from Mini Apps to Telegram chats.
+- Added the method downloadFile to the class WebApp, introducing support for a native popup that prompts users to download files from the Mini App.
+- Added the events shareMessageSent, shareMessageFailed and fileDownloadRequested for Mini Apps.
+
+Geolocation Access
+
+- Mini Apps can now request geolocation access to users, allowing them to build virtually any location-based service, from games with dynamic points of interest to interactive maps for events.
+- Added the field LocationManager to the class WebApp.
+- Added the events locationManagerUpdated and locationRequested for Mini Apps.
+
+Device Motion Tracking
+
+- Mini Apps can now track detailed device motion data, allowing them to implement better productivity tools, immersive VR experiences and more.
+- Added the fields isOrientationLocked, Accelerometer, DeviceOrientation and Gyroscope to the class WebApp.
+- Added the methods lockOrientation and unlockOrientation to the class WebApp to control the screen orientation.
+- Added the events accelerometerStarted, accelerometerStopped, accelerometerChanged, accelerometerFailed, deviceOrientationStarted, deviceOrientationStopped, deviceOrientationChanged, deviceOrientationFailed, gyroscopeStarted, gyroscopeStopped, gyroscopeChanged, gyroscopeFailed for Mini Apps.
+
+Gifts
+
+Loading Screen Customization
+
+- Mini Apps can customize their loading screen, adding their own icon and specific colors for light and dark themes.
+- You can access these customization settings in @BotFather via /mybots > Select Bot > Bot Settings > Configure Mini App > Enable Mini App
+
+Hardware-specific Optimizations
+
+- Mini Apps running on Android can now receive basic information about a device's processing hardware, allowing them to optimize user experience based on the device's capabilities.
+- This information includes the OS, App and SDK's respective versions as well as the device's model and performance class.
+
+ General
+
+- Added the field photo_url to the class WebAppUser for all bots, allowing Mini Apps to access a user's profile photo if their privacy settings allow for it.
+- Third parties (e.g., Mini App builders) that receive or process data on behalf of Mini Apps are now able to validate it without knowing the App's bot token.
+- Debugging options have been expanded to include full support for iOS devices. You can use these tools to find app-specific issues in your Mini App.
+
+
+
+
WARNING! 
Starting December 1, 2024 messages with video that are sent, copied or forwarded to groups and channels with a sufficiently large audience can be automatically scheduled by the server until the respective video is reencoded. Such messages will have 0 as their message identifier and can't be used before they are actually sent.
+
October 31, 2024
Bot API 7.11
@@ -91,22 +176,6 @@ To learn how to create…">
- Added the field until_date to the class ChatMemberMember for members with an active subscription.
- Added support for paid reactions and the class ReactionTypePaid.
-July 31, 2024
-Bot API 7.8
-
-- Added the option for bots to set a Main Mini App, which can be previewed and launched directly from a button in the bot's profile or a link.
-- Added the method shareToStory to the class WebApp.
-- Added the field has_main_web_app to the class User, which is returned in the response to getMe.
-- Added the parameter business_connection_id to the methods pinChatMessage and unpinChatMessage, allowing bots to manage pinned messages on behalf of a business account.
-
-July 7, 2024
-Bot API 7.7
-
-- Added the class RefundedPayment, containing information about a refunded payment.
-- Added the field refunded_payment to the class Message, describing a service message about a refunded payment.
-- Added the field isVerticalSwipesEnabled and the methods enableVerticalSwipes, disableVerticalSwipes to the class WebApp.
-- Added the event scanQrPopupClosed for Mini Apps.
-
See earlier changes »
Authorizing your bot
Each bot is given a unique authentication token when it is created. The token looks something like 123456:ABC-DEF1234ghIkl-zyx57W2v1u123ew11
, but we'll use simply <token> in this document instead. You can learn about obtaining tokens and generating new ones in this document.
@@ -5982,7 +6051,7 @@ To learn how to create…">
- Other configurations may work but we can't guarantee that they will.
Accent colors
-Colors with identifiers 0 (red), 1 (orange), 2 (purple/violet), 3 (green), 4 (cyan), 5 (blue), 6 (pink) can be customized by app themes. Additionally, the following colors in RGB format are currently in use.
+Colors with identifiers 0 (red), 1 (orange), 2 (purple/violet), 3 (green), 4 (cyan), 5 (blue), 6 (pink) can be customized by app themes. Additionally, the following colors in RGB format are currently in use.
Color identifier | Light colors | Dark colors |
@@ -6005,7 +6074,7 @@ To learn how to create…">
Profile accent colors
-Currently, the following colors in RGB format are in use for profile backgrounds.
+Currently, the following colors in RGB format are in use for profile backgrounds.
Color identifier | Light colors | Dark colors |
@@ -8076,6 +8145,38 @@ pre-formatted fixed-width code block written in the Python programming language
+setUserEmojiStatus
+Changes the emoji status for a given user that previously allowed the bot to manage their emoji status via the Mini App method requestEmojiStatusAccess. Returns True on success.
+
+
+
+Parameter |
+Type |
+Required |
+Description |
+
+
+
+
+user_id |
+Integer |
+Yes |
+Unique identifier of the target user |
+
+
+emoji_status_custom_emoji_id |
+String |
+Optional |
+Custom emoji identifier of the emoji status to set. Pass an empty string to remove the status. |
+
+
+emoji_status_expiration_date |
+Integer |
+Optional |
+Expiration date of the emoji status, if any |
+
+
+
getFile
Use this method to get basic information about a file and prepare it for downloading. For the moment, bots can download files of up to 20MB in size. On success, a File object is returned. The file can then be downloaded via the link https://api.telegram.org/file/bot<token>/<file_path>
, where <file_path>
is taken from the response. It is guaranteed that the link will be valid for at least 1 hour. When the link expires, a new one can be requested by calling getFile again.
@@ -10917,6 +11018,108 @@ pre-formatted fixed-width code block written in the Python programming language
+Gift
+This object represents a gift that can be sent by the bot.
+
+
+
+Field |
+Type |
+Description |
+
+
+
+
+id |
+String |
+Unique identifier of the gift |
+
+
+sticker |
+Sticker |
+The sticker that represents the gift |
+
+
+star_count |
+Integer |
+The number of Telegram Stars that must be paid to send the sticker |
+
+
+total_count |
+Integer |
+Optional. The total number of the gifts of this type that can be sent; for limited gifts only |
+
+
+remaining_count |
+Integer |
+Optional. The number of remaining gifts of this type that can be sent; for limited gifts only |
+
+
+
+Gifts
+This object represent a list of gifts.
+
+
+
+Field |
+Type |
+Description |
+
+
+
+
+gifts |
+Array of Gift |
+The list of gifts |
+
+
+
+getAvailableGifts
+Returns the list of gifts that can be sent by the bot to users. Requires no parameters. Returns a Gifts object.
+sendGift
+Sends a gift to the given user. The gift can't be converted to Telegram Stars by the user. Returns True on success.
+
+
+
+Parameter |
+Type |
+Required |
+Description |
+
+
+
+
+user_id |
+Integer |
+Yes |
+Unique identifier of the target user that will receive the gift |
+
+
+gift_id |
+String |
+Yes |
+Identifier of the gift |
+
+
+text |
+String |
+Optional |
+Text that will be shown along with the gift; 0-255 characters |
+
+
+text_parse_mode |
+String |
+Optional |
+Mode for parsing entities in the text. See formatting options for more details. Entities other than “bold”, “italic”, “underline”, “strikethrough”, “spoiler”, and “custom_emoji” are ignored. |
+
+
+text_entities |
+Array of MessageEntity |
+Optional |
+A JSON-serialized list of special entities that appear in the gift text. It can be specified instead of text_parse_mode. Entities other than “bold”, “italic”, “underline”, “strikethrough”, “spoiler”, and “custom_emoji” are ignored. |
+
+
+
Inline mode
The following methods and objects allow your bot to work in inline mode.
Please see our Introduction to Inline bots for more details.
To enable this option, send the /setinline
command to @BotFather and provide the placeholder text that the user will see in the input field after typing your bot's name.
@@ -12816,6 +13019,79 @@ pre-formatted fixed-width code block written in the Python programming language
+savePreparedInlineMessage
+Stores a message that can be sent by a user of a Mini App. Returns a PreparedInlineMessage object.
+
+
+
+Parameter |
+Type |
+Required |
+Description |
+
+
+
+
+user_id |
+Integer |
+Yes |
+Unique identifier of the target user that can use the prepared message |
+
+
+result |
+InlineQueryResult |
+Yes |
+A JSON-serialized object describing the message to be sent |
+
+
+allow_user_chats |
+Boolean |
+Optional |
+Pass True if the message can be sent to private chats with users |
+
+
+allow_bot_chats |
+Boolean |
+Optional |
+Pass True if the message can be sent to private chats with bots |
+
+
+allow_group_chats |
+Boolean |
+Optional |
+Pass True if the message can be sent to group and supergroup chats |
+
+
+allow_channel_chats |
+Boolean |
+Optional |
+Pass True if the message can be sent to channel chats |
+
+
+
+PreparedInlineMessage
+Describes an inline message to be sent by a user of a Mini App.
+
+
+
+Field |
+Type |
+Description |
+
+
+
+
+id |
+String |
+Unique identifier of the prepared message |
+
+
+expiration_date |
+Integer |
+Expiration date of the prepared message, in Unix time. Expired prepared messages can no longer be used |
+
+
+
Payments
Your bot can accept payments from Telegram users. Please see the introduction to payments for more details on the process and how to set up payments for your bot.
sendInvoice
@@ -13019,6 +13295,12 @@ pre-formatted fixed-width code block written in the Python programming language
+business_connection_id |
+String |
+Optional |
+Unique identifier of the business connection on behalf of which the link will be created |
+
+
title |
String |
Yes |
@@ -13055,6 +13337,12 @@ pre-formatted fixed-width code block written in the Python programming language
Price breakdown, a JSON-serialized list of components (e.g. product price, tax, discount, delivery cost, delivery tax, bonus, etc.). Must contain exactly one item for payments in Telegram Stars. |
+subscription_period |
+Integer |
+Optional |
+The number of seconds the subscription will be active for before the next payment. The currency must be set to “XTR” (Telegram Stars) if the parameter is used. Currently, it must always be 2592000 (30 days) if specified. |
+
+
max_tip_amount |
Integer |
Optional |
@@ -13262,6 +13550,38 @@ pre-formatted fixed-width code block written in the Python programming language
+editUserStarSubscription
+Allows the bot to cancel or re-enable extension of a subscription paid in Telegram Stars.
+
+
+
+Parameter |
+Type |
+Required |
+Description |
+
+
+
+
+user_id |
+Integer |
+Yes |
+Identifier of the user whose subscription will be edited |
+
+
+telegram_payment_charge_id |
+String |
+Yes |
+Telegram payment identifier for the subscription |
+
+
+is_canceled |
+Boolean |
+Yes |
+Pass True to cancel extension of the user subscription; the subscription must be active up to the end of the current subscription period. Pass False to allow the user to re-enable a subscription that was previously canceled by the bot. |
+
+
+
LabeledPrice
This object represents a portion of the price for goods or services.
@@ -13454,6 +13774,21 @@ pre-formatted fixed-width code block written in the Python programming language
Bot-specified invoice payload |
+subscription_expiration_date |
+Integer |
+Optional. Expiration date of the subscription, in Unix time; for recurring payments only |
+
+
+is_recurring |
+True |
+Optional. True, if the payment is a recurring payment for a subscription |
+
+
+is_first_recurring |
+True |
+Optional. True, if the payment is the first payment for a subscription |
+
+
shipping_option_id |
String |
Optional. Identifier of the shipping option chosen by the user |
@@ -13724,6 +14059,11 @@ pre-formatted fixed-width code block written in the Python programming language
Optional. Bot-specified invoice payload |
+subscription_period |
+Integer |
+Optional. The duration of the paid subscription |
+
+
paid_media |
Array of PaidMedia |
Optional. Information about the paid media bought by the user |
@@ -13733,6 +14073,11 @@ pre-formatted fixed-width code block written in the Python programming language
String |
Optional. Bot-specified paid media payload |
+
+gift |
+String |
+Optional. The gift sent to the user by the bot |
+
TransactionPartnerFragment
diff --git a/data/web/webappcontent.telegram.org/cafe.html b/data/web/webappcontent.telegram.org/cafe.html
index fd968a52c6..912e74c4b9 100644
--- a/data/web/webappcontent.telegram.org/cafe.html
+++ b/data/web/webappcontent.telegram.org/cafe.html
@@ -9,7 +9,7 @@
-
+
+
-
+