diff --git a/README.md b/README.md
index 49e8cbe3a..7ac5466c7 100644
--- a/README.md
+++ b/README.md
@@ -59,13 +59,13 @@ Tip: if you receive an error (or nothing), [send us](https://t.me/pwrtelegramgro
The following open source projects were created using MadelineProto: you can directly install them, or explore the source code as direct examples on how to use MadelineProto's many features!
* [magnaluna webradio](https://magna.madelineproto.xyz) - Multifeatured Telegram VoIP webradio
-* [TelegramApiServer](https://github.com/xtrime-ru/TelegramApiServer) - Fast, simple, async php telegram api server: an HTTP JSON API for MadelineProto!
* [`simpleBot.php`](https://github.com/danog/MadelineProto/blob/v8/examples/simpleBot.php) - Extremely basic example
* [`tgstories_dl_bot.php`](https://github.com/danog/MadelineProto/blob/v8/examples/tgstories_dl_bot.php) - Source code of [@tgstories_dl_bot](https://t.me/tgstories_dl_bot) - Bot to download any Telegram Story!
* [`downloadRenameBot.php`](https://github.com/danog/downloadRenameBot/blob/main/bot.php) - Download files by URL and rename Telegram files using this async parallelized bot!
* [`secret_bot.php`](https://github.com/danog/MadelineProto/blob/v8/examples/secret_bot.php) - Secret chat bot!
* [`pipesbot.php`](https://github.com/danog/pipesbot) - Creating inline bots and using other inline bots via a userbot!
* [`bot.php`](https://github.com/danog/MadelineProto/blob/v8/examples/bot.php) - Examples for how to use filters, updates, get download links for any file, Telegram Stories and much more!
+* [TelegramApiServer](https://github.com/xtrime-ru/TelegramApiServer) - Fast, simple, async php telegram api server: an HTTP JSON API for MadelineProto (for use in languages other than PHP, if using PHP use directly MadelineProto)
Want to add your own open-source project to this list? [Click here!](https://docs.madelineproto.xyz/FOSS.html)
@@ -1145,6 +1145,7 @@ Some of MadelineProto's core components are also available as separate, standalo
* messages.getFactCheck
* messages.getMyStickers
* messages.getOutboxReadDate
+ * messages.getPaidReactionPrivacy
* messages.getQuickReplies
* messages.getQuickReplyMessages
* messages.getSavedReactionTags
@@ -1160,6 +1161,7 @@ Some of MadelineProto's core components are also available as separate, standalo
* payments.changeStarsSubscription
* payments.fulfillStarsSubscription
* payments.getStarsGiftOptions
+ * payments.getStarsGiveawayOptions
* payments.getStarsRevenueAdsAccountUrl
* payments.getStarsRevenueStats
* payments.getStarsRevenueWithdrawalUrl
diff --git a/docs b/docs
index ebe6a3f62..fde9838eb 160000
--- a/docs
+++ b/docs
@@ -1 +1 @@
-Subproject commit ebe6a3f62fb93a903c7b203d0ab51cd09380bdb9
+Subproject commit fde9838eb2e7cdd541f522410f61cac19a0c09d0
diff --git a/src/Lang.php b/src/Lang.php
index 7a5a4e003..c2336e884 100644
--- a/src/Lang.php
+++ b/src/Lang.php
@@ -29,6 +29,7 @@ final class Lang
'it' => 100,
'ckb' => 74,
'fa' => 100,
+ 'pt' => 0,
'ru' => 58,
'uz' => 75,
];
@@ -1212,6 +1213,174 @@ Ignorare questo messaggio se la sessione è stata resettata intenzionalmente.',
'waveform_value' => 'Un singolo valore di una forma d\'onda deve essere compreso tra 0 e 31!',
'windows_warning' => 'Per utenti Windows: per favore passate a Linux se questo passaggio fallisce. Per continuare ad usare Windows, potrebbe essere necessario modificare le impostazioni del firewall per permettere a tutti i processi PHP di creare socket (100% è più facile passare a Linux, su Linux MadelineProto funziona direttamente senza alcuna modifica richiesta)',
],
+ 'pt' =>
+ [
+ '2fa_uncalled' => 'I\'m not waiting for the password! Please call the phoneLogin and the completePhoneLogin methods first!',
+ 'accepting_call' => 'Accepting call from %s...',
+ 'account_banned' => '!!!!!!! WARNING !!!!!!!
+Telegram\'s flood prevention system suspended this account.
+To continue, manual verification is required.
+Send an email to recover@telegram.org, asking to unban the phone number %s, and shortly describe what will you do with this phone number.
+Then login again.
+If you intentionally deleted this account, ignore this message.',
+ 'already_loggedIn' => 'This instance of MadelineProto is already logged in!',
+ 'apiAppInstructionsAuto0' => 'Enter the app\'s name, can be anything: ',
+ 'apiAppInstructionsAuto1' => 'Enter the app\'s short name, alphanumeric, 5-32 characters: ',
+ 'apiAppInstructionsAuto2' => 'Enter the app/website\'s URL, or t.me/yourusername: ',
+ 'apiAppInstructionsAuto3' => 'Enter the app platform: ',
+ 'apiAppInstructionsAuto4' => 'Describe your app: ',
+ 'apiAppInstructionsAutoTypeOther' => 'Other (specify in description)',
+ 'apiAppInstructionsManual0' => 'your app\'s name, can be anything',
+ 'apiAppInstructionsManual1' => 'your app\'s short name, alphanumeric, 5-32 characters',
+ 'apiAppInstructionsManual2' => 'your app/website\'s URL, or t.me/yourusername',
+ 'apiAppInstructionsManual3' => 'anything',
+ 'apiAppInstructionsManual4' => 'Describe your app here',
+ 'apiAppWeb' => 'Enter API information',
+ 'apiAutoPrompt0' => 'Enter a phone number that is already registered on Telegram: ',
+ 'apiAutoPrompt1' => 'Enter the verification code you received in Telegram: ',
+ 'apiAutoWeb' => 'Enter a phone number that is already registered on telegram to get the API ID',
+ 'apiChooseManualAutoTip' => 'Note that you can also provide the API ID/hash directly in the code using the settings: %s',
+ 'apiChooseManualAutoTipWeb' => 'Note that you can also provide the API ID/hash directly in the code using the settings.',
+ 'apiChoosePrompt' => 'Your choice (m/a): ',
+ 'apiError' => 'ERROR: %s. Try again.',
+ 'apiManualInstructions0' => 'Login to https://my.telegram.org',
+ 'apiManualInstructions1' => 'Go to API development tools',
+ 'apiManualInstructions2' => 'Click on create application',
+ 'apiManualPrompt0' => 'Enter your API ID: ',
+ 'apiManualPrompt1' => 'Enter your API hash: ',
+ 'apiManualWeb' => 'Enter your API ID and API hash',
+ 'apiParamsError' => 'You didn\'t provide all of the required parameters!',
+ 'api_not_set' => 'You must provide an api key and an api id, get your own @ my.telegram.org',
+ 'array_invalid' => 'You didn\'t provide a valid array',
+ 'baseDirLimitation' => 'A basedir limitation is configured: this can impact performance and cause some issues, please disable it if possible!',
+ 'bool_error' => 'Could not extract boolean',
+ 'botAlreadyRunning' => 'The bot is already running!',
+ 'botapi_conversion_error' => 'Can\'t convert %s to a bot API object',
+ 'call_already_accepted' => 'Call %s already accepted',
+ 'call_already_declined' => 'Call %s already declined',
+ 'call_completing' => 'Completing call from %s...',
+ 'call_confirming' => 'Confirming call from %s...',
+ 'call_discarding' => 'Discarding call %s...',
+ 'call_error_1' => 'Could not find and accept call %s',
+ 'call_error_2' => 'Could not find and confirm call %s',
+ 'call_error_3' => 'Could not find and complete call %s',
+ 'cli_need_dl.php_link' => 'Please specify a download script URL when using getDownloadLink via CLI!',
+ 'constructor_not_found' => 'Constructor not found for type: ',
+ 'could_not_connect_to_MadelineProto' => 'Could not connect to MadelineProto, please enable proc_open and remove open_basedir restrictions or disable webserver path rewrites to fix! If you already did that, make sure the CLI version of PHP is exactly the same as the web version (same version, extensions, et cetera) and check out the MadelineProto.log file for more info about the error that prevented the IPC server from starting.',
+ 'could_not_convert_object' => 'Could not convert object of type %s',
+ 'deserialization_error' => 'An error occurred on deserialization',
+ 'dl.php_check_logs_make_sure_session_running' => 'Either the associated MadelineProto EventHandler bot or the MadelineProto IPC server are offline, please check logs and make sure at least one of them is running!',
+ 'dl.php_powered_by_madelineproto' => 'Telegram file download server (up to 4GB), powered by MadelineProto!
Click here for more info on how to setup your very own Telegram file download server!',
+ 'do_not_delete_MadelineProto.log' => 'the MadelineProto.log file must never be deleted, please set a custom max size in the settings, instead!',
+ 'do_not_remove_MadelineProto.log_phar' => 'Please do not remove madeline.phar or madeline.php, or else MadelineProto will crash. If you have any problem with MadelineProto, report it to https://github.com/danog/MadelineProto or https://t.me/pwrtelegramgroup',
+ 'do_not_use_blocking_class' => 'for performance reasons, handlers may not use the non-async blocking class %s, please use %s, instead',
+ 'do_not_use_blocking_function' => 'for performance reasons, event handlers may not use the non-async blocking function %s, please use %s, instead',
+ 'do_not_use_deprecated_function' => 'the %s function is deprecated, please use %s, instead',
+ 'do_not_use_non_root_require_in_event_handler' => 'for performance reasons, you must not use require or include inside of an event handler class, only root-level requires are allowed.',
+ 'do_not_use_yield' => 'MadelineProto 8 does not require or support the use of yield in async functions, you must remove all yield keywords previously used for async function calls',
+ 'done' => 'Done!',
+ 'encode_double_error' => 'Could not properly encode double',
+ 'extensionRecommended' => 'Warning: the %s extension is not installed, please install it to speed up MadelineProto!',
+ 'extensionRequired' => 'MadelineProto requires the %s extension to run. %s',
+ 'extensionRequiredInstallWithApt' => 'Try running sudo apt-get install %s.',
+ 'extensionRequiredInstallWithCustomInstructions' => 'Follow the instructions at %s to install it.',
+ 'file_not_exist' => 'File does not exist',
+ 'file_parsing' => 'Parsing %s...',
+ 'file_type_invalid' => 'Invalid file type detected (%s)',
+ 'fingerprint_invalid' => 'Invalid key fingerprint!',
+ 'go' => 'Go',
+ 'invalid_dl.php_session' => '%s is not a valid download script because its session ID is different (expected %s, got %s)',
+ 'length_too_big' => 'Length is too big',
+ 'loginBot' => 'Enter your bot token: ',
+ 'loginBotTokenWeb' => 'Bot token',
+ 'loginChoosePromptWeb' => 'Do you want to login as a user or as a bot?',
+ 'loginManual' => 'Alternatively, you can also enter a bot token or phone number to login manually: ',
+ 'loginNoCode' => 'You didn\'t provide a phone code!',
+ 'loginNoName' => 'You didn\'t provide the first name!',
+ 'loginNoPass' => 'You didn\'t provide the password!',
+ 'loginOptionBot' => 'Bot',
+ 'loginOptionUser' => 'User',
+ 'loginQr' => 'Scan the above QR code to login automatically.',
+ 'loginQrCodeExpired' => 'The QR code expired, generating a new one...',
+ 'loginQrCodeSuccessful' => 'QR code login successful!',
+ 'loginUser' => 'Enter your phone number: ',
+ 'loginUserCode' => 'Enter the code: ',
+ 'loginUserPass' => 'Enter your password (hint %s): ',
+ 'loginUserPassHint' => 'Hint: %s',
+ 'loginUserPassWeb' => 'Enter your password: ',
+ 'loginUserPhoneCodeWeb' => 'Code',
+ 'loginUserPhoneWeb' => 'Phone number',
+ 'loginWebQr' => 'You can also login automatically by scanning the following QR code:',
+ 'loginWebQr1' => 'Open Telegram on your phone',
+ 'loginWebQr2' => 'Go to Settings > Devices > Link Desktop Device',
+ 'loginWebQr3' => 'Point your phone at this screen to confirm login',
+ 'login_2fa_enabled' => '2FA enabled, you will have to call the complete2falogin function...',
+ 'login_auth_key' => 'Logging in using auth key...',
+ 'login_bot' => 'Logging in as a bot...',
+ 'login_code_sending' => 'Sending code...',
+ 'login_code_sent' => 'Code sent successfully! Once you receive the code you should use the completePhoneLogin function.',
+ 'login_code_uncalled' => 'I\'m not waiting for the code! Please call the phoneLogin method first',
+ 'login_need_signup' => 'An account has not been created for this number, you will have to call the completeSignup function...',
+ 'login_ok' => 'Logged in successfully!',
+ 'login_user' => 'Logging in as a normal user...',
+ 'logout_ok' => 'Logged out successfully!',
+ 'long_not_16' => 'Given value is not 16 bytes long',
+ 'long_not_32' => 'Given value is not 32 bytes long',
+ 'long_not_64' => 'Given value is not 64 bytes long',
+ 'madelineproto_ready' => 'MadelineProto is ready!',
+ 'manualAdminActionRequired' => '!!!!!!!!! MANUAL SYSTEM ADMIN ACTION REQUIRED !!!!!!!!!',
+ 'method_not_found' => 'Could not find method: ',
+ 'mmapErrorPart1' => 'The maximum number of memory mapped (mmap) regions was reached (%s): please increase the vm.max_map_count kernel config to 262144 to fix.',
+ 'mmapErrorPart2' => 'To fix, run the following command as root: %s',
+ 'mmapErrorPart3' => 'To persist the change across reboots: %s',
+ 'mmapErrorPart4' => 'On Windows and WSL, increasing the size of the pagefile might help; please switch to native Linux if the issue persists.',
+ 'must_have_declare_types' => 'for performance reasons, the first statement of an event handler file must be "declare(strict_types=1);"',
+ 'nearest_dc' => 'We\'re in %s, nearest DC is %d.',
+ 'need_dl.php' => 'Could not generate default download script (%s), please create a dl.php file with the following content: %s and pass its URL to the second parameter of getDownloadLink',
+ 'noReportPeers' => 'Warning: no report peers are set, please add the following method to your event handler',
+ 'non_text_conversion' => 'Can\'t convert non text messages yet!',
+ 'not_loggedIn' => 'I\'m not logged in!',
+ 'not_numeric' => 'Given value isn\'t numeric',
+ 'params_missing' => 'Missing required parameter',
+ 'peer_not_in_db' => 'This peer is not present in the internal peer database',
+ 'plugin_path_does_not_exist' => 'Plugin path %s does not exist!',
+ 'plugins_do_not_use_require' => 'for performance reasons, plugins can only automatically include or require other files present in the plugins folder by triggering the PSR-4 autoloader (not by manually require()\'ing them).',
+ 'plugins_must_have_exactly_one_class' => 'a plugin must define exactly one class! To define multiple classes, interfaces or traits, create separate files, they will be autoloaded by MadelineProto automatically.',
+ 'predicate_not_set' => 'Predicate (value under _) was not set!',
+ 'recommend_not_use_filesystem_function' => 'usage of the %s function is not recommended, because accessing the filesystem during update handling will slow down your bot, please see https://docs.madelineproto.xyz/docs/UPDATES.html#avoiding-the-use-of-filesystem-functions for a list of alternative ways to store data that will not slow down your bot!',
+ 'rpc_tg_error' => 'Telegram returned an RPC error: %s (%s), caused by %s:%s%sTL trace:',
+ 'sec_peer_not_in_db' => 'This secret peer is not present in the internal peer database',
+ 'secret_chat_skipping' => 'I do not have the secret chat %s in the database, skipping message...',
+ 'serialization_ofd' => 'Serialization is out of date, reconstructing object!',
+ 'session_corrupted' => 'The session is corrupted!',
+ 'signing_up' => 'Signing up as a normal user...',
+ 'signupFirstName' => 'Enter your first name: ',
+ 'signupFirstNameWeb' => 'First name',
+ 'signupLastName' => 'Enter your last name (can be empty): ',
+ 'signupLastNameWeb' => 'Last name',
+ 'signupWeb' => 'Sign up please',
+ 'signup_ok' => 'Signed up in successfully!',
+ 'signup_uncalled' => 'I\'m not waiting to signup! Please call the phoneLogin and the completePhoneLogin methods first!',
+ 'src_file_invalid' => 'Invalid source file was provided: ',
+ 'static_analysis_minor' => 'A minor issue was encountered during static analysis of %s: %s',
+ 'static_analysis_severe' => 'A severe issue was encountered during static analysis of %s: %s',
+ 'stream_handle_invalid' => 'An invalid stream handle was provided.',
+ 'string_required' => 'A string was expected!',
+ 'translate_madelineproto_cli' => 'MadelineProto can be translated in your language (current translation progress: %d%%), go to https://weblate.madelineproto.xyz to contribute with the translation!',
+ 'translate_madelineproto_web' => 'MadelineProto can be translated in your language (current translation progress: %d%%), click here to contribute with the translation!',
+ 'type_extract_error' => 'Could not extract type "%s", you should update MadelineProto!',
+ 'type_extract_error_id' => 'Could not extract type: %s with id %s, you should update MadelineProto!',
+ 'update_madelineproto' => 'You\'re running an old version of MadelineProto, an update is required: currently running %s, but the latest version with multiple bugfixes and new features is %s!',
+ 'value_bigger_than_2147483647' => 'Provided value %s is bigger than 2147483647',
+ 'value_bigger_than_4294967296' => 'Provided value %s is bigger than 4294967296',
+ 'value_bigger_than_9223372036854775807' => 'Provided value %s is bigger than 9223372036854775807',
+ 'value_smaller_than_0' => 'Provided value %s is smaller than 0',
+ 'value_smaller_than_2147483648' => 'Provided value %s is smaller than -2147483648',
+ 'value_smaller_than_9223372036854775808' => 'Provided value %s is smaller than -9223372036854775808',
+ 'waveform_must_have_100_values' => 'A waveform array must have 100 values!',
+ 'waveform_value' => 'A waveform value must be between 0 and 31!',
+ 'windows_warning' => 'For Windows users: please switch to Linux if this fails. You can also try modifying the firewall settings to allow all PHP processes to create sockets (it\'s 100% easier to just switch to Linux, on Linux MadelineProto just works out of the box, no changes needed)',
+ ],
'ru' =>
[
'2fa_uncalled' => 'I\'m not waiting for the password! Please call the phoneLogin and the completePhoneLogin methods first!',
diff --git a/src/Namespace/Bots.php b/src/Namespace/Bots.php
index c2976221e..4b32b8feb 100644
--- a/src/Namespace/Bots.php
+++ b/src/Namespace/Bots.php
@@ -212,7 +212,7 @@ interface Bots
* @param ?int $floodWaitLimit Can be used to specify a custom flood wait limit: if a FLOOD_WAIT_ rate limiting error is received with a waiting period bigger than this integer, an RPCErrorException will be thrown; otherwise, MadelineProto will simply wait for the specified amount of time. Defaults to the value specified in the settings: https://docs.madelineproto.xyz/PHP/danog/MadelineProto/Settings/RPC.html#setfloodtimeout-int-floodtimeout-self
* @param ?string $queueId If specified, ensures strict server-side execution order of concurrent calls with the same queue ID.
* @param ?\Amp\Cancellation $cancellation Cancellation
- * @return array{_: 'botPreviewMedia', date: int, media: array{_: 'messageMediaEmpty'}|array{_: 'messageMediaPhoto', spoiler: bool, photo?: array{_: 'photoEmpty', id: array}|array{_: 'photo', has_stickers: array, id: array, access_hash: array, file_reference: array, date: array, sizes: list, video_sizes?: list, dc_id: array}, ttl_seconds?: int}|array{_: 'messageMediaGeo', geo: array{_: 'geoPointEmpty'}|array{_: 'geoPoint', long: array, lat: array, access_hash: array, accuracy_radius?: array}}|array{_: 'messageMediaContact', phone_number: string, first_name: string, last_name: string, vcard: string, user_id: int}|array{_: 'messageMediaUnsupported'}|array{_: 'messageMediaDocument', nopremium: bool, spoiler: bool, video: bool, round: bool, voice: bool, document?: array{_: 'documentEmpty', id: array}|array{_: 'document', id: array, access_hash: array, file_reference: array, date: array, mime_type: array, size: array, thumbs?: list, video_thumbs?: list, dc_id: array, attributes: list}, alt_document?: array{_: 'documentEmpty', id: array}|array{_: 'document', id: array, access_hash: array, file_reference: array, date: array, mime_type: array, size: array, thumbs?: list, video_thumbs?: list, dc_id: array, attributes: list}, ttl_seconds?: int}|array{_: 'messageMediaWebPage', force_large_media: bool, force_small_media: bool, manual: bool, safe: bool, webpage: array{_: 'webPageEmpty', id: array, url?: array}|array{_: 'webPagePending', id: array, url?: array, date: array}|array{_: 'webPage', has_large_media: array, id: array, url: array, display_url: array, hash: array, type?: array, site_name?: array, title?: array, description?: array, photo?: array{_: 'photoEmpty', id: array}|array{_: 'photo', has_stickers: array, id: array, access_hash: array, file_reference: array, date: array, sizes: list, video_sizes?: list, dc_id: array}, embed_url?: array, embed_type?: array, embed_width?: array, embed_height?: array, duration?: array, author?: array, document?: array{_: 'documentEmpty', id: array}|array{_: 'document', id: array, access_hash: array, file_reference: array, date: array, mime_type: array, size: array, thumbs?: list, video_thumbs?: list, dc_id: array, attributes: list}, cached_page?: array, attributes?: list}|array{_: 'webPageNotModified', cached_page_views?: array}}|array{_: 'messageMediaVenue', geo: array{_: 'geoPointEmpty'}|array{_: 'geoPoint', long: array, lat: array, access_hash: array, accuracy_radius?: array}, title: string, address: string, provider: string, venue_id: string, venue_type: string}|array{_: 'messageMediaGame', game: array{_: 'game', id: array, access_hash: array, short_name: array, title: array, description: array, photo: array{_: 'photoEmpty', id: array}|array{_: 'photo', has_stickers: array, id: array, access_hash: array, file_reference: array, date: array, sizes: list, video_sizes?: list, dc_id: array}, document?: array{_: 'documentEmpty', id: array}|array{_: 'document', id: array, access_hash: array, file_reference: array, date: array, mime_type: array, size: array, thumbs?: list, video_thumbs?: list, dc_id: array, attributes: list}}}|array{_: 'messageMediaInvoice', shipping_address_requested: bool, test: bool, title: string, description: string, photo?: array{_: 'webDocument', url: array, access_hash: array, size: array, mime_type: array, attributes: list}|array{_: 'webDocumentNoProxy', url: array, size: array, mime_type: array, attributes: list}, receipt_msg_id?: int, currency: string, total_amount: int, start_param: string, extended_media?: array{_: 'messageExtendedMediaPreview', w?: array, h?: array, thumb?: array, video_duration?: array}}|array{_: 'messageMediaGeoLive', geo: array{_: 'geoPointEmpty'}|array{_: 'geoPoint', long: array, lat: array, access_hash: array, accuracy_radius?: array}, heading?: int, period: int, proximity_notification_radius?: int}|array{_: 'messageMediaPoll', poll: array{_: 'poll', question: array, id: array, closed: array, public_voters: array, multiple_choice: array, quiz: array, answers: list, close_period?: array, close_date?: array}, results: array{_: 'pollResults', min: array, results?: list, total_voters?: array, recent_voters?: list, solution?: array, solution_entities?: list}}|array{_: 'messageMediaDice', value: int, emoticon: string}|array{_: 'messageMediaStory', peer: array|int|string, via_mention: bool, id: int, story?: array{_: 'storyItemDeleted', id: array}|array{_: 'storyItemSkipped', close_friends: array, id: array, date: array, expire_date: array}}|array{_: 'messageMediaGiveaway', only_new_subscribers: bool, winners_are_visible: bool, channels: list, countries_iso2?: list, prize_description?: string, quantity: int, months: int, until_date: int}|array{_: 'messageMediaGiveawayResults', only_new_subscribers: bool, refunded: bool, channel_id: int, additional_peers_count?: int, launch_msg_id: int, winners_count: int, unclaimed_count: int, winners: list, months: int, prize_description?: string, until_date: int}|array{_: 'messageMediaPaidMedia', stars_amount: int, extended_media: list}} @see https://docs.madelineproto.xyz/API_docs/types/BotPreviewMedia.html
+ * @return array{_: 'botPreviewMedia', date: int, media: array{_: 'messageMediaEmpty'}|array{_: 'messageMediaPhoto', spoiler: bool, photo?: array{_: 'photoEmpty', id: array}|array{_: 'photo', has_stickers: array, id: array, access_hash: array, file_reference: array, date: array, sizes: list, video_sizes?: list, dc_id: array}, ttl_seconds?: int}|array{_: 'messageMediaGeo', geo: array{_: 'geoPointEmpty'}|array{_: 'geoPoint', long: array, lat: array, access_hash: array, accuracy_radius?: array}}|array{_: 'messageMediaContact', phone_number: string, first_name: string, last_name: string, vcard: string, user_id: int}|array{_: 'messageMediaUnsupported'}|array{_: 'messageMediaDocument', nopremium: bool, spoiler: bool, video: bool, round: bool, voice: bool, document?: array{_: 'documentEmpty', id: array}|array{_: 'document', id: array, access_hash: array, file_reference: array, date: array, mime_type: array, size: array, thumbs?: list, video_thumbs?: list, dc_id: array, attributes: list}, alt_document?: array{_: 'documentEmpty', id: array}|array{_: 'document', id: array, access_hash: array, file_reference: array, date: array, mime_type: array, size: array, thumbs?: list, video_thumbs?: list, dc_id: array, attributes: list}, ttl_seconds?: int}|array{_: 'messageMediaWebPage', force_large_media: bool, force_small_media: bool, manual: bool, safe: bool, webpage: array{_: 'webPageEmpty', id: array, url?: array}|array{_: 'webPagePending', id: array, url?: array, date: array}|array{_: 'webPage', has_large_media: array, id: array, url: array, display_url: array, hash: array, type?: array, site_name?: array, title?: array, description?: array, photo?: array{_: 'photoEmpty', id: array}|array{_: 'photo', has_stickers: array, id: array, access_hash: array, file_reference: array, date: array, sizes: list, video_sizes?: list, dc_id: array}, embed_url?: array, embed_type?: array, embed_width?: array, embed_height?: array, duration?: array, author?: array, document?: array{_: 'documentEmpty', id: array}|array{_: 'document', id: array, access_hash: array, file_reference: array, date: array, mime_type: array, size: array, thumbs?: list, video_thumbs?: list, dc_id: array, attributes: list}, cached_page?: array, attributes?: list}|array{_: 'webPageNotModified', cached_page_views?: array}}|array{_: 'messageMediaVenue', geo: array{_: 'geoPointEmpty'}|array{_: 'geoPoint', long: array, lat: array, access_hash: array, accuracy_radius?: array}, title: string, address: string, provider: string, venue_id: string, venue_type: string}|array{_: 'messageMediaGame', game: array{_: 'game', id: array, access_hash: array, short_name: array, title: array, description: array, photo: array{_: 'photoEmpty', id: array}|array{_: 'photo', has_stickers: array, id: array, access_hash: array, file_reference: array, date: array, sizes: list, video_sizes?: list, dc_id: array}, document?: array{_: 'documentEmpty', id: array}|array{_: 'document', id: array, access_hash: array, file_reference: array, date: array, mime_type: array, size: array, thumbs?: list, video_thumbs?: list, dc_id: array, attributes: list}}}|array{_: 'messageMediaInvoice', shipping_address_requested: bool, test: bool, title: string, description: string, photo?: array{_: 'webDocument', url: array, access_hash: array, size: array, mime_type: array, attributes: list}|array{_: 'webDocumentNoProxy', url: array, size: array, mime_type: array, attributes: list}, receipt_msg_id?: int, currency: string, total_amount: int, start_param: string, extended_media?: array{_: 'messageExtendedMediaPreview', w?: array, h?: array, thumb?: array, video_duration?: array}}|array{_: 'messageMediaGeoLive', geo: array{_: 'geoPointEmpty'}|array{_: 'geoPoint', long: array, lat: array, access_hash: array, accuracy_radius?: array}, heading?: int, period: int, proximity_notification_radius?: int}|array{_: 'messageMediaPoll', poll: array{_: 'poll', question: array, id: array, closed: array, public_voters: array, multiple_choice: array, quiz: array, answers: list, close_period?: array, close_date?: array}, results: array{_: 'pollResults', min: array, results?: list, total_voters?: array, recent_voters?: list, solution?: array, solution_entities?: list}}|array{_: 'messageMediaDice', value: int, emoticon: string}|array{_: 'messageMediaStory', peer: array|int|string, via_mention: bool, id: int, story?: array{_: 'storyItemDeleted', id: array}|array{_: 'storyItemSkipped', close_friends: array, id: array, date: array, expire_date: array}}|array{_: 'messageMediaGiveaway', only_new_subscribers: bool, winners_are_visible: bool, channels: list, countries_iso2?: list, prize_description?: string, quantity: int, months?: int, stars?: int, until_date: int}|array{_: 'messageMediaGiveawayResults', only_new_subscribers: bool, refunded: bool, channel_id: int, additional_peers_count?: int, launch_msg_id: int, winners_count: int, unclaimed_count: int, winners: list, months?: int, stars?: int, prize_description?: string, until_date: int}|array{_: 'messageMediaPaidMedia', stars_amount: int, extended_media: list}} @see https://docs.madelineproto.xyz/API_docs/types/BotPreviewMedia.html
*/
public function addPreviewMedia(array|int|string|null $bot = null, string|null $lang_code = '', \danog\MadelineProto\EventHandler\Media|array|string|null $media = null, ?int $floodWaitLimit = null, ?string $queueId = null, ?\Amp\Cancellation $cancellation = null): array;
@@ -225,7 +225,7 @@ interface Bots
* @param ?int $floodWaitLimit Can be used to specify a custom flood wait limit: if a FLOOD_WAIT_ rate limiting error is received with a waiting period bigger than this integer, an RPCErrorException will be thrown; otherwise, MadelineProto will simply wait for the specified amount of time. Defaults to the value specified in the settings: https://docs.madelineproto.xyz/PHP/danog/MadelineProto/Settings/RPC.html#setfloodtimeout-int-floodtimeout-self
* @param ?string $queueId If specified, ensures strict server-side execution order of concurrent calls with the same queue ID.
* @param ?\Amp\Cancellation $cancellation Cancellation
- * @return array{_: 'botPreviewMedia', date: int, media: array{_: 'messageMediaEmpty'}|array{_: 'messageMediaPhoto', spoiler: bool, photo?: array{_: 'photoEmpty', id: array}|array{_: 'photo', has_stickers: array, id: array, access_hash: array, file_reference: array, date: array, sizes: list, video_sizes?: list, dc_id: array}, ttl_seconds?: int}|array{_: 'messageMediaGeo', geo: array{_: 'geoPointEmpty'}|array{_: 'geoPoint', long: array, lat: array, access_hash: array, accuracy_radius?: array}}|array{_: 'messageMediaContact', phone_number: string, first_name: string, last_name: string, vcard: string, user_id: int}|array{_: 'messageMediaUnsupported'}|array{_: 'messageMediaDocument', nopremium: bool, spoiler: bool, video: bool, round: bool, voice: bool, document?: array{_: 'documentEmpty', id: array}|array{_: 'document', id: array, access_hash: array, file_reference: array, date: array, mime_type: array, size: array, thumbs?: list, video_thumbs?: list, dc_id: array, attributes: list}, alt_document?: array{_: 'documentEmpty', id: array}|array{_: 'document', id: array, access_hash: array, file_reference: array, date: array, mime_type: array, size: array, thumbs?: list, video_thumbs?: list, dc_id: array, attributes: list}, ttl_seconds?: int}|array{_: 'messageMediaWebPage', force_large_media: bool, force_small_media: bool, manual: bool, safe: bool, webpage: array{_: 'webPageEmpty', id: array, url?: array}|array{_: 'webPagePending', id: array, url?: array, date: array}|array{_: 'webPage', has_large_media: array, id: array, url: array, display_url: array, hash: array, type?: array, site_name?: array, title?: array, description?: array, photo?: array{_: 'photoEmpty', id: array}|array{_: 'photo', has_stickers: array, id: array, access_hash: array, file_reference: array, date: array, sizes: list, video_sizes?: list, dc_id: array}, embed_url?: array, embed_type?: array, embed_width?: array, embed_height?: array, duration?: array, author?: array, document?: array{_: 'documentEmpty', id: array}|array{_: 'document', id: array, access_hash: array, file_reference: array, date: array, mime_type: array, size: array, thumbs?: list, video_thumbs?: list, dc_id: array, attributes: list}, cached_page?: array, attributes?: list}|array{_: 'webPageNotModified', cached_page_views?: array}}|array{_: 'messageMediaVenue', geo: array{_: 'geoPointEmpty'}|array{_: 'geoPoint', long: array, lat: array, access_hash: array, accuracy_radius?: array}, title: string, address: string, provider: string, venue_id: string, venue_type: string}|array{_: 'messageMediaGame', game: array{_: 'game', id: array, access_hash: array, short_name: array, title: array, description: array, photo: array{_: 'photoEmpty', id: array}|array{_: 'photo', has_stickers: array, id: array, access_hash: array, file_reference: array, date: array, sizes: list, video_sizes?: list, dc_id: array}, document?: array{_: 'documentEmpty', id: array}|array{_: 'document', id: array, access_hash: array, file_reference: array, date: array, mime_type: array, size: array, thumbs?: list, video_thumbs?: list, dc_id: array, attributes: list}}}|array{_: 'messageMediaInvoice', shipping_address_requested: bool, test: bool, title: string, description: string, photo?: array{_: 'webDocument', url: array, access_hash: array, size: array, mime_type: array, attributes: list}|array{_: 'webDocumentNoProxy', url: array, size: array, mime_type: array, attributes: list}, receipt_msg_id?: int, currency: string, total_amount: int, start_param: string, extended_media?: array{_: 'messageExtendedMediaPreview', w?: array, h?: array, thumb?: array, video_duration?: array}}|array{_: 'messageMediaGeoLive', geo: array{_: 'geoPointEmpty'}|array{_: 'geoPoint', long: array, lat: array, access_hash: array, accuracy_radius?: array}, heading?: int, period: int, proximity_notification_radius?: int}|array{_: 'messageMediaPoll', poll: array{_: 'poll', question: array, id: array, closed: array, public_voters: array, multiple_choice: array, quiz: array, answers: list, close_period?: array, close_date?: array}, results: array{_: 'pollResults', min: array, results?: list, total_voters?: array, recent_voters?: list, solution?: array, solution_entities?: list}}|array{_: 'messageMediaDice', value: int, emoticon: string}|array{_: 'messageMediaStory', peer: array|int|string, via_mention: bool, id: int, story?: array{_: 'storyItemDeleted', id: array}|array{_: 'storyItemSkipped', close_friends: array, id: array, date: array, expire_date: array}}|array{_: 'messageMediaGiveaway', only_new_subscribers: bool, winners_are_visible: bool, channels: list, countries_iso2?: list, prize_description?: string, quantity: int, months: int, until_date: int}|array{_: 'messageMediaGiveawayResults', only_new_subscribers: bool, refunded: bool, channel_id: int, additional_peers_count?: int, launch_msg_id: int, winners_count: int, unclaimed_count: int, winners: list, months: int, prize_description?: string, until_date: int}|array{_: 'messageMediaPaidMedia', stars_amount: int, extended_media: list}} @see https://docs.madelineproto.xyz/API_docs/types/BotPreviewMedia.html
+ * @return array{_: 'botPreviewMedia', date: int, media: array{_: 'messageMediaEmpty'}|array{_: 'messageMediaPhoto', spoiler: bool, photo?: array{_: 'photoEmpty', id: array}|array{_: 'photo', has_stickers: array, id: array, access_hash: array, file_reference: array, date: array, sizes: list, video_sizes?: list, dc_id: array}, ttl_seconds?: int}|array{_: 'messageMediaGeo', geo: array{_: 'geoPointEmpty'}|array{_: 'geoPoint', long: array, lat: array, access_hash: array, accuracy_radius?: array}}|array{_: 'messageMediaContact', phone_number: string, first_name: string, last_name: string, vcard: string, user_id: int}|array{_: 'messageMediaUnsupported'}|array{_: 'messageMediaDocument', nopremium: bool, spoiler: bool, video: bool, round: bool, voice: bool, document?: array{_: 'documentEmpty', id: array}|array{_: 'document', id: array, access_hash: array, file_reference: array, date: array, mime_type: array, size: array, thumbs?: list, video_thumbs?: list, dc_id: array, attributes: list}, alt_document?: array{_: 'documentEmpty', id: array}|array{_: 'document', id: array, access_hash: array, file_reference: array, date: array, mime_type: array, size: array, thumbs?: list, video_thumbs?: list, dc_id: array, attributes: list}, ttl_seconds?: int}|array{_: 'messageMediaWebPage', force_large_media: bool, force_small_media: bool, manual: bool, safe: bool, webpage: array{_: 'webPageEmpty', id: array, url?: array}|array{_: 'webPagePending', id: array, url?: array, date: array}|array{_: 'webPage', has_large_media: array, id: array, url: array, display_url: array, hash: array, type?: array, site_name?: array, title?: array, description?: array, photo?: array{_: 'photoEmpty', id: array}|array{_: 'photo', has_stickers: array, id: array, access_hash: array, file_reference: array, date: array, sizes: list, video_sizes?: list, dc_id: array}, embed_url?: array, embed_type?: array, embed_width?: array, embed_height?: array, duration?: array, author?: array, document?: array{_: 'documentEmpty', id: array}|array{_: 'document', id: array, access_hash: array, file_reference: array, date: array, mime_type: array, size: array, thumbs?: list, video_thumbs?: list, dc_id: array, attributes: list}, cached_page?: array, attributes?: list}|array{_: 'webPageNotModified', cached_page_views?: array}}|array{_: 'messageMediaVenue', geo: array{_: 'geoPointEmpty'}|array{_: 'geoPoint', long: array, lat: array, access_hash: array, accuracy_radius?: array}, title: string, address: string, provider: string, venue_id: string, venue_type: string}|array{_: 'messageMediaGame', game: array{_: 'game', id: array, access_hash: array, short_name: array, title: array, description: array, photo: array{_: 'photoEmpty', id: array}|array{_: 'photo', has_stickers: array, id: array, access_hash: array, file_reference: array, date: array, sizes: list, video_sizes?: list, dc_id: array}, document?: array{_: 'documentEmpty', id: array}|array{_: 'document', id: array, access_hash: array, file_reference: array, date: array, mime_type: array, size: array, thumbs?: list, video_thumbs?: list, dc_id: array, attributes: list}}}|array{_: 'messageMediaInvoice', shipping_address_requested: bool, test: bool, title: string, description: string, photo?: array{_: 'webDocument', url: array, access_hash: array, size: array, mime_type: array, attributes: list}|array{_: 'webDocumentNoProxy', url: array, size: array, mime_type: array, attributes: list}, receipt_msg_id?: int, currency: string, total_amount: int, start_param: string, extended_media?: array{_: 'messageExtendedMediaPreview', w?: array, h?: array, thumb?: array, video_duration?: array}}|array{_: 'messageMediaGeoLive', geo: array{_: 'geoPointEmpty'}|array{_: 'geoPoint', long: array, lat: array, access_hash: array, accuracy_radius?: array}, heading?: int, period: int, proximity_notification_radius?: int}|array{_: 'messageMediaPoll', poll: array{_: 'poll', question: array, id: array, closed: array, public_voters: array, multiple_choice: array, quiz: array, answers: list, close_period?: array, close_date?: array}, results: array{_: 'pollResults', min: array, results?: list, total_voters?: array, recent_voters?: list, solution?: array, solution_entities?: list}}|array{_: 'messageMediaDice', value: int, emoticon: string}|array{_: 'messageMediaStory', peer: array|int|string, via_mention: bool, id: int, story?: array{_: 'storyItemDeleted', id: array}|array{_: 'storyItemSkipped', close_friends: array, id: array, date: array, expire_date: array}}|array{_: 'messageMediaGiveaway', only_new_subscribers: bool, winners_are_visible: bool, channels: list, countries_iso2?: list, prize_description?: string, quantity: int, months?: int, stars?: int, until_date: int}|array{_: 'messageMediaGiveawayResults', only_new_subscribers: bool, refunded: bool, channel_id: int, additional_peers_count?: int, launch_msg_id: int, winners_count: int, unclaimed_count: int, winners: list, months?: int, stars?: int, prize_description?: string, until_date: int}|array{_: 'messageMediaPaidMedia', stars_amount: int, extended_media: list}} @see https://docs.madelineproto.xyz/API_docs/types/BotPreviewMedia.html
*/
public function editPreviewMedia(array|int|string|null $bot = null, string|null $lang_code = '', \danog\MadelineProto\EventHandler\Media|array|string|null $media = null, \danog\MadelineProto\EventHandler\Media|array|string|null $new_media = null, ?int $floodWaitLimit = null, ?string $queueId = null, ?\Amp\Cancellation $cancellation = null): array;
@@ -258,7 +258,7 @@ interface Bots
* @param ?int $floodWaitLimit Can be used to specify a custom flood wait limit: if a FLOOD_WAIT_ rate limiting error is received with a waiting period bigger than this integer, an RPCErrorException will be thrown; otherwise, MadelineProto will simply wait for the specified amount of time. Defaults to the value specified in the settings: https://docs.madelineproto.xyz/PHP/danog/MadelineProto/Settings/RPC.html#setfloodtimeout-int-floodtimeout-self
* @param ?string $queueId If specified, ensures strict server-side execution order of concurrent calls with the same queue ID.
* @param ?\Amp\Cancellation $cancellation Cancellation
- * @return array{_: 'bots.previewInfo', media: list, video_sizes?: list, dc_id: array}, ttl_seconds?: int}|array{_: 'messageMediaGeo', geo: array{_: 'geoPointEmpty'}|array{_: 'geoPoint', long: array, lat: array, access_hash: array, accuracy_radius?: array}}|array{_: 'messageMediaContact', phone_number: string, first_name: string, last_name: string, vcard: string, user_id: int}|array{_: 'messageMediaUnsupported'}|array{_: 'messageMediaDocument', nopremium: bool, spoiler: bool, video: bool, round: bool, voice: bool, document?: array{_: 'documentEmpty', id: array}|array{_: 'document', id: array, access_hash: array, file_reference: array, date: array, mime_type: array, size: array, thumbs?: list, video_thumbs?: list, dc_id: array, attributes: list}, alt_document?: array{_: 'documentEmpty', id: array}|array{_: 'document', id: array, access_hash: array, file_reference: array, date: array, mime_type: array, size: array, thumbs?: list, video_thumbs?: list, dc_id: array, attributes: list}, ttl_seconds?: int}|array{_: 'messageMediaWebPage', force_large_media: bool, force_small_media: bool, manual: bool, safe: bool, webpage: array{_: 'webPageEmpty', id: array, url?: array}|array{_: 'webPagePending', id: array, url?: array, date: array}|array{_: 'webPage', has_large_media: array, id: array, url: array, display_url: array, hash: array, type?: array, site_name?: array, title?: array, description?: array, photo?: array{_: 'photoEmpty', id: array}|array{_: 'photo', has_stickers: array, id: array, access_hash: array, file_reference: array, date: array, sizes: list, video_sizes?: list, dc_id: array}, embed_url?: array, embed_type?: array, embed_width?: array, embed_height?: array, duration?: array, author?: array, document?: array{_: 'documentEmpty', id: array}|array{_: 'document', id: array, access_hash: array, file_reference: array, date: array, mime_type: array, size: array, thumbs?: list, video_thumbs?: list, dc_id: array, attributes: list}, cached_page?: array, attributes?: list}|array{_: 'webPageNotModified', cached_page_views?: array}}|array{_: 'messageMediaVenue', geo: array{_: 'geoPointEmpty'}|array{_: 'geoPoint', long: array, lat: array, access_hash: array, accuracy_radius?: array}, title: string, address: string, provider: string, venue_id: string, venue_type: string}|array{_: 'messageMediaGame', game: array{_: 'game', id: array, access_hash: array, short_name: array, title: array, description: array, photo: array{_: 'photoEmpty', id: array}|array{_: 'photo', has_stickers: array, id: array, access_hash: array, file_reference: array, date: array, sizes: list, video_sizes?: list, dc_id: array}, document?: array{_: 'documentEmpty', id: array}|array{_: 'document', id: array, access_hash: array, file_reference: array, date: array, mime_type: array, size: array, thumbs?: list, video_thumbs?: list, dc_id: array, attributes: list}}}|array{_: 'messageMediaInvoice', shipping_address_requested: bool, test: bool, title: string, description: string, photo?: array{_: 'webDocument', url: array, access_hash: array, size: array, mime_type: array, attributes: list}|array{_: 'webDocumentNoProxy', url: array, size: array, mime_type: array, attributes: list}, receipt_msg_id?: int, currency: string, total_amount: int, start_param: string, extended_media?: array{_: 'messageExtendedMediaPreview', w?: array, h?: array, thumb?: array, video_duration?: array}}|array{_: 'messageMediaGeoLive', geo: array{_: 'geoPointEmpty'}|array{_: 'geoPoint', long: array, lat: array, access_hash: array, accuracy_radius?: array}, heading?: int, period: int, proximity_notification_radius?: int}|array{_: 'messageMediaPoll', poll: array{_: 'poll', question: array, id: array, closed: array, public_voters: array, multiple_choice: array, quiz: array, answers: list, close_period?: array, close_date?: array}, results: array{_: 'pollResults', min: array, results?: list, total_voters?: array, recent_voters?: list, solution?: array, solution_entities?: list}}|array{_: 'messageMediaDice', value: int, emoticon: string}|array{_: 'messageMediaStory', peer: array|int|string, via_mention: bool, id: int, story?: array{_: 'storyItemDeleted', id: array}|array{_: 'storyItemSkipped', close_friends: array, id: array, date: array, expire_date: array}}|array{_: 'messageMediaGiveaway', only_new_subscribers: bool, winners_are_visible: bool, channels: list, countries_iso2?: list, prize_description?: string, quantity: int, months: int, until_date: int}|array{_: 'messageMediaGiveawayResults', only_new_subscribers: bool, refunded: bool, channel_id: int, additional_peers_count?: int, launch_msg_id: int, winners_count: int, unclaimed_count: int, winners: list, months: int, prize_description?: string, until_date: int}|array{_: 'messageMediaPaidMedia', stars_amount: int, extended_media: list}}>, lang_codes: list} @see https://docs.madelineproto.xyz/API_docs/types/bots.PreviewInfo.html
+ * @return array{_: 'bots.previewInfo', media: list, video_sizes?: list, dc_id: array}, ttl_seconds?: int}|array{_: 'messageMediaGeo', geo: array{_: 'geoPointEmpty'}|array{_: 'geoPoint', long: array, lat: array, access_hash: array, accuracy_radius?: array}}|array{_: 'messageMediaContact', phone_number: string, first_name: string, last_name: string, vcard: string, user_id: int}|array{_: 'messageMediaUnsupported'}|array{_: 'messageMediaDocument', nopremium: bool, spoiler: bool, video: bool, round: bool, voice: bool, document?: array{_: 'documentEmpty', id: array}|array{_: 'document', id: array, access_hash: array, file_reference: array, date: array, mime_type: array, size: array, thumbs?: list, video_thumbs?: list, dc_id: array, attributes: list}, alt_document?: array{_: 'documentEmpty', id: array}|array{_: 'document', id: array, access_hash: array, file_reference: array, date: array, mime_type: array, size: array, thumbs?: list, video_thumbs?: list, dc_id: array, attributes: list}, ttl_seconds?: int}|array{_: 'messageMediaWebPage', force_large_media: bool, force_small_media: bool, manual: bool, safe: bool, webpage: array{_: 'webPageEmpty', id: array, url?: array}|array{_: 'webPagePending', id: array, url?: array, date: array}|array{_: 'webPage', has_large_media: array, id: array, url: array, display_url: array, hash: array, type?: array, site_name?: array, title?: array, description?: array, photo?: array{_: 'photoEmpty', id: array}|array{_: 'photo', has_stickers: array, id: array, access_hash: array, file_reference: array, date: array, sizes: list, video_sizes?: list, dc_id: array}, embed_url?: array, embed_type?: array, embed_width?: array, embed_height?: array, duration?: array, author?: array, document?: array{_: 'documentEmpty', id: array}|array{_: 'document', id: array, access_hash: array, file_reference: array, date: array, mime_type: array, size: array, thumbs?: list, video_thumbs?: list, dc_id: array, attributes: list}, cached_page?: array, attributes?: list}|array{_: 'webPageNotModified', cached_page_views?: array}}|array{_: 'messageMediaVenue', geo: array{_: 'geoPointEmpty'}|array{_: 'geoPoint', long: array, lat: array, access_hash: array, accuracy_radius?: array}, title: string, address: string, provider: string, venue_id: string, venue_type: string}|array{_: 'messageMediaGame', game: array{_: 'game', id: array, access_hash: array, short_name: array, title: array, description: array, photo: array{_: 'photoEmpty', id: array}|array{_: 'photo', has_stickers: array, id: array, access_hash: array, file_reference: array, date: array, sizes: list, video_sizes?: list, dc_id: array}, document?: array{_: 'documentEmpty', id: array}|array{_: 'document', id: array, access_hash: array, file_reference: array, date: array, mime_type: array, size: array, thumbs?: list, video_thumbs?: list, dc_id: array, attributes: list}}}|array{_: 'messageMediaInvoice', shipping_address_requested: bool, test: bool, title: string, description: string, photo?: array{_: 'webDocument', url: array, access_hash: array, size: array, mime_type: array, attributes: list}|array{_: 'webDocumentNoProxy', url: array, size: array, mime_type: array, attributes: list}, receipt_msg_id?: int, currency: string, total_amount: int, start_param: string, extended_media?: array{_: 'messageExtendedMediaPreview', w?: array, h?: array, thumb?: array, video_duration?: array}}|array{_: 'messageMediaGeoLive', geo: array{_: 'geoPointEmpty'}|array{_: 'geoPoint', long: array, lat: array, access_hash: array, accuracy_radius?: array}, heading?: int, period: int, proximity_notification_radius?: int}|array{_: 'messageMediaPoll', poll: array{_: 'poll', question: array, id: array, closed: array, public_voters: array, multiple_choice: array, quiz: array, answers: list, close_period?: array, close_date?: array}, results: array{_: 'pollResults', min: array, results?: list, total_voters?: array, recent_voters?: list, solution?: array, solution_entities?: list}}|array{_: 'messageMediaDice', value: int, emoticon: string}|array{_: 'messageMediaStory', peer: array|int|string, via_mention: bool, id: int, story?: array{_: 'storyItemDeleted', id: array}|array{_: 'storyItemSkipped', close_friends: array, id: array, date: array, expire_date: array}}|array{_: 'messageMediaGiveaway', only_new_subscribers: bool, winners_are_visible: bool, channels: list, countries_iso2?: list, prize_description?: string, quantity: int, months?: int, stars?: int, until_date: int}|array{_: 'messageMediaGiveawayResults', only_new_subscribers: bool, refunded: bool, channel_id: int, additional_peers_count?: int, launch_msg_id: int, winners_count: int, unclaimed_count: int, winners: list, months?: int, stars?: int, prize_description?: string, until_date: int}|array{_: 'messageMediaPaidMedia', stars_amount: int, extended_media: list}}>, lang_codes: list} @see https://docs.madelineproto.xyz/API_docs/types/bots.PreviewInfo.html
*/
public function getPreviewInfo(array|int|string|null $bot = null, string|null $lang_code = '', ?int $floodWaitLimit = null, ?string $queueId = null, ?\Amp\Cancellation $cancellation = null): array;
@@ -269,7 +269,7 @@ interface Bots
* @param ?int $floodWaitLimit Can be used to specify a custom flood wait limit: if a FLOOD_WAIT_ rate limiting error is received with a waiting period bigger than this integer, an RPCErrorException will be thrown; otherwise, MadelineProto will simply wait for the specified amount of time. Defaults to the value specified in the settings: https://docs.madelineproto.xyz/PHP/danog/MadelineProto/Settings/RPC.html#setfloodtimeout-int-floodtimeout-self
* @param ?string $queueId If specified, ensures strict server-side execution order of concurrent calls with the same queue ID.
* @param ?\Amp\Cancellation $cancellation Cancellation
- * @return list, video_sizes?: list, dc_id: array}, ttl_seconds?: int}|array{_: 'messageMediaGeo', geo: array{_: 'geoPointEmpty'}|array{_: 'geoPoint', long: array, lat: array, access_hash: array, accuracy_radius?: array}}|array{_: 'messageMediaContact', phone_number: string, first_name: string, last_name: string, vcard: string, user_id: int}|array{_: 'messageMediaUnsupported'}|array{_: 'messageMediaDocument', nopremium: bool, spoiler: bool, video: bool, round: bool, voice: bool, document?: array{_: 'documentEmpty', id: array}|array{_: 'document', id: array, access_hash: array, file_reference: array, date: array, mime_type: array, size: array, thumbs?: list, video_thumbs?: list, dc_id: array, attributes: list}, alt_document?: array{_: 'documentEmpty', id: array}|array{_: 'document', id: array, access_hash: array, file_reference: array, date: array, mime_type: array, size: array, thumbs?: list, video_thumbs?: list, dc_id: array, attributes: list}, ttl_seconds?: int}|array{_: 'messageMediaWebPage', force_large_media: bool, force_small_media: bool, manual: bool, safe: bool, webpage: array{_: 'webPageEmpty', id: array, url?: array}|array{_: 'webPagePending', id: array, url?: array, date: array}|array{_: 'webPage', has_large_media: array, id: array, url: array, display_url: array, hash: array, type?: array, site_name?: array, title?: array, description?: array, photo?: array{_: 'photoEmpty', id: array}|array{_: 'photo', has_stickers: array, id: array, access_hash: array, file_reference: array, date: array, sizes: list, video_sizes?: list, dc_id: array}, embed_url?: array, embed_type?: array, embed_width?: array, embed_height?: array, duration?: array, author?: array, document?: array{_: 'documentEmpty', id: array}|array{_: 'document', id: array, access_hash: array, file_reference: array, date: array, mime_type: array, size: array, thumbs?: list, video_thumbs?: list, dc_id: array, attributes: list}, cached_page?: array, attributes?: list}|array{_: 'webPageNotModified', cached_page_views?: array}}|array{_: 'messageMediaVenue', geo: array{_: 'geoPointEmpty'}|array{_: 'geoPoint', long: array, lat: array, access_hash: array, accuracy_radius?: array}, title: string, address: string, provider: string, venue_id: string, venue_type: string}|array{_: 'messageMediaGame', game: array{_: 'game', id: array, access_hash: array, short_name: array, title: array, description: array, photo: array{_: 'photoEmpty', id: array}|array{_: 'photo', has_stickers: array, id: array, access_hash: array, file_reference: array, date: array, sizes: list, video_sizes?: list, dc_id: array}, document?: array{_: 'documentEmpty', id: array}|array{_: 'document', id: array, access_hash: array, file_reference: array, date: array, mime_type: array, size: array, thumbs?: list, video_thumbs?: list, dc_id: array, attributes: list}}}|array{_: 'messageMediaInvoice', shipping_address_requested: bool, test: bool, title: string, description: string, photo?: array{_: 'webDocument', url: array, access_hash: array, size: array, mime_type: array, attributes: list}|array{_: 'webDocumentNoProxy', url: array, size: array, mime_type: array, attributes: list}, receipt_msg_id?: int, currency: string, total_amount: int, start_param: string, extended_media?: array{_: 'messageExtendedMediaPreview', w?: array, h?: array, thumb?: array, video_duration?: array}}|array{_: 'messageMediaGeoLive', geo: array{_: 'geoPointEmpty'}|array{_: 'geoPoint', long: array, lat: array, access_hash: array, accuracy_radius?: array}, heading?: int, period: int, proximity_notification_radius?: int}|array{_: 'messageMediaPoll', poll: array{_: 'poll', question: array, id: array, closed: array, public_voters: array, multiple_choice: array, quiz: array, answers: list, close_period?: array, close_date?: array}, results: array{_: 'pollResults', min: array, results?: list, total_voters?: array, recent_voters?: list, solution?: array, solution_entities?: list}}|array{_: 'messageMediaDice', value: int, emoticon: string}|array{_: 'messageMediaStory', peer: array|int|string, via_mention: bool, id: int, story?: array{_: 'storyItemDeleted', id: array}|array{_: 'storyItemSkipped', close_friends: array, id: array, date: array, expire_date: array}}|array{_: 'messageMediaGiveaway', only_new_subscribers: bool, winners_are_visible: bool, channels: list, countries_iso2?: list, prize_description?: string, quantity: int, months: int, until_date: int}|array{_: 'messageMediaGiveawayResults', only_new_subscribers: bool, refunded: bool, channel_id: int, additional_peers_count?: int, launch_msg_id: int, winners_count: int, unclaimed_count: int, winners: list, months: int, prize_description?: string, until_date: int}|array{_: 'messageMediaPaidMedia', stars_amount: int, extended_media: list}}> Array of @see https://docs.madelineproto.xyz/API_docs/types/BotPreviewMedia.html
+ * @return list, video_sizes?: list, dc_id: array}, ttl_seconds?: int}|array{_: 'messageMediaGeo', geo: array{_: 'geoPointEmpty'}|array{_: 'geoPoint', long: array, lat: array, access_hash: array, accuracy_radius?: array}}|array{_: 'messageMediaContact', phone_number: string, first_name: string, last_name: string, vcard: string, user_id: int}|array{_: 'messageMediaUnsupported'}|array{_: 'messageMediaDocument', nopremium: bool, spoiler: bool, video: bool, round: bool, voice: bool, document?: array{_: 'documentEmpty', id: array}|array{_: 'document', id: array, access_hash: array, file_reference: array, date: array, mime_type: array, size: array, thumbs?: list, video_thumbs?: list, dc_id: array, attributes: list}, alt_document?: array{_: 'documentEmpty', id: array}|array{_: 'document', id: array, access_hash: array, file_reference: array, date: array, mime_type: array, size: array, thumbs?: list, video_thumbs?: list, dc_id: array, attributes: list}, ttl_seconds?: int}|array{_: 'messageMediaWebPage', force_large_media: bool, force_small_media: bool, manual: bool, safe: bool, webpage: array{_: 'webPageEmpty', id: array, url?: array}|array{_: 'webPagePending', id: array, url?: array, date: array}|array{_: 'webPage', has_large_media: array, id: array, url: array, display_url: array, hash: array, type?: array, site_name?: array, title?: array, description?: array, photo?: array{_: 'photoEmpty', id: array}|array{_: 'photo', has_stickers: array, id: array, access_hash: array, file_reference: array, date: array, sizes: list, video_sizes?: list, dc_id: array}, embed_url?: array, embed_type?: array, embed_width?: array, embed_height?: array, duration?: array, author?: array, document?: array{_: 'documentEmpty', id: array}|array{_: 'document', id: array, access_hash: array, file_reference: array, date: array, mime_type: array, size: array, thumbs?: list, video_thumbs?: list, dc_id: array, attributes: list}, cached_page?: array, attributes?: list}|array{_: 'webPageNotModified', cached_page_views?: array}}|array{_: 'messageMediaVenue', geo: array{_: 'geoPointEmpty'}|array{_: 'geoPoint', long: array, lat: array, access_hash: array, accuracy_radius?: array}, title: string, address: string, provider: string, venue_id: string, venue_type: string}|array{_: 'messageMediaGame', game: array{_: 'game', id: array, access_hash: array, short_name: array, title: array, description: array, photo: array{_: 'photoEmpty', id: array}|array{_: 'photo', has_stickers: array, id: array, access_hash: array, file_reference: array, date: array, sizes: list, video_sizes?: list, dc_id: array}, document?: array{_: 'documentEmpty', id: array}|array{_: 'document', id: array, access_hash: array, file_reference: array, date: array, mime_type: array, size: array, thumbs?: list, video_thumbs?: list, dc_id: array, attributes: list}}}|array{_: 'messageMediaInvoice', shipping_address_requested: bool, test: bool, title: string, description: string, photo?: array{_: 'webDocument', url: array, access_hash: array, size: array, mime_type: array, attributes: list}|array{_: 'webDocumentNoProxy', url: array, size: array, mime_type: array, attributes: list}, receipt_msg_id?: int, currency: string, total_amount: int, start_param: string, extended_media?: array{_: 'messageExtendedMediaPreview', w?: array, h?: array, thumb?: array, video_duration?: array}}|array{_: 'messageMediaGeoLive', geo: array{_: 'geoPointEmpty'}|array{_: 'geoPoint', long: array, lat: array, access_hash: array, accuracy_radius?: array}, heading?: int, period: int, proximity_notification_radius?: int}|array{_: 'messageMediaPoll', poll: array{_: 'poll', question: array, id: array, closed: array, public_voters: array, multiple_choice: array, quiz: array, answers: list, close_period?: array, close_date?: array}, results: array{_: 'pollResults', min: array, results?: list, total_voters?: array, recent_voters?: list, solution?: array, solution_entities?: list}}|array{_: 'messageMediaDice', value: int, emoticon: string}|array{_: 'messageMediaStory', peer: array|int|string, via_mention: bool, id: int, story?: array{_: 'storyItemDeleted', id: array}|array{_: 'storyItemSkipped', close_friends: array, id: array, date: array, expire_date: array}}|array{_: 'messageMediaGiveaway', only_new_subscribers: bool, winners_are_visible: bool, channels: list, countries_iso2?: list, prize_description?: string, quantity: int, months?: int, stars?: int, until_date: int}|array{_: 'messageMediaGiveawayResults', only_new_subscribers: bool, refunded: bool, channel_id: int, additional_peers_count?: int, launch_msg_id: int, winners_count: int, unclaimed_count: int, winners: list, months?: int, stars?: int, prize_description?: string, until_date: int}|array{_: 'messageMediaPaidMedia', stars_amount: int, extended_media: list}}> Array of @see https://docs.madelineproto.xyz/API_docs/types/BotPreviewMedia.html
*/
public function getPreviewMedias(array|int|string|null $bot = null, ?int $floodWaitLimit = null, ?string $queueId = null, ?\Amp\Cancellation $cancellation = null): array;
}
diff --git a/src/Namespace/Channels.php b/src/Namespace/Channels.php
index e0f179cbb..957c7a470 100644
--- a/src/Namespace/Channels.php
+++ b/src/Namespace/Channels.php
@@ -267,7 +267,7 @@ interface Channels
*
* @param array|int|string $channel Channel @see https://docs.madelineproto.xyz/API_docs/types/InputChannel.html
* @param string $q Search query, can be empty
- * @param array{_: 'channelAdminLogEventsFilter', join?: bool, leave?: bool, invite?: bool, ban?: bool, unban?: bool, kick?: bool, unkick?: bool, promote?: bool, demote?: bool, info?: bool, settings?: bool, pinned?: bool, edit?: bool, delete?: bool, group_call?: bool, invites?: bool, send?: bool, forums?: bool} $events_filter Event filter @see https://docs.madelineproto.xyz/API_docs/types/ChannelAdminLogEventsFilter.html
+ * @param array{_: 'channelAdminLogEventsFilter', join?: bool, leave?: bool, invite?: bool, ban?: bool, unban?: bool, kick?: bool, unkick?: bool, promote?: bool, demote?: bool, info?: bool, settings?: bool, pinned?: bool, edit?: bool, delete?: bool, group_call?: bool, invites?: bool, send?: bool, forums?: bool, sub_extend?: bool} $events_filter Event filter @see https://docs.madelineproto.xyz/API_docs/types/ChannelAdminLogEventsFilter.html
* @param list $admins Array of Only show events from these admins @see https://docs.madelineproto.xyz/API_docs/types/InputUser.html
* @param int $max_id Maximum ID of message to return (see [pagination](https://core.telegram.org/api/offsets))
* @param int $min_id Minimum ID of message to return (see [pagination](https://core.telegram.org/api/offsets))
@@ -437,7 +437,7 @@ interface Channels
* @param ?int $floodWaitLimit Can be used to specify a custom flood wait limit: if a FLOOD_WAIT_ rate limiting error is received with a waiting period bigger than this integer, an RPCErrorException will be thrown; otherwise, MadelineProto will simply wait for the specified amount of time. Defaults to the value specified in the settings: https://docs.madelineproto.xyz/PHP/danog/MadelineProto/Settings/RPC.html#setfloodtimeout-int-floodtimeout-self
* @param ?string $queueId If specified, ensures strict server-side execution order of concurrent calls with the same queue ID.
* @param ?\Amp\Cancellation $cancellation Cancellation
- * @return array{_: 'messages.sponsoredMessages', posts_between?: int, messages: list, photo?: array{_: 'photoEmpty', id: array}|array{_: 'photo', has_stickers: array, id: array, access_hash: array, file_reference: array, date: array, sizes: list, video_sizes?: list, dc_id: array}, media?: array{_: 'messageMediaEmpty'}|array{_: 'messageMediaPhoto', spoiler: bool, photo?: array{_: 'photoEmpty', id: array}|array{_: 'photo', has_stickers: array, id: array, access_hash: array, file_reference: array, date: array, sizes: list, video_sizes?: list, dc_id: array}, ttl_seconds?: int}|array{_: 'messageMediaGeo', geo: array{_: 'geoPointEmpty'}|array{_: 'geoPoint', long: array, lat: array, access_hash: array, accuracy_radius?: array}}|array{_: 'messageMediaContact', phone_number: string, first_name: string, last_name: string, vcard: string, user_id: int}|array{_: 'messageMediaUnsupported'}|array{_: 'messageMediaDocument', nopremium: bool, spoiler: bool, video: bool, round: bool, voice: bool, document?: array{_: 'documentEmpty', id: array}|array{_: 'document', id: array, access_hash: array, file_reference: array, date: array, mime_type: array, size: array, thumbs?: list, video_thumbs?: list, dc_id: array, attributes: list}, alt_document?: array{_: 'documentEmpty', id: array}|array{_: 'document', id: array, access_hash: array, file_reference: array, date: array, mime_type: array, size: array, thumbs?: list, video_thumbs?: list, dc_id: array, attributes: list}, ttl_seconds?: int}|array{_: 'messageMediaWebPage', force_large_media: bool, force_small_media: bool, manual: bool, safe: bool, webpage: array{_: 'webPageEmpty', id: array, url?: array}|array{_: 'webPagePending', id: array, url?: array, date: array}|array{_: 'webPage', has_large_media: array, id: array, url: array, display_url: array, hash: array, type?: array, site_name?: array, title?: array, description?: array, photo?: array{_: 'photoEmpty', id: array}|array{_: 'photo', has_stickers: array, id: array, access_hash: array, file_reference: array, date: array, sizes: list, video_sizes?: list, dc_id: array}, embed_url?: array, embed_type?: array, embed_width?: array, embed_height?: array, duration?: array, author?: array, document?: array{_: 'documentEmpty', id: array}|array{_: 'document', id: array, access_hash: array, file_reference: array, date: array, mime_type: array, size: array, thumbs?: list, video_thumbs?: list, dc_id: array, attributes: list}, cached_page?: array, attributes?: list}|array{_: 'webPageNotModified', cached_page_views?: array}}|array{_: 'messageMediaVenue', geo: array{_: 'geoPointEmpty'}|array{_: 'geoPoint', long: array, lat: array, access_hash: array, accuracy_radius?: array}, title: string, address: string, provider: string, venue_id: string, venue_type: string}|array{_: 'messageMediaGame', game: array{_: 'game', id: array, access_hash: array, short_name: array, title: array, description: array, photo: array{_: 'photoEmpty', id: array}|array{_: 'photo', has_stickers: array, id: array, access_hash: array, file_reference: array, date: array, sizes: list, video_sizes?: list, dc_id: array}, document?: array{_: 'documentEmpty', id: array}|array{_: 'document', id: array, access_hash: array, file_reference: array, date: array, mime_type: array, size: array, thumbs?: list