diff --git a/docs/API_docs/constructors/botAppSettings.md b/docs/API_docs/constructors/botAppSettings.md
new file mode 100644
index 0000000000..7f78ca69ec
--- /dev/null
+++ b/docs/API_docs/constructors/botAppSettings.md
@@ -0,0 +1,31 @@
+---
+title: "botAppSettings"
+description: "botAppSettings attributes, type and example"
+nav_exclude: true
+image: https://docs.madelineproto.xyz/favicons/android-chrome-256x256.png
+---
+# Constructor: botAppSettings
+[Back to constructors index](/API_docs/constructors/index.html)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|---------------|----------|
+|placeholder\_path|[bytes](/API_docs/types/bytes.html) | Optional|
+|background\_color|[int](/API_docs/types/int.html) | Optional|
+|background\_dark\_color|[int](/API_docs/types/int.html) | Optional|
+|header\_color|[int](/API_docs/types/int.html) | Optional|
+|header\_dark\_color|[int](/API_docs/types/int.html) | Optional|
+
+
+
+### Type: [BotAppSettings](/API_docs/types/BotAppSettings.html)
+
+
+### Example:
+
+```
+$botAppSettings = ['_' => 'botAppSettings', 'placeholder_path' => 'bytes', 'background_color' => int, 'background_dark_color' => int, 'header_color' => int, 'header_dark_color' => int];
+```
diff --git a/docs/API_docs/constructors/botInfo.md b/docs/API_docs/constructors/botInfo.md
index 1f1bcef3bc..3a62b1b8e0 100644
--- a/docs/API_docs/constructors/botInfo.md
+++ b/docs/API_docs/constructors/botInfo.md
@@ -23,6 +23,7 @@ Info about bots (available bot commands, etc)
|commands|Array of [BotCommand](/API_docs/types/BotCommand.html) | Optional|Bot commands that can be used in the chat|
|menu\_button|[BotMenuButton](/API_docs/types/BotMenuButton.html) | Optional|Indicates the action to execute when pressing the in-UI menu button for bots|
|privacy\_policy\_url|[string](/API_docs/types/string.html) | Optional|
+|app\_settings|[BotAppSettings](/API_docs/types/BotAppSettings.html) | Optional|
@@ -32,5 +33,5 @@ Info about bots (available bot commands, etc)
### Example:
```
-$botInfo = ['_' => 'botInfo', 'has_preview_medias' => Bool, 'user_id' => long, 'description' => 'string', 'description_photo' => Photo, 'description_document' => Document, 'commands' => [BotCommand, BotCommand], 'menu_button' => BotMenuButton, 'privacy_policy_url' => 'string'];
+$botInfo = ['_' => 'botInfo', 'has_preview_medias' => Bool, 'user_id' => long, 'description' => 'string', 'description_photo' => Photo, 'description_document' => Document, 'commands' => [BotCommand, BotCommand], 'menu_button' => BotMenuButton, 'privacy_policy_url' => 'string', 'app_settings' => BotAppSettings];
```
diff --git a/docs/API_docs/constructors/index.md b/docs/API_docs/constructors/index.md
index acee30c63c..6be4e0d433 100644
--- a/docs/API_docs/constructors/index.md
+++ b/docs/API_docs/constructors/index.md
@@ -268,6 +268,9 @@ image: https://docs.madelineproto.xyz/favicons/android-chrome-256x256.png
***
[$botAppNotModified](/API_docs/constructors/botAppNotModified.html) = \[\];
+***
+
[$botAppSettings](/API_docs/constructors/botAppSettings.html) = \['placeholder_path' => [bytes](/API_docs/types/bytes.html), 'background_color' => [int](/API_docs/types/int.html), 'background_dark_color' => [int](/API_docs/types/int.html), 'header_color' => [int](/API_docs/types/int.html), 'header_dark_color' => [int](/API_docs/types/int.html), \];
+
***
[$botBusinessConnection](/API_docs/constructors/botBusinessConnection.html) = \['can_reply' => [Bool](/API_docs/types/Bool.html), 'disabled' => [Bool](/API_docs/types/Bool.html), 'connection_id' => [string](/API_docs/types/string.html), 'user_id' => [long](/API_docs/types/long.html), 'dc_id' => [int](/API_docs/types/int.html), 'date' => [int](/API_docs/types/int.html), \];
@@ -296,7 +299,7 @@ image: https://docs.madelineproto.xyz/favicons/android-chrome-256x256.png
[$botCommandScopeUsers](/API_docs/constructors/botCommandScopeUsers.html) = \[\];
***
-
[$botInfo](/API_docs/constructors/botInfo.html) = \['has_preview_medias' => [Bool](/API_docs/types/Bool.html), 'user_id' => [long](/API_docs/types/long.html), 'description' => [string](/API_docs/types/string.html), 'description_photo' => [Photo](/API_docs/types/Photo.html), 'description_document' => [Document](/API_docs/types/Document.html), 'commands' => \[[BotCommand](/API_docs/types/BotCommand.html)\], 'menu_button' => [BotMenuButton](/API_docs/types/BotMenuButton.html), 'privacy_policy_url' => [string](/API_docs/types/string.html), \];
+
[$botInfo](/API_docs/constructors/botInfo.html) = \['has_preview_medias' => [Bool](/API_docs/types/Bool.html), 'user_id' => [long](/API_docs/types/long.html), 'description' => [string](/API_docs/types/string.html), 'description_photo' => [Photo](/API_docs/types/Photo.html), 'description_document' => [Document](/API_docs/types/Document.html), 'commands' => \[[BotCommand](/API_docs/types/BotCommand.html)\], 'menu_button' => [BotMenuButton](/API_docs/types/BotMenuButton.html), 'privacy_policy_url' => [string](/API_docs/types/string.html), 'app_settings' => [BotAppSettings](/API_docs/types/BotAppSettings.html), \];
***
[$botInlineMediaResult](/API_docs/constructors/botInlineMediaResult.html) = \['id' => [string](/API_docs/types/string.html), 'type' => [string](/API_docs/types/string.html), 'photo' => [Photo](/API_docs/types/Photo.html), 'document' => [Document](/API_docs/types/Document.html), 'title' => [string](/API_docs/types/string.html), 'description' => [string](/API_docs/types/string.html), 'send_message' => [BotInlineMessage](/API_docs/types/BotInlineMessage.html), \];
@@ -1636,6 +1639,9 @@ image: https://docs.madelineproto.xyz/favicons/android-chrome-256x256.png
***
[$inputPrivacyKeyProfilePhoto](/API_docs/constructors/inputPrivacyKeyProfilePhoto.html) = \[\];
+***
+
[$inputPrivacyKeyStarGiftsAutoSave](/API_docs/constructors/inputPrivacyKeyStarGiftsAutoSave.html) = \[\];
+
***
[$inputPrivacyKeyStatusTimestamp](/API_docs/constructors/inputPrivacyKeyStatusTimestamp.html) = \[\];
@@ -1645,6 +1651,9 @@ image: https://docs.madelineproto.xyz/favicons/android-chrome-256x256.png
***
[$inputPrivacyValueAllowAll](/API_docs/constructors/inputPrivacyValueAllowAll.html) = \[\];
+***
+
[$inputPrivacyValueAllowBots](/API_docs/constructors/inputPrivacyValueAllowBots.html) = \[\];
+
***
[$inputPrivacyValueAllowChatParticipants](/API_docs/constructors/inputPrivacyValueAllowChatParticipants.html) = \['chats' => \[[long](/API_docs/types/long.html)\], \];
@@ -1663,6 +1672,9 @@ image: https://docs.madelineproto.xyz/favicons/android-chrome-256x256.png
***
[$inputPrivacyValueDisallowAll](/API_docs/constructors/inputPrivacyValueDisallowAll.html) = \[\];
+***
+
[$inputPrivacyValueDisallowBots](/API_docs/constructors/inputPrivacyValueDisallowBots.html) = \[\];
+
***
[$inputPrivacyValueDisallowChatParticipants](/API_docs/constructors/inputPrivacyValueDisallowChatParticipants.html) = \['chats' => \[[long](/API_docs/types/long.html)\], \];
@@ -1844,7 +1856,7 @@ image: https://docs.madelineproto.xyz/favicons/android-chrome-256x256.png
[$inputWebFileLocation](/API_docs/constructors/inputWebFileLocation.html) = \['url' => [string](/API_docs/types/string.html), 'access_hash' => [long](/API_docs/types/long.html), \];
***
-
[$invoice](/API_docs/constructors/invoice.html) = \['test' => [Bool](/API_docs/types/Bool.html), 'name_requested' => [Bool](/API_docs/types/Bool.html), 'phone_requested' => [Bool](/API_docs/types/Bool.html), 'email_requested' => [Bool](/API_docs/types/Bool.html), 'shipping_address_requested' => [Bool](/API_docs/types/Bool.html), 'flexible' => [Bool](/API_docs/types/Bool.html), 'phone_to_provider' => [Bool](/API_docs/types/Bool.html), 'email_to_provider' => [Bool](/API_docs/types/Bool.html), 'recurring' => [Bool](/API_docs/types/Bool.html), 'currency' => [string](/API_docs/types/string.html), 'prices' => \[[LabeledPrice](/API_docs/types/LabeledPrice.html)\], 'max_tip_amount' => [long](/API_docs/types/long.html), 'suggested_tip_amounts' => \[[long](/API_docs/types/long.html)\], 'terms_url' => [string](/API_docs/types/string.html), \];
+
[$invoice](/API_docs/constructors/invoice.html) = \['test' => [Bool](/API_docs/types/Bool.html), 'name_requested' => [Bool](/API_docs/types/Bool.html), 'phone_requested' => [Bool](/API_docs/types/Bool.html), 'email_requested' => [Bool](/API_docs/types/Bool.html), 'shipping_address_requested' => [Bool](/API_docs/types/Bool.html), 'flexible' => [Bool](/API_docs/types/Bool.html), 'phone_to_provider' => [Bool](/API_docs/types/Bool.html), 'email_to_provider' => [Bool](/API_docs/types/Bool.html), 'recurring' => [Bool](/API_docs/types/Bool.html), 'currency' => [string](/API_docs/types/string.html), 'prices' => \[[LabeledPrice](/API_docs/types/LabeledPrice.html)\], 'max_tip_amount' => [long](/API_docs/types/long.html), 'suggested_tip_amounts' => \[[long](/API_docs/types/long.html)\], 'terms_url' => [string](/API_docs/types/string.html), 'subscription_period' => [int](/API_docs/types/int.html), \];
***
[$jsonArray](/API_docs/constructors/jsonArray.html) = \['value' => \[[JSONValue](/API_docs/types/JSONValue.html)\], \];
@@ -2299,6 +2311,9 @@ image: https://docs.madelineproto.xyz/favicons/android-chrome-256x256.png
***
[$messages.botCallbackAnswer](/API_docs/constructors/messages.botCallbackAnswer.html) = \['alert' => [Bool](/API_docs/types/Bool.html), 'has_url' => [Bool](/API_docs/types/Bool.html), 'native_ui' => [Bool](/API_docs/types/Bool.html), 'message' => [string](/API_docs/types/string.html), 'url' => [string](/API_docs/types/string.html), 'cache_time' => [int](/API_docs/types/int.html), \];
+***
+
[$messages.botPreparedInlineMessage](/API_docs/constructors/messages.botPreparedInlineMessage.html) = \['id' => [string](/API_docs/types/string.html), 'expire_date' => [int](/API_docs/types/int.html), \];
+
***
[$messages.botResults](/API_docs/constructors/messages.botResults.html) = \['gallery' => [Bool](/API_docs/types/Bool.html), 'query_id' => [long](/API_docs/types/long.html), 'next_offset' => [string](/API_docs/types/string.html), 'switch_pm' => [InlineBotSwitchPM](/API_docs/types/InlineBotSwitchPM.html), 'switch_webview' => [InlineBotWebView](/API_docs/types/InlineBotWebView.html), 'results' => \[[BotInlineResult](/API_docs/types/BotInlineResult.html)\], 'cache_time' => [int](/API_docs/types/int.html), 'users' => \[[User](/API_docs/types/User.html)\], \];
@@ -2422,6 +2437,9 @@ image: https://docs.madelineproto.xyz/favicons/android-chrome-256x256.png
***
[$messages.peerSettings](/API_docs/constructors/messages.peerSettings.html) = \['settings' => [PeerSettings](/API_docs/types/PeerSettings.html), 'chats' => \[[Chat](/API_docs/types/Chat.html)\], 'users' => \[[User](/API_docs/types/User.html)\], \];
+***
+
[$messages.preparedInlineMessage](/API_docs/constructors/messages.preparedInlineMessage.html) = \['query_id' => [long](/API_docs/types/long.html), 'result' => [BotInlineResult](/API_docs/types/BotInlineResult.html), 'peer_types' => \[[InlineQueryPeerType](/API_docs/types/InlineQueryPeerType.html)\], 'cache_time' => [int](/API_docs/types/int.html), 'users' => \[[User](/API_docs/types/User.html)\], \];
+
***
[$messages.quickReplies](/API_docs/constructors/messages.quickReplies.html) = \['quick_replies' => \[[QuickReply](/API_docs/types/QuickReply.html)\], 'messages' => \[[Message](/API_docs/types/Message.html)\], 'chats' => \[[Chat](/API_docs/types/Chat.html)\], 'users' => \[[User](/API_docs/types/User.html)\], \];
@@ -2947,6 +2965,9 @@ image: https://docs.madelineproto.xyz/favicons/android-chrome-256x256.png
***
[$privacyKeyProfilePhoto](/API_docs/constructors/privacyKeyProfilePhoto.html) = \[\];
+***
+
[$privacyKeyStarGiftsAutoSave](/API_docs/constructors/privacyKeyStarGiftsAutoSave.html) = \[\];
+
***
[$privacyKeyStatusTimestamp](/API_docs/constructors/privacyKeyStatusTimestamp.html) = \[\];
@@ -2956,6 +2977,9 @@ image: https://docs.madelineproto.xyz/favicons/android-chrome-256x256.png
***
[$privacyValueAllowAll](/API_docs/constructors/privacyValueAllowAll.html) = \[\];
+***
+
[$privacyValueAllowBots](/API_docs/constructors/privacyValueAllowBots.html) = \[\];
+
***
[$privacyValueAllowChatParticipants](/API_docs/constructors/privacyValueAllowChatParticipants.html) = \['chats' => \[[long](/API_docs/types/long.html)\], \];
@@ -2974,6 +2998,9 @@ image: https://docs.madelineproto.xyz/favicons/android-chrome-256x256.png
***
[$privacyValueDisallowAll](/API_docs/constructors/privacyValueDisallowAll.html) = \[\];
+***
+
[$privacyValueDisallowBots](/API_docs/constructors/privacyValueDisallowBots.html) = \[\];
+
***
[$privacyValueDisallowChatParticipants](/API_docs/constructors/privacyValueDisallowChatParticipants.html) = \['chats' => \[[long](/API_docs/types/long.html)\], \];
@@ -3278,7 +3305,7 @@ image: https://docs.madelineproto.xyz/favicons/android-chrome-256x256.png
[$sponsoredMessageReportOption](/API_docs/constructors/sponsoredMessageReportOption.html) = \['text' => [string](/API_docs/types/string.html), 'option' => [bytes](/API_docs/types/bytes.html), \];
***
-
[$starGift](/API_docs/constructors/starGift.html) = \['limited' => [Bool](/API_docs/types/Bool.html), 'sold_out' => [Bool](/API_docs/types/Bool.html), 'id' => [long](/API_docs/types/long.html), 'sticker' => [Document](/API_docs/types/Document.html), 'stars' => [long](/API_docs/types/long.html), 'availability_remains' => [int](/API_docs/types/int.html), 'availability_total' => [int](/API_docs/types/int.html), 'convert_stars' => [long](/API_docs/types/long.html), 'first_sale_date' => [int](/API_docs/types/int.html), 'last_sale_date' => [int](/API_docs/types/int.html), \];
+
[$starGift](/API_docs/constructors/starGift.html) = \['limited' => [Bool](/API_docs/types/Bool.html), 'sold_out' => [Bool](/API_docs/types/Bool.html), 'birthday' => [Bool](/API_docs/types/Bool.html), 'id' => [long](/API_docs/types/long.html), 'sticker' => [Document](/API_docs/types/Document.html), 'stars' => [long](/API_docs/types/long.html), 'availability_remains' => [int](/API_docs/types/int.html), 'availability_total' => [int](/API_docs/types/int.html), 'convert_stars' => [long](/API_docs/types/long.html), 'first_sale_date' => [int](/API_docs/types/int.html), 'last_sale_date' => [int](/API_docs/types/int.html), \];
***
[$starsGiftOption](/API_docs/constructors/starsGiftOption.html) = \['extended' => [Bool](/API_docs/types/Bool.html), 'stars' => [long](/API_docs/types/long.html), 'store_product' => [string](/API_docs/types/string.html), 'currency' => [string](/API_docs/types/string.html), 'amount' => [long](/API_docs/types/long.html), \];
@@ -3293,7 +3320,7 @@ image: https://docs.madelineproto.xyz/favicons/android-chrome-256x256.png
[$starsRevenueStatus](/API_docs/constructors/starsRevenueStatus.html) = \['withdrawal_enabled' => [Bool](/API_docs/types/Bool.html), 'current_balance' => [long](/API_docs/types/long.html), 'available_balance' => [long](/API_docs/types/long.html), 'overall_revenue' => [long](/API_docs/types/long.html), 'next_withdrawal_at' => [int](/API_docs/types/int.html), \];
***
-
[$starsSubscription](/API_docs/constructors/starsSubscription.html) = \['canceled' => [Bool](/API_docs/types/Bool.html), 'can_refulfill' => [Bool](/API_docs/types/Bool.html), 'missing_balance' => [Bool](/API_docs/types/Bool.html), 'id' => [string](/API_docs/types/string.html), 'peer' => [long](/API_docs/types/long.html), 'until_date' => [int](/API_docs/types/int.html), 'pricing' => [StarsSubscriptionPricing](/API_docs/types/StarsSubscriptionPricing.html), 'chat_invite_hash' => [string](/API_docs/types/string.html), \];
+
[$starsSubscription](/API_docs/constructors/starsSubscription.html) = \['canceled' => [Bool](/API_docs/types/Bool.html), 'can_refulfill' => [Bool](/API_docs/types/Bool.html), 'missing_balance' => [Bool](/API_docs/types/Bool.html), 'bot_canceled' => [Bool](/API_docs/types/Bool.html), 'id' => [string](/API_docs/types/string.html), 'peer' => [long](/API_docs/types/long.html), 'until_date' => [int](/API_docs/types/int.html), 'pricing' => [StarsSubscriptionPricing](/API_docs/types/StarsSubscriptionPricing.html), 'chat_invite_hash' => [string](/API_docs/types/string.html), 'title' => [string](/API_docs/types/string.html), 'photo' => [WebDocument](/API_docs/types/WebDocument.html), 'invoice_slug' => [string](/API_docs/types/string.html), \];
***
[$starsSubscriptionPricing](/API_docs/constructors/starsSubscriptionPricing.html) = \['period' => [int](/API_docs/types/int.html), 'amount' => [long](/API_docs/types/long.html), \];
@@ -3649,6 +3676,9 @@ image: https://docs.madelineproto.xyz/favicons/android-chrome-256x256.png
***
[$updateBotStopped](/API_docs/constructors/updateBotStopped.html) = \['user_id' => [long](/API_docs/types/long.html), 'date' => [int](/API_docs/types/int.html), 'stopped' => [Bool](/API_docs/types/Bool.html), 'qts' => [int](/API_docs/types/int.html), \];
+***
+
[$updateBotSubscriptionExpire](/API_docs/constructors/updateBotSubscriptionExpire.html) = \['user_id' => [long](/API_docs/types/long.html), 'payload' => [string](/API_docs/types/string.html), 'invoice_slug' => [string](/API_docs/types/string.html), 'until_date' => [int](/API_docs/types/int.html), 'qts' => [int](/API_docs/types/int.html), \];
+
***
[$updateBotWebhookJSON](/API_docs/constructors/updateBotWebhookJSON.html) = \['data' => [DataJSON](/API_docs/types/DataJSON.html), \];
@@ -4091,7 +4121,7 @@ image: https://docs.madelineproto.xyz/favicons/android-chrome-256x256.png
[$userEmpty](/API_docs/constructors/userEmpty.html) = \['id' => [long](/API_docs/types/long.html), \];
***
-
[$userFull](/API_docs/constructors/userFull.html) = \['blocked' => [Bool](/API_docs/types/Bool.html), 'phone_calls_available' => [Bool](/API_docs/types/Bool.html), 'phone_calls_private' => [Bool](/API_docs/types/Bool.html), 'can_pin_message' => [Bool](/API_docs/types/Bool.html), 'has_scheduled' => [Bool](/API_docs/types/Bool.html), 'video_calls_available' => [Bool](/API_docs/types/Bool.html), 'voice_messages_forbidden' => [Bool](/API_docs/types/Bool.html), 'translations_disabled' => [Bool](/API_docs/types/Bool.html), 'stories_pinned_available' => [Bool](/API_docs/types/Bool.html), 'blocked_my_stories_from' => [Bool](/API_docs/types/Bool.html), 'wallpaper_overridden' => [Bool](/API_docs/types/Bool.html), 'contact_require_premium' => [Bool](/API_docs/types/Bool.html), 'read_dates_private' => [Bool](/API_docs/types/Bool.html), 'sponsored_enabled' => [Bool](/API_docs/types/Bool.html), 'can_view_revenue' => [Bool](/API_docs/types/Bool.html), 'id' => [long](/API_docs/types/long.html), 'about' => [string](/API_docs/types/string.html), 'settings' => [PeerSettings](/API_docs/types/PeerSettings.html), 'personal_photo' => [Photo](/API_docs/types/Photo.html), 'profile_photo' => [Photo](/API_docs/types/Photo.html), 'fallback_photo' => [Photo](/API_docs/types/Photo.html), 'notify_settings' => [PeerNotifySettings](/API_docs/types/PeerNotifySettings.html), 'bot_info' => [BotInfo](/API_docs/types/BotInfo.html), 'pinned_msg_id' => [int](/API_docs/types/int.html), 'common_chats_count' => [int](/API_docs/types/int.html), 'folder_id' => [int](/API_docs/types/int.html), 'ttl_period' => [int](/API_docs/types/int.html), 'theme_emoticon' => [string](/API_docs/types/string.html), 'private_forward_name' => [string](/API_docs/types/string.html), 'bot_group_admin_rights' => [ChatAdminRights](/API_docs/types/ChatAdminRights.html), 'bot_broadcast_admin_rights' => [ChatAdminRights](/API_docs/types/ChatAdminRights.html), 'premium_gifts' => \[[PremiumGiftOption](/API_docs/types/PremiumGiftOption.html)\], 'wallpaper' => [WallPaper](/API_docs/types/WallPaper.html), 'stories' => [PeerStories](/API_docs/types/PeerStories.html), 'business_work_hours' => [BusinessWorkHours](/API_docs/types/BusinessWorkHours.html), 'business_location' => [BusinessLocation](/API_docs/types/BusinessLocation.html), 'business_greeting_message' => [BusinessGreetingMessage](/API_docs/types/BusinessGreetingMessage.html), 'business_away_message' => [BusinessAwayMessage](/API_docs/types/BusinessAwayMessage.html), 'business_intro' => [BusinessIntro](/API_docs/types/BusinessIntro.html), 'birthday' => [Birthday](/API_docs/types/Birthday.html), 'personal_channel_id' => [long](/API_docs/types/long.html), 'personal_channel_message' => [int](/API_docs/types/int.html), 'stargifts_count' => [int](/API_docs/types/int.html), \];
+
[$userFull](/API_docs/constructors/userFull.html) = \['blocked' => [Bool](/API_docs/types/Bool.html), 'phone_calls_available' => [Bool](/API_docs/types/Bool.html), 'phone_calls_private' => [Bool](/API_docs/types/Bool.html), 'can_pin_message' => [Bool](/API_docs/types/Bool.html), 'has_scheduled' => [Bool](/API_docs/types/Bool.html), 'video_calls_available' => [Bool](/API_docs/types/Bool.html), 'voice_messages_forbidden' => [Bool](/API_docs/types/Bool.html), 'translations_disabled' => [Bool](/API_docs/types/Bool.html), 'stories_pinned_available' => [Bool](/API_docs/types/Bool.html), 'blocked_my_stories_from' => [Bool](/API_docs/types/Bool.html), 'wallpaper_overridden' => [Bool](/API_docs/types/Bool.html), 'contact_require_premium' => [Bool](/API_docs/types/Bool.html), 'read_dates_private' => [Bool](/API_docs/types/Bool.html), 'sponsored_enabled' => [Bool](/API_docs/types/Bool.html), 'can_view_revenue' => [Bool](/API_docs/types/Bool.html), 'bot_can_manage_emoji_status' => [Bool](/API_docs/types/Bool.html), 'id' => [long](/API_docs/types/long.html), 'about' => [string](/API_docs/types/string.html), 'settings' => [PeerSettings](/API_docs/types/PeerSettings.html), 'personal_photo' => [Photo](/API_docs/types/Photo.html), 'profile_photo' => [Photo](/API_docs/types/Photo.html), 'fallback_photo' => [Photo](/API_docs/types/Photo.html), 'notify_settings' => [PeerNotifySettings](/API_docs/types/PeerNotifySettings.html), 'bot_info' => [BotInfo](/API_docs/types/BotInfo.html), 'pinned_msg_id' => [int](/API_docs/types/int.html), 'common_chats_count' => [int](/API_docs/types/int.html), 'folder_id' => [int](/API_docs/types/int.html), 'ttl_period' => [int](/API_docs/types/int.html), 'theme_emoticon' => [string](/API_docs/types/string.html), 'private_forward_name' => [string](/API_docs/types/string.html), 'bot_group_admin_rights' => [ChatAdminRights](/API_docs/types/ChatAdminRights.html), 'bot_broadcast_admin_rights' => [ChatAdminRights](/API_docs/types/ChatAdminRights.html), 'premium_gifts' => \[[PremiumGiftOption](/API_docs/types/PremiumGiftOption.html)\], 'wallpaper' => [WallPaper](/API_docs/types/WallPaper.html), 'stories' => [PeerStories](/API_docs/types/PeerStories.html), 'business_work_hours' => [BusinessWorkHours](/API_docs/types/BusinessWorkHours.html), 'business_location' => [BusinessLocation](/API_docs/types/BusinessLocation.html), 'business_greeting_message' => [BusinessGreetingMessage](/API_docs/types/BusinessGreetingMessage.html), 'business_away_message' => [BusinessAwayMessage](/API_docs/types/BusinessAwayMessage.html), 'business_intro' => [BusinessIntro](/API_docs/types/BusinessIntro.html), 'birthday' => [Birthday](/API_docs/types/Birthday.html), 'personal_channel_id' => [long](/API_docs/types/long.html), 'personal_channel_message' => [int](/API_docs/types/int.html), 'stargifts_count' => [int](/API_docs/types/int.html), \];
***
[$userProfilePhoto](/API_docs/constructors/userProfilePhoto.html) = \['has_video' => [Bool](/API_docs/types/Bool.html), 'personal' => [Bool](/API_docs/types/Bool.html), 'photo_id' => [long](/API_docs/types/long.html), 'stripped_thumb' => [bytes](/API_docs/types/bytes.html), 'dc_id' => [int](/API_docs/types/int.html), \];
@@ -4178,6 +4208,6 @@ image: https://docs.madelineproto.xyz/favicons/android-chrome-256x256.png
[$webViewMessageSent](/API_docs/constructors/webViewMessageSent.html) = \['msg_id' => [InputBotInlineMessageID](/API_docs/types/InputBotInlineMessageID.html), \];
***
-
[$webViewResultUrl](/API_docs/constructors/webViewResultUrl.html) = \['fullsize' => [Bool](/API_docs/types/Bool.html), 'query_id' => [long](/API_docs/types/long.html), 'url' => [string](/API_docs/types/string.html), \];
+
[$webViewResultUrl](/API_docs/constructors/webViewResultUrl.html) = \['fullsize' => [Bool](/API_docs/types/Bool.html), 'fullscreen' => [Bool](/API_docs/types/Bool.html), 'query_id' => [long](/API_docs/types/long.html), 'url' => [string](/API_docs/types/string.html), \];
diff --git a/docs/API_docs/constructors/inputPrivacyKeyStarGiftsAutoSave.md b/docs/API_docs/constructors/inputPrivacyKeyStarGiftsAutoSave.md
new file mode 100644
index 0000000000..24b53a444a
--- /dev/null
+++ b/docs/API_docs/constructors/inputPrivacyKeyStarGiftsAutoSave.md
@@ -0,0 +1,22 @@
+---
+title: "inputPrivacyKeyStarGiftsAutoSave"
+description: "inputPrivacyKeyStarGiftsAutoSave attributes, type and example"
+nav_exclude: true
+image: https://docs.madelineproto.xyz/favicons/android-chrome-256x256.png
+---
+# Constructor: inputPrivacyKeyStarGiftsAutoSave
+[Back to constructors index](/API_docs/constructors/index.html)
+
+
+
+
+
+
+### Type: [InputPrivacyKey](/API_docs/types/InputPrivacyKey.html)
+
+
+### Example:
+
+```
+$inputPrivacyKeyStarGiftsAutoSave = ['_' => 'inputPrivacyKeyStarGiftsAutoSave'];
+```
diff --git a/docs/API_docs/constructors/inputPrivacyValueAllowBots.md b/docs/API_docs/constructors/inputPrivacyValueAllowBots.md
new file mode 100644
index 0000000000..6ae986f2b9
--- /dev/null
+++ b/docs/API_docs/constructors/inputPrivacyValueAllowBots.md
@@ -0,0 +1,22 @@
+---
+title: "inputPrivacyValueAllowBots"
+description: "inputPrivacyValueAllowBots attributes, type and example"
+nav_exclude: true
+image: https://docs.madelineproto.xyz/favicons/android-chrome-256x256.png
+---
+# Constructor: inputPrivacyValueAllowBots
+[Back to constructors index](/API_docs/constructors/index.html)
+
+
+
+
+
+
+### Type: [InputPrivacyRule](/API_docs/types/InputPrivacyRule.html)
+
+
+### Example:
+
+```
+$inputPrivacyValueAllowBots = ['_' => 'inputPrivacyValueAllowBots'];
+```
diff --git a/docs/API_docs/constructors/inputPrivacyValueDisallowBots.md b/docs/API_docs/constructors/inputPrivacyValueDisallowBots.md
new file mode 100644
index 0000000000..017c28315a
--- /dev/null
+++ b/docs/API_docs/constructors/inputPrivacyValueDisallowBots.md
@@ -0,0 +1,22 @@
+---
+title: "inputPrivacyValueDisallowBots"
+description: "inputPrivacyValueDisallowBots attributes, type and example"
+nav_exclude: true
+image: https://docs.madelineproto.xyz/favicons/android-chrome-256x256.png
+---
+# Constructor: inputPrivacyValueDisallowBots
+[Back to constructors index](/API_docs/constructors/index.html)
+
+
+
+
+
+
+### Type: [InputPrivacyRule](/API_docs/types/InputPrivacyRule.html)
+
+
+### Example:
+
+```
+$inputPrivacyValueDisallowBots = ['_' => 'inputPrivacyValueDisallowBots'];
+```
diff --git a/docs/API_docs/constructors/invoice.md b/docs/API_docs/constructors/invoice.md
index 5be1968d8d..98bc7f4c27 100644
--- a/docs/API_docs/constructors/invoice.md
+++ b/docs/API_docs/constructors/invoice.md
@@ -29,6 +29,7 @@ Invoice
|max\_tip\_amount|[long](/API_docs/types/long.html) | Optional|The maximum accepted amount for tips in the smallest units of the currency (integer, not float/double). For example, for a price of `US$ 1.45` pass `amount = 145`. See the exp parameter in [currencies.json](https://core.telegram.org/bots/payments/currencies.json), it shows the number of digits past the decimal point for each currency (2 for the majority of currencies).|
|suggested\_tip\_amounts|Array of [long](/API_docs/types/long.html) | Optional|A vector of suggested amounts of tips in the *smallest units* of the currency (integer, not float/double). At most 4 suggested tip amounts can be specified. The suggested tip amounts must be positive, passed in a strictly increased order and must not exceed `max_tip_amount`.|
|terms\_url|[string](/API_docs/types/string.html) | Optional|Terms of service URL|
+|subscription\_period|[int](/API_docs/types/int.html) | Optional|
@@ -38,5 +39,5 @@ Invoice
### Example:
```
-$invoice = ['_' => 'invoice', 'test' => Bool, 'name_requested' => Bool, 'phone_requested' => Bool, 'email_requested' => Bool, 'shipping_address_requested' => Bool, 'flexible' => Bool, 'phone_to_provider' => Bool, 'email_to_provider' => Bool, 'recurring' => Bool, 'currency' => 'string', 'prices' => [LabeledPrice, LabeledPrice], 'max_tip_amount' => long, 'suggested_tip_amounts' => [long, long], 'terms_url' => 'string'];
+$invoice = ['_' => 'invoice', 'test' => Bool, 'name_requested' => Bool, 'phone_requested' => Bool, 'email_requested' => Bool, 'shipping_address_requested' => Bool, 'flexible' => Bool, 'phone_to_provider' => Bool, 'email_to_provider' => Bool, 'recurring' => Bool, 'currency' => 'string', 'prices' => [LabeledPrice, LabeledPrice], 'max_tip_amount' => long, 'suggested_tip_amounts' => [long, long], 'terms_url' => 'string', 'subscription_period' => int];
```
diff --git a/docs/API_docs/constructors/messageActionStarGift.md b/docs/API_docs/constructors/messageActionStarGift.md
index 217188bcec..5ca968d57b 100644
--- a/docs/API_docs/constructors/messageActionStarGift.md
+++ b/docs/API_docs/constructors/messageActionStarGift.md
@@ -18,7 +18,7 @@ image: https://docs.madelineproto.xyz/favicons/android-chrome-256x256.png
|converted|[Bool](/API_docs/types/Bool.html) | Optional|
|gift|[StarGift](/API_docs/types/StarGift.html) | Yes|
|message|[TextWithEntities](/API_docs/types/TextWithEntities.html) | Optional|
-|convert\_stars|[long](/API_docs/types/long.html) | Yes|
+|convert\_stars|[long](/API_docs/types/long.html) | Optional|
diff --git a/docs/API_docs/constructors/messages.botPreparedInlineMessage.md b/docs/API_docs/constructors/messages.botPreparedInlineMessage.md
new file mode 100644
index 0000000000..898b644680
--- /dev/null
+++ b/docs/API_docs/constructors/messages.botPreparedInlineMessage.md
@@ -0,0 +1,29 @@
+---
+title: "messages.botPreparedInlineMessage"
+description: "messages.botPreparedInlineMessage attributes, type and example"
+nav_exclude: true
+image: https://docs.madelineproto.xyz/favicons/android-chrome-256x256.png
+redirect_from: /API_docs/constructors/messages_botPreparedInlineMessage.html
+---
+# Constructor: messages.botPreparedInlineMessage
+[Back to constructors index](/API_docs/constructors/index.html)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|---------------|----------|
+|id|[string](/API_docs/types/string.html) | Yes|
+|expire\_date|[int](/API_docs/types/int.html) | Yes|
+
+
+
+### Type: [messages.BotPreparedInlineMessage](/API_docs/types/messages.BotPreparedInlineMessage.html)
+
+
+### Example:
+
+```
+$messages_botPreparedInlineMessage = ['_' => 'messages.botPreparedInlineMessage', 'id' => 'string', 'expire_date' => int];
+```
diff --git a/docs/API_docs/constructors/messages.preparedInlineMessage.md b/docs/API_docs/constructors/messages.preparedInlineMessage.md
new file mode 100644
index 0000000000..2467dcde5f
--- /dev/null
+++ b/docs/API_docs/constructors/messages.preparedInlineMessage.md
@@ -0,0 +1,32 @@
+---
+title: "messages.preparedInlineMessage"
+description: "messages.preparedInlineMessage attributes, type and example"
+nav_exclude: true
+image: https://docs.madelineproto.xyz/favicons/android-chrome-256x256.png
+redirect_from: /API_docs/constructors/messages_preparedInlineMessage.html
+---
+# Constructor: messages.preparedInlineMessage
+[Back to constructors index](/API_docs/constructors/index.html)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|---------------|----------|
+|query\_id|[long](/API_docs/types/long.html) | Yes|
+|result|[BotInlineResult](/API_docs/types/BotInlineResult.html) | Yes|
+|peer\_types|Array of [InlineQueryPeerType](/API_docs/types/InlineQueryPeerType.html) | Yes|
+|cache\_time|[int](/API_docs/types/int.html) | Yes|
+|users|Array of [User](/API_docs/types/User.html) | Yes|
+
+
+
+### Type: [messages.PreparedInlineMessage](/API_docs/types/messages.PreparedInlineMessage.html)
+
+
+### Example:
+
+```
+$messages_preparedInlineMessage = ['_' => 'messages.preparedInlineMessage', 'query_id' => long, 'result' => BotInlineResult, 'peer_types' => [InlineQueryPeerType, InlineQueryPeerType], 'cache_time' => int, 'users' => [User, User]];
+```
diff --git a/docs/API_docs/constructors/privacyKeyStarGiftsAutoSave.md b/docs/API_docs/constructors/privacyKeyStarGiftsAutoSave.md
new file mode 100644
index 0000000000..251d405955
--- /dev/null
+++ b/docs/API_docs/constructors/privacyKeyStarGiftsAutoSave.md
@@ -0,0 +1,22 @@
+---
+title: "privacyKeyStarGiftsAutoSave"
+description: "privacyKeyStarGiftsAutoSave attributes, type and example"
+nav_exclude: true
+image: https://docs.madelineproto.xyz/favicons/android-chrome-256x256.png
+---
+# Constructor: privacyKeyStarGiftsAutoSave
+[Back to constructors index](/API_docs/constructors/index.html)
+
+
+
+
+
+
+### Type: [PrivacyKey](/API_docs/types/PrivacyKey.html)
+
+
+### Example:
+
+```
+$privacyKeyStarGiftsAutoSave = ['_' => 'privacyKeyStarGiftsAutoSave'];
+```
diff --git a/docs/API_docs/constructors/privacyValueAllowBots.md b/docs/API_docs/constructors/privacyValueAllowBots.md
new file mode 100644
index 0000000000..6275ee148f
--- /dev/null
+++ b/docs/API_docs/constructors/privacyValueAllowBots.md
@@ -0,0 +1,22 @@
+---
+title: "privacyValueAllowBots"
+description: "privacyValueAllowBots attributes, type and example"
+nav_exclude: true
+image: https://docs.madelineproto.xyz/favicons/android-chrome-256x256.png
+---
+# Constructor: privacyValueAllowBots
+[Back to constructors index](/API_docs/constructors/index.html)
+
+
+
+
+
+
+### Type: [PrivacyRule](/API_docs/types/PrivacyRule.html)
+
+
+### Example:
+
+```
+$privacyValueAllowBots = ['_' => 'privacyValueAllowBots'];
+```
diff --git a/docs/API_docs/constructors/privacyValueDisallowBots.md b/docs/API_docs/constructors/privacyValueDisallowBots.md
new file mode 100644
index 0000000000..fa11c2208a
--- /dev/null
+++ b/docs/API_docs/constructors/privacyValueDisallowBots.md
@@ -0,0 +1,22 @@
+---
+title: "privacyValueDisallowBots"
+description: "privacyValueDisallowBots attributes, type and example"
+nav_exclude: true
+image: https://docs.madelineproto.xyz/favicons/android-chrome-256x256.png
+---
+# Constructor: privacyValueDisallowBots
+[Back to constructors index](/API_docs/constructors/index.html)
+
+
+
+
+
+
+### Type: [PrivacyRule](/API_docs/types/PrivacyRule.html)
+
+
+### Example:
+
+```
+$privacyValueDisallowBots = ['_' => 'privacyValueDisallowBots'];
+```
diff --git a/docs/API_docs/constructors/starGift.md b/docs/API_docs/constructors/starGift.md
index 248edfcb76..eabc20df9b 100644
--- a/docs/API_docs/constructors/starGift.md
+++ b/docs/API_docs/constructors/starGift.md
@@ -15,6 +15,7 @@ image: https://docs.madelineproto.xyz/favicons/android-chrome-256x256.png
|----------|---------------|----------|
|limited|[Bool](/API_docs/types/Bool.html) | Optional|
|sold\_out|[Bool](/API_docs/types/Bool.html) | Optional|
+|birthday|[Bool](/API_docs/types/Bool.html) | Optional|
|id|[long](/API_docs/types/long.html) | Yes|
|sticker|[Document](/API_docs/types/Document.html) | Optional|
|stars|[long](/API_docs/types/long.html) | Yes|
@@ -32,5 +33,5 @@ image: https://docs.madelineproto.xyz/favicons/android-chrome-256x256.png
### Example:
```
-$starGift = ['_' => 'starGift', 'limited' => Bool, 'sold_out' => Bool, 'id' => long, 'sticker' => Document, 'stars' => long, 'availability_remains' => int, 'availability_total' => int, 'convert_stars' => long, 'first_sale_date' => int, 'last_sale_date' => int];
+$starGift = ['_' => 'starGift', 'limited' => Bool, 'sold_out' => Bool, 'birthday' => Bool, 'id' => long, 'sticker' => Document, 'stars' => long, 'availability_remains' => int, 'availability_total' => int, 'convert_stars' => long, 'first_sale_date' => int, 'last_sale_date' => int];
```
diff --git a/docs/API_docs/constructors/starsSubscription.md b/docs/API_docs/constructors/starsSubscription.md
index 3f8ab092d4..c91ebdd7b4 100644
--- a/docs/API_docs/constructors/starsSubscription.md
+++ b/docs/API_docs/constructors/starsSubscription.md
@@ -16,11 +16,15 @@ image: https://docs.madelineproto.xyz/favicons/android-chrome-256x256.png
|canceled|[Bool](/API_docs/types/Bool.html) | Optional|
|can\_refulfill|[Bool](/API_docs/types/Bool.html) | Optional|
|missing\_balance|[Bool](/API_docs/types/Bool.html) | Optional|
+|bot\_canceled|[Bool](/API_docs/types/Bool.html) | Optional|
|id|[string](/API_docs/types/string.html) | Yes|
|peer|[long](/API_docs/types/long.html) | Yes|
|until\_date|[int](/API_docs/types/int.html) | Yes|
|pricing|[StarsSubscriptionPricing](/API_docs/types/StarsSubscriptionPricing.html) | Yes|
|chat\_invite\_hash|[string](/API_docs/types/string.html) | Optional|
+|title|[string](/API_docs/types/string.html) | Optional|
+|photo|[WebDocument](/API_docs/types/WebDocument.html) | Optional|
+|invoice\_slug|[string](/API_docs/types/string.html) | Optional|
@@ -30,5 +34,5 @@ image: https://docs.madelineproto.xyz/favicons/android-chrome-256x256.png
### Example:
```
-$starsSubscription = ['_' => 'starsSubscription', 'canceled' => Bool, 'can_refulfill' => Bool, 'missing_balance' => Bool, 'id' => 'string', 'peer' => long, 'until_date' => int, 'pricing' => StarsSubscriptionPricing, 'chat_invite_hash' => 'string'];
+$starsSubscription = ['_' => 'starsSubscription', 'canceled' => Bool, 'can_refulfill' => Bool, 'missing_balance' => Bool, 'bot_canceled' => Bool, 'id' => 'string', 'peer' => long, 'until_date' => int, 'pricing' => StarsSubscriptionPricing, 'chat_invite_hash' => 'string', 'title' => 'string', 'photo' => WebDocument, 'invoice_slug' => 'string'];
```
diff --git a/docs/API_docs/constructors/updateBotSubscriptionExpire.md b/docs/API_docs/constructors/updateBotSubscriptionExpire.md
new file mode 100644
index 0000000000..8671353907
--- /dev/null
+++ b/docs/API_docs/constructors/updateBotSubscriptionExpire.md
@@ -0,0 +1,31 @@
+---
+title: "updateBotSubscriptionExpire"
+description: "updateBotSubscriptionExpire attributes, type and example"
+nav_exclude: true
+image: https://docs.madelineproto.xyz/favicons/android-chrome-256x256.png
+---
+# Constructor: updateBotSubscriptionExpire
+[Back to constructors index](/API_docs/constructors/index.html)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|---------------|----------|
+|user\_id|[long](/API_docs/types/long.html) | Yes|
+|payload|[string](/API_docs/types/string.html) | Yes|
+|invoice\_slug|[string](/API_docs/types/string.html) | Yes|
+|until\_date|[int](/API_docs/types/int.html) | Yes|
+|qts|[int](/API_docs/types/int.html) | Yes|
+
+
+
+### Type: [Update](/API_docs/types/Update.html)
+
+
+### Example:
+
+```
+$updateBotSubscriptionExpire = ['_' => 'updateBotSubscriptionExpire', 'user_id' => long, 'payload' => 'string', 'invoice_slug' => 'string', 'until_date' => int, 'qts' => int];
+```
diff --git a/docs/API_docs/constructors/userFull.md b/docs/API_docs/constructors/userFull.md
index 5414d13b2a..6c856662dd 100644
--- a/docs/API_docs/constructors/userFull.md
+++ b/docs/API_docs/constructors/userFull.md
@@ -30,6 +30,7 @@ Extended user info
|read\_dates\_private|[Bool](/API_docs/types/Bool.html) | Optional|
|sponsored\_enabled|[Bool](/API_docs/types/Bool.html) | Optional|
|can\_view\_revenue|[Bool](/API_docs/types/Bool.html) | Optional|
+|bot\_can\_manage\_emoji\_status|[Bool](/API_docs/types/Bool.html) | Optional|
|id|[long](/API_docs/types/long.html) | Yes|User ID|
|about|[string](/API_docs/types/string.html) | Optional|Bio of the user|
|settings|[PeerSettings](/API_docs/types/PeerSettings.html) | Yes|Peer settings|
@@ -67,5 +68,5 @@ Extended user info
### Example:
```
-$userFull = ['_' => 'userFull', 'blocked' => Bool, 'phone_calls_available' => Bool, 'phone_calls_private' => Bool, 'can_pin_message' => Bool, 'has_scheduled' => Bool, 'video_calls_available' => Bool, 'voice_messages_forbidden' => Bool, 'translations_disabled' => Bool, 'stories_pinned_available' => Bool, 'blocked_my_stories_from' => Bool, 'wallpaper_overridden' => Bool, 'contact_require_premium' => Bool, 'read_dates_private' => Bool, 'sponsored_enabled' => Bool, 'can_view_revenue' => Bool, 'id' => long, 'about' => 'string', 'settings' => PeerSettings, 'personal_photo' => Photo, 'profile_photo' => Photo, 'fallback_photo' => Photo, 'notify_settings' => PeerNotifySettings, 'bot_info' => BotInfo, 'pinned_msg_id' => int, 'common_chats_count' => int, 'folder_id' => int, 'ttl_period' => int, 'theme_emoticon' => 'string', 'private_forward_name' => 'string', 'bot_group_admin_rights' => ChatAdminRights, 'bot_broadcast_admin_rights' => ChatAdminRights, 'premium_gifts' => [PremiumGiftOption, PremiumGiftOption], 'wallpaper' => WallPaper, 'stories' => PeerStories, 'business_work_hours' => BusinessWorkHours, 'business_location' => BusinessLocation, 'business_greeting_message' => BusinessGreetingMessage, 'business_away_message' => BusinessAwayMessage, 'business_intro' => BusinessIntro, 'birthday' => Birthday, 'personal_channel_id' => long, 'personal_channel_message' => int, 'stargifts_count' => int];
+$userFull = ['_' => 'userFull', 'blocked' => Bool, 'phone_calls_available' => Bool, 'phone_calls_private' => Bool, 'can_pin_message' => Bool, 'has_scheduled' => Bool, 'video_calls_available' => Bool, 'voice_messages_forbidden' => Bool, 'translations_disabled' => Bool, 'stories_pinned_available' => Bool, 'blocked_my_stories_from' => Bool, 'wallpaper_overridden' => Bool, 'contact_require_premium' => Bool, 'read_dates_private' => Bool, 'sponsored_enabled' => Bool, 'can_view_revenue' => Bool, 'bot_can_manage_emoji_status' => Bool, 'id' => long, 'about' => 'string', 'settings' => PeerSettings, 'personal_photo' => Photo, 'profile_photo' => Photo, 'fallback_photo' => Photo, 'notify_settings' => PeerNotifySettings, 'bot_info' => BotInfo, 'pinned_msg_id' => int, 'common_chats_count' => int, 'folder_id' => int, 'ttl_period' => int, 'theme_emoticon' => 'string', 'private_forward_name' => 'string', 'bot_group_admin_rights' => ChatAdminRights, 'bot_broadcast_admin_rights' => ChatAdminRights, 'premium_gifts' => [PremiumGiftOption, PremiumGiftOption], 'wallpaper' => WallPaper, 'stories' => PeerStories, 'business_work_hours' => BusinessWorkHours, 'business_location' => BusinessLocation, 'business_greeting_message' => BusinessGreetingMessage, 'business_away_message' => BusinessAwayMessage, 'business_intro' => BusinessIntro, 'birthday' => Birthday, 'personal_channel_id' => long, 'personal_channel_message' => int, 'stargifts_count' => int];
```
diff --git a/docs/API_docs/constructors/webViewResultUrl.md b/docs/API_docs/constructors/webViewResultUrl.md
index e4dd5e0e19..62b95dc77e 100644
--- a/docs/API_docs/constructors/webViewResultUrl.md
+++ b/docs/API_docs/constructors/webViewResultUrl.md
@@ -16,6 +16,7 @@ Contains the webview URL with appropriate theme and user info parameters added
| Name | Type | Required | Description |
|----------|---------------|----------|-------------|
|fullsize|[Bool](/API_docs/types/Bool.html) | Optional|
+|fullscreen|[Bool](/API_docs/types/Bool.html) | Optional|
|query\_id|[long](/API_docs/types/long.html) | Optional|Webview session ID|
|url|[string](/API_docs/types/string.html) | Yes|Webview URL to open|
@@ -27,5 +28,5 @@ Contains the webview URL with appropriate theme and user info parameters added
### Example:
```
-$webViewResultUrl = ['_' => 'webViewResultUrl', 'fullsize' => Bool, 'query_id' => long, 'url' => 'string'];
+$webViewResultUrl = ['_' => 'webViewResultUrl', 'fullsize' => Bool, 'fullscreen' => Bool, 'query_id' => long, 'url' => 'string'];
```
diff --git a/docs/API_docs/index.md b/docs/API_docs/index.md
index 5984eb09a1..64919ac9df 100644
--- a/docs/API_docs/index.md
+++ b/docs/API_docs/index.md
@@ -1,6 +1,6 @@
---
title: "Telegram RPC API"
-description: "MadelineProto API documentation (layer 192)"
+description: "MadelineProto API documentation (layer 193)"
has_children: true
has_toc: false
image: https://docs.madelineproto.xyz/favicons/android-chrome-256x256.png
diff --git a/docs/API_docs/methods/api_index.md b/docs/API_docs/methods/api_index.md
index 6741e43646..f5e6191ea3 100644
--- a/docs/API_docs/methods/api_index.md
+++ b/docs/API_docs/methods/api_index.md
@@ -591,6 +591,10 @@ $MadelineProto->[bots->answerWebhookJSONQuery](/API_docs/methods/bots.answerWebh
$MadelineProto->[bots->canSendMessage](/API_docs/methods/bots.canSendMessage.html)(\[bot: $[InputUser](/API_docs/types/InputUser.html), \]) === [$Bool](/API_docs/types/Bool.html)
+***
+
+$MadelineProto->[bots->checkDownloadFileParams](/API_docs/methods/bots.checkDownloadFileParams.html)(\[bot: $[InputUser](/API_docs/types/InputUser.html), file_name: $[string](/API_docs/types/string.html), url: $[string](/API_docs/types/string.html), \]) === [$Bool](/API_docs/types/Bool.html)
+
***
$MadelineProto->[bots->deletePreviewMedia](/API_docs/methods/bots.deletePreviewMedia.html)(\[bot: $[InputUser](/API_docs/types/InputUser.html), lang_code: $[string](/API_docs/types/string.html), media: \[$[InputMedia](/API_docs/types/InputMedia.html)\], \]) === [$Bool](/API_docs/types/Bool.html)
@@ -663,10 +667,18 @@ $MadelineProto->[bots->setBotInfo](/API_docs/methods/bots.setBotInfo.html)(\[bot
$MadelineProto->[bots->setBotMenuButton](/API_docs/methods/bots.setBotMenuButton.html)(\[user_id: $[InputUser](/API_docs/types/InputUser.html), button: $[BotMenuButton](/API_docs/types/BotMenuButton.html), \]) === [$Bool](/API_docs/types/Bool.html)
+***
+
+$MadelineProto->[bots->toggleUserEmojiStatusPermission](/API_docs/methods/bots.toggleUserEmojiStatusPermission.html)(\[bot: $[InputUser](/API_docs/types/InputUser.html), enabled: $[Bool](/API_docs/types/Bool.html), \]) === [$Bool](/API_docs/types/Bool.html)
+
***
$MadelineProto->[bots->toggleUsername](/API_docs/methods/bots.toggleUsername.html)(\[bot: $[InputUser](/API_docs/types/InputUser.html), username: $[string](/API_docs/types/string.html), active: $[Bool](/API_docs/types/Bool.html), \]) === [$Bool](/API_docs/types/Bool.html)
+***
+
+$MadelineProto->[bots->updateUserEmojiStatus](/API_docs/methods/bots.updateUserEmojiStatus.html)(\[user_id: $[InputUser](/API_docs/types/InputUser.html), emoji_status: $[EmojiStatus](/API_docs/types/EmojiStatus.html), \]) === [$Bool](/API_docs/types/Bool.html)
+
***
$MadelineProto->[channels->checkUsername](/API_docs/methods/channels.checkUsername.html)(\[channel: $[InputChannel](/API_docs/types/InputChannel.html), username: $[string](/API_docs/types/string.html), \]) === [$Bool](/API_docs/types/Bool.html)
@@ -1627,6 +1639,10 @@ $MadelineProto->[messages->getPollResults](/API_docs/methods/messages.getPollRes
$MadelineProto->[messages->getPollVotes](/API_docs/methods/messages.getPollVotes.html)(\[peer: $[InputPeer](/API_docs/types/InputPeer.html), id: $[int](/API_docs/types/int.html), option: $[bytes](/API_docs/types/bytes.html), offset: $[string](/API_docs/types/string.html), limit: $[int](/API_docs/types/int.html), \]) === [$messages.VotesList](/API_docs/types/messages.VotesList.html)
+***
+
+$MadelineProto->[messages->getPreparedInlineMessage](/API_docs/methods/messages.getPreparedInlineMessage.html)(\[bot: $[InputUser](/API_docs/types/InputUser.html), id: $[string](/API_docs/types/string.html), \]) === [$messages.PreparedInlineMessage](/API_docs/types/messages.PreparedInlineMessage.html)
+
***
$MadelineProto->[messages->getQuickReplies](/API_docs/methods/messages.getQuickReplies.html)(\[hash: $[long](/API_docs/types/long.html), \]) === [$messages.QuickReplies](/API_docs/types/messages.QuickReplies.html)
@@ -1841,7 +1857,7 @@ $MadelineProto->[messages->reportSponsoredMessage](/API_docs/methods/messages.re
***
-$MadelineProto->[messages->requestAppWebView](/API_docs/methods/messages.requestAppWebView.html)(\[write_allowed: $[Bool](/API_docs/types/Bool.html), compact: $[Bool](/API_docs/types/Bool.html), peer: $[InputPeer](/API_docs/types/InputPeer.html), app: $[InputBotApp](/API_docs/types/InputBotApp.html), start_param: $[string](/API_docs/types/string.html), theme_params: $[DataJSON](/API_docs/types/DataJSON.html), platform: $[string](/API_docs/types/string.html), \]) === [$WebViewResult](/API_docs/types/WebViewResult.html)
+$MadelineProto->[messages->requestAppWebView](/API_docs/methods/messages.requestAppWebView.html)(\[write_allowed: $[Bool](/API_docs/types/Bool.html), compact: $[Bool](/API_docs/types/Bool.html), fullscreen: $[Bool](/API_docs/types/Bool.html), peer: $[InputPeer](/API_docs/types/InputPeer.html), app: $[InputBotApp](/API_docs/types/InputBotApp.html), start_param: $[string](/API_docs/types/string.html), theme_params: $[DataJSON](/API_docs/types/DataJSON.html), platform: $[string](/API_docs/types/string.html), \]) === [$WebViewResult](/API_docs/types/WebViewResult.html)
***
@@ -1849,11 +1865,11 @@ $MadelineProto->[messages->requestEncryption](/API_docs/methods/messages.request
***
-$MadelineProto->[messages->requestMainWebView](/API_docs/methods/messages.requestMainWebView.html)(\[compact: $[Bool](/API_docs/types/Bool.html), peer: $[InputPeer](/API_docs/types/InputPeer.html), bot: $[InputUser](/API_docs/types/InputUser.html), start_param: $[string](/API_docs/types/string.html), theme_params: $[DataJSON](/API_docs/types/DataJSON.html), platform: $[string](/API_docs/types/string.html), \]) === [$WebViewResult](/API_docs/types/WebViewResult.html)
+$MadelineProto->[messages->requestMainWebView](/API_docs/methods/messages.requestMainWebView.html)(\[compact: $[Bool](/API_docs/types/Bool.html), fullscreen: $[Bool](/API_docs/types/Bool.html), peer: $[InputPeer](/API_docs/types/InputPeer.html), bot: $[InputUser](/API_docs/types/InputUser.html), start_param: $[string](/API_docs/types/string.html), theme_params: $[DataJSON](/API_docs/types/DataJSON.html), platform: $[string](/API_docs/types/string.html), \]) === [$WebViewResult](/API_docs/types/WebViewResult.html)
***
-$MadelineProto->[messages->requestSimpleWebView](/API_docs/methods/messages.requestSimpleWebView.html)(\[from_switch_webview: $[Bool](/API_docs/types/Bool.html), from_side_menu: $[Bool](/API_docs/types/Bool.html), compact: $[Bool](/API_docs/types/Bool.html), bot: $[InputUser](/API_docs/types/InputUser.html), url: $[string](/API_docs/types/string.html), start_param: $[string](/API_docs/types/string.html), theme_params: $[DataJSON](/API_docs/types/DataJSON.html), platform: $[string](/API_docs/types/string.html), \]) === [$WebViewResult](/API_docs/types/WebViewResult.html)
+$MadelineProto->[messages->requestSimpleWebView](/API_docs/methods/messages.requestSimpleWebView.html)(\[from_switch_webview: $[Bool](/API_docs/types/Bool.html), from_side_menu: $[Bool](/API_docs/types/Bool.html), compact: $[Bool](/API_docs/types/Bool.html), fullscreen: $[Bool](/API_docs/types/Bool.html), bot: $[InputUser](/API_docs/types/InputUser.html), url: $[string](/API_docs/types/string.html), start_param: $[string](/API_docs/types/string.html), theme_params: $[DataJSON](/API_docs/types/DataJSON.html), platform: $[string](/API_docs/types/string.html), \]) === [$WebViewResult](/API_docs/types/WebViewResult.html)
***
@@ -1861,7 +1877,7 @@ $MadelineProto->[messages->requestUrlAuth](/API_docs/methods/messages.requestUrl
***
-$MadelineProto->[messages->requestWebView](/API_docs/methods/messages.requestWebView.html)(\[from_bot_menu: $[Bool](/API_docs/types/Bool.html), silent: $[Bool](/API_docs/types/Bool.html), compact: $[Bool](/API_docs/types/Bool.html), peer: $[InputPeer](/API_docs/types/InputPeer.html), bot: $[InputUser](/API_docs/types/InputUser.html), url: $[string](/API_docs/types/string.html), start_param: $[string](/API_docs/types/string.html), theme_params: $[DataJSON](/API_docs/types/DataJSON.html), platform: $[string](/API_docs/types/string.html), reply_to: $[InputReplyTo](/API_docs/types/InputReplyTo.html), send_as: $[InputPeer](/API_docs/types/InputPeer.html), \]) === [$WebViewResult](/API_docs/types/WebViewResult.html)
+$MadelineProto->[messages->requestWebView](/API_docs/methods/messages.requestWebView.html)(\[from_bot_menu: $[Bool](/API_docs/types/Bool.html), silent: $[Bool](/API_docs/types/Bool.html), compact: $[Bool](/API_docs/types/Bool.html), fullscreen: $[Bool](/API_docs/types/Bool.html), peer: $[InputPeer](/API_docs/types/InputPeer.html), bot: $[InputUser](/API_docs/types/InputUser.html), url: $[string](/API_docs/types/string.html), start_param: $[string](/API_docs/types/string.html), theme_params: $[DataJSON](/API_docs/types/DataJSON.html), platform: $[string](/API_docs/types/string.html), reply_to: $[InputReplyTo](/API_docs/types/InputReplyTo.html), send_as: $[InputPeer](/API_docs/types/InputPeer.html), \]) === [$WebViewResult](/API_docs/types/WebViewResult.html)
***
@@ -1875,6 +1891,10 @@ $MadelineProto->[messages->saveDraft](/API_docs/methods/messages.saveDraft.html)
$MadelineProto->[messages->saveGif](/API_docs/methods/messages.saveGif.html)(\[id: $[InputDocument](/API_docs/types/InputDocument.html), unsave: $[Bool](/API_docs/types/Bool.html), \]) === [$Bool](/API_docs/types/Bool.html)
+***
+
+$MadelineProto->[messages->savePreparedInlineMessage](/API_docs/methods/messages.savePreparedInlineMessage.html)(\[result: $[InputBotInlineResult](/API_docs/types/InputBotInlineResult.html), user_id: $[InputUser](/API_docs/types/InputUser.html), peer_types: \[$[InlineQueryPeerType](/API_docs/types/InlineQueryPeerType.html)\], \]) === [$messages.BotPreparedInlineMessage](/API_docs/types/messages.BotPreparedInlineMessage.html)
+
***
$MadelineProto->[messages->saveRecentSticker](/API_docs/methods/messages.saveRecentSticker.html)(\[attached: $[Bool](/API_docs/types/Bool.html), id: $[InputDocument](/API_docs/types/InputDocument.html), unsave: $[Bool](/API_docs/types/Bool.html), \]) === [$Bool](/API_docs/types/Bool.html)
@@ -2123,6 +2143,10 @@ $MadelineProto->[payments->assignAppStoreTransaction](/API_docs/methods/payments
$MadelineProto->[payments->assignPlayMarketTransaction](/API_docs/methods/payments.assignPlayMarketTransaction.html)(\[receipt: $[DataJSON](/API_docs/types/DataJSON.html), purpose: $[InputStorePaymentPurpose](/API_docs/types/InputStorePaymentPurpose.html), \]) === [$Updates](/API_docs/types/Updates.html)
+***
+
+$MadelineProto->[payments->botCancelStarsSubscription](/API_docs/methods/payments.botCancelStarsSubscription.html)(\[restore: $[Bool](/API_docs/types/Bool.html), user_id: $[InputUser](/API_docs/types/InputUser.html), invoice_slug: $[string](/API_docs/types/string.html), charge_id: $[string](/API_docs/types/string.html), \]) === [$Bool](/API_docs/types/Bool.html)
+
***
$MadelineProto->[payments->canPurchasePremium](/API_docs/methods/payments.canPurchasePremium.html)(\[purpose: $[InputStorePaymentPurpose](/API_docs/types/InputStorePaymentPurpose.html), \]) === [$Bool](/API_docs/types/Bool.html)
diff --git a/docs/API_docs/methods/bots.checkDownloadFileParams.md b/docs/API_docs/methods/bots.checkDownloadFileParams.md
new file mode 100644
index 0000000000..7797b9bb4f
--- /dev/null
+++ b/docs/API_docs/methods/bots.checkDownloadFileParams.md
@@ -0,0 +1,42 @@
+---
+title: "bots.checkDownloadFileParams"
+description: "bots.checkDownloadFileParams parameters, return type and example"
+grand_parent: "Telegram RPC API"
+parent: "Methods"
+image: https://docs.madelineproto.xyz/favicons/android-chrome-256x256.png
+redirect_from: /API_docs/methods/bots_checkDownloadFileParams.html
+---
+# Method: bots.checkDownloadFileParams
+[Back to methods index](index.html)
+
+
+
+### Parameters:
+
+| Name | Type | Required |
+|----------|---------------|----------|
+|bot|[Username, chat ID, Update, Message or InputUser](/API_docs/types/InputUser.html) | Optional|
+|file\_name|[string](/API_docs/types/string.html) | Optional|
+|url|[string](/API_docs/types/string.html) | Optional|
+
+
+### Return type: [Bool](/API_docs/types/Bool.html)
+
+### Can bots use this method: **YES**
+
+
+### MadelineProto Example ([now async for huge speed and parallelism!](https://docs.madelineproto.xyz/docs/ASYNC.html)):
+
+
+```php
+if (!file_exists('madeline.php')) {
+ copy('https://phar.madelineproto.xyz/madeline.php', 'madeline.php');
+}
+include 'madeline.php';
+
+$MadelineProto = new \danog\MadelineProto\API('session.madeline');
+$MadelineProto->start();
+
+$Bool = $MadelineProto->bots->checkDownloadFileParams(bot: $InputUser, file_name: 'string', url: 'string', );
+```
+
diff --git a/docs/API_docs/methods/bots.toggleUserEmojiStatusPermission.md b/docs/API_docs/methods/bots.toggleUserEmojiStatusPermission.md
new file mode 100644
index 0000000000..41f005ae61
--- /dev/null
+++ b/docs/API_docs/methods/bots.toggleUserEmojiStatusPermission.md
@@ -0,0 +1,41 @@
+---
+title: "bots.toggleUserEmojiStatusPermission"
+description: "bots.toggleUserEmojiStatusPermission parameters, return type and example"
+grand_parent: "Telegram RPC API"
+parent: "Methods"
+image: https://docs.madelineproto.xyz/favicons/android-chrome-256x256.png
+redirect_from: /API_docs/methods/bots_toggleUserEmojiStatusPermission.html
+---
+# Method: bots.toggleUserEmojiStatusPermission
+[Back to methods index](index.html)
+
+
+
+### Parameters:
+
+| Name | Type | Required |
+|----------|---------------|----------|
+|bot|[Username, chat ID, Update, Message or InputUser](/API_docs/types/InputUser.html) | Optional|
+|enabled|[Bool](/API_docs/types/Bool.html) | Yes|
+
+
+### Return type: [Bool](/API_docs/types/Bool.html)
+
+### Can bots use this method: **YES**
+
+
+### MadelineProto Example ([now async for huge speed and parallelism!](https://docs.madelineproto.xyz/docs/ASYNC.html)):
+
+
+```php
+if (!file_exists('madeline.php')) {
+ copy('https://phar.madelineproto.xyz/madeline.php', 'madeline.php');
+}
+include 'madeline.php';
+
+$MadelineProto = new \danog\MadelineProto\API('session.madeline');
+$MadelineProto->start();
+
+$Bool = $MadelineProto->bots->toggleUserEmojiStatusPermission(bot: $InputUser, enabled: $Bool, );
+```
+
diff --git a/docs/API_docs/methods/bots.updateUserEmojiStatus.md b/docs/API_docs/methods/bots.updateUserEmojiStatus.md
new file mode 100644
index 0000000000..ee9a27be75
--- /dev/null
+++ b/docs/API_docs/methods/bots.updateUserEmojiStatus.md
@@ -0,0 +1,41 @@
+---
+title: "bots.updateUserEmojiStatus"
+description: "bots.updateUserEmojiStatus parameters, return type and example"
+grand_parent: "Telegram RPC API"
+parent: "Methods"
+image: https://docs.madelineproto.xyz/favicons/android-chrome-256x256.png
+redirect_from: /API_docs/methods/bots_updateUserEmojiStatus.html
+---
+# Method: bots.updateUserEmojiStatus
+[Back to methods index](index.html)
+
+
+
+### Parameters:
+
+| Name | Type | Required |
+|----------|---------------|----------|
+|user\_id|[Username, chat ID, Update, Message or InputUser](/API_docs/types/InputUser.html) | Optional|
+|emoji\_status|[EmojiStatus](/API_docs/types/EmojiStatus.html) | Optional|
+
+
+### Return type: [Bool](/API_docs/types/Bool.html)
+
+### Can bots use this method: **YES**
+
+
+### MadelineProto Example ([now async for huge speed and parallelism!](https://docs.madelineproto.xyz/docs/ASYNC.html)):
+
+
+```php
+if (!file_exists('madeline.php')) {
+ copy('https://phar.madelineproto.xyz/madeline.php', 'madeline.php');
+}
+include 'madeline.php';
+
+$MadelineProto = new \danog\MadelineProto\API('session.madeline');
+$MadelineProto->start();
+
+$Bool = $MadelineProto->bots->updateUserEmojiStatus(user_id: $InputUser, emoji_status: $EmojiStatus, );
+```
+
diff --git a/docs/API_docs/methods/index.md b/docs/API_docs/methods/index.md
index 39b78cded6..0da1ba686b 100644
--- a/docs/API_docs/methods/index.md
+++ b/docs/API_docs/methods/index.md
@@ -1618,6 +1618,8 @@ image: https://docs.madelineproto.xyz/favicons/android-chrome-256x256.png
* bots.addPreviewMedia
+* bots.checkDownloadFileParams
+
* bots.deletePreviewMedia
* bots.editPreviewMedia
@@ -1630,6 +1632,10 @@ image: https://docs.madelineproto.xyz/favicons/android-chrome-256x256.png
* bots.reorderPreviewMedias
+* bots.toggleUserEmojiStatusPermission
+
+* bots.updateUserEmojiStatus
+
* channels.restrictSponsoredMessages
* channels.searchPosts
@@ -1678,6 +1684,8 @@ image: https://docs.madelineproto.xyz/favicons/android-chrome-256x256.png
* messages.getPaidReactionPrivacy
+* messages.getPreparedInlineMessage
+
* messages.getQuickReplies
* messages.getQuickReplyMessages
@@ -1692,6 +1700,8 @@ image: https://docs.madelineproto.xyz/favicons/android-chrome-256x256.png
* messages.requestMainWebView
+* messages.savePreparedInlineMessage
+
* messages.sendPaidReaction
* messages.sendQuickReplyMessages
@@ -1708,6 +1718,8 @@ image: https://docs.madelineproto.xyz/favicons/android-chrome-256x256.png
* null-byte RLE encode: rleEncode
+* payments.botCancelStarsSubscription
+
* payments.changeStarsSubscription
* payments.convertStarGift
diff --git a/docs/API_docs/methods/messages.getPreparedInlineMessage.md b/docs/API_docs/methods/messages.getPreparedInlineMessage.md
new file mode 100644
index 0000000000..15631ca198
--- /dev/null
+++ b/docs/API_docs/methods/messages.getPreparedInlineMessage.md
@@ -0,0 +1,41 @@
+---
+title: "messages.getPreparedInlineMessage"
+description: "messages.getPreparedInlineMessage parameters, return type and example"
+grand_parent: "Telegram RPC API"
+parent: "Methods"
+image: https://docs.madelineproto.xyz/favicons/android-chrome-256x256.png
+redirect_from: /API_docs/methods/messages_getPreparedInlineMessage.html
+---
+# Method: messages.getPreparedInlineMessage
+[Back to methods index](index.html)
+
+
+
+### Parameters:
+
+| Name | Type | Required |
+|----------|---------------|----------|
+|bot|[Username, chat ID, Update, Message or InputUser](/API_docs/types/InputUser.html) | Optional|
+|id|[string](/API_docs/types/string.html) | Optional|
+
+
+### Return type: [messages.PreparedInlineMessage](/API_docs/types/messages.PreparedInlineMessage.html)
+
+### Can bots use this method: **YES**
+
+
+### MadelineProto Example ([now async for huge speed and parallelism!](https://docs.madelineproto.xyz/docs/ASYNC.html)):
+
+
+```php
+if (!file_exists('madeline.php')) {
+ copy('https://phar.madelineproto.xyz/madeline.php', 'madeline.php');
+}
+include 'madeline.php';
+
+$MadelineProto = new \danog\MadelineProto\API('session.madeline');
+$MadelineProto->start();
+
+$messages_PreparedInlineMessage = $MadelineProto->messages->getPreparedInlineMessage(bot: $InputUser, id: 'string', );
+```
+
diff --git a/docs/API_docs/methods/messages.requestAppWebView.md b/docs/API_docs/methods/messages.requestAppWebView.md
index e4c7045675..cf80020636 100644
--- a/docs/API_docs/methods/messages.requestAppWebView.md
+++ b/docs/API_docs/methods/messages.requestAppWebView.md
@@ -21,6 +21,7 @@ After calling this method, until the user closes the webview, [messages.prolongW
|----------|---------------|-------------|----------|
|write\_allowed|[Bool](/API_docs/types/Bool.html) | Set this flag if the bot is asking permission to send messages to the user as specified in the [direct Mini App deep link](https://core.telegram.org/api/links#direct-mini-app-links) docs, and the user agreed. | Optional|
|compact|[Bool](/API_docs/types/Bool.html) | | Optional|
+|fullscreen|[Bool](/API_docs/types/Bool.html) | | Optional|
|peer|[Username, chat ID, Update, Message or InputPeer](/API_docs/types/InputPeer.html) | If the client has clicked on the link in a Telegram chat, pass the chat's peer information; otherwise pass the bot's peer information, instead. | Optional|
|app|[InputBotApp](/API_docs/types/InputBotApp.html) | The app obtained by invoking [messages.getBotApp](../methods/messages.getBotApp.html) as specified in the [direct Mini App deep link](https://core.telegram.org/api/links#direct-mini-app-links) docs. | Yes|
|start\_param|[string](/API_docs/types/string.html) | If the `startapp` query string parameter is present in the [direct Mini App deep link](https://core.telegram.org/api/links#direct-mini-app-links), pass it to `start_param`. | Optional|
@@ -45,6 +46,6 @@ include 'madeline.php';
$MadelineProto = new \danog\MadelineProto\API('session.madeline');
$MadelineProto->start();
-$WebViewResult = $MadelineProto->messages->requestAppWebView(write_allowed: $Bool, compact: $Bool, peer: $InputPeer, app: $InputBotApp, start_param: 'string', theme_params: $DataJSON, platform: 'string', );
+$WebViewResult = $MadelineProto->messages->requestAppWebView(write_allowed: $Bool, compact: $Bool, fullscreen: $Bool, peer: $InputPeer, app: $InputBotApp, start_param: 'string', theme_params: $DataJSON, platform: 'string', );
```
diff --git a/docs/API_docs/methods/messages.requestMainWebView.md b/docs/API_docs/methods/messages.requestMainWebView.md
index 0caccd51df..a9c51f1bdf 100644
--- a/docs/API_docs/methods/messages.requestMainWebView.md
+++ b/docs/API_docs/methods/messages.requestMainWebView.md
@@ -16,6 +16,7 @@ redirect_from: /API_docs/methods/messages_requestMainWebView.html
| Name | Type | Required |
|----------|---------------|----------|
|compact|[Bool](/API_docs/types/Bool.html) | Optional|
+|fullscreen|[Bool](/API_docs/types/Bool.html) | Optional|
|peer|[Username, chat ID, Update, Message or InputPeer](/API_docs/types/InputPeer.html) | Optional|
|bot|[Username, chat ID, Update, Message or InputUser](/API_docs/types/InputUser.html) | Optional|
|start\_param|[string](/API_docs/types/string.html) | Optional|
@@ -40,6 +41,6 @@ include 'madeline.php';
$MadelineProto = new \danog\MadelineProto\API('session.madeline');
$MadelineProto->start();
-$WebViewResult = $MadelineProto->messages->requestMainWebView(compact: $Bool, peer: $InputPeer, bot: $InputUser, start_param: 'string', theme_params: $DataJSON, platform: 'string', );
+$WebViewResult = $MadelineProto->messages->requestMainWebView(compact: $Bool, fullscreen: $Bool, peer: $InputPeer, bot: $InputUser, start_param: 'string', theme_params: $DataJSON, platform: 'string', );
```
diff --git a/docs/API_docs/methods/messages.requestSimpleWebView.md b/docs/API_docs/methods/messages.requestSimpleWebView.md
index d3ed5cfbaf..4e302e56b2 100644
--- a/docs/API_docs/methods/messages.requestSimpleWebView.md
+++ b/docs/API_docs/methods/messages.requestSimpleWebView.md
@@ -20,6 +20,7 @@ Open a [bot mini app](https://core.telegram.org/api/bots/webapps).
|from\_switch\_webview|[Bool](/API_docs/types/Bool.html) | Whether the webapp was opened by clicking on the `switch_webview` button shown on top of the inline results list returned by [messages.getInlineBotResults](../methods/messages.getInlineBotResults.html). | Optional|
|from\_side\_menu|[Bool](/API_docs/types/Bool.html) | Set this flag if opening the Mini App from the installed [side menu entry »](https://core.telegram.org/api/bots/attach) or from a [Mini App link »](https://core.telegram.org/api/links#mini-app-links). | Optional|
|compact|[Bool](/API_docs/types/Bool.html) | | Optional|
+|fullscreen|[Bool](/API_docs/types/Bool.html) | | Optional|
|bot|[Username, chat ID, Update, Message or InputUser](/API_docs/types/InputUser.html) | Bot that owns the mini app | Optional|
|url|[string](/API_docs/types/string.html) | Web app URL, if opening from a keyboard button or inline result | Optional|
|start\_param|[string](/API_docs/types/string.html) | Start parameter, if opening from a [Mini App link »](https://core.telegram.org/api/links#mini-app-links). | Optional|
@@ -44,6 +45,6 @@ include 'madeline.php';
$MadelineProto = new \danog\MadelineProto\API('session.madeline');
$MadelineProto->start();
-$WebViewResult = $MadelineProto->messages->requestSimpleWebView(from_switch_webview: $Bool, from_side_menu: $Bool, compact: $Bool, bot: $InputUser, url: 'string', start_param: 'string', theme_params: $DataJSON, platform: 'string', );
+$WebViewResult = $MadelineProto->messages->requestSimpleWebView(from_switch_webview: $Bool, from_side_menu: $Bool, compact: $Bool, fullscreen: $Bool, bot: $InputUser, url: 'string', start_param: 'string', theme_params: $DataJSON, platform: 'string', );
```
diff --git a/docs/API_docs/methods/messages.requestWebView.md b/docs/API_docs/methods/messages.requestWebView.md
index ace31d87cf..4e0c1eb9ad 100644
--- a/docs/API_docs/methods/messages.requestWebView.md
+++ b/docs/API_docs/methods/messages.requestWebView.md
@@ -22,6 +22,7 @@ After calling this method, until the user closes the webview, [messages.prolongW
|from\_bot\_menu|[Bool](/API_docs/types/Bool.html) | Whether the webview was opened by clicking on the bot's [menu button »](https://core.telegram.org/api/bots/menu). | Optional|
|silent|[Bool](/API_docs/types/Bool.html) | Whether the inline message that will be sent by the bot on behalf of the user once the web app interaction is [terminated](../methods/messages.sendWebViewResultMessage.html) should be sent silently (no notifications for the receivers). | Optional|
|compact|[Bool](/API_docs/types/Bool.html) | | Optional|
+|fullscreen|[Bool](/API_docs/types/Bool.html) | | Optional|
|peer|[Username, chat ID, Update, Message or InputPeer](/API_docs/types/InputPeer.html) | Dialog where the web app is being opened, and where the resulting message will be sent (see the [docs for more info »](https://core.telegram.org/api/bots/webapps)). | Optional|
|bot|[Username, chat ID, Update, Message or InputUser](/API_docs/types/InputUser.html) | Bot that owns the [web app](https://core.telegram.org/api/bots/webapps) | Optional|
|url|[string](/API_docs/types/string.html) | [Web app URL](https://core.telegram.org/api/bots/webapps) | Optional|
@@ -49,6 +50,6 @@ include 'madeline.php';
$MadelineProto = new \danog\MadelineProto\API('session.madeline');
$MadelineProto->start();
-$WebViewResult = $MadelineProto->messages->requestWebView(from_bot_menu: $Bool, silent: $Bool, compact: $Bool, peer: $InputPeer, bot: $InputUser, url: 'string', start_param: 'string', theme_params: $DataJSON, platform: 'string', reply_to: $InputReplyTo, send_as: $InputPeer, );
+$WebViewResult = $MadelineProto->messages->requestWebView(from_bot_menu: $Bool, silent: $Bool, compact: $Bool, fullscreen: $Bool, peer: $InputPeer, bot: $InputUser, url: 'string', start_param: 'string', theme_params: $DataJSON, platform: 'string', reply_to: $InputReplyTo, send_as: $InputPeer, );
```
diff --git a/docs/API_docs/methods/messages.savePreparedInlineMessage.md b/docs/API_docs/methods/messages.savePreparedInlineMessage.md
new file mode 100644
index 0000000000..da0a96bc6a
--- /dev/null
+++ b/docs/API_docs/methods/messages.savePreparedInlineMessage.md
@@ -0,0 +1,42 @@
+---
+title: "messages.savePreparedInlineMessage"
+description: "messages.savePreparedInlineMessage parameters, return type and example"
+grand_parent: "Telegram RPC API"
+parent: "Methods"
+image: https://docs.madelineproto.xyz/favicons/android-chrome-256x256.png
+redirect_from: /API_docs/methods/messages_savePreparedInlineMessage.html
+---
+# Method: messages.savePreparedInlineMessage
+[Back to methods index](index.html)
+
+
+
+### Parameters:
+
+| Name | Type | Required |
+|----------|---------------|----------|
+|result|[InputBotInlineResult](/API_docs/types/InputBotInlineResult.html) | Yes|
+|user\_id|[Username, chat ID, Update, Message or InputUser](/API_docs/types/InputUser.html) | Optional|
+|peer\_types|Array of [InlineQueryPeerType](/API_docs/types/InlineQueryPeerType.html) | Optional|
+
+
+### Return type: [messages.BotPreparedInlineMessage](/API_docs/types/messages.BotPreparedInlineMessage.html)
+
+### Can bots use this method: **YES**
+
+
+### MadelineProto Example ([now async for huge speed and parallelism!](https://docs.madelineproto.xyz/docs/ASYNC.html)):
+
+
+```php
+if (!file_exists('madeline.php')) {
+ copy('https://phar.madelineproto.xyz/madeline.php', 'madeline.php');
+}
+include 'madeline.php';
+
+$MadelineProto = new \danog\MadelineProto\API('session.madeline');
+$MadelineProto->start();
+
+$messages_BotPreparedInlineMessage = $MadelineProto->messages->savePreparedInlineMessage(result: $InputBotInlineResult, user_id: $InputUser, peer_types: [$InlineQueryPeerType, $InlineQueryPeerType], );
+```
+
diff --git a/docs/API_docs/methods/payments.botCancelStarsSubscription.md b/docs/API_docs/methods/payments.botCancelStarsSubscription.md
new file mode 100644
index 0000000000..2d7c925f90
--- /dev/null
+++ b/docs/API_docs/methods/payments.botCancelStarsSubscription.md
@@ -0,0 +1,43 @@
+---
+title: "payments.botCancelStarsSubscription"
+description: "payments.botCancelStarsSubscription parameters, return type and example"
+grand_parent: "Telegram RPC API"
+parent: "Methods"
+image: https://docs.madelineproto.xyz/favicons/android-chrome-256x256.png
+redirect_from: /API_docs/methods/payments_botCancelStarsSubscription.html
+---
+# Method: payments.botCancelStarsSubscription
+[Back to methods index](index.html)
+
+
+
+### Parameters:
+
+| Name | Type | Required |
+|----------|---------------|----------|
+|restore|[Bool](/API_docs/types/Bool.html) | Optional|
+|user\_id|[Username, chat ID, Update, Message or InputUser](/API_docs/types/InputUser.html) | Optional|
+|invoice\_slug|[string](/API_docs/types/string.html) | Optional|
+|charge\_id|[string](/API_docs/types/string.html) | Optional|
+
+
+### Return type: [Bool](/API_docs/types/Bool.html)
+
+### Can bots use this method: **YES**
+
+
+### MadelineProto Example ([now async for huge speed and parallelism!](https://docs.madelineproto.xyz/docs/ASYNC.html)):
+
+
+```php
+if (!file_exists('madeline.php')) {
+ copy('https://phar.madelineproto.xyz/madeline.php', 'madeline.php');
+}
+include 'madeline.php';
+
+$MadelineProto = new \danog\MadelineProto\API('session.madeline');
+$MadelineProto->start();
+
+$Bool = $MadelineProto->payments->botCancelStarsSubscription(restore: $Bool, user_id: $InputUser, invoice_slug: 'string', charge_id: 'string', );
+```
+
diff --git a/docs/API_docs/types/BotAppSettings.md b/docs/API_docs/types/BotAppSettings.md
new file mode 100644
index 0000000000..c7828edb9f
--- /dev/null
+++ b/docs/API_docs/types/BotAppSettings.md
@@ -0,0 +1,21 @@
+---
+title: BotAppSettings
+description: constructors and methods of type BotAppSettings
+nav_exclude: true
+image: https://docs.madelineproto.xyz/favicons/android-chrome-256x256.png
+---
+# Type: BotAppSettings
+[Back to types index](index.html)
+
+
+
+### Possible values (constructors):
+
+[botAppSettings](/API_docs/constructors/botAppSettings.html)
+
+
+
+### Methods that return an object of this type (methods):
+
+
+
diff --git a/docs/API_docs/types/InputPrivacyKey.md b/docs/API_docs/types/InputPrivacyKey.md
index f9b5906673..85bf83d7ee 100644
--- a/docs/API_docs/types/InputPrivacyKey.md
+++ b/docs/API_docs/types/InputPrivacyKey.md
@@ -33,6 +33,8 @@ image: https://docs.madelineproto.xyz/favicons/android-chrome-256x256.png
[inputPrivacyKeyBirthday](/API_docs/constructors/inputPrivacyKeyBirthday.html)
+[inputPrivacyKeyStarGiftsAutoSave](/API_docs/constructors/inputPrivacyKeyStarGiftsAutoSave.html)
+
### Methods that return an object of this type (methods):
diff --git a/docs/API_docs/types/InputPrivacyRule.md b/docs/API_docs/types/InputPrivacyRule.md
index 11fd86da2a..3f78d00b09 100644
--- a/docs/API_docs/types/InputPrivacyRule.md
+++ b/docs/API_docs/types/InputPrivacyRule.md
@@ -31,6 +31,10 @@ image: https://docs.madelineproto.xyz/favicons/android-chrome-256x256.png
[inputPrivacyValueAllowPremium](/API_docs/constructors/inputPrivacyValueAllowPremium.html)
+[inputPrivacyValueAllowBots](/API_docs/constructors/inputPrivacyValueAllowBots.html)
+
+[inputPrivacyValueDisallowBots](/API_docs/constructors/inputPrivacyValueDisallowBots.html)
+
### Methods that return an object of this type (methods):
diff --git a/docs/API_docs/types/PrivacyKey.md b/docs/API_docs/types/PrivacyKey.md
index 9f0a2167be..c93bcd72f1 100644
--- a/docs/API_docs/types/PrivacyKey.md
+++ b/docs/API_docs/types/PrivacyKey.md
@@ -33,6 +33,8 @@ image: https://docs.madelineproto.xyz/favicons/android-chrome-256x256.png
[privacyKeyBirthday](/API_docs/constructors/privacyKeyBirthday.html)
+[privacyKeyStarGiftsAutoSave](/API_docs/constructors/privacyKeyStarGiftsAutoSave.html)
+
### Methods that return an object of this type (methods):
diff --git a/docs/API_docs/types/PrivacyRule.md b/docs/API_docs/types/PrivacyRule.md
index 968e66a551..47d7d4b4fa 100644
--- a/docs/API_docs/types/PrivacyRule.md
+++ b/docs/API_docs/types/PrivacyRule.md
@@ -31,6 +31,10 @@ image: https://docs.madelineproto.xyz/favicons/android-chrome-256x256.png
[privacyValueAllowPremium](/API_docs/constructors/privacyValueAllowPremium.html)
+[privacyValueAllowBots](/API_docs/constructors/privacyValueAllowBots.html)
+
+[privacyValueDisallowBots](/API_docs/constructors/privacyValueDisallowBots.html)
+
### Methods that return an object of this type (methods):
diff --git a/docs/API_docs/types/Update.md b/docs/API_docs/types/Update.md
index 7516962518..1b629b94af 100644
--- a/docs/API_docs/types/Update.md
+++ b/docs/API_docs/types/Update.md
@@ -293,6 +293,8 @@ image: https://docs.madelineproto.xyz/favicons/android-chrome-256x256.png
[updatePaidReactionPrivacy](/API_docs/constructors/updatePaidReactionPrivacy.html)
+[updateBotSubscriptionExpire](/API_docs/constructors/updateBotSubscriptionExpire.html)
+
### Methods that return an object of this type (methods):
diff --git a/docs/API_docs/types/index.md b/docs/API_docs/types/index.md
index a1d252e0d2..66002483cd 100644
--- a/docs/API_docs/types/index.md
+++ b/docs/API_docs/types/index.md
@@ -45,6 +45,8 @@ image: https://docs.madelineproto.xyz/favicons/android-chrome-256x256.png
[BotApp](/API_docs/types/BotApp.html)
+[BotAppSettings](/API_docs/types/BotAppSettings.html)
+
[BotBusinessConnection](/API_docs/types/BotBusinessConnection.html)
[BotCommand](/API_docs/types/BotCommand.html)
@@ -853,6 +855,8 @@ image: https://docs.madelineproto.xyz/favicons/android-chrome-256x256.png
[messages.BotCallbackAnswer](/API_docs/types/messages.BotCallbackAnswer.html)
+[messages.BotPreparedInlineMessage](/API_docs/types/messages.BotPreparedInlineMessage.html)
+
[messages.BotResults](/API_docs/types/messages.BotResults.html)
[messages.ChatAdminsWithInvites](/API_docs/types/messages.ChatAdminsWithInvites.html)
@@ -911,6 +915,8 @@ image: https://docs.madelineproto.xyz/favicons/android-chrome-256x256.png
[messages.PeerSettings](/API_docs/types/messages.PeerSettings.html)
+[messages.PreparedInlineMessage](/API_docs/types/messages.PreparedInlineMessage.html)
+
[messages.QuickReplies](/API_docs/types/messages.QuickReplies.html)
[messages.Reactions](/API_docs/types/messages.Reactions.html)
diff --git a/docs/API_docs/types/messages.BotPreparedInlineMessage.md b/docs/API_docs/types/messages.BotPreparedInlineMessage.md
new file mode 100644
index 0000000000..9061f1cd22
--- /dev/null
+++ b/docs/API_docs/types/messages.BotPreparedInlineMessage.md
@@ -0,0 +1,24 @@
+---
+title: messages.BotPreparedInlineMessage
+description: constructors and methods of type messages.BotPreparedInlineMessage
+nav_exclude: true
+image: https://docs.madelineproto.xyz/favicons/android-chrome-256x256.png
+redirect_from: /API_docs/types/messages_BotPreparedInlineMessage.html
+---
+# Type: messages.BotPreparedInlineMessage
+[Back to types index](index.html)
+
+
+
+### Possible values (constructors):
+
+[messages.botPreparedInlineMessage](/API_docs/constructors/messages.botPreparedInlineMessage.html)
+
+
+
+### Methods that return an object of this type (methods):
+
+[$MadelineProto->messages->savePreparedInlineMessage](/API_docs/methods/messages.savePreparedInlineMessage.html)
+
+
+
diff --git a/docs/API_docs/types/messages.PreparedInlineMessage.md b/docs/API_docs/types/messages.PreparedInlineMessage.md
new file mode 100644
index 0000000000..ede7481c0a
--- /dev/null
+++ b/docs/API_docs/types/messages.PreparedInlineMessage.md
@@ -0,0 +1,24 @@
+---
+title: messages.PreparedInlineMessage
+description: constructors and methods of type messages.PreparedInlineMessage
+nav_exclude: true
+image: https://docs.madelineproto.xyz/favicons/android-chrome-256x256.png
+redirect_from: /API_docs/types/messages_PreparedInlineMessage.html
+---
+# Type: messages.PreparedInlineMessage
+[Back to types index](index.html)
+
+
+
+### Possible values (constructors):
+
+[messages.preparedInlineMessage](/API_docs/constructors/messages.preparedInlineMessage.html)
+
+
+
+### Methods that return an object of this type (methods):
+
+[$MadelineProto->messages->getPreparedInlineMessage](/API_docs/methods/messages.getPreparedInlineMessage.html)
+
+
+
diff --git a/docs/PHP/danog/MadelineProto/EventHandler/CallbackQuery.md b/docs/PHP/danog/MadelineProto/EventHandler/CallbackQuery.md
index f36cfe0905..355350b46e 100644
--- a/docs/PHP/danog/MadelineProto/EventHandler/CallbackQuery.md
+++ b/docs/PHP/danog/MadelineProto/EventHandler/CallbackQuery.md
@@ -21,17 +21,17 @@ Represents a query sent by the user by clicking on a button.
* `$chatInstance`: `int` Global identifier, uniquely corresponding to the chat to which the message with the callback button was sent. Useful for high scores in games.
## Method list:
-* [`answer(string $message, bool $alert = false, (string|null) $url = NULL, int $cacheTime = 300): bool`](#answer)
+* [`answer(?string $message = NULL, bool $alert = false, (string|null) $url = NULL, int $cacheTime = 300): bool`](#answer)
## Methods:
-### `answer(string $message, bool $alert = false, (string|null) $url = NULL, int $cacheTime = 300): bool`
+### `answer(?string $message = NULL, bool $alert = false, (string|null) $url = NULL, int $cacheTime = 300): bool`
Parameters:
-* `$message`: `string` Popup to show
+* `$message`: `?string` Popup to show
* `$alert`: `bool` Whether to show the message as a popup instead of a toast notification
* `$url`: `(string|null)` URL to open
* `$cacheTime`: `int` Cache validity (default set to 5 min based on telegram official docs ...)
diff --git a/docs/PHP/danog/MadelineProto/EventHandler/Query/ButtonQuery.md b/docs/PHP/danog/MadelineProto/EventHandler/Query/ButtonQuery.md
index cc2ae38af2..efe8440547 100644
--- a/docs/PHP/danog/MadelineProto/EventHandler/Query/ButtonQuery.md
+++ b/docs/PHP/danog/MadelineProto/EventHandler/Query/ButtonQuery.md
@@ -25,17 +25,17 @@ Regex matches, if a filter multiple match regex is present
* `$chatInstance`: `int` Global identifier, uniquely corresponding to the chat to which the message with the callback button was sent. Useful for high scores in games.
## Method list:
-* [`answer(string $message, bool $alert = false, (string|null) $url = NULL, int $cacheTime = 300): bool`](#answer)
+* [`answer(?string $message = NULL, bool $alert = false, (string|null) $url = NULL, int $cacheTime = 300): bool`](#answer)
## Methods:
-### `answer(string $message, bool $alert = false, (string|null) $url = NULL, int $cacheTime = 300): bool`
+### `answer(?string $message = NULL, bool $alert = false, (string|null) $url = NULL, int $cacheTime = 300): bool`
Parameters:
-* `$message`: `string` Popup to show
+* `$message`: `?string` Popup to show
* `$alert`: `bool` Whether to show the message as a popup instead of a toast notification
* `$url`: `(string|null)` URL to open
* `$cacheTime`: `int` Cache validity (default set to 5 min based on telegram official docs ...)
diff --git a/docs/PHP/danog/MadelineProto/EventHandler/Query/ChatButtonQuery.md b/docs/PHP/danog/MadelineProto/EventHandler/Query/ChatButtonQuery.md
index 231d6dbb42..1a6020804d 100644
--- a/docs/PHP/danog/MadelineProto/EventHandler/Query/ChatButtonQuery.md
+++ b/docs/PHP/danog/MadelineProto/EventHandler/Query/ChatButtonQuery.md
@@ -27,7 +27,7 @@ Regex matches, if a filter multiple match regex is present
* `$messageId`: `int` Message ID
## Method list:
-* [`answer(string $message, bool $alert = false, (string|null) $url = NULL, int $cacheTime = 300): bool`](#answer)
+* [`answer(?string $message = NULL, bool $alert = false, (string|null) $url = NULL, int $cacheTime = 300): bool`](#answer)
* [`editText(string $message, (array|null) $replyMarkup = NULL, ParseMode $parseMode = \danog\MadelineProto\ParseMode::TEXT, bool $noWebpage = false, (int|null) $scheduleDate = NULL): \danog\MadelineProto\EventHandler\Message`](#editText)
* [`editReplyMarkup(array $replyMarkup): \danog\MadelineProto\EventHandler\Message`](#editReplyMarkup)
* [`delete(boolean $revoke = true): void`](#delete)
@@ -36,14 +36,14 @@ Regex matches, if a filter multiple match regex is present
* [`report(ReportReason $reason, string $message): bool`](#report)
## Methods:
-### `answer(string $message, bool $alert = false, (string|null) $url = NULL, int $cacheTime = 300): bool`
+### `answer(?string $message = NULL, bool $alert = false, (string|null) $url = NULL, int $cacheTime = 300): bool`
Parameters:
-* `$message`: `string` Popup to show
+* `$message`: `?string` Popup to show
* `$alert`: `bool` Whether to show the message as a popup instead of a toast notification
* `$url`: `(string|null)` URL to open
* `$cacheTime`: `int` Cache validity (default set to 5 min based on telegram official docs ...)
diff --git a/docs/PHP/danog/MadelineProto/EventHandler/Query/ChatGameQuery.md b/docs/PHP/danog/MadelineProto/EventHandler/Query/ChatGameQuery.md
index e764073151..025a3bec82 100644
--- a/docs/PHP/danog/MadelineProto/EventHandler/Query/ChatGameQuery.md
+++ b/docs/PHP/danog/MadelineProto/EventHandler/Query/ChatGameQuery.md
@@ -24,7 +24,7 @@ Represents a query sent by the user by clicking on a "Play game" button in a cha
* `$messageId`: `int` Message ID
## Method list:
-* [`answer(string $message, bool $alert = false, (string|null) $url = NULL, int $cacheTime = 300): bool`](#answer)
+* [`answer(?string $message = NULL, bool $alert = false, (string|null) $url = NULL, int $cacheTime = 300): bool`](#answer)
* [`editText(string $message, (array|null) $replyMarkup = NULL, ParseMode $parseMode = \danog\MadelineProto\ParseMode::TEXT, bool $noWebpage = false, (int|null) $scheduleDate = NULL): \danog\MadelineProto\EventHandler\Message`](#editText)
* [`editReplyMarkup(array $replyMarkup): \danog\MadelineProto\EventHandler\Message`](#editReplyMarkup)
* [`delete(boolean $revoke = true): void`](#delete)
@@ -33,14 +33,14 @@ Represents a query sent by the user by clicking on a "Play game" button in a cha
* [`report(ReportReason $reason, string $message): bool`](#report)
## Methods:
-### `answer(string $message, bool $alert = false, (string|null) $url = NULL, int $cacheTime = 300): bool`
+### `answer(?string $message = NULL, bool $alert = false, (string|null) $url = NULL, int $cacheTime = 300): bool`
Parameters:
-* `$message`: `string` Popup to show
+* `$message`: `?string` Popup to show
* `$alert`: `bool` Whether to show the message as a popup instead of a toast notification
* `$url`: `(string|null)` URL to open
* `$cacheTime`: `int` Cache validity (default set to 5 min based on telegram official docs ...)
diff --git a/docs/PHP/danog/MadelineProto/EventHandler/Query/GameQuery.md b/docs/PHP/danog/MadelineProto/EventHandler/Query/GameQuery.md
index 4cdd5c467d..ce8cef7b09 100644
--- a/docs/PHP/danog/MadelineProto/EventHandler/Query/GameQuery.md
+++ b/docs/PHP/danog/MadelineProto/EventHandler/Query/GameQuery.md
@@ -22,17 +22,17 @@ Represents a query sent by the user by clicking on a "Play game" button.
* `$chatInstance`: `int` Global identifier, uniquely corresponding to the chat to which the message with the callback button was sent. Useful for high scores in games.
## Method list:
-* [`answer(string $message, bool $alert = false, (string|null) $url = NULL, int $cacheTime = 300): bool`](#answer)
+* [`answer(?string $message = NULL, bool $alert = false, (string|null) $url = NULL, int $cacheTime = 300): bool`](#answer)
## Methods:
-### `answer(string $message, bool $alert = false, (string|null) $url = NULL, int $cacheTime = 300): bool`
+### `answer(?string $message = NULL, bool $alert = false, (string|null) $url = NULL, int $cacheTime = 300): bool`
Parameters:
-* `$message`: `string` Popup to show
+* `$message`: `?string` Popup to show
* `$alert`: `bool` Whether to show the message as a popup instead of a toast notification
* `$url`: `(string|null)` URL to open
* `$cacheTime`: `int` Cache validity (default set to 5 min based on telegram official docs ...)
diff --git a/docs/PHP/danog/MadelineProto/EventHandler/Query/InlineButtonQuery.md b/docs/PHP/danog/MadelineProto/EventHandler/Query/InlineButtonQuery.md
index 2690b05e10..ae099cc87c 100644
--- a/docs/PHP/danog/MadelineProto/EventHandler/Query/InlineButtonQuery.md
+++ b/docs/PHP/danog/MadelineProto/EventHandler/Query/InlineButtonQuery.md
@@ -26,19 +26,19 @@ Regex matches, if a filter multiple match regex is present
* `$inlineMessageId`: `string` Inline message ID
## Method list:
-* [`answer(string $message, bool $alert = false, (string|null) $url = NULL, int $cacheTime = 300): bool`](#answer)
+* [`answer(?string $message = NULL, bool $alert = false, (string|null) $url = NULL, int $cacheTime = 300): bool`](#answer)
* [`editText(string $message, (array|null) $replyMarkup = NULL, ParseMode $parseMode = \danog\MadelineProto\ParseMode::TEXT, bool $noWebpage = false): void`](#editText)
* [`editReplyMarkup(array $replyMarkup): void`](#editReplyMarkup)
## Methods:
-### `answer(string $message, bool $alert = false, (string|null) $url = NULL, int $cacheTime = 300): bool`
+### `answer(?string $message = NULL, bool $alert = false, (string|null) $url = NULL, int $cacheTime = 300): bool`
Parameters:
-* `$message`: `string` Popup to show
+* `$message`: `?string` Popup to show
* `$alert`: `bool` Whether to show the message as a popup instead of a toast notification
* `$url`: `(string|null)` URL to open
* `$cacheTime`: `int` Cache validity (default set to 5 min based on telegram official docs ...)
diff --git a/docs/PHP/danog/MadelineProto/EventHandler/Query/InlineGameQuery.md b/docs/PHP/danog/MadelineProto/EventHandler/Query/InlineGameQuery.md
index 92fabec243..f7554786e6 100644
--- a/docs/PHP/danog/MadelineProto/EventHandler/Query/InlineGameQuery.md
+++ b/docs/PHP/danog/MadelineProto/EventHandler/Query/InlineGameQuery.md
@@ -23,19 +23,19 @@ Represents a query sent by the user by clicking on a "Play game" button in an in
* `$inlineMessageId`: `string` Inline message ID
## Method list:
-* [`answer(string $message, bool $alert = false, (string|null) $url = NULL, int $cacheTime = 300): bool`](#answer)
+* [`answer(?string $message = NULL, bool $alert = false, (string|null) $url = NULL, int $cacheTime = 300): bool`](#answer)
* [`editText(string $message, (array|null) $replyMarkup = NULL, ParseMode $parseMode = \danog\MadelineProto\ParseMode::TEXT, bool $noWebpage = false): void`](#editText)
* [`editReplyMarkup(array $replyMarkup): void`](#editReplyMarkup)
## Methods:
-### `answer(string $message, bool $alert = false, (string|null) $url = NULL, int $cacheTime = 300): bool`
+### `answer(?string $message = NULL, bool $alert = false, (string|null) $url = NULL, int $cacheTime = 300): bool`
Parameters:
-* `$message`: `string` Popup to show
+* `$message`: `?string` Popup to show
* `$alert`: `bool` Whether to show the message as a popup instead of a toast notification
* `$url`: `(string|null)` URL to open
* `$cacheTime`: `int` Cache validity (default set to 5 min based on telegram official docs ...)
diff --git a/docs/docs/FILTERS.md b/docs/docs/FILTERS.md
index 0afbcb68de..442168dce6 100644
--- a/docs/docs/FILTERS.md
+++ b/docs/docs/FILTERS.md
@@ -945,6 +945,7 @@ Here's a full list of all MTProto filters (click on each filter name to view the
* [onUpdateStarsRevenueStatus »](https://docs.madelineproto.xyz/API_docs/constructors/updateStarsRevenueStatus.html) -
* [onUpdateBotPurchasedPaidMedia »](https://docs.madelineproto.xyz/API_docs/constructors/updateBotPurchasedPaidMedia.html) -
* [onUpdatePaidReactionPrivacy »](https://docs.madelineproto.xyz/API_docs/constructors/updatePaidReactionPrivacy.html) -
+* [onUpdateBotSubscriptionExpire »](https://docs.madelineproto.xyz/API_docs/constructors/updateBotSubscriptionExpire.html) -
diff --git a/docs/docs/USING_METHODS.md b/docs/docs/USING_METHODS.md
index 3e4c1d6ff7..1f168f777a 100644
--- a/docs/docs/USING_METHODS.md
+++ b/docs/docs/USING_METHODS.md
@@ -8,7 +8,7 @@ image: https://docs.madelineproto.xyz/favicons/android-chrome-256x256.png
There are simplifications for many, if not all of, these methods.
-A list of all of the methods that can be called with MadelineProto can be found here: [here (layer 192)](https://docs.madelineproto.xyz/API_docs/).
+A list of all of the methods that can be called with MadelineProto can be found here: [here (layer 193)](https://docs.madelineproto.xyz/API_docs/).
[Now fully async!](https://docs.madelineproto.xyz/docs/ASYNC.html)
diff --git a/docs/index.md b/docs/index.md
index 4220f78851..e1bd297937 100644
--- a/docs/index.md
+++ b/docs/index.md
@@ -1119,12 +1119,15 @@ Some of MadelineProto's core components are also available as separate, standalo
* auth.reportMissingCode
* base64URL decode: base64urlDecode
* bots.addPreviewMedia
+ * bots.checkDownloadFileParams
* bots.deletePreviewMedia
* bots.editPreviewMedia
* bots.getPopularAppBots
* bots.getPreviewInfo
* bots.getPreviewMedias
* bots.reorderPreviewMedias
+ * bots.toggleUserEmojiStatusPermission
+ * bots.updateUserEmojiStatus
* channels.restrictSponsoredMessages
* channels.searchPosts
* channels.setBoostsToUnblockRestrictions
@@ -1149,6 +1152,7 @@ Some of MadelineProto's core components are also available as separate, standalo
* messages.getMyStickers
* messages.getOutboxReadDate
* messages.getPaidReactionPrivacy
+ * messages.getPreparedInlineMessage
* messages.getQuickReplies
* messages.getQuickReplyMessages
* messages.getSavedReactionTags
@@ -1156,6 +1160,7 @@ Some of MadelineProto's core components are also available as separate, standalo
* messages.reorderQuickReplies
* messages.reportSponsoredMessage
* messages.requestMainWebView
+ * messages.savePreparedInlineMessage
* messages.sendPaidReaction
* messages.sendQuickReplyMessages
* messages.toggleDialogFilterTags
@@ -1164,6 +1169,7 @@ Some of MadelineProto's core components are also available as separate, standalo
* messages.viewSponsoredMessage
* null-byte RLE decode: rleDecode
* null-byte RLE encode: rleEncode
+ * payments.botCancelStarsSubscription
* payments.changeStarsSubscription
* payments.convertStarGift
* payments.fulfillStarsSubscription