Update content of files

This commit is contained in:
GitHub Action 2024-11-17 13:02:02 +00:00
parent 70a49baa12
commit e1ea6a86e0
3 changed files with 601 additions and 100 deletions
data/web
raw.githubusercontent.com/tdlib/td/master/td/generate/scheme
telegram.org/blog

View file

@ -356,9 +356,12 @@ stickerFullTypeMask mask_position:maskPosition = StickerFullType;
stickerFullTypeCustomEmoji custom_emoji_id:int64 needs_repainting:Bool = StickerFullType;
//@description Represents a closed vector path. The path begins at the end point of the last command @commands List of vector path commands
//@description Represents a closed vector path. The path begins at the end point of the last command. The coordinate system origin is in the upper-left corner @commands List of vector path commands
closedVectorPath commands:vector<VectorPathCommand> = ClosedVectorPath;
//@description Represents outline of an image @paths The list of closed vector paths
outline paths:vector<closedVectorPath> = Outline;
//@description Describes one answer option of a poll
//@text Option text; 1-100 characters. Only custom emoji entities are allowed
@ -426,10 +429,9 @@ photo has_stickers:Bool minithumbnail:minithumbnail sizes:vector<photoSize> = Ph
//@emoji Emoji corresponding to the sticker
//@format Sticker format
//@full_type Sticker's full type
//@outline Sticker's outline represented as a list of closed vector paths; may be empty. The coordinate system origin is in the upper-left corner
//@thumbnail Sticker thumbnail in WEBP or JPEG format; may be null
//@sticker File containing the sticker
sticker id:int64 set_id:int64 width:int32 height:int32 emoji:string format:StickerFormat full_type:StickerFullType outline:vector<closedVectorPath> thumbnail:thumbnail sticker:file = Sticker;
sticker id:int64 set_id:int64 width:int32 height:int32 emoji:string format:StickerFormat full_type:StickerFullType thumbnail:thumbnail sticker:file = Sticker;
//@description Describes a video file
//@duration Duration of the video, in seconds; as defined by the sender
@ -525,7 +527,7 @@ webApp short_name:string title:string description:string photo:photo animation:a
poll id:int64 question:formattedText options:vector<pollOption> total_voter_count:int32 recent_voter_ids:vector<MessageSender> is_anonymous:Bool type:PollType open_period:int32 close_date:int32 is_closed:Bool = Poll;
//@description Describes an alternative reencoded quality of a video file
//@description Describes an alternative re-encoded quality of a video file
//@width Video width
//@height Video height
//@codec Codec used for video file encoding, for example, "h264", "h265", or "av1"
@ -807,21 +809,35 @@ chatPermissions can_send_basic_messages:Bool can_send_audios:Bool can_send_docum
chatAdministratorRights can_manage_chat:Bool can_change_info:Bool can_post_messages:Bool can_edit_messages:Bool can_delete_messages:Bool can_invite_users:Bool can_restrict_members:Bool can_pin_messages:Bool can_manage_topics:Bool can_promote_members:Bool can_manage_video_chats:Bool can_post_stories:Bool can_edit_stories:Bool can_delete_stories:Bool is_anonymous:Bool = ChatAdministratorRights;
//@class StarSubscriptionType @description Describes type of subscription paid in Telegram Stars
//@description Describes a subscription to a channel chat
//@can_reuse True, if the subscription is active and the user can use the method reuseStarSubscription to join the subscribed chat again
//@invite_link The invite link that can be used to renew the subscription if it has been expired; may be empty, if the link isn't available anymore
starSubscriptionTypeChannel can_reuse:Bool invite_link:string = StarSubscriptionType;
//@description Describes a subscription in a bot or a business account
//@is_canceled_by_bot True, if the subscription was canceled by the bot and can't be extended
//@title Subscription invoice title
//@photo Subscription invoice photo
//@invoice_link The link to the subscription invoice
starSubscriptionTypeBot is_canceled_by_bot:Bool title:string photo:photo invoice_link:string = StarSubscriptionType;
//@description Describes subscription plan paid in Telegram Stars
//@period The number of seconds between consecutive Telegram Star debiting
//@star_count The amount of Telegram Stars that must be paid for each period
starSubscriptionPricing period:int32 star_count:int53 = StarSubscriptionPricing;
//@description Contains information about subscription to a channel chat paid in Telegram Stars
//@description Contains information about subscription to a channel chat, a bot, or a business account that was paid in Telegram Stars
//@id Unique identifier of the subscription
//@chat_id Identifier of the channel chat that is subscribed
//@chat_id Identifier of the chat that is subscribed
//@expiration_date Point in time (Unix timestamp) when the subscription will expire or expired
//@can_reuse True, if the subscription is active and the user can use the method reuseStarSubscription to join the subscribed chat again
//@is_canceled True, if the subscription was canceled
//@is_expiring True, if the subscription expires soon and there are no enough Telegram Stars on the user's balance to extend it
//@invite_link The invite link that can be used to renew the subscription if it has been expired; may be empty, if the link isn't available anymore
//@pricing The subscription plan
starSubscription id:string chat_id:int53 expiration_date:int32 can_reuse:Bool is_canceled:Bool is_expiring:Bool invite_link:string pricing:starSubscriptionPricing = StarSubscription;
//@type Type of the subscription
starSubscription id:string chat_id:int53 expiration_date:int32 is_canceled:Bool is_expiring:Bool pricing:starSubscriptionPricing type:StarSubscriptionType = StarSubscription;
//@description Represents a list of Telegram Star subscriptions
//@star_count The amount of owned Telegram Stars
@ -914,11 +930,12 @@ starGiveawayPaymentOptions options:vector<starGiveawayPaymentOption> = StarGivea
//@sticker The sticker representing the gift
//@star_count Number of Telegram Stars that must be paid for the gift
//@default_sell_star_count Number of Telegram Stars that can be claimed by the receiver instead of the gift by default. If the gift was paid with just bought Telegram Stars, then full value can be claimed
//@is_for_birthday True, if the gift is a birthday gift
//@remaining_count Number of remaining times the gift can be purchased by all users; 0 if not limited or the gift was sold out
//@total_count Number of total times the gift can be purchased by all users; 0 if not limited
//@first_send_date Point in time (Unix timestamp) when the gift was send for the first time; for sold out gifts only
//@last_send_date Point in time (Unix timestamp) when the gift was send for the last time; for sold out gifts only
gift id:int64 sticker:sticker star_count:int53 default_sell_star_count:int53 remaining_count:int32 total_count:int32 first_send_date:int32 last_send_date:int32 = Gift;
gift id:int64 sticker:sticker star_count:int53 default_sell_star_count:int53 is_for_birthday:Bool remaining_count:int32 total_count:int32 first_send_date:int32 last_send_date:int32 = Gift;
//@description Contains a list of gifts that can be sent to another user @gifts The list of gifts
gifts gifts:vector<gift> = Gifts;
@ -931,7 +948,7 @@ gifts gifts:vector<gift> = Gifts;
//@date Point in time (Unix timestamp) when the gift was sent
//@gift The gift
//@message_id Identifier of the message with the gift in the chat with the sender of the gift; can be 0 or an identifier of a deleted message; only for the gift receiver
//@sell_star_count Number of Telegram Stars that can be claimed by the receiver instead of the gift; only for the gift receiver
//@sell_star_count Number of Telegram Stars that can be claimed by the receiver instead of the gift; 0 if the gift can't be sold by the current user
userGift sender_user_id:int53 text:formattedText is_private:Bool is_saved:Bool date:int32 gift:gift message_id:int53 sell_star_count:int53 = UserGift;
//@description Represents a list of gifts received by a user
@ -960,6 +977,12 @@ botTransactionPurposePaidMedia media:vector<PaidMedia> payload:string = BotTrans
//@invoice_payload Invoice payload; for bots only
botTransactionPurposeInvoicePayment product_info:productInfo invoice_payload:bytes = BotTransactionPurpose;
//@description User bought a subscription in a bot or a business account
//@period The number of seconds between consecutive Telegram Star debiting
//@product_info Information about the bought subscription; may be null if not applicable
//@invoice_payload Invoice payload; for bots only
botTransactionPurposeSubscription period:int32 product_info:productInfo invoice_payload:bytes = BotTransactionPurpose;
//@class ChatTransactionPurpose @description Describes purpose of a transaction with a supergroup or a channel
@ -985,10 +1008,10 @@ chatTransactionPurposeGiveaway giveaway_message_id:int53 = ChatTransactionPurpos
//@description A user gifted Telegram Stars @sticker A sticker to be shown in the transaction information; may be null if unknown
userTransactionPurposeGiftedStars sticker:sticker = UserTransactionPurpose;
//@description The current user sold a gift received from another user @gift The gift
//@description The user sold a gift received from another user or bot @gift The gift
userTransactionPurposeGiftSell gift:gift = UserTransactionPurpose;
//@description The current user sent a gift to another user @gift The gift
//@description The user or the bot sent a gift to a user @gift The gift
userTransactionPurposeGiftSend gift:gift = UserTransactionPurpose;
@ -1171,13 +1194,18 @@ user id:int53 first_name:string last_name:string usernames:usernames phone_numbe
//@privacy_policy_url The HTTP link to the privacy policy of the bot. If empty, then /privacy command must be used if supported by the bot. If the command isn't supported, then https://telegram.org/privacy-tpa must be opened
//@default_group_administrator_rights Default administrator rights for adding the bot to basic group and supergroup chats; may be null
//@default_channel_administrator_rights Default administrator rights for adding the bot to channels; may be null
//@can_get_revenue_statistics True, if the bot's revenue statistics are available
//@web_app_background_light_color Default light background color for bot Web Apps; -1 if not specified
//@web_app_background_dark_color Default dark background color for bot Web Apps; -1 if not specified
//@web_app_header_light_color Default light header color for bot Web Apps; -1 if not specified
//@web_app_header_dark_color Default dark header color for bot Web Apps; -1 if not specified
//@can_get_revenue_statistics True, if the bot's revenue statistics are available to the current user
//@can_manage_emoji_status True, if the bot can manage emoji status of the current user
//@has_media_previews True, if the bot has media previews
//@edit_commands_link The internal link, which can be used to edit bot commands; may be null
//@edit_description_link The internal link, which can be used to edit bot description; may be null
//@edit_description_media_link The internal link, which can be used to edit the photo or animation shown in the chat with the bot if the chat is empty; may be null
//@edit_settings_link The internal link, which can be used to edit bot settings; may be null
botInfo short_description:string description:string photo:photo animation:animation menu_button:botMenuButton commands:vector<botCommand> privacy_policy_url:string default_group_administrator_rights:chatAdministratorRights default_channel_administrator_rights:chatAdministratorRights can_get_revenue_statistics:Bool has_media_previews:Bool edit_commands_link:InternalLinkType edit_description_link:InternalLinkType edit_description_media_link:InternalLinkType edit_settings_link:InternalLinkType = BotInfo;
botInfo short_description:string description:string photo:photo animation:animation menu_button:botMenuButton commands:vector<botCommand> privacy_policy_url:string default_group_administrator_rights:chatAdministratorRights default_channel_administrator_rights:chatAdministratorRights web_app_background_light_color:int32 web_app_background_dark_color:int32 web_app_header_light_color:int32 web_app_header_dark_color:int32 can_get_revenue_statistics:Bool can_manage_emoji_status:Bool has_media_previews:Bool edit_commands_link:InternalLinkType edit_description_link:InternalLinkType edit_description_media_link:InternalLinkType edit_settings_link:InternalLinkType = BotInfo;
//@description Contains full information about a user
//@personal_photo User profile photo set by the current user for the contact; may be null. If null and user.profile_photo is null, then the photo is empty; otherwise, it is unknown.
@ -2350,6 +2378,37 @@ loginUrlInfoOpen url:string skip_confirmation:Bool = LoginUrlInfo;
loginUrlInfoRequestConfirmation url:string domain:string bot_user_id:int53 request_write_access:Bool = LoginUrlInfo;
//@description Contains parameters of the application theme
//@background_color A color of the background in the RGB format
//@secondary_background_color A secondary color for the background in the RGB format
//@header_background_color A color of the header background in the RGB format
//@bottom_bar_background_color A color of the bottom bar background in the RGB format
//@section_background_color A color of the section background in the RGB format
//@section_separator_color A color of the section separator in the RGB format
//@text_color A color of text in the RGB format
//@accent_text_color An accent color of the text in the RGB format
//@section_header_text_color A color of text on the section headers in the RGB format
//@subtitle_text_color A color of the subtitle text in the RGB format
//@destructive_text_color A color of the text for destructive actions in the RGB format
//@hint_color A color of hints in the RGB format
//@link_color A color of links in the RGB format
//@button_color A color of the buttons in the RGB format
//@button_text_color A color of text on the buttons in the RGB format
themeParameters background_color:int32 secondary_background_color:int32 header_background_color:int32 bottom_bar_background_color:int32 section_background_color:int32 section_separator_color:int32 text_color:int32 accent_text_color:int32 section_header_text_color:int32 subtitle_text_color:int32 destructive_text_color:int32 hint_color:int32 link_color:int32 button_color:int32 button_text_color:int32 = ThemeParameters;
//@class WebAppOpenMode @description Describes mode in which a Web App is opened
//@description The Web App is opened in the compact mode
webAppOpenModeCompact = WebAppOpenMode;
//@description The Web App is opened in the full-size mode
webAppOpenModeFullSize = WebAppOpenMode;
//@description The Web App is opened in the full-screen mode
webAppOpenModeFullScreen = WebAppOpenMode;
//@description Contains information about a Web App found by its short name
//@web_app The Web App
//@request_write_access True, if the user must be asked for the permission to the bot to send them messages
@ -2359,8 +2418,14 @@ foundWebApp web_app:webApp request_write_access:Bool skip_confirmation:Bool = Fo
//@description Contains information about a Web App @launch_id Unique identifier for the Web App launch @url A Web App URL to open in a web view
webAppInfo launch_id:int64 url:string = WebAppInfo;
//@description Contains information about the main Web App of a bot @url URL of the Web App to open @is_compact True, if the Web App must always be opened in the compact mode instead of the full-size mode
mainWebApp url:string is_compact:Bool = MainWebApp;
//@description Contains information about the main Web App of a bot @url URL of the Web App to open @mode The mode in which the Web App must be opened
mainWebApp url:string mode:WebAppOpenMode = MainWebApp;
//@description Options to be used when a Web App is opened
//@theme Preferred Web App theme; pass null to use the default theme
//@application_name Short name of the current application; 0-64 English letters, digits, and underscores
//@mode The mode in which the Web App is opened; pass null to open in webAppOpenModeFullSize
webAppOpenParameters theme:themeParameters application_name:string mode:WebAppOpenMode = WebAppOpenParameters;
//@description Contains information about a message thread
@ -2939,31 +3004,13 @@ address country_code:string state:string city:string street_line1:string street_
locationAddress country_code:string state:string city:string street:string = LocationAddress;
//@description Contains parameters of the application theme
//@background_color A color of the background in the RGB format
//@secondary_background_color A secondary color for the background in the RGB format
//@header_background_color A color of the header background in the RGB format
//@bottom_bar_background_color A color of the bottom bar background in the RGB format
//@section_background_color A color of the section background in the RGB format
//@section_separator_color A color of the section separator in the RGB format
//@text_color A color of text in the RGB format
//@accent_text_color An accent color of the text in the RGB format
//@section_header_text_color A color of text on the section headers in the RGB format
//@subtitle_text_color A color of the subtitle text in the RGB format
//@destructive_text_color A color of the text for destructive actions in the RGB format
//@hint_color A color of hints in the RGB format
//@link_color A color of links in the RGB format
//@button_color A color of the buttons in the RGB format
//@button_text_color A color of text on the buttons in the RGB format
themeParameters background_color:int32 secondary_background_color:int32 header_background_color:int32 bottom_bar_background_color:int32 section_background_color:int32 section_separator_color:int32 text_color:int32 accent_text_color:int32 section_header_text_color:int32 subtitle_text_color:int32 destructive_text_color:int32 hint_color:int32 link_color:int32 button_color:int32 button_text_color:int32 = ThemeParameters;
//@description Portion of the price of a product (e.g., "delivery cost", "tax amount") @label Label for this portion of the product price @amount Currency amount in the smallest units of the currency
labeledPricePart label:string amount:int53 = LabeledPricePart;
//@description Product invoice
//@currency ISO 4217 currency code
//@price_parts A list of objects used to calculate the total price of the product
//@subscription_period The number of seconds between consecutive Telegram Star debiting for subscription invoices; 0 if the invoice doesn't create subscription
//@max_tip_amount The maximum allowed amount of tip in the smallest units of the currency
//@suggested_tip_amounts Suggested amounts of tip in the smallest units of the currency
//@recurring_payment_terms_of_service_url An HTTP URL with terms of service for recurring payments. If non-empty, the invoice payment will result in recurring payments and the user must accept the terms of service before allowed to pay
@ -2976,7 +3023,7 @@ labeledPricePart label:string amount:int53 = LabeledPricePart;
//@send_phone_number_to_provider True, if the user's phone number will be sent to the provider
//@send_email_address_to_provider True, if the user's email address will be sent to the provider
//@is_flexible True, if the total price depends on the shipping method
invoice currency:string price_parts:vector<labeledPricePart> max_tip_amount:int53 suggested_tip_amounts:vector<int53> recurring_payment_terms_of_service_url:string terms_of_service_url:string is_test:Bool need_name:Bool need_phone_number:Bool need_email_address:Bool need_shipping_address:Bool send_phone_number_to_provider:Bool send_email_address_to_provider:Bool is_flexible:Bool = Invoice;
invoice currency:string price_parts:vector<labeledPricePart> subscription_period:int32 max_tip_amount:int53 suggested_tip_amounts:vector<int53> recurring_payment_terms_of_service_url:string terms_of_service_url:string is_test:Bool need_name:Bool need_phone_number:Bool need_email_address:Bool need_shipping_address:Bool send_phone_number_to_provider:Bool send_email_address_to_provider:Bool is_flexible:Bool = Invoice;
//@description Order information
//@name Name of the user
@ -3046,6 +3093,9 @@ paymentFormTypeRegular invoice:invoice payment_provider_user_id:int53 payment_pr
//@description The payment form is for a payment in Telegram Stars @star_count Number of Telegram Stars that will be paid
paymentFormTypeStars star_count:int53 = PaymentFormType;
//@description The payment form is for a payment in Telegram Stars for subscription @pricing Information about subscription plan
paymentFormTypeStarSubscription pricing:starSubscriptionPricing = PaymentFormType;
//@description Contains information about an invoice payment form
//@id The payment form identifier
@ -3621,27 +3671,29 @@ messageCustomServiceAction text:string = MessageContent;
//@description A new high score was achieved in a game @game_message_id Identifier of the message with the game, can be an identifier of a deleted message @game_id Identifier of the game; may be different from the games presented in the message with the game @score New score
messageGameScore game_message_id:int53 game_id:int64 score:int32 = MessageContent;
//@description A payment has been completed
//@description A payment has been sent to a bot or a business account
//@invoice_chat_id Identifier of the chat, containing the corresponding invoice message
//@invoice_message_id Identifier of the message with the corresponding invoice; can be 0 or an identifier of a deleted message
//@currency Currency for the price of the product
//@total_amount Total price for the product, in the smallest units of the currency
//@subscription_until_date Point in time (Unix timestamp) when the subscription will expire; 0 if unknown or the payment isn't recurring
//@is_recurring True, if this is a recurring payment
//@is_first_recurring True, if this is the first recurring payment
//@invoice_name Name of the invoice; may be empty if unknown
messagePaymentSuccessful invoice_chat_id:int53 invoice_message_id:int53 currency:string total_amount:int53 is_recurring:Bool is_first_recurring:Bool invoice_name:string = MessageContent;
messagePaymentSuccessful invoice_chat_id:int53 invoice_message_id:int53 currency:string total_amount:int53 subscription_until_date:int32 is_recurring:Bool is_first_recurring:Bool invoice_name:string = MessageContent;
//@description A payment has been completed; for bots only
//@description A payment has been received by the bot or the business account
//@currency Currency for price of the product
//@total_amount Total price for the product, in the smallest units of the currency
//@subscription_until_date Point in time (Unix timestamp) when the subscription will expire; 0 if unknown or the payment isn't recurring
//@is_recurring True, if this is a recurring payment
//@is_first_recurring True, if this is the first recurring payment
//@invoice_payload Invoice payload
//@shipping_option_id Identifier of the shipping option chosen by the user; may be empty if not applicable
//@order_info Information about the order; may be null
//@shipping_option_id Identifier of the shipping option chosen by the user; may be empty if not applicable; for bots only
//@order_info Information about the order; may be null; for bots only
//@telegram_payment_charge_id Telegram payment identifier
//@provider_payment_charge_id Provider payment identifier
messagePaymentSuccessfulBot currency:string total_amount:int53 is_recurring:Bool is_first_recurring:Bool invoice_payload:bytes shipping_option_id:string order_info:orderInfo telegram_payment_charge_id:string provider_payment_charge_id:string = MessageContent;
messagePaymentSuccessfulBot currency:string total_amount:int53 subscription_until_date:int32 is_recurring:Bool is_first_recurring:Bool invoice_payload:bytes shipping_option_id:string order_info:orderInfo telegram_payment_charge_id:string provider_payment_charge_id:string = MessageContent;
//@description A payment has been refunded
//@owner_id Identifier of the previous owner of the Telegram Stars that refunds them
@ -3734,7 +3786,7 @@ messageGiveawayPrizeStars star_count:int53 transaction_id:string boosted_chat_id
//@description A gift was received or sent by the current user
//@gift The gift
//@text Message added to the gift
//@sell_star_count Number of Telegram Stars that can be claimed by the receiver instead of the gift
//@sell_star_count Number of Telegram Stars that can be claimed by the receiver instead of the gift; 0 if the gift can't be sold by the receiver
//@is_private True, if the sender and gift text are shown only to the gift receiver; otherwise, everyone will be able to see them
//@is_saved True, if the gift is displayed on the user's profile page; only for the receiver of the gift
//@was_converted True, if the gift was converted to Telegram Stars; only for the receiver of the gift
@ -3977,7 +4029,7 @@ inputMessagePhoto photo:InputFile thumbnail:inputThumbnail added_sticker_file_id
inputMessageSticker sticker:InputFile thumbnail:inputThumbnail width:int32 height:int32 emoji:string = InputMessageContent;
//@description A video message
//@video Video to be sent. The video is expected to be reencoded to MPEG4 format with H.264 codec by the sender
//@video Video to be sent. The video is expected to be re-encoded to MPEG4 format with H.264 codec by the sender
//@thumbnail Video thumbnail; pass null to skip thumbnail uploading
//@added_sticker_file_ids File identifiers of the stickers added to the video, if applicable
//@duration Duration of the video, in seconds
@ -4235,7 +4287,7 @@ emojis emojis:vector<string> = Emojis;
//@title Title of the sticker set
//@name Name of the sticker set
//@thumbnail Sticker set thumbnail in WEBP, TGS, or WEBM format with width and height 100; may be null. The file can be downloaded only before the thumbnail is changed
//@thumbnail_outline Sticker set thumbnail's outline represented as a list of closed vector paths; may be empty. The coordinate system origin is in the upper-left corner
//@thumbnail_outline Sticker set thumbnail's outline; may be null if unknown
//@is_owned True, if the sticker set is owned by the current user
//@is_installed True, if the sticker set has been installed by the current user
//@is_archived True, if the sticker set has been archived. A sticker set can't be installed and archived simultaneously
@ -4246,14 +4298,14 @@ emojis emojis:vector<string> = Emojis;
//@is_viewed True for already viewed trending sticker sets
//@stickers List of stickers in this set
//@emojis A list of emojis corresponding to the stickers in the same order. The list is only for informational purposes, because a sticker is always sent with a fixed emoji from the corresponding Sticker object
stickerSet id:int64 title:string name:string thumbnail:thumbnail thumbnail_outline:vector<closedVectorPath> is_owned:Bool is_installed:Bool is_archived:Bool is_official:Bool sticker_type:StickerType needs_repainting:Bool is_allowed_as_chat_emoji_status:Bool is_viewed:Bool stickers:vector<sticker> emojis:vector<emojis> = StickerSet;
stickerSet id:int64 title:string name:string thumbnail:thumbnail thumbnail_outline:outline is_owned:Bool is_installed:Bool is_archived:Bool is_official:Bool sticker_type:StickerType needs_repainting:Bool is_allowed_as_chat_emoji_status:Bool is_viewed:Bool stickers:vector<sticker> emojis:vector<emojis> = StickerSet;
//@description Represents short information about a sticker set
//@id Identifier of the sticker set
//@title Title of the sticker set
//@name Name of the sticker set
//@thumbnail Sticker set thumbnail in WEBP, TGS, or WEBM format with width and height 100; may be null. The file can be downloaded only before the thumbnail is changed
//@thumbnail_outline Sticker set thumbnail's outline represented as a list of closed vector paths; may be empty. The coordinate system origin is in the upper-left corner
//@thumbnail_outline Sticker set thumbnail's outline; may be null if unknown
//@is_owned True, if the sticker set is owned by the current user
//@is_installed True, if the sticker set has been installed by the current user
//@is_archived True, if the sticker set has been archived. A sticker set can't be installed and archived simultaneously
@ -4264,7 +4316,7 @@ stickerSet id:int64 title:string name:string thumbnail:thumbnail thumbnail_outli
//@is_viewed True for already viewed trending sticker sets
//@size Total number of stickers in the set
//@covers Up to the first 5 stickers from the set, depending on the context. If the application needs more stickers the full sticker set needs to be requested
stickerSetInfo id:int64 title:string name:string thumbnail:thumbnail thumbnail_outline:vector<closedVectorPath> is_owned:Bool is_installed:Bool is_archived:Bool is_official:Bool sticker_type:StickerType needs_repainting:Bool is_allowed_as_chat_emoji_status:Bool is_viewed:Bool size:int32 covers:vector<sticker> = StickerSetInfo;
stickerSetInfo id:int64 title:string name:string thumbnail:thumbnail thumbnail_outline:outline is_owned:Bool is_installed:Bool is_archived:Bool is_official:Bool sticker_type:StickerType needs_repainting:Bool is_allowed_as_chat_emoji_status:Bool is_viewed:Bool size:int32 covers:vector<sticker> = StickerSetInfo;
//@description Represents a list of sticker sets @total_count Approximate total number of sticker sets found @sets List of sticker sets
stickerSets total_count:int32 sets:vector<stickerSetInfo> = StickerSets;
@ -5099,6 +5151,26 @@ httpUrl url:string = HttpUrl;
userLink url:string expires_in:int32 = UserLink;
//@description Describes allowed types for the target chat
//@allow_user_chats True, if private chats with ordinary users are allowed
//@allow_bot_chats True, if private chats with other bots are allowed
//@allow_group_chats True, if basic group and supergroup chats are allowed
//@allow_channel_chats True, if channel chats are allowed
targetChatTypes allow_user_chats:Bool allow_bot_chats:Bool allow_group_chats:Bool allow_channel_chats:Bool = TargetChatTypes;
//@class TargetChat @description Describes the target chat to be opened
//@description The currently opened chat needs to be kept
targetChatCurrent = TargetChat;
//@description The chat needs to be chosen by the user among chats of the specified types @types Allowed types for the chat
targetChatChosen types:targetChatTypes = TargetChat;
//@description The chat needs to be open with the provided internal link @link An internal link pointing to the chat
targetChatInternalLink link:InternalLinkType = TargetChat;
//@class InputInlineQueryResult @description Represents a single result of an inline query; for bots only
//@description Represents a link to an animated GIF or an animated (i.e., without sound) H.264/MPEG-4 AVC video
@ -5335,6 +5407,18 @@ inlineQueryResultsButton text:string type:InlineQueryResultsButtonType = InlineQ
inlineQueryResults inline_query_id:int64 button:inlineQueryResultsButton results:vector<InlineQueryResult> next_offset:string = InlineQueryResults;
//@description Represents an inline message that can be sent via the bot
//@id Unique identifier for the message
//@expiration_date Point in time (Unix timestamp) when the message can't be used anymore
preparedInlineMessageId id:string expiration_date:int32 = PreparedInlineMessageId;
//@description Represents a ready to send inline message. Use sendInlineQueryResultMessage to send the message
//@inline_query_id Unique identifier of the inline query to pass to sendInlineQueryResultMessage
//@result Resulted inline message of the query
//@chat_types Types of the chats to which the message can be sent
preparedInlineMessage inline_query_id:int64 result:InlineQueryResult chat_types:targetChatTypes = PreparedInlineMessage;
//@class CallbackQueryPayload @description Represents a payload of a callback query
//@description The payload for a general callback button @data Data that was attached to the callback button
@ -6403,6 +6487,9 @@ userPrivacySettingRuleAllowAll = UserPrivacySettingRule;
//@description A rule to allow all contacts of the user to do something
userPrivacySettingRuleAllowContacts = UserPrivacySettingRule;
//@description A rule to allow all bots to do something
userPrivacySettingRuleAllowBots = UserPrivacySettingRule;
//@description A rule to allow all Premium Users to do something; currently, allowed only for userPrivacySettingAllowChatInvites
userPrivacySettingRuleAllowPremiumUsers = UserPrivacySettingRule;
@ -6418,6 +6505,9 @@ userPrivacySettingRuleRestrictAll = UserPrivacySettingRule;
//@description A rule to restrict all contacts of the user from doing something
userPrivacySettingRuleRestrictContacts = UserPrivacySettingRule;
//@description A rule to restrict all bots from doing something
userPrivacySettingRuleRestrictBots = UserPrivacySettingRule;
//@description A rule to restrict all specified users from doing something @user_ids The user identifiers, total number of users in all rules must not exceed 1000
userPrivacySettingRuleRestrictUsers user_ids:vector<int53> = UserPrivacySettingRule;
@ -6463,6 +6553,9 @@ userPrivacySettingAllowFindingByPhoneNumber = UserPrivacySetting;
//@description A privacy setting for managing whether the user can receive voice and video messages in private chats; for Telegram Premium users only
userPrivacySettingAllowPrivateVoiceAndVideoNoteMessages = UserPrivacySetting;
//@description A privacy setting for managing whether received gifts are automatically shown on the user's profile page
userPrivacySettingAutosaveGifts = UserPrivacySetting;
//@description Contains privacy settings for message read date in private chats. Read dates are always shown to the users that can see online status of the current user regardless of this setting
//@show_read_date True, if message read date is shown to other users in private chats. If false and the current user isn't a Telegram Premium user, then they will not be able to see other's message read date
@ -6655,22 +6748,6 @@ reportStoryResultOptionRequired title:string options:vector<reportOption> = Repo
reportStoryResultTextRequired option_id:bytes is_optional:Bool = ReportStoryResult;
//@class TargetChat @description Describes the target chat to be opened
//@description The currently opened chat needs to be kept
targetChatCurrent = TargetChat;
//@description The chat needs to be chosen by the user among chats of the specified types
//@allow_user_chats True, if private chats with ordinary users are allowed
//@allow_bot_chats True, if private chats with other bots are allowed
//@allow_group_chats True, if basic group and supergroup chats are allowed
//@allow_channel_chats True, if channel chats are allowed
targetChatChosen allow_user_chats:Bool allow_bot_chats:Bool allow_group_chats:Bool allow_channel_chats:Bool = TargetChat;
//@description The chat needs to be open with the provided internal link @link An internal link pointing to the chat
targetChatInternalLink link:InternalLinkType = TargetChat;
//@class InternalLinkType @description Describes an internal https://t.me or tg: link, which must be processed by the application in a special way
//@description The link is a link to the Devices section of the application. Use getActiveSessions to get the list of active sessions and show them to the user
@ -6784,11 +6861,11 @@ internalLinkTypeLanguageSettings = InternalLinkType;
//-If the bot can be added to attachment menu, then use getAttachmentMenuBot to receive information about the bot, then if the bot isn't added to side menu,
//-show a disclaimer about Mini Apps being third-party applications, ask the user to accept their Terms of service and confirm adding the bot to side and attachment menu,
//-then if the user accepts the terms and confirms adding, use toggleBotIsAddedToAttachmentMenu to add the bot.
//-Then, use getMainWebApp with the given start parameter and open the returned URL as a Web App
//-Then, use getMainWebApp with the given start parameter and mode and open the returned URL as a Web App
//@bot_username Username of the bot
//@start_parameter Start parameter to be passed to getMainWebApp
//@is_compact True, if the Web App must be opened in the compact mode instead of the full-size mode
internalLinkTypeMainWebApp bot_username:string start_parameter:string is_compact:Bool = InternalLinkType;
//@mode The mode to be passed to getMainWebApp
internalLinkTypeMainWebApp bot_username:string start_parameter:string mode:WebAppOpenMode = InternalLinkType;
//@description The link is a link to a Telegram message or a forum topic. Call getMessageLinkInfo with the given URL to process the link,
//-and then open received forum topic or chat and show the message there
@ -6903,8 +6980,8 @@ internalLinkTypeVideoChat chat_username:string invite_hash:string is_live_stream
//@bot_username Username of the bot that owns the Web App
//@web_app_short_name Short name of the Web App
//@start_parameter Start parameter to be passed to getWebAppLinkUrl
//@is_compact True, if the Web App must be opened in the compact mode instead of the full-size mode
internalLinkTypeWebApp bot_username:string web_app_short_name:string start_parameter:string is_compact:Bool = InternalLinkType;
//@mode The mode in which the Web App must be opened
internalLinkTypeWebApp bot_username:string web_app_short_name:string start_parameter:string mode:WebAppOpenMode = InternalLinkType;
//@description Contains an HTTPS link to a message in a supergroup or channel, or a forum topic @link The link @is_public True, if the link will work for non-members of the chat
@ -9453,6 +9530,17 @@ getInlineQueryResults bot_user_id:int53 chat_id:int53 user_location:location que
//@next_offset Offset for the next inline query; pass an empty string if there are no more results
answerInlineQuery inline_query_id:int64 is_personal:Bool button:inlineQueryResultsButton results:vector<InputInlineQueryResult> cache_time:int32 next_offset:string = Ok;
//@description Saves an inline message to be sent by the given user; for bots only
//@user_id Identifier of the user
//@result The description of the message
//@chat_types Types of the chats to which the message can be sent
savePreparedInlineMessage user_id:int53 result:InputInlineQueryResult chat_types:targetChatTypes = PreparedInlineMessageId;
//@description Saves an inline message to be sent by the given user; for bots only
//@bot_user_id Identifier of the bot that created the message
//@prepared_message_id Identifier of the prepared message
getPreparedInlineMessage bot_user_id:int53 prepared_message_id:string = PreparedInlineMessage;
//@description Returns the most grossing Web App bots
//@offset Offset of the first entry to return as received from the previous request; use empty string to get the first chunk of results
@ -9464,30 +9552,30 @@ getGrossingWebAppBots offset:string limit:int32 = FoundUsers;
//@web_app_short_name Short name of the Web App
searchWebApp bot_user_id:int53 web_app_short_name:string = FoundWebApp;
//@description Returns a default placeholder for Web Apps of a bot; this is an offline request. Returns a 404 error if the placeholder isn't known @bot_user_id Identifier of the target bot
getWebAppPlaceholder bot_user_id:int53 = Outline;
//@description Returns an HTTPS URL of a Web App to open after a link of the type internalLinkTypeWebApp is clicked
//@chat_id Identifier of the chat in which the link was clicked; pass 0 if none
//@bot_user_id Identifier of the target bot
//@web_app_short_name Short name of the Web App
//@start_parameter Start parameter from internalLinkTypeWebApp
//@theme Preferred Web App theme; pass null to use the default theme
//@application_name Short name of the current application; 0-64 English letters, digits, and underscores
//@allow_write_access Pass true if the current user allowed the bot to send them messages
getWebAppLinkUrl chat_id:int53 bot_user_id:int53 web_app_short_name:string start_parameter:string theme:themeParameters application_name:string allow_write_access:Bool = HttpUrl;
//@parameters Parameters to use to open the Web App
getWebAppLinkUrl chat_id:int53 bot_user_id:int53 web_app_short_name:string start_parameter:string allow_write_access:Bool parameters:webAppOpenParameters = HttpUrl;
//@description Returns information needed to open the main Web App of a bot
//@chat_id Identifier of the chat in which the Web App is opened; pass 0 if none
//@bot_user_id Identifier of the target bot
//@start_parameter Start parameter from internalLinkTypeMainWebApp
//@theme Preferred Web App theme; pass null to use the default theme
//@application_name Short name of the current application; 0-64 English letters, digits, and underscores
getMainWebApp chat_id:int53 bot_user_id:int53 start_parameter:string theme:themeParameters application_name:string = MainWebApp;
//@parameters Parameters to use to open the Web App
getMainWebApp chat_id:int53 bot_user_id:int53 start_parameter:string parameters:webAppOpenParameters = MainWebApp;
//@description Returns an HTTPS URL of a Web App to open from the side menu, a keyboardButtonTypeWebApp button, or an inlineQueryResultsButtonTypeWebApp button
//@bot_user_id Identifier of the target bot
//@url The URL from a keyboardButtonTypeWebApp button, inlineQueryResultsButtonTypeWebApp button, or an empty string when the bot is opened from the side menu
//@theme Preferred Web App theme; pass null to use the default theme
//@application_name Short name of the current application; 0-64 English letters, digits, and underscores
getWebAppUrl bot_user_id:int53 url:string theme:themeParameters application_name:string = HttpUrl;
//@parameters Parameters to use to open the Web App
getWebAppUrl bot_user_id:int53 url:string parameters:webAppOpenParameters = HttpUrl;
//@description Sends data received from a keyboardButtonTypeWebApp Web App to a bot
//@bot_user_id Identifier of the target bot
@ -9500,11 +9588,10 @@ sendWebAppData bot_user_id:int53 button_text:string data:string = Ok;
//@chat_id Identifier of the chat in which the Web App is opened. The Web App can't be opened in secret chats
//@bot_user_id Identifier of the bot, providing the Web App
//@url The URL from an inlineKeyboardButtonTypeWebApp button, a botMenuButton button, an internalLinkTypeAttachmentMenuBot link, or an empty string otherwise
//@theme Preferred Web App theme; pass null to use the default theme
//@application_name Short name of the current application; 0-64 English letters, digits, and underscores
//@message_thread_id If not 0, the message thread identifier in which the message will be sent
//@reply_to Information about the message or story to be replied in the message sent by the Web App; pass null if none
openWebApp chat_id:int53 bot_user_id:int53 url:string theme:themeParameters application_name:string message_thread_id:int53 reply_to:InputMessageReplyTo = WebAppInfo;
//@parameters Parameters to use to open the Web App
openWebApp chat_id:int53 bot_user_id:int53 url:string message_thread_id:int53 reply_to:InputMessageReplyTo parameters:webAppOpenParameters = WebAppInfo;
//@description Informs TDLib that a previously opened Web App was closed @web_app_launch_id Identifier of Web App launch, received from openWebApp
closeWebApp web_app_launch_id:int64 = Ok;
@ -9514,6 +9601,12 @@ closeWebApp web_app_launch_id:int64 = Ok;
//@result The result of the query
answerWebAppQuery web_app_query_id:string result:InputInlineQueryResult = SentWebAppMessage;
//@description Checks whether a file can be downloaded and saved locally by Web App request
//@bot_user_id Identifier of the bot, providing the Web App
//@file_name Name of the file
//@url URL of the file
checkWebAppFileDownload bot_user_id:int53 file_name:string url:string = Ok;
//@description Sends a callback query to a bot and returns an answer. Returns an error with code 502 if the bot fails to answer the query before the query timeout expires
//@chat_id Identifier of the chat with the message
@ -10449,7 +10542,7 @@ setVideoChatDefaultParticipant chat_id:int53 default_participant_id:MessageSende
//@is_rtmp_stream Pass true to create an RTMP stream instead of an ordinary video chat; requires owner privileges
createVideoChat chat_id:int53 title:string start_date:int32 is_rtmp_stream:Bool = GroupCallId;
//@description Returns RTMP URL for streaming to the chat; requires owner privileges @chat_id Chat identifier
//@description Returns RTMP URL for streaming to the chat; requires can_manage_video_chats administrator right @chat_id Chat identifier
getVideoChatRtmpUrl chat_id:int53 = RtmpUrl;
//@description Replaces the current RTMP URL for streaming to the chat; requires owner privileges @chat_id Chat identifier
@ -10634,6 +10727,12 @@ setUserPersonalProfilePhoto user_id:int53 photo:InputChatPhoto = Ok;
//@description Suggests a profile photo to another regular user with common messages @user_id User identifier @photo Profile photo to suggest; inputChatPhotoPrevious isn't supported in this function
suggestUserProfilePhoto user_id:int53 photo:InputChatPhoto = Ok;
//@description Toggles whether the bot can manage emoji status of the current user @bot_user_id User identifier of the bot @can_manage_emoji_status Pass true if the bot is allowed to change emoji status of the user; pass false otherwise
toggleBotCanManageEmojiStatus bot_user_id:int53 can_manage_emoji_status:Bool = Ok;
//@description Changes the emoji status of a user; for bots only @user_id Identifier of the user @emoji_status New emoji status; pass null to switch to the default badge
setUserEmojiStatus user_id:int53 emoji_status:emojiStatus = Ok;
//@description Searches a user by their phone number. Returns a 404 error if the user can't be found
//@phone_number Phone number to search for
@ -10648,6 +10747,12 @@ sharePhoneNumber user_id:int53 = Ok;
getUserProfilePhotos user_id:int53 offset:int32 limit:int32 = ChatPhotos;
//@description Returns outline of a sticker; this is an offline request. Returns a 404 error if the outline isn't known
//@sticker_file_id File identifier of the sticker
//@for_animated_emoji Pass true to get the outline scaled for animated emoji
//@for_clicked_animated_emoji_message Pass true to get the outline scaled for clicked animated emoji message
getStickerOutline sticker_file_id:int32 for_animated_emoji:Bool for_clicked_animated_emoji_message:Bool = Outline;
//@description Returns stickers from the installed sticker sets that correspond to any of the given emoji or can be found by sticker-specific keywords. If the query is non-empty, then favorite, recently used or trending stickers may also be returned
//@sticker_type Type of the stickers to return
//@query Search query; a space-separated list of emojis or a keyword prefix. If empty, returns all known installed stickers
@ -11269,8 +11374,10 @@ toggleGiftIsSaved sender_user_id:int53 message_id:int53 is_saved:Bool = Ok;
getUserGifts user_id:int53 offset:string limit:int32 = UserGifts;
//@description Creates a link for the given invoice; for bots only @invoice Information about the invoice of the type inputMessageInvoice
createInvoiceLink invoice:InputMessageContent = HttpUrl;
//@description Creates a link for the given invoice; for bots only
//@business_connection_id Unique identifier of business connection on behalf of which to send the request
//@invoice Information about the invoice of the type inputMessageInvoice
createInvoiceLink business_connection_id:string invoice:InputMessageContent = HttpUrl;
//@description Refunds a previously done payment in Telegram Stars; for bots only
//@user_id Identifier of the user that did the payment
@ -11777,12 +11884,18 @@ assignAppStoreTransaction receipt:bytes purpose:StorePaymentPurpose = Ok;
//@purpose Transaction purpose
assignGooglePlayTransaction package_name:string store_product_id:string purchase_token:string purpose:StorePaymentPurpose = Ok;
//@description Cancels or reenables Telegram Star subscription to a channel
//@description Cancels or re-enables Telegram Star subscription
//@subscription_id Identifier of the subscription to change
//@is_canceled New value of is_canceled
editStarSubscription subscription_id:string is_canceled:Bool = Ok;
//@description Reuses an active subscription and joins the subscribed chat again @subscription_id Identifier of the subscription
//@description Cancels or re-enables Telegram Star subscription for a user; for bots only
//@user_id User identifier
//@telegram_payment_charge_id Telegram payment identifier of the subscription
//@is_canceled Pass true to cancel the subscription; pass false to allow the user to enable it
editUserStarSubscription user_id:int53 telegram_payment_charge_id:string is_canceled:Bool = Ok;
//@description Reuses an active Telegram Star subscription to a channel chat and joins the chat again @subscription_id Identifier of the subscription
reuseStarSubscription subscription_id:string = Ok;

View file

@ -175,8 +175,8 @@ messageActionChannelMigrateFrom#ea3948e9 title:string chat_id:long = MessageActi
messageActionPinMessage#94bd38ed = MessageAction;
messageActionHistoryClear#9fbab604 = MessageAction;
messageActionGameScore#92a72876 game_id:long score:int = MessageAction;
messageActionPaymentSentMe#8f31b327 flags:# recurring_init:flags.2?true recurring_used:flags.3?true currency:string total_amount:long payload:bytes info:flags.0?PaymentRequestedInfo shipping_option_id:flags.1?string charge:PaymentCharge = MessageAction;
messageActionPaymentSent#96163f56 flags:# recurring_init:flags.2?true recurring_used:flags.3?true currency:string total_amount:long invoice_slug:flags.0?string = MessageAction;
messageActionPaymentSentMe#ffa00ccc flags:# recurring_init:flags.2?true recurring_used:flags.3?true currency:string total_amount:long payload:bytes info:flags.0?PaymentRequestedInfo shipping_option_id:flags.1?string charge:PaymentCharge subscription_until_date:flags.4?int = MessageAction;
messageActionPaymentSent#c624b16e flags:# recurring_init:flags.2?true recurring_used:flags.3?true currency:string total_amount:long invoice_slug:flags.0?string subscription_until_date:flags.4?int = MessageAction;
messageActionPhoneCall#80e11a7f flags:# video:flags.2?true call_id:long reason:flags.0?PhoneCallDiscardReason duration:flags.1?int = MessageAction;
messageActionScreenshotTaken#4792929b = MessageAction;
messageActionCustomAction#fae69f56 message:string = MessageAction;
@ -207,7 +207,7 @@ messageActionRequestedPeerSentMe#93b31848 button_id:int peers:Vector<RequestedPe
messageActionPaymentRefunded#41b3e202 flags:# peer:Peer currency:string total_amount:long payload:flags.0?bytes charge:PaymentCharge = MessageAction;
messageActionGiftStars#45d5b021 flags:# currency:string amount:long stars:long crypto_currency:flags.0?string crypto_amount:flags.0?long transaction_id:flags.1?string = MessageAction;
messageActionPrizeStars#b00c47a2 flags:# unclaimed:flags.0?true stars:long transaction_id:string boost_peer:Peer giveaway_msg_id:int = MessageAction;
messageActionStarGift#9bb3ef44 flags:# name_hidden:flags.0?true saved:flags.2?true converted:flags.3?true gift:StarGift message:flags.1?TextWithEntities convert_stars:long = MessageAction;
messageActionStarGift#8557637 flags:# name_hidden:flags.0?true saved:flags.2?true converted:flags.3?true gift:StarGift message:flags.1?TextWithEntities convert_stars:flags.4?long = MessageAction;
dialog#d58a08c6 flags:# pinned:flags.2?true unread_mark:flags.3?true view_forum_as_messages:flags.6?true peer:Peer top_message:int read_inbox_max_id:int read_outbox_max_id:int unread_count:int unread_mentions_count:int unread_reactions_count:int notify_settings:PeerNotifySettings pts:flags.0?int draft:flags.1?DraftMessage folder_id:flags.4?int ttl_period:flags.5?int = Dialog;
dialogFolder#71bd134c flags:# pinned:flags.2?true folder:Folder peer:Peer top_message:int unread_muted_peers_count:int unread_unmuted_peers_count:int unread_muted_messages_count:int unread_unmuted_messages_count:int = Dialog;
@ -259,7 +259,7 @@ inputReportReasonFake#f5ddd6e7 = ReportReason;
inputReportReasonIllegalDrugs#a8eb2be = ReportReason;
inputReportReasonPersonalDetails#9ec7863d = ReportReason;
userFull#1f58e369 flags:# blocked:flags.0?true phone_calls_available:flags.4?true phone_calls_private:flags.5?true can_pin_message:flags.7?true has_scheduled:flags.12?true video_calls_available:flags.13?true voice_messages_forbidden:flags.20?true translations_disabled:flags.23?true stories_pinned_available:flags.26?true blocked_my_stories_from:flags.27?true wallpaper_overridden:flags.28?true contact_require_premium:flags.29?true read_dates_private:flags.30?true flags2:# sponsored_enabled:flags2.7?true can_view_revenue:flags2.9?true id:long about:flags.1?string settings:PeerSettings personal_photo:flags.21?Photo profile_photo:flags.2?Photo fallback_photo:flags.22?Photo notify_settings:PeerNotifySettings bot_info:flags.3?BotInfo pinned_msg_id:flags.6?int common_chats_count:int folder_id:flags.11?int ttl_period:flags.14?int theme_emoticon:flags.15?string private_forward_name:flags.16?string bot_group_admin_rights:flags.17?ChatAdminRights bot_broadcast_admin_rights:flags.18?ChatAdminRights premium_gifts:flags.19?Vector<PremiumGiftOption> wallpaper:flags.24?WallPaper stories:flags.25?PeerStories business_work_hours:flags2.0?BusinessWorkHours business_location:flags2.1?BusinessLocation business_greeting_message:flags2.2?BusinessGreetingMessage business_away_message:flags2.3?BusinessAwayMessage business_intro:flags2.4?BusinessIntro birthday:flags2.5?Birthday personal_channel_id:flags2.6?long personal_channel_message:flags2.6?int stargifts_count:flags2.8?int = UserFull;
userFull#1f58e369 flags:# blocked:flags.0?true phone_calls_available:flags.4?true phone_calls_private:flags.5?true can_pin_message:flags.7?true has_scheduled:flags.12?true video_calls_available:flags.13?true voice_messages_forbidden:flags.20?true translations_disabled:flags.23?true stories_pinned_available:flags.26?true blocked_my_stories_from:flags.27?true wallpaper_overridden:flags.28?true contact_require_premium:flags.29?true read_dates_private:flags.30?true flags2:# sponsored_enabled:flags2.7?true can_view_revenue:flags2.9?true bot_can_manage_emoji_status:flags2.10?true id:long about:flags.1?string settings:PeerSettings personal_photo:flags.21?Photo profile_photo:flags.2?Photo fallback_photo:flags.22?Photo notify_settings:PeerNotifySettings bot_info:flags.3?BotInfo pinned_msg_id:flags.6?int common_chats_count:int folder_id:flags.11?int ttl_period:flags.14?int theme_emoticon:flags.15?string private_forward_name:flags.16?string bot_group_admin_rights:flags.17?ChatAdminRights bot_broadcast_admin_rights:flags.18?ChatAdminRights premium_gifts:flags.19?Vector<PremiumGiftOption> wallpaper:flags.24?WallPaper stories:flags.25?PeerStories business_work_hours:flags2.0?BusinessWorkHours business_location:flags2.1?BusinessLocation business_greeting_message:flags2.2?BusinessGreetingMessage business_away_message:flags2.3?BusinessAwayMessage business_intro:flags2.4?BusinessIntro birthday:flags2.5?Birthday personal_channel_id:flags2.6?long personal_channel_message:flags2.6?int stargifts_count:flags2.8?int = UserFull;
contact#145ade0b user_id:long mutual:Bool = Contact;
@ -556,6 +556,7 @@ inputPrivacyKeyAddedByPhone#d1219bdd = InputPrivacyKey;
inputPrivacyKeyVoiceMessages#aee69d68 = InputPrivacyKey;
inputPrivacyKeyAbout#3823cc40 = InputPrivacyKey;
inputPrivacyKeyBirthday#d65a11cc = InputPrivacyKey;
inputPrivacyKeyStarGiftsAutoSave#e1732341 = InputPrivacyKey;
privacyKeyStatusTimestamp#bc2eab30 = PrivacyKey;
privacyKeyChatInvite#500e6dfa = PrivacyKey;
@ -568,6 +569,7 @@ privacyKeyAddedByPhone#42ffd42b = PrivacyKey;
privacyKeyVoiceMessages#697f414 = PrivacyKey;
privacyKeyAbout#a486b761 = PrivacyKey;
privacyKeyBirthday#2000a518 = PrivacyKey;
privacyKeyStarGiftsAutoSave#2ca4fdf8 = PrivacyKey;
inputPrivacyValueAllowContacts#d09e07b = InputPrivacyRule;
inputPrivacyValueAllowAll#184b35ce = InputPrivacyRule;
@ -579,6 +581,8 @@ inputPrivacyValueAllowChatParticipants#840649cf chats:Vector<long> = InputPrivac
inputPrivacyValueDisallowChatParticipants#e94f0f86 chats:Vector<long> = InputPrivacyRule;
inputPrivacyValueAllowCloseFriends#2f453e49 = InputPrivacyRule;
inputPrivacyValueAllowPremium#77cdc9f1 = InputPrivacyRule;
inputPrivacyValueAllowBots#5a4fcce5 = InputPrivacyRule;
inputPrivacyValueDisallowBots#c4e57915 = InputPrivacyRule;
privacyValueAllowContacts#fffe1bac = PrivacyRule;
privacyValueAllowAll#65427b82 = PrivacyRule;
@ -590,6 +594,8 @@ privacyValueAllowChatParticipants#6b134e8e chats:Vector<long> = PrivacyRule;
privacyValueDisallowChatParticipants#41c87565 chats:Vector<long> = PrivacyRule;
privacyValueAllowCloseFriends#f7e8d89b = PrivacyRule;
privacyValueAllowPremium#ece9814b = PrivacyRule;
privacyValueAllowBots#21461b5d = PrivacyRule;
privacyValueDisallowBots#f6a5f82f = PrivacyRule;
account.privacyRules#50a04e45 rules:Vector<PrivacyRule> chats:Vector<Chat> users:Vector<User> = account.PrivacyRules;
@ -659,7 +665,7 @@ messages.stickerSetNotModified#d3f924eb = messages.StickerSet;
botCommand#c27ac8c7 command:string description:string = BotCommand;
botInfo#82437e74 flags:# has_preview_medias:flags.6?true user_id:flags.0?long description:flags.1?string description_photo:flags.4?Photo description_document:flags.5?Document commands:flags.2?Vector<BotCommand> menu_button:flags.3?BotMenuButton privacy_policy_url:flags.7?string = BotInfo;
botInfo#36607333 flags:# has_preview_medias:flags.6?true user_id:flags.0?long description:flags.1?string description_photo:flags.4?Photo description_document:flags.5?Document commands:flags.2?Vector<BotCommand> menu_button:flags.3?BotMenuButton privacy_policy_url:flags.7?string app_settings:flags.8?BotAppSettings = BotInfo;
keyboardButton#a2fa4880 text:string = KeyboardButton;
keyboardButtonUrl#258aff05 text:string url:string = KeyboardButton;
@ -917,7 +923,7 @@ dataJSON#7d748d04 data:string = DataJSON;
labeledPrice#cb296bf8 label:string amount:long = LabeledPrice;
invoice#5db95a15 flags:# test:flags.0?true name_requested:flags.1?true phone_requested:flags.2?true email_requested:flags.3?true shipping_address_requested:flags.4?true flexible:flags.5?true phone_to_provider:flags.6?true email_to_provider:flags.7?true recurring:flags.9?true currency:string prices:Vector<LabeledPrice> max_tip_amount:flags.8?long suggested_tip_amounts:flags.8?Vector<long> terms_url:flags.10?string = Invoice;
invoice#49ee584 flags:# test:flags.0?true name_requested:flags.1?true phone_requested:flags.2?true email_requested:flags.3?true shipping_address_requested:flags.4?true flexible:flags.5?true phone_to_provider:flags.6?true email_to_provider:flags.7?true recurring:flags.9?true currency:string prices:Vector<LabeledPrice> max_tip_amount:flags.8?long suggested_tip_amounts:flags.8?Vector<long> terms_url:flags.10?string subscription_period:flags.11?int = Invoice;
paymentCharge#ea02c27e id:string provider_charge_id:string = PaymentCharge;
@ -1460,7 +1466,7 @@ attachMenuBots#3c4301c0 hash:long bots:Vector<AttachMenuBot> users:Vector<User>
attachMenuBotsBot#93bf667f bot:AttachMenuBot users:Vector<User> = AttachMenuBotsBot;
webViewResultUrl#4d22ff98 flags:# fullsize:flags.1?true query_id:flags.0?long url:string = WebViewResult;
webViewResultUrl#4d22ff98 flags:# fullsize:flags.1?true fullscreen:flags.2?true query_id:flags.0?long url:string = WebViewResult;
webViewMessageSent#c94511c flags:# msg_id:flags.0?InputBotInlineMessageID = WebViewMessageSent;
@ -1879,7 +1885,7 @@ bots.previewInfo#ca71d64 media:Vector<BotPreviewMedia> lang_codes:Vector<string>
starsSubscriptionPricing#5416d58 period:int amount:long = StarsSubscriptionPricing;
starsSubscription#538ecf18 flags:# canceled:flags.0?true can_refulfill:flags.1?true missing_balance:flags.2?true id:string peer:Peer until_date:int pricing:StarsSubscriptionPricing chat_invite_hash:flags.3?string = StarsSubscription;
starsSubscription#2e6eab1a flags:# canceled:flags.0?true can_refulfill:flags.1?true missing_balance:flags.2?true bot_canceled:flags.7?true id:string peer:Peer until_date:int pricing:StarsSubscriptionPricing chat_invite_hash:flags.3?string title:flags.4?string photo:flags.5?WebDocument invoice_slug:flags.6?string = StarsSubscription;
messageReactor#4ba3a95a flags:# top:flags.0?true my:flags.1?true anonymous:flags.2?true peer_id:flags.3?Peer count:int = MessageReactor;
@ -1887,7 +1893,7 @@ starsGiveawayOption#94ce852a flags:# extended:flags.0?true default:flags.1?true
starsGiveawayWinnersOption#54236209 flags:# default:flags.0?true users:int per_user_stars:long = StarsGiveawayWinnersOption;
starGift#49c577cd flags:# limited:flags.0?true sold_out:flags.1?true id:long sticker:Document stars:long availability_remains:flags.0?int availability_total:flags.0?int convert_stars:long first_sale_date:flags.1?int last_sale_date:flags.1?int = StarGift;
starGift#49c577cd flags:# limited:flags.0?true sold_out:flags.1?true birthday:flags.2?true id:long sticker:Document stars:long availability_remains:flags.0?int availability_total:flags.0?int convert_stars:long first_sale_date:flags.1?int last_sale_date:flags.1?int = StarGift;
payments.starGiftsNotModified#a388a368 = payments.StarGifts;
payments.starGifts#901689ea hash:int gifts:Vector<StarGift> = payments.StarGifts;
@ -1902,6 +1908,12 @@ reportResultChooseOption#f0e4e0b6 title:string options:Vector<MessageReportOptio
reportResultAddComment#6f09ac31 flags:# optional:flags.0?true option:bytes = ReportResult;
reportResultReported#8db33c4b = ReportResult;
messages.botPreparedInlineMessage#8ecf0511 id:string expire_date:int = messages.BotPreparedInlineMessage;
messages.preparedInlineMessage#ff57708d query_id:long result:BotInlineResult peer_types:Vector<InlineQueryPeerType> cache_time:int users:Vector<User> = messages.PreparedInlineMessage;
botAppSettings#c99b1950 flags:# placeholder_path:flags.0?bytes background_color:flags.1?int background_dark_color:flags.2?int header_color:flags.3?int header_dark_color:flags.4?int = BotAppSettings;
---functions---
invokeAfterMsg#cb9f372d {X:Type} msg_id:long query:!X = X;
@ -2245,9 +2257,9 @@ messages.searchSentMedia#107e31a0 q:string filter:MessagesFilter limit:int = mes
messages.getAttachMenuBots#16fcc2cb hash:long = AttachMenuBots;
messages.getAttachMenuBot#77216192 bot:InputUser = AttachMenuBotsBot;
messages.toggleBotInAttachMenu#69f59d69 flags:# write_allowed:flags.0?true bot:InputUser enabled:Bool = Bool;
messages.requestWebView#269dc2c1 flags:# from_bot_menu:flags.4?true silent:flags.5?true compact:flags.7?true peer:InputPeer bot:InputUser url:flags.1?string start_param:flags.3?string theme_params:flags.2?DataJSON platform:string reply_to:flags.0?InputReplyTo send_as:flags.13?InputPeer = WebViewResult;
messages.requestWebView#269dc2c1 flags:# from_bot_menu:flags.4?true silent:flags.5?true compact:flags.7?true fullscreen:flags.8?true peer:InputPeer bot:InputUser url:flags.1?string start_param:flags.3?string theme_params:flags.2?DataJSON platform:string reply_to:flags.0?InputReplyTo send_as:flags.13?InputPeer = WebViewResult;
messages.prolongWebView#b0d81a83 flags:# silent:flags.5?true peer:InputPeer bot:InputUser query_id:long reply_to:flags.0?InputReplyTo send_as:flags.13?InputPeer = Bool;
messages.requestSimpleWebView#413a3e73 flags:# from_switch_webview:flags.1?true from_side_menu:flags.2?true compact:flags.7?true bot:InputUser url:flags.3?string start_param:flags.4?string theme_params:flags.0?DataJSON platform:string = WebViewResult;
messages.requestSimpleWebView#413a3e73 flags:# from_switch_webview:flags.1?true from_side_menu:flags.2?true compact:flags.7?true fullscreen:flags.8?true bot:InputUser url:flags.3?string start_param:flags.4?string theme_params:flags.0?DataJSON platform:string = WebViewResult;
messages.sendWebViewResultMessage#a4314f5 bot_query_id:string result:InputBotInlineResult = WebViewMessageSent;
messages.sendWebViewData#dc0242c8 bot:InputUser random_id:long button_text:string data:string = Updates;
messages.transcribeAudio#269e9a49 peer:InputPeer msg_id:int = messages.TranscribedAudio;
@ -2269,7 +2281,7 @@ messages.getEmojiProfilePhotoGroups#21a548f3 hash:int = messages.EmojiGroups;
messages.searchCustomEmoji#2c11c0d7 emoticon:string hash:long = EmojiList;
messages.togglePeerTranslations#e47cb579 flags:# disabled:flags.0?true peer:InputPeer = Bool;
messages.getBotApp#34fdc5c3 app:InputBotApp hash:long = messages.BotApp;
messages.requestAppWebView#53618bce flags:# write_allowed:flags.0?true compact:flags.7?true peer:InputPeer app:InputBotApp start_param:flags.1?string theme_params:flags.2?DataJSON platform:string = WebViewResult;
messages.requestAppWebView#53618bce flags:# write_allowed:flags.0?true compact:flags.7?true fullscreen:flags.8?true peer:InputPeer app:InputBotApp start_param:flags.1?string theme_params:flags.2?DataJSON platform:string = WebViewResult;
messages.setChatWallPaper#8ffacae1 flags:# for_both:flags.3?true revert:flags.4?true peer:InputPeer wallpaper:flags.0?InputWallPaper settings:flags.2?WallPaperSettings id:flags.1?int = Updates;
messages.searchEmojiStickerSets#92b4494c flags:# exclude_featured:flags.0?true q:string hash:long = messages.FoundStickerSets;
messages.getSavedDialogs#5381d21a flags:# exclude_pinned:flags.0?true offset_date:int offset_id:int offset_peer:InputPeer limit:int hash:long = messages.SavedDialogs;
@ -2297,7 +2309,7 @@ messages.getAvailableEffects#dea20a39 hash:int = messages.AvailableEffects;
messages.editFactCheck#589ee75 peer:InputPeer msg_id:int text:TextWithEntities = Updates;
messages.deleteFactCheck#d1da940c peer:InputPeer msg_id:int = Updates;
messages.getFactCheck#b9cdc5ee peer:InputPeer msg_id:Vector<int> = Vector<FactCheck>;
messages.requestMainWebView#c9e01e7b flags:# compact:flags.7?true peer:InputPeer bot:InputUser start_param:flags.1?string theme_params:flags.0?DataJSON platform:string = WebViewResult;
messages.requestMainWebView#c9e01e7b flags:# compact:flags.7?true fullscreen:flags.8?true peer:InputPeer bot:InputUser start_param:flags.1?string theme_params:flags.0?DataJSON platform:string = WebViewResult;
messages.sendPaidReaction#9dd6a67b flags:# peer:InputPeer msg_id:int count:int random_id:long private:flags.0?Bool = Updates;
messages.togglePaidReactionPrivacy#849ad397 peer:InputPeer msg_id:int private:Bool = Bool;
messages.getPaidReactionPrivacy#472455aa = Updates;
@ -2305,6 +2317,8 @@ messages.viewSponsoredMessage#673ad8f1 peer:InputPeer random_id:bytes = Bool;
messages.clickSponsoredMessage#f093465 flags:# media:flags.0?true fullscreen:flags.1?true peer:InputPeer random_id:bytes = Bool;
messages.reportSponsoredMessage#1af3dbb8 peer:InputPeer random_id:bytes option:bytes = channels.SponsoredMessageReportResult;
messages.getSponsoredMessages#9bd2f439 peer:InputPeer = messages.SponsoredMessages;
messages.savePreparedInlineMessage#f21f7f2f flags:# result:InputBotInlineResult user_id:InputUser peer_types:flags.0?Vector<InlineQueryPeerType> = messages.BotPreparedInlineMessage;
messages.getPreparedInlineMessage#857ebdb8 bot:InputUser id:string = messages.PreparedInlineMessage;
updates.getState#edd4882a = updates.State;
updates.getDifference#19c2f763 flags:# pts:int pts_limit:flags.1?int pts_total_limit:flags.0?int date:int qts:int qts_limit:flags.2?int = updates.Difference;
@ -2436,6 +2450,9 @@ bots.deletePreviewMedia#2d0135b3 bot:InputUser lang_code:string media:Vector<Inp
bots.reorderPreviewMedias#b627f3aa bot:InputUser lang_code:string order:Vector<InputMedia> = Bool;
bots.getPreviewInfo#423ab3ad bot:InputUser lang_code:string = bots.PreviewInfo;
bots.getPreviewMedias#a2a5594d bot:InputUser = Vector<BotPreviewMedia>;
bots.updateUserEmojiStatus#ed9f30c5 user_id:InputUser emoji_status:EmojiStatus = Bool;
bots.toggleUserEmojiStatusPermission#6de6392 bot:InputUser enabled:Bool = Bool;
bots.checkDownloadFileParams#50077589 bot:InputUser file_name:string url:string = Bool;
payments.getPaymentForm#37148dbb flags:# invoice:InputInvoice theme_params:flags.0?DataJSON = payments.PaymentForm;
payments.getPaymentReceipt#2478d1cc peer:InputPeer msg_id:int = payments.PaymentReceipt;
@ -2471,6 +2488,7 @@ payments.getStarGifts#c4563590 hash:int = payments.StarGifts;
payments.getUserStarGifts#5e72c7e1 user_id:InputUser offset:string limit:int = payments.UserStarGifts;
payments.saveStarGift#87acf08e flags:# unsave:flags.0?true user_id:InputUser msg_id:int = Bool;
payments.convertStarGift#421e027 user_id:InputUser msg_id:int = Bool;
payments.botCancelStarsSubscription#6dfa0622 flags:# restore:flags.0?true user_id:InputUser charge_id:string = Bool;
stickers.createStickerSet#9021ab67 flags:# masks:flags.0?true emojis:flags.5?true text_color:flags.6?true user_id:InputUser title:string short_name:string thumb:flags.2?InputDocument stickers:Vector<InputStickerSetItem> software:flags.3?string = messages.StickerSet;
stickers.removeStickerFromSet#f7760f51 sticker:InputDocument = messages.StickerSet;

View file

@ -0,0 +1,370 @@
<!DOCTYPE html>
<html class="">
<head>
<meta charset="utf-8">
<title>Mini Apps 2.0: Full-Screen Mode, Home Screen Icons, Geolocation and 10 more features</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta property="og:title" content="Mini Apps 2.0: Full-Screen Mode, Home Screen Icons, Geolocation and 10 more features">
<meta property="og:image" content="https://telegram.org/file/400780400836/1/pf8Tnc3fxBI.260468/01084a12b6e470638c">
<meta property="og:site_name" content="Telegram">
<meta property="og:description" content="Today we launch the largest update in the history of mini apps. They get a full-screen mode, subscription plans, home screen shortcuts, sending gifts, sharing media, creating documents, access to geolocation, motion tracker, setting emoji statuses -- and more.">
<meta property="article:published_time" content="2024-11-17T11:41:02+00:00"><meta name="twitter:card" content="summary_large_image" /><meta name="twitter:image" content="https://telegram.org/file/400780400836/1/pf8Tnc3fxBI.260468/01084a12b6e470638c" />
<meta property="fb:app_id" content="254098051407226">
<meta property="vk:app_id" content="3782569">
<meta name="apple-itunes-app" content="app-id=686449807">
<meta name="telegram:channel" content="@telegram">
<link rel="canonical" href="https://telegram.org/blog/fullscreen-miniapps-and-more" />
<link rel="icon" type="image/svg+xml" href="/img/website_icon.svg?4">
<link rel="apple-touch-icon" sizes="180x180" href="/img/apple-touch-icon.png">
<link rel="icon" type="image/png" sizes="32x32" href="/img/favicon-32x32.png">
<link rel="icon" type="image/png" sizes="16x16" href="/img/favicon-16x16.png">
<link rel="alternate icon" href="/img/favicon.ico" type="image/x-icon" />
<link href="/css/bootstrap.min.css?3" rel="stylesheet">
<link href="/css/telegram.css?241" rel="stylesheet" media="screen">
</head>
<body class="preload">
<div id="fb-root"></div>
<div class="tl_page_wrap">
<div class="tl_page_head navbar navbar-static-top navbar navbar-tg">
<div class="navbar-inner">
<div class="container clearfix">
<ul class="nav navbar-nav navbar-right"><li class="dropdown top_lang_select"><a class="dropdown-toggle" onclick="return dropdownClick(this, event)" href="#"><i class="dev_top_lang_icon"></i>EN <b class="minicaret"></b></a>
<ul class="dropdown-menu"><li class="chosen "><a href="?setln=en">English</a></li><li class="long "><a href="?setln=id">Bahasa Indonesia</a></li><li class="long "><a href="?setln=ms">Bahasa Melayu</a></li><li class=""><a href="?setln=de">Deutsch</a></li><li class=""><a href="?setln=es">Español</a></li><li class=""><a href="?setln=fr">Français</a></li><li class=""><a href="?setln=it">Italiano</a></li><li class=""><a href="?setln=nl">Nederlands</a></li><li class=""><a href="?setln=uz">Ozbek</a></li><li class=""><a href="?setln=pl">Polski</a></li><li class="long "><a href="?setln=pt-br">Português (Brasil)</a></li><li class=""><a href="?setln=tr">Türkçe</a></li><li class=""><a href="?setln=be">Беларуская</a></li><li class=""><a href="?setln=ru">Русский</a></li><li class=""><a href="?setln=uk">Українська</a></li><li class=""><a href="?setln=ar">العربية</a></li><li class=""><a href="?setln=fa">فارسی</a></li><li class=""><a href="?setln=ko">한국어</a></li></ul></li><li class="navbar-twitter hidden-xs"><a href="https://twitter.com/telegram" target="_blank" data-track="Follow/Twitter" onclick="trackDlClick(this, event)"><i class="icon icon-twitter"></i> Twitter</a></li></ul>
<ul class="nav navbar-nav">
<li class=""><a href="/">Home</a></li>
<li class=""><a href="/faq">FAQ</a></li>
<li class=""><a href="/apps">Apps</a></li>
<li class="hidden-xs "><a href="//core.telegram.org/api">API</a></li>
<li class="hidden-xs "><a href="//core.telegram.org/mtproto">Protocol</a></li>
</ul>
</div>
</div>
</div>
<div class="container clearfix tl_page_container ">
<div class="tl_page">
<div class="tl_contest_page_wrap">
<div class="tl_blog_side_blog"><div class="side_blog_wrap">
<div class="side_blog">
<a href="/blog" class="side_blog_header">Recent News</a>
<div class="side_blog_entries">
<a href="/blog/fullscreen-miniapps-and-more" class="side_blog_entry">
<div class="side_blog_date">Nov 17</div>
<div class="side_blog_title">Mini Apps 2.0</div>
</a><a href="/blog/dynamic-video-quality-and-more" class="side_blog_entry">
<div class="side_blog_date">Oct 31</div>
<div class="side_blog_title">Improved Videos and Much More</div>
</a><a href="/blog/gifts-verification-platform" class="side_blog_entry">
<div class="side_blog_date">Oct 5</div>
<div class="side_blog_title">Gifts, Verification Platform and More</div>
</a><a href="/blog/star-giveaways-iv-in-browser" class="side_blog_entry">
<div class="side_blog_date">Sep 6</div>
<div class="side_blog_title">Star Giveaways and More</div>
</a><a href="/blog/superchannels-star-reactions-subscriptions" class="side_blog_entry">
<div class="side_blog_date">Aug 14</div>
<div class="side_blog_title">Super Channels, Star Reactions and Subscriptions</div>
</a><a href="/blog/w3-browser-mini-app-store" class="side_blog_entry">
<div class="side_blog_date">Jul 31</div>
<div class="side_blog_title">Telegram Browser, Mini App Store, Gifting Stars and More</div>
</a><a href="/blog/mini-app-bar-paid-media-and-more" class="side_blog_entry">
<div class="side_blog_date">Jun 30</div>
<div class="side_blog_title">Mini App Bar, Paid Media, Story Search &amp; More</div>
</a>
</div>
</div>
</div></div>
<div id="dev_page_content_wrap" class=" ">
<div class="dev_page_bread_crumbs"></div>
<h1 id="dev_page_title">Mini Apps 2.0: Full-Screen Mode, Home Screen Icons, Geolocation and 10 more features</h1>
<div id="dev_page_content"><div class="blog_side_image_wrap">
<picture class="dev_page_tgsticker blog_side_image js-tgsticker_image" style="width:160px;"><div style="padding-top:100%"></div><source type="application/x-tgsticker" srcset="/file/400780400659/1/X8QynUce4FU.17370/29dde491f46e9b6d84"><img src="/file/400780400659/2/0wC0J6QfOS0.22537.png/5fb9f786e4db70fc04" /></picture>
</div>
<div class="blog_wide_image">
<a href="/file/400780400685/2/48aACqU3_h0.544031/a7e05564144512e1b4" target="_blank"><img src="/file/400780400836/1/pf8Tnc3fxBI.260468/01084a12b6e470638c" srcset="/file/400780400685/2/48aACqU3_h0.544031/a7e05564144512e1b4, 1200w" title="" alt="Mini Apps 2.0: Full-Screen Mode, Home Screen Icons, Geolocation and 7 more features"/></a>
</div>
<p>Today we launch the <strong>largest update</strong> in the history of mini apps. They get a full-screen mode, subscription plans, home screen shortcuts, sending gifts, sharing media, creating documents, access to geolocation, motion tracker, setting emoji statuses — and more.</p>
<h4><a class="anchor" name="full-screen-mode" href="#full-screen-mode"><i class="anchor-icon"></i></a>Full-Screen Mode</h4>
<p>Mini apps are now able to use the <strong>entire screen</strong> in portrait or <strong>landscape orientation</strong> — allowing apps to host <strong>more game genres</strong> with expanded gestures and interfaces.</p>
<div class="blog_video_player_wrap" style="max-width: 600px; margin: 20px auto 20px;">
<div><video class="blog_video_player tl_blog_vid_autoplay" onclick="videoTogglePlay(this)" autoplay loop controls muted poster="/file/400780400978/2/DBP3J35bdpk.40489/3d98524f7a0706a481" style="max-width: 600px;" alt="Full-Screen Mode">
<source src="/file/400780400987/2/iCXS7IFB7Xs.8013492.mp4/c495193d239ce08990" type="video/mp4">
</video></div>
<!--<p></p>-->
</div>
<h4><a class="anchor" name="device-motion-tracking" href="#device-motion-tracking"><i class="anchor-icon"></i></a>Device Motion Tracking</h4>
<p>Mini apps are able to receive information about the <strong>motion</strong> of your device to add <strong>unique controls</strong> to games or build <strong>immersive VR experiences</strong>.</p>
<div class="blog_video_player_wrap" style="max-width: 600px; margin: 20px auto 20px;">
<div><video class="blog_video_player tl_blog_vid_autoplay" onclick="videoTogglePlay(this)" autoplay loop controls muted poster="/file/400780400579/5/PfP8hFLhBv8.104935/03e0bc7d20d6ce4d98" style="max-width: 600px;" alt="Device Motion Tracking">
<source src="/file/400780400159/2/Kzdm3KQIU18.4723735.mp4/e112d04952765b971a" type="video/mp4">
</video></div>
<!--<p></p>-->
</div>
<p>Developers can <strong>lock</strong> the screen orientation to ensure there is no unnecessary rotation if their app uses device motion for controls.</p>
<h4><a class="anchor" name="home-screen-shortcuts" href="#home-screen-shortcuts"><i class="anchor-icon"></i></a>Home Screen Shortcuts</h4>
<p>You can now place <strong>direct shortcuts</strong> to specific mini apps on the <strong>home screen</strong> of your device — accessing your favorite games and services in <strong>one tap</strong>.</p>
<div class="blog_video_player_wrap" style="max-width: 600px; margin: 20px auto 20px;">
<div><video class="blog_video_player tl_blog_vid_autoplay" onclick="videoTogglePlay(this)" autoplay loop controls muted poster="/file/400780400665/3/ZuHweGNPf7A.70269/25510c5b11eae9f59c" style="max-width: 600px;" alt="Home Screen Shortcuts">
<source src="/file/400780400367/2/-_xiH7WxmNQ.4594686.mp4/5cd62ffa43c2e738cf" type="video/mp4">
</video></div>
<!--<p>TITLE</p>-->
</div>
<h4><a class="anchor" name="geolocation-access" href="#geolocation-access"><i class="anchor-icon"></i></a>Geolocation Access</h4>
<p>You can now <strong>share your location</strong> with mini apps — which gives developers the ability to make <strong>location-based games</strong> with points of interest or <strong>interactive maps</strong> for events.</p>
<div class="blog_video_player_wrap" style="max-width: 600px; margin: 20px auto 20px;">
<div><video class="blog_video_player tl_blog_vid_autoplay" onclick="videoTogglePlay(this)" autoplay loop controls muted poster="/file/400780400471/4/NxjzOa07Eyc.38651/62c7f445e0e06a4452" style="max-width: 600px;" alt="Geolocation Access">
<source src="/file/400780400995/4/5X1SreBoHEY.1731682.mp4/0e2f79c91e61b21b58" type="video/mp4">
</video></div>
<!--<p>TITLE</p>-->
</div>
<blockquote>
<p>Access to location data is <strong>disabled by default</strong> — you must specifically give location permissions to each <strong>individual mini app</strong> with which you&#39;d like to share this data.</p>
</blockquote>
<h4><a class="anchor" name="gifts-from-apps" href="#gifts-from-apps"><i class="anchor-icon"></i></a>Gifts from Apps</h4>
<p>Apps can now use their stars to <strong>send you gifts</strong> as rewards to celebrate achievements.</p>
<div class="blog_video_player_wrap" style="max-width: 600px; margin: 20px auto 20px;">
<div><video class="blog_video_player tl_blog_vid_autoplay" onclick="videoTogglePlay(this)" autoplay loop controls muted poster="/file/400780400202/4/MSVgIAZ6_rI.103173/ae2e299f54527b86dc" style="max-width: 600px;" alt="Gifts from Apps">
<source src="/file/400780400812/2/d3vTWpiGxlY.1808151.mp4/df11d2454b136a0cf0" type="video/mp4">
</video></div>
<!--<p>TITLE</p>-->
</div>
<p>We&#39;ve also added a new <strong>privacy setting</strong> that lets you control who can send you gifts that will <strong>appear on your profile</strong>.</p>
<!--This also allows creating apps that help you send subsidized or anonymous gifts to other users.-->
<!--When sending a gift to someone on [their birthday](https://telegram.org/blog/my-profile-and-15-more#birthdays), the panel will show **birthday-themed gifts** at the top. In addition, users have a new **privacy setting** where they can control whose gifts are able to **appear on their profile**.
`media`
> To change whose gifts can appear on your profile, go to *Settings > Privacy and Security > Gifts*
-->
<h4><a class="anchor" name="emoji-statuses-from-apps" href="#emoji-statuses-from-apps"><i class="anchor-icon"></i></a>Emoji Statuses from Apps</h4>
<p>With this update, Telegram Premium users can <strong>set emoji statuses</strong> from inside mini apps, showing others that they&#39;re in a game <img class="emoji" src="//telegram.org/img/emoji/40/F09F8EAE.png" width="20" height="20" alt="🎮" /> or a taxi <img class="emoji" src="//telegram.org/img/emoji/40/F09F9A95.png" width="20" height="20" alt="🚕" />.</p>
<div class="blog_video_player_wrap" style="max-width: 600px; margin: 20px auto 20px;">
<div><video class="blog_video_player tl_blog_vid_autoplay" onclick="videoTogglePlay(this)" autoplay loop controls muted poster="/file/400780400234/2/uDKud852DCw.39458/e632391b3beadeff09" style="max-width: 600px;" alt="Emoji Statuses from Apps">
<source src="/file/400780400124/6/8n9m2O9VeUI.3087497.mp4/7cb84d10c693d53820" type="video/mp4">
</video></div>
<!--<p>TITLE</p>-->
</div>
<p>Mini apps can integrate APIs from <strong>other services</strong> — instantly updating a user&#39;s emoji status when they start playing music <img class="emoji" src="//telegram.org/img/emoji/40/F09F8EB6.png" width="20" height="20" alt="🎶" />, open a book <img class="emoji" src="//telegram.org/img/emoji/40/F09F939A.png" width="20" height="20" alt="📚" /> or turn on a movie <img class="emoji" src="//telegram.org/img/emoji/40/F09F8DBF.png" width="20" height="20" alt="🍿" />.</p>
<p>Apps with <a href="#geolocation-access">location permissions</a> could also be used to <strong>update your status</strong> when you&#39;re at work <img class="emoji" src="//telegram.org/img/emoji/40/F09F92BC.png" width="20" height="20" alt="💼" /> or out of the office <img class="emoji" src="//telegram.org/img/emoji/40/F09F8F96.png" width="20" height="20" alt="🏖" />.</p>
<blockquote>
<p>Developers can also create their own <a href="https://core.telegram.org/stickers#animated-stickers-and-emoji">custom emoji packs</a> to offer as status options, adding to the <strong>viral potential</strong> of mini apps.</p>
</blockquote>
<h4><a class="anchor" name="media-sharing" href="#media-sharing"><i class="anchor-icon"></i></a>Media Sharing</h4>
<p>You can now share media directly from <strong>mini apps</strong> — sending <strong>referral codes</strong>, custom memes and more to <strong>any chat</strong>.</p>
<div class="blog_video_player_wrap" style="max-width: 600px; margin: 20px auto 20px;">
<div><video class="blog_video_player tl_blog_vid_autoplay" onclick="videoTogglePlay(this)" autoplay loop controls muted poster="/file/400780400834/4/CMJLT3B0KV0.120338/ed91037a804d009c3b" style="max-width: 600px;" alt="Media Sharing">
<source src="/file/400780400757/2/6oKoxK9dEqs.3807035.mp4/3fd29e918d7d3cb7fe" type="video/mp4">
</video></div>
<!--<p></p>-->
</div>
<blockquote>
<p>Mini apps can also create media for you to post <a href="https://telegram.org/blog/w3-browser-mini-app-store#sharing-from-mini-apps-to-stories">to your stories</a>.</p>
</blockquote>
<h4><a class="anchor" name="creating-documents" href="#creating-documents"><i class="anchor-icon"></i></a>Creating Documents</h4>
<p>Mini apps can also generate documents and files which you can download — such as AI-generated profile pictures or audio files.</p>
<div class="blog_video_player_wrap" style="max-width: 600px; margin: 20px auto 20px;">
<div><video class="blog_video_player tl_blog_vid_autoplay" onclick="videoTogglePlay(this)" autoplay loop controls muted poster="/file/400780400040/2/oqh87lVOVYM.37106/8864a07b1b2da5ba7c" style="max-width: 600px;" alt="Creating Documents">
<source src="/file/400780400228/5/vmw5F-lsffk.3558116.mp4/c34b9149f04cecce0c" type="video/mp4">
</video></div>
<!--<p>TITLE</p>-->
</div>
<h4><a class="anchor" name="subscription-plans" href="#subscription-plans"><i class="anchor-icon"></i></a>Subscription Plans</h4>
<p>Developers are able to offer <strong>subscriptions</strong> to their mini app using Telegram Stars — <strong>monetizing their efforts</strong> with multiple tiers of content and features.</p>
<div class="blog_video_player_wrap" style="max-width: 600px; margin: 20px auto 20px;">
<div><video class="blog_video_player tl_blog_vid_autoplay" onclick="videoTogglePlay(this)" autoplay loop controls muted poster="/file/400780400439/3/fsIQBVDv8iM.42498/fb93eac0593624c6ff" style="max-width: 600px;" alt="Subscription Plans for Mini Apps">
<source src="/file/400780400502/3/yVyvz2IBzwk.3397983.mp4/b34526a4a87a0e18cc" type="video/mp4">
</video></div>
<!--<p>TITLE</p>-->
</div>
<p>Telegram Stars earned from <strong>digital products</strong> and <strong>subscriptions</strong> can be used to <a href="https://telegram.org/blog/dynamic-video-quality-and-more#increased-message-limits-for-bots">increase message limits</a> for the app or <a href="https://telegram.org/blog/mini-app-bar-paid-media-and-more#toncoin-rewards">claim rewards</a>.</p>
<blockquote>
<p>Developers are also eligible to <strong>earn rewards</strong> from Telegram Ads in <a href="https://telegram.org/blog/dynamic-video-quality-and-more#telegram-ads-in-bots">bots and mini apps</a>.</p>
</blockquote>
<h4><a class="anchor" name="loading-screen-customization" href="#loading-screen-customization"><i class="anchor-icon"></i></a>Loading Screen Customization</h4>
<p>Developers can further customize the <strong>loading screen</strong> of their mini app in <a href="https://t.me/botfather">@BotFather</a> — adding <strong>their own icon</strong> and <strong>specific colors</strong> that will be displayed before the app starts loading.</p>
<div class="blog_video_player_wrap" style="max-width: 600px; margin: 20px auto 20px;">
<div><video class="blog_video_player tl_blog_vid_autoplay" onclick="videoTogglePlay(this)" autoplay loop controls muted poster="/file/400780400835/2/aRhKl3FcZ3E.36465/301b9f47850fd6a489" style="max-width: 600px;" alt="Loading Screen Customization">
<source src="/file/400780400886/3/bjpTPLexlrk.1338212.mp4/77874dd70d1c0099e1" target="_blank" type="video/mp4">
</video></div>
<!--<p>TITLE</p>-->
</div>
<h4><a class="anchor" name="device-hardware-info" href="#device-hardware-info"><i class="anchor-icon"></i></a>Device Hardware Info</h4>
<p>To better <strong>optimize graphics</strong> and <strong>increase performance</strong>, mini apps can access <strong>basic hardware info</strong> about your device, such as its processing power and memory capacity — then <strong>automatically adjust</strong> settings to provide the smoothest experience.</p>
<h4><a class="anchor" name="and-more" href="#and-more"><i class="anchor-icon"></i></a>And More</h4>
<p>Developers can now know when their mini app is minimized and restored from the <a href="https://telegram.org/blog/mini-app-bar-paid-media-and-more#mini-app-bar">app bar</a> and make sure they handle transitions correctly.</p>
<blockquote>
<p>If you are a developer, see <a href="https://core.telegram.org/bots/api-changelog#november-17-2024">this page</a> for detailed documentation and the full list of changes, including an easier way for mini apps to access profile pictures and support for third-party validation of mini app data.</p>
</blockquote>
<!--
###Square Video, 600x600
<div class="blog_video_player_wrap" style="max-width: 600px; margin: 20px auto 20px;">
<div><video class="blog_video_player tl_blog_vid_autoplay" onclick="videoTogglePlay(this)" autoplay loop controls muted poster="PHOTO" style="max-width: 600px;" alt="TITLE">
<source src="VIDEO" type="video/mp4">
</video></div>
<p>TITLE</p>
</div>
-->
<p>Everyone can already try out early implementations of some of the new features in apps like <a href="https://t.me/playdeckbot">@playdeckbot</a> and <a href="https://t.me/major">@major</a> (the <em>Major Maze</em> game on the <em>Games</em> tab).</p>
<p>That&#39;s all for today&#39;s update. We&#39;re already working on the next big thing for mini apps and beyond.</p>
<div><br></div>
<p><em>November 17, 2024<br>The Telegram Team</em></p>
<!--
###Square Video, 600x600
<div class="blog_video_player_wrap" style="max-width: 600px; margin: 20px auto 20px;">
<div><video class="blog_video_player tl_blog_vid_autoplay" onclick="videoTogglePlay(this)" autoplay loop controls muted poster="PHOTO" style="max-width: 600px;" alt="TITLE">
<source src="VIDEO" type="video/mp4">
</video></div>
<p>TITLE</p>
</div>
-->
<!--
###Image, 600x600
<div class="blog_image_wrap blog_wide_image_wrap">
<a href="LARGE" target="_blank"><img src="SMALL" title="TITLE" alt="TITLE" srcset="LARGE , 2x" /></a>
<p>TITLE</p>
</div>
-->
</div>
</div>
<div class="tl_main_share clearfix">
<a href="https://t.me/share/url?url=https%3A%2F%2Ftelegram.org%2Fblog%2Ffullscreen-miniapps-and-more&text=Today%20we%20launch%20the%20largest%20update%20in%20the%20history%20of%20mini%20apps.%20They%20get%20a%20full-screen%20mode%2C%20subscription%20plans%2C%20home%20screen%20shortcuts%2C%20sending%20gifts%2C%20sharing%20media%2C%20creating%20documents%2C%20access%20to%20geolocation%2C%20motion%20tracker%2C%20setting%20emoji%20statuses%20--%20and%20more." class="tl_telegram_share_btn" id="tl_telegram_share_btn" data-text="Today we launch the largest update in the history of mini apps. They get a full-screen mode, subscription plans, home screen shortcuts, sending gifts, sharing media, creating documents, access to geolocation, motion tracker, setting emoji statuses -- and more." data-url="https://telegram.org/blog/fullscreen-miniapps-and-more"><i class="tl_telegram_share_icon"></i><span class="tl_telegram_share_label" target="_blank">Forward</span></a>
<a href="https://twitter.com/share" class="tl_twitter_share_btn" id="tl_twitter_share_btn" data-text="Today we launch the largest update in the history of mini apps. They get a full-screen mode, subscription plans, home screen shortcuts, sending gifts, sharing media, creating documents, access to geolocation, motion tracker, setting emoji statuses -- and more." data-url="https://telegram.org/blog/fullscreen-miniapps-and-more" data-via="Telegram">Tweet <span class="tl_twitter_share_cnt"></span></a>
</div>
</div>
<div class="tl_main_recent_news_wrap tlb_other_news_wrap tl_blog_list_page_wrap">
<h3 class="tl_main_recent_news_header">
<a href="/blog">Other News</a>
</h3>
<div class="tl_main_recent_news_cards clearfix">
<a class="dev_blog_card_link_wrap" href="/blog/dynamic-video-quality-and-more"><div class="dev_blog_card_wrap">
<img class="dev_blog_card_image" src="https://telegram.org/file/400780400783/3/inBnJMRsW8I.250596/95648f6c88a6890213" />
<div class="dev_blog_card_alltext_wrap">
<h4 class="dev_blog_card_title">Improved Videos and Much More</h4>
<div class="dev_blog_card_lead">Today&#39;s update adds faster loading, better quality and new speed controls to videos, last edit timestamps, attaching media to sent messages, increased limits for mini apps, new monetization…</div>
</div>
<div class="dev_blog_card_date">Oct 31, 2024</div>
</div></a><a class="dev_blog_card_link_wrap" href="/blog/gifts-verification-platform"><div class="dev_blog_card_wrap">
<img class="dev_blog_card_image" src="https://telegram.org/file/400780400875/2/7jMIWHhNK14.271741/26556506cae1a02907" />
<div class="dev_blog_card_alltext_wrap">
<h4 class="dev_blog_card_title">Gifts, Verification Platform and More</h4>
<div class="dev_blog_card_lead">Users can now send Gifts to their friends: the recipients of gifts can display them on their profile pages or turn them into Stars. Additionally, Telegram launched a platform for businesses…</div>
</div>
<div class="dev_blog_card_date">Oct 5, 2024</div>
</div></a><a class="dev_blog_card_link_wrap" href="/blog/star-giveaways-iv-in-browser"><div class="dev_blog_card_wrap">
<img class="dev_blog_card_image" src="https://telegram.org/file/400780400331/1/tuLhKJmWKdw.276665/463e789d166b4e3890" />
<div class="dev_blog_card_alltext_wrap">
<h4 class="dev_blog_card_title">Star Giveaways and More</h4>
<div class="dev_blog_card_lead">With today&#39;s update, groups and channels can use Telegram Stars as prizes in Giveaways. Also, any article you open in the Telegram Browser can now be converted to Instant View, making…</div>
</div>
<div class="dev_blog_card_date">Sep 6, 2024</div>
</div></a><a class="dev_blog_card_link_wrap" href="/blog/superchannels-star-reactions-subscriptions"><div class="dev_blog_card_wrap">
<img class="dev_blog_card_image" src="https://telegram.org/file/400780400436/1/AFpKVW0u5fw.267441/5fd61b6d2531113c45" />
<div class="dev_blog_card_alltext_wrap">
<h4 class="dev_blog_card_title">Super Channels, Star Reactions and Subscriptions</h4>
<div class="dev_blog_card_lead">Today is Telegram&#39;s 11th anniversary. Meet Star Reactions and Star Subscriptions that let users support content creators, paid media for…</div>
</div>
<div class="dev_blog_card_date">Aug 14, 2024</div>
</div></a>
</div>
</div>
</div>
</div>
</div>
<div class="footer_wrap">
<div class="footer_columns_wrap footer_desktop">
<div class="footer_column footer_column_telegram">
<h5>Telegram</h5>
<div class="footer_telegram_description"></div>
Telegram is a cloud-based mobile and desktop messaging app with a focus on security and speed.
</div>
<div class="footer_column">
<h5><a href="/faq">About</a></h5>
<ul>
<li><a href="/faq">FAQ</a></li>
<li><a href="/privacy">Privacy</a></li>
<li><a href="/press">Press</a></li>
</ul>
</div>
<div class="footer_column">
<h5><a href="/apps#mobile-apps">Mobile Apps</a></h5>
<ul>
<li><a href="/dl/ios">iPhone/iPad</a></li>
<li><a href="/android">Android</a></li>
<li><a href="/dl/web">Mobile Web</a></li>
</ul>
</div>
<div class="footer_column">
<h5><a href="/apps#desktop-apps">Desktop Apps</a></h5>
<ul>
<li><a href="//desktop.telegram.org/">PC/Mac/Linux</a></li>
<li><a href="//macos.telegram.org/">macOS</a></li>
<li><a href="/dl/web">Web-browser</a></li>
</ul>
</div>
<div class="footer_column footer_column_platform">
<h5><a href="//core.telegram.org/">Platform</a></h5>
<ul>
<li><a href="//core.telegram.org/api">API</a></li>
<li><a href="//translations.telegram.org/">Translations</a></li>
<li><a href="//instantview.telegram.org/">Instant View</a></li>
</ul>
</div>
</div>
<div class="footer_columns_wrap footer_mobile">
<div class="footer_column">
<h5><a href="/faq">About</a></h5>
</div>
<div class="footer_column">
<h5><a href="/blog">Blog</a></h5>
</div>
<div class="footer_column">
<h5><a href="/apps">Apps</a></h5>
</div>
<div class="footer_column">
<h5><a href="//core.telegram.org/">Platform</a></h5>
</div>
<div class="footer_column">
<h5><a href="/press">Press</a></h5>
</div>
</div>
</div>
<script src="/js/main.js?47"></script>
<script src="/js/tgsticker.js?31"></script>
<script>initScrollVideos(true);
mainInitTgStickers({"maxDeviceRatio":2,"cachingModulo":4});
twitterCustomShareInit();
blogSideImageInit();
backToTopInit("Go up");
removePreloadInit();
</script>
</body>
</html>