Http refactor (#307)

* refactor

* Apply fixes from StyleCI

* Implement https and http transport, add support for new req_pq_multi, send pending acks and objects in containers along with the next method call, remove dependency on the socket extension.

* Apply fixes from StyleCI

* Make types with empty constructors optional, fix phar archives (fixes #217)

* Apply fixes from StyleCI

* Update to layer 75

* Update github pages gemfile.lock
This commit is contained in:
Daniil Gentili 2018-02-18 14:18:18 +01:00 committed by GitHub
parent 56c0d43176
commit e4a326e552
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3826 changed files with 57498 additions and 3708 deletions

View File

@ -187,7 +187,7 @@ If the scripts shutsdown normally (without ctrl+c or fatal errors/exceptions), t
## Methods
A list of all of the methods that can be called with MadelineProto can be found here: [here (layer 73)](https://daniil.it/MadelineProto/API_docs/).
A list of all of the methods that can be called with MadelineProto can be found here: [here (layer 75)](https://daniil.it/MadelineProto/API_docs/).
If an object of type User, InputUser, Chat, InputChannel, Peer or InputPeer must be provided as a parameter to a method, you can substitute it with the user/group/channel's username (`@username`) or bot API id (`-1029449`, `1249421`, `-100412412901`).
@ -378,10 +378,10 @@ Here are the default values for the settings arrays and explanations for every s
'lang_code' => $lang_code,
],
'tl_schema' => [ // TL scheme files
'layer' => 73, // layer version
'layer' => 75, // layer version
'src' => [
'mtproto' => __DIR__.'/TL_mtproto_v1.json', // mtproto TL scheme
'telegram' => __DIR__.'/TL_telegram_v73.tl', // telegram TL scheme
'telegram' => __DIR__.'/TL_telegram_v75.tl', // telegram TL scheme
'secret' => __DIR__.'/TL_secret.tl', // secret chats TL scheme
'calls' => __DIR__.'/TL_calls.tl', // calls TL scheme
'botAPI' => __DIR__.'/TL_botAPI.tl', // bot API TL scheme for file ids
@ -401,7 +401,7 @@ Here are the default values for the settings arrays and explanations for every s
'logger_param' => '/tmp/MadelineProto.log',
'logger' => 3, // overwrite previous setting and echo logs
'logger_level' => Logger::VERBOSE, // Logging level, available logging levels are: ULTRA_VERBOSE, VERBOSE, NOTICE, WARNING, ERROR, FATAL_ERROR. Can be provided as last parameter to the logging function.
'rollbar_token' => 'f9fff6689aea4905b58eec73f66c791d' // You can provide a token for the rollbar log management system
'rollbar_token' => 'f9fff6689aea4905b58eec75f66c791d' // You can provide a token for the rollbar log management system
],
'max_tries' => [
'query' => 5, // How many times should I try to call a method or send an object before throwing an exception
@ -787,7 +787,7 @@ $secret_chat = $MadelineProto->get_secret_chat($chat);
[
'key' => [ // The authorization key
'auth_key' => 'string', // 256 bytes long
'fingerprint' => 10387374747492, // a 64 bit signed integer
'fingerprint' => 10387574747492, // a 64 bit signed integer
'visualization_orig' => 'string', // 16 bytes long
'visualization_46' => 'string', // 20 bytes long
// The two visualization strings must be concatenated to generate a visual fingerprint

View File

@ -13,7 +13,7 @@ If not, see <http://www.gnu.org/licenses/>.
set_include_path(get_include_path().':'.realpath(dirname(__FILE__).'/MadelineProto/'));
require 'vendor/autoload.php';
$settings = ['app_info' => ['api_id' => 6, 'api_hash' => 'eb06d4abfb49dc3eeb1aeb98ae0f581e']];
$settings = ['app_info' => ['api_id' => 6, 'api_hash' => 'eb06d4abfb49dc3eeb1aeb98ae0f581e'], 'connection_settings' => ['all' => ['protocol' => 'https', 'pfs' => true]]];
try {
$MadelineProto = new \danog\MadelineProto\API('bot.madeline');
@ -45,7 +45,7 @@ while (true) {
}
try {
// $MadelineProto->messages->sendMessage(['peer' => $update['update']['_'] === 'updateNewMessage' ? $update['update']['message']['from_id'] : $update['update']['message']['to_id'], 'message' => $res, 'reply_to_msg_id' => $update['update']['message']['id'], 'entities' => [['_' => 'messageEntityPre', 'offset' => 0, 'length' => strlen($res), 'language' => 'json']]]);
$MadelineProto->messages->sendMessage(['peer' => $update['update']['_'] === 'updateNewMessage' ? $update['update']['message']['from_id'] : $update['update']['message']['to_id'], 'message' => $res, 'reply_to_msg_id' => $update['update']['message']['id'], 'entities' => [['_' => 'messageEntityPre', 'offset' => 0, 'length' => strlen($res), 'language' => 'json']]]);
} catch (\danog\MadelineProto\RPCErrorException $e) {
$MadelineProto->messages->sendMessage(['peer' => '@danogentili', 'message' => $e->getCode().': '.$e->getMessage().PHP_EOL.$e->getTraceAsString()]);
}
@ -54,7 +54,7 @@ while (true) {
if (isset($update['update']['message']['media']) && ($update['update']['message']['media']['_'] == 'messageMediaPhoto' || $update['update']['message']['media']['_'] == 'messageMediaDocument')) {
$time = time();
$file = $MadelineProto->download_to_dir($update['update']['message']['media'], '/tmp');
// $MadelineProto->messages->sendMessage(['peer' => isset($update['update']['message']['from_id']) ? $update['update']['message']['from_id'] : $update['update']['message']['to_id'], 'message' => 'Downloaded to '.$file.' in '.(time() - $time).' seconds', 'reply_to_msg_id' => $update['update']['message']['id'], 'entities' => [['_' => 'messageEntityPre', 'offset' => 0, 'length' => strlen($res), 'language' => 'json']]]);
$MadelineProto->messages->sendMessage(['peer' => isset($update['update']['message']['from_id']) ? $update['update']['message']['from_id'] : $update['update']['message']['to_id'], 'message' => 'Downloaded to '.$file.' in '.(time() - $time).' seconds', 'reply_to_msg_id' => $update['update']['message']['id'], 'entities' => [['_' => 'messageEntityPre', 'offset' => 0, 'length' => strlen($res), 'language' => 'json']]]);
}
} catch (\danog\MadelineProto\RPCErrorException $e) {
$MadelineProto->messages->sendMessage(['peer' => '@danogentili', 'message' => $e->getCode().': '.$e->getMessage().PHP_EOL.$e->getTraceAsString()]);

View File

@ -40,9 +40,9 @@ $docs = [
'readme' => false,
],
[
'tl_schema' => ['telegram' => __DIR__.'/src/danog/MadelineProto/TL_telegram_v73.tl', 'calls' => __DIR__.'/src/danog/MadelineProto/TL_calls.tl', 'secret' => __DIR__.'/src/danog/MadelineProto/TL_secret.tl', 'td' => __DIR__.'/src/danog/MadelineProto/TL_td.tl'],
'title' => 'MadelineProto API documentation (layer 73)',
'description' => 'MadelineProto API documentation (layer 73)',
'tl_schema' => ['telegram' => __DIR__.'/src/danog/MadelineProto/TL_telegram_v75.tl', 'calls' => __DIR__.'/src/danog/MadelineProto/TL_calls.tl', 'secret' => __DIR__.'/src/danog/MadelineProto/TL_secret.tl', 'td' => __DIR__.'/src/danog/MadelineProto/TL_td.tl'],
'title' => 'MadelineProto API documentation (layer 75)',
'description' => 'MadelineProto API documentation (layer 75)',
'output_dir' => __DIR__.'/docs/API_docs',
'readme' => false,
],

View File

@ -2,7 +2,7 @@
"name": "danog/madelineproto",
"description": "PHP implementation of telegram's MTProto protocol.",
"type": "project",
"license": "AGPL-3.0",
"license": "AGPL-3.0-only",
"homepage": "https://daniil.it/MadelineProto",
"keywords": ["telegram", "mtproto", "protocol", "bytes", "messenger", "client", "PHP", "video", "stickers", "audio", "files", "GB"],
"conflict": {
@ -37,6 +37,7 @@
"danog\\MadelineProto\\": "src/"
},
"files": [
"src/BigIntegor.php"
"src/Socket.php",
"src/Collectable.php",
"src/Threaded.php",
@ -44,7 +45,6 @@
"src/Thread.php",
"src/Worker.php",
"src/Pool.php",
"src/BigIntegor.php"
]
}
}

View File

@ -0,0 +1,43 @@
---
title: account.webAuthorizations
description: account_webAuthorizations attributes, type and example
---
## Constructor: account.webAuthorizations
[Back to constructors index](index.md)
### Attributes:
| Name | Type | Required |
|----------|---------------|----------|
|authorizations|Array of [WebAuthorization](../types/WebAuthorization.md) | Yes|
|users|Array of [User](../types/User.md) | Yes|
### Type: [account\_WebAuthorizations](../types/account_WebAuthorizations.md)
### Example:
```
$account_webAuthorizations = ['_' => 'account.webAuthorizations', 'authorizations' => [WebAuthorization], 'users' => [User]];
```
[PWRTelegram](https://pwrtelegram.xyz) json-encoded version:
```
{"_": "account.webAuthorizations", "authorizations": [WebAuthorization], "users": [User]}
```
Or, if you're into Lua:
```
account_webAuthorizations={_='account.webAuthorizations', authorizations={WebAuthorization}, users={User}}
```

View File

@ -12,7 +12,7 @@ description: auth_authorization attributes, type and example
| Name | Type | Required |
|----------|---------------|----------|
|tmp\_sessions|[int](../types/int.md) | Optional|
|user|[User](../types/User.md) | Yes|
|user|[User](../types/User.md) | Optional|

View File

@ -0,0 +1,44 @@
---
title: bad_msg_notification
description: bad_msg_notification attributes, type and example
---
## Constructor: bad\_msg\_notification
[Back to constructors index](index.md)
### Attributes:
| Name | Type | Required |
|----------|---------------|----------|
|bad\_msg\_id|[long](../types/long.md) | Yes|
|bad\_msg\_seqno|[int](../types/int.md) | Yes|
|error\_code|[int](../types/int.md) | Yes|
### Type: [BadMsgNotification](../types/BadMsgNotification.md)
### Example:
```
$bad_msg_notification = ['_' => 'bad_msg_notification', 'bad_msg_id' => long, 'bad_msg_seqno' => int, 'error_code' => int];
```
[PWRTelegram](https://pwrtelegram.xyz) json-encoded version:
```
{"_": "bad_msg_notification", "bad_msg_id": long, "bad_msg_seqno": int, "error_code": int}
```
Or, if you're into Lua:
```
bad_msg_notification={_='bad_msg_notification', bad_msg_id=long, bad_msg_seqno=int, error_code=int}
```

View File

@ -0,0 +1,45 @@
---
title: bad_server_salt
description: bad_server_salt attributes, type and example
---
## Constructor: bad\_server\_salt
[Back to constructors index](index.md)
### Attributes:
| Name | Type | Required |
|----------|---------------|----------|
|bad\_msg\_id|[long](../types/long.md) | Yes|
|bad\_msg\_seqno|[int](../types/int.md) | Yes|
|error\_code|[int](../types/int.md) | Yes|
|new\_server\_salt|[long](../types/long.md) | Yes|
### Type: [BadMsgNotification](../types/BadMsgNotification.md)
### Example:
```
$bad_server_salt = ['_' => 'bad_server_salt', 'bad_msg_id' => long, 'bad_msg_seqno' => int, 'error_code' => int, 'new_server_salt' => long];
```
[PWRTelegram](https://pwrtelegram.xyz) json-encoded version:
```
{"_": "bad_server_salt", "bad_msg_id": long, "bad_msg_seqno": int, "error_code": int, "new_server_salt": long}
```
Or, if you're into Lua:
```
bad_server_salt={_='bad_server_salt', bad_msg_id=long, bad_msg_seqno=int, error_code=int, new_server_salt=long}
```

View File

@ -11,7 +11,8 @@ description: botInlineMessageMediaAuto attributes, type and example
| Name | Type | Required |
|----------|---------------|----------|
|caption|[string](../types/string.md) | Yes|
|message|[string](../types/string.md) | Yes|
|entities|Array of [MessageEntity](../types/MessageEntity.md) | Optional|
|reply\_markup|[ReplyMarkup](../types/ReplyMarkup.md) | Optional|
@ -22,13 +23,13 @@ description: botInlineMessageMediaAuto attributes, type and example
### Example:
```
$botInlineMessageMediaAuto = ['_' => 'botInlineMessageMediaAuto', 'caption' => 'string', 'reply_markup' => ReplyMarkup];
$botInlineMessageMediaAuto = ['_' => 'botInlineMessageMediaAuto', 'message' => 'string', 'entities' => [MessageEntity], 'reply_markup' => ReplyMarkup];
```
[PWRTelegram](https://pwrtelegram.xyz) json-encoded version:
```
{"_": "botInlineMessageMediaAuto", "caption": "string", "reply_markup": ReplyMarkup}
{"_": "botInlineMessageMediaAuto", "message": "string", "entities": [MessageEntity], "reply_markup": ReplyMarkup}
```
@ -36,7 +37,7 @@ Or, if you're into Lua:
```
botInlineMessageMediaAuto={_='botInlineMessageMediaAuto', caption='string', reply_markup=ReplyMarkup}
botInlineMessageMediaAuto={_='botInlineMessageMediaAuto', message='string', entities={MessageEntity}, reply_markup=ReplyMarkup}
```

View File

@ -11,7 +11,7 @@ description: botInlineMessageMediaGeo attributes, type and example
| Name | Type | Required |
|----------|---------------|----------|
|geo|[GeoPoint](../types/GeoPoint.md) | Yes|
|geo|[GeoPoint](../types/GeoPoint.md) | Optional|
|period|[int](../types/int.md) | Yes|
|reply\_markup|[ReplyMarkup](../types/ReplyMarkup.md) | Optional|

View File

@ -11,7 +11,7 @@ description: botInlineMessageMediaVenue attributes, type and example
| Name | Type | Required |
|----------|---------------|----------|
|geo|[GeoPoint](../types/GeoPoint.md) | Yes|
|geo|[GeoPoint](../types/GeoPoint.md) | Optional|
|title|[string](../types/string.md) | Yes|
|address|[string](../types/string.md) | Yes|
|provider|[string](../types/string.md) | Yes|

View File

@ -25,7 +25,7 @@ description: channel attributes, type and example
|access\_hash|[long](../types/long.md) | Optional|
|title|[string](../types/string.md) | Yes|
|username|[string](../types/string.md) | Optional|
|photo|[ChatPhoto](../types/ChatPhoto.md) | Yes|
|photo|[ChatPhoto](../types/ChatPhoto.md) | Optional|
|date|[int](../types/int.md) | Yes|
|version|[int](../types/int.md) | Yes|
|restriction\_reason|[string](../types/string.md) | Optional|

View File

@ -11,8 +11,8 @@ description: channelAdminLogEventActionChangePhoto attributes, type and example
| Name | Type | Required |
|----------|---------------|----------|
|prev\_photo|[ChatPhoto](../types/ChatPhoto.md) | Yes|
|new\_photo|[ChatPhoto](../types/ChatPhoto.md) | Yes|
|prev\_photo|[ChatPhoto](../types/ChatPhoto.md) | Optional|
|new\_photo|[ChatPhoto](../types/ChatPhoto.md) | Optional|

View File

@ -11,8 +11,8 @@ description: channelAdminLogEventActionChangeStickerSet attributes, type and exa
| Name | Type | Required |
|----------|---------------|----------|
|prev\_stickerset|[InputStickerSet](../types/InputStickerSet.md) | Yes|
|new\_stickerset|[InputStickerSet](../types/InputStickerSet.md) | Yes|
|prev\_stickerset|[InputStickerSet](../types/InputStickerSet.md) | Optional|
|new\_stickerset|[InputStickerSet](../types/InputStickerSet.md) | Optional|

View File

@ -11,7 +11,7 @@ description: channelAdminLogEventActionDeleteMessage attributes, type and exampl
| Name | Type | Required |
|----------|---------------|----------|
|message|[Message](../types/Message.md) | Yes|
|message|[Message](../types/Message.md) | Optional|

View File

@ -11,8 +11,8 @@ description: channelAdminLogEventActionEditMessage attributes, type and example
| Name | Type | Required |
|----------|---------------|----------|
|prev\_message|[Message](../types/Message.md) | Yes|
|new\_message|[Message](../types/Message.md) | Yes|
|prev\_message|[Message](../types/Message.md) | Optional|
|new\_message|[Message](../types/Message.md) | Optional|

View File

@ -11,7 +11,7 @@ description: channelAdminLogEventActionUpdatePinned attributes, type and example
| Name | Type | Required |
|----------|---------------|----------|
|message|[Message](../types/Message.md) | Yes|
|message|[Message](../types/Message.md) | Optional|

View File

@ -24,8 +24,8 @@ description: channelFull attributes, type and example
|read\_inbox\_max\_id|[int](../types/int.md) | Yes|
|read\_outbox\_max\_id|[int](../types/int.md) | Yes|
|unread\_count|[int](../types/int.md) | Yes|
|chat\_photo|[Photo](../types/Photo.md) | Yes|
|notify\_settings|[PeerNotifySettings](../types/PeerNotifySettings.md) | Yes|
|chat\_photo|[Photo](../types/Photo.md) | Optional|
|notify\_settings|[PeerNotifySettings](../types/PeerNotifySettings.md) | Optional|
|exported\_invite|[ExportedChatInvite](../types/ExportedChatInvite.md) | Yes|
|bot\_info|Array of [BotInfo](../types/BotInfo.md) | Yes|
|migrated\_from\_chat\_id|[int](../types/int.md) | Optional|

View File

@ -19,7 +19,7 @@ description: chat attributes, type and example
|deactivated|[Bool](../types/Bool.md) | Optional|
|id|[int](../types/int.md) | Yes|
|title|[string](../types/string.md) | Yes|
|photo|[ChatPhoto](../types/ChatPhoto.md) | Yes|
|photo|[ChatPhoto](../types/ChatPhoto.md) | Optional|
|participants\_count|[int](../types/int.md) | Yes|
|date|[int](../types/int.md) | Yes|
|version|[int](../types/int.md) | Yes|

View File

@ -13,8 +13,8 @@ description: chatFull attributes, type and example
|----------|---------------|----------|
|id|[int](../types/int.md) | Yes|
|participants|[ChatParticipants](../types/ChatParticipants.md) | Yes|
|chat\_photo|[Photo](../types/Photo.md) | Yes|
|notify\_settings|[PeerNotifySettings](../types/PeerNotifySettings.md) | Yes|
|chat\_photo|[Photo](../types/Photo.md) | Optional|
|notify\_settings|[PeerNotifySettings](../types/PeerNotifySettings.md) | Optional|
|exported\_invite|[ExportedChatInvite](../types/ExportedChatInvite.md) | Yes|
|bot\_info|Array of [BotInfo](../types/BotInfo.md) | Yes|

View File

@ -16,7 +16,7 @@ description: chatInvite attributes, type and example
|public|[Bool](../types/Bool.md) | Optional|
|megagroup|[Bool](../types/Bool.md) | Optional|
|title|[string](../types/string.md) | Yes|
|photo|[ChatPhoto](../types/ChatPhoto.md) | Yes|
|photo|[ChatPhoto](../types/ChatPhoto.md) | Optional|
|participants\_count|[int](../types/int.md) | Yes|
|participants|Array of [User](../types/User.md) | Optional|

View File

@ -11,7 +11,7 @@ description: chatInviteAlready attributes, type and example
| Name | Type | Required |
|----------|---------------|----------|
|chat|[Chat](../types/Chat.md) | Yes|
|chat|[Chat](../types/Chat.md) | Optional|

View File

@ -0,0 +1,45 @@
---
title: client_DH_inner_data
description: client_DH_inner_data attributes, type and example
---
## Constructor: client\_DH\_inner\_data
[Back to constructors index](index.md)
### Attributes:
| Name | Type | Required |
|----------|---------------|----------|
|nonce|[int128](../types/int128.md) | Yes|
|server\_nonce|[int128](../types/int128.md) | Yes|
|retry\_id|[long](../types/long.md) | Yes|
|g\_b|[string](../types/string.md) | Yes|
### Type: [Client\_DH\_Inner\_Data](../types/Client_DH_Inner_Data.md)
### Example:
```
$client_DH_inner_data = ['_' => 'client_DH_inner_data', 'nonce' => int128, 'server_nonce' => int128, 'retry_id' => long, 'g_b' => 'string'];
```
[PWRTelegram](https://pwrtelegram.xyz) json-encoded version:
```
{"_": "client_DH_inner_data", "nonce": int128, "server_nonce": int128, "retry_id": long, "g_b": "string"}
```
Or, if you're into Lua:
```
client_DH_inner_data={_='client_DH_inner_data', nonce=int128, server_nonce=int128, retry_id=long, g_b='string'}
```

View File

@ -12,7 +12,7 @@ description: contactStatus attributes, type and example
| Name | Type | Required |
|----------|---------------|----------|
|user\_id|[int](../types/int.md) | Yes|
|status|[UserStatus](../types/UserStatus.md) | Yes|
|status|[UserStatus](../types/UserStatus.md) | Optional|

View File

@ -11,6 +11,7 @@ description: contacts_found attributes, type and example
| Name | Type | Required |
|----------|---------------|----------|
|my\_results|Array of [Peer](../types/Peer.md) | Yes|
|results|Array of [Peer](../types/Peer.md) | Yes|
|chats|Array of [Chat](../types/Chat.md) | Yes|
|users|Array of [User](../types/User.md) | Yes|
@ -23,13 +24,13 @@ description: contacts_found attributes, type and example
### Example:
```
$contacts_found = ['_' => 'contacts.found', 'results' => [Peer], 'chats' => [Chat], 'users' => [User]];
$contacts_found = ['_' => 'contacts.found', 'my_results' => [Peer], 'results' => [Peer], 'chats' => [Chat], 'users' => [User]];
```
[PWRTelegram](https://pwrtelegram.xyz) json-encoded version:
```
{"_": "contacts.found", "results": [Peer], "chats": [Chat], "users": [User]}
{"_": "contacts.found", "my_results": [Peer], "results": [Peer], "chats": [Chat], "users": [User]}
```
@ -37,7 +38,7 @@ Or, if you're into Lua:
```
contacts_found={_='contacts.found', results={Peer}, chats={Chat}, users={User}}
contacts_found={_='contacts.found', my_results={Peer}, results={Peer}, chats={Chat}, users={User}}
```

View File

@ -13,7 +13,7 @@ description: contacts_link attributes, type and example
|----------|---------------|----------|
|my\_link|[ContactLink](../types/ContactLink.md) | Yes|
|foreign\_link|[ContactLink](../types/ContactLink.md) | Yes|
|user|[User](../types/User.md) | Yes|
|user|[User](../types/User.md) | Optional|

View File

@ -16,7 +16,7 @@ description: decryptedMessageMediaExternalDocument attributes, type and example
|date|[int](../types/int.md) | Yes|
|mime\_type|[string](../types/string.md) | Yes|
|size|[int](../types/int.md) | Yes|
|thumb|[PhotoSize](../types/PhotoSize.md) | Yes|
|thumb|[PhotoSize](../types/PhotoSize.md) | Optional|
|dc\_id|[int](../types/int.md) | Yes|
|attributes|Array of [DocumentAttribute](../types/DocumentAttribute.md) | Yes|

View File

@ -0,0 +1,37 @@
---
title: destroy_auth_key_fail
description: destroy_auth_key_fail attributes, type and example
---
## Constructor: destroy\_auth\_key\_fail
[Back to constructors index](index.md)
### Type: [DestroyAuthKeyRes](../types/DestroyAuthKeyRes.md)
### Example:
```
$destroy_auth_key_fail = ['_' => 'destroy_auth_key_fail'];
```
[PWRTelegram](https://pwrtelegram.xyz) json-encoded version:
```
{"_": "destroy_auth_key_fail"}
```
Or, if you're into Lua:
```
destroy_auth_key_fail={_='destroy_auth_key_fail'}
```

View File

@ -0,0 +1,37 @@
---
title: destroy_auth_key_none
description: destroy_auth_key_none attributes, type and example
---
## Constructor: destroy\_auth\_key\_none
[Back to constructors index](index.md)
### Type: [DestroyAuthKeyRes](../types/DestroyAuthKeyRes.md)
### Example:
```
$destroy_auth_key_none = ['_' => 'destroy_auth_key_none'];
```
[PWRTelegram](https://pwrtelegram.xyz) json-encoded version:
```
{"_": "destroy_auth_key_none"}
```
Or, if you're into Lua:
```
destroy_auth_key_none={_='destroy_auth_key_none'}
```

View File

@ -0,0 +1,37 @@
---
title: destroy_auth_key_ok
description: destroy_auth_key_ok attributes, type and example
---
## Constructor: destroy\_auth\_key\_ok
[Back to constructors index](index.md)
### Type: [DestroyAuthKeyRes](../types/DestroyAuthKeyRes.md)
### Example:
```
$destroy_auth_key_ok = ['_' => 'destroy_auth_key_ok'];
```
[PWRTelegram](https://pwrtelegram.xyz) json-encoded version:
```
{"_": "destroy_auth_key_ok"}
```
Or, if you're into Lua:
```
destroy_auth_key_ok={_='destroy_auth_key_ok'}
```

View File

@ -0,0 +1,42 @@
---
title: destroy_session_none
description: destroy_session_none attributes, type and example
---
## Constructor: destroy\_session\_none
[Back to constructors index](index.md)
### Attributes:
| Name | Type | Required |
|----------|---------------|----------|
|session\_id|[long](../types/long.md) | Yes|
### Type: [DestroySessionRes](../types/DestroySessionRes.md)
### Example:
```
$destroy_session_none = ['_' => 'destroy_session_none', 'session_id' => long];
```
[PWRTelegram](https://pwrtelegram.xyz) json-encoded version:
```
{"_": "destroy_session_none", "session_id": long}
```
Or, if you're into Lua:
```
destroy_session_none={_='destroy_session_none', session_id=long}
```

View File

@ -0,0 +1,42 @@
---
title: destroy_session_ok
description: destroy_session_ok attributes, type and example
---
## Constructor: destroy\_session\_ok
[Back to constructors index](index.md)
### Attributes:
| Name | Type | Required |
|----------|---------------|----------|
|session\_id|[long](../types/long.md) | Yes|
### Type: [DestroySessionRes](../types/DestroySessionRes.md)
### Example:
```
$destroy_session_ok = ['_' => 'destroy_session_ok', 'session_id' => long];
```
[PWRTelegram](https://pwrtelegram.xyz) json-encoded version:
```
{"_": "destroy_session_ok", "session_id": long}
```
Or, if you're into Lua:
```
destroy_session_ok={_='destroy_session_ok', session_id=long}
```

View File

@ -0,0 +1,44 @@
---
title: dh_gen_fail
description: dh_gen_fail attributes, type and example
---
## Constructor: dh\_gen\_fail
[Back to constructors index](index.md)
### Attributes:
| Name | Type | Required |
|----------|---------------|----------|
|nonce|[int128](../types/int128.md) | Yes|
|server\_nonce|[int128](../types/int128.md) | Yes|
|new\_nonce\_hash3|[int128](../types/int128.md) | Yes|
### Type: [Set\_client\_DH\_params\_answer](../types/Set_client_DH_params_answer.md)
### Example:
```
$dh_gen_fail = ['_' => 'dh_gen_fail', 'nonce' => int128, 'server_nonce' => int128, 'new_nonce_hash3' => int128];
```
[PWRTelegram](https://pwrtelegram.xyz) json-encoded version:
```
{"_": "dh_gen_fail", "nonce": int128, "server_nonce": int128, "new_nonce_hash3": int128}
```
Or, if you're into Lua:
```
dh_gen_fail={_='dh_gen_fail', nonce=int128, server_nonce=int128, new_nonce_hash3=int128}
```

View File

@ -0,0 +1,44 @@
---
title: dh_gen_ok
description: dh_gen_ok attributes, type and example
---
## Constructor: dh\_gen\_ok
[Back to constructors index](index.md)
### Attributes:
| Name | Type | Required |
|----------|---------------|----------|
|nonce|[int128](../types/int128.md) | Yes|
|server\_nonce|[int128](../types/int128.md) | Yes|
|new\_nonce\_hash1|[int128](../types/int128.md) | Yes|
### Type: [Set\_client\_DH\_params\_answer](../types/Set_client_DH_params_answer.md)
### Example:
```
$dh_gen_ok = ['_' => 'dh_gen_ok', 'nonce' => int128, 'server_nonce' => int128, 'new_nonce_hash1' => int128];
```
[PWRTelegram](https://pwrtelegram.xyz) json-encoded version:
```
{"_": "dh_gen_ok", "nonce": int128, "server_nonce": int128, "new_nonce_hash1": int128}
```
Or, if you're into Lua:
```
dh_gen_ok={_='dh_gen_ok', nonce=int128, server_nonce=int128, new_nonce_hash1=int128}
```

View File

@ -0,0 +1,44 @@
---
title: dh_gen_retry
description: dh_gen_retry attributes, type and example
---
## Constructor: dh\_gen\_retry
[Back to constructors index](index.md)
### Attributes:
| Name | Type | Required |
|----------|---------------|----------|
|nonce|[int128](../types/int128.md) | Yes|
|server\_nonce|[int128](../types/int128.md) | Yes|
|new\_nonce\_hash2|[int128](../types/int128.md) | Yes|
### Type: [Set\_client\_DH\_params\_answer](../types/Set_client_DH_params_answer.md)
### Example:
```
$dh_gen_retry = ['_' => 'dh_gen_retry', 'nonce' => int128, 'server_nonce' => int128, 'new_nonce_hash2' => int128];
```
[PWRTelegram](https://pwrtelegram.xyz) json-encoded version:
```
{"_": "dh_gen_retry", "nonce": int128, "server_nonce": int128, "new_nonce_hash2": int128}
```
Or, if you're into Lua:
```
dh_gen_retry={_='dh_gen_retry', nonce=int128, server_nonce=int128, new_nonce_hash2=int128}
```

View File

@ -18,7 +18,7 @@ description: dialog attributes, type and example
|read\_outbox\_max\_id|[int](../types/int.md) | Yes|
|unread\_count|[int](../types/int.md) | Yes|
|unread\_mentions\_count|[int](../types/int.md) | Yes|
|notify\_settings|[PeerNotifySettings](../types/PeerNotifySettings.md) | Yes|
|notify\_settings|[PeerNotifySettings](../types/PeerNotifySettings.md) | Optional|
|pts|[int](../types/int.md) | Optional|
|draft|[DraftMessage](../types/DraftMessage.md) | Optional|

View File

@ -16,7 +16,7 @@ description: document attributes, type and example
|date|[int](../types/int.md) | Yes|
|mime\_type|[string](../types/string.md) | Yes|
|size|[int](../types/int.md) | Yes|
|thumb|[PhotoSize](../types/PhotoSize.md) | Yes|
|thumb|[PhotoSize](../types/PhotoSize.md) | Optional|
|dc\_id|[int](../types/int.md) | Yes|
|version|[int](../types/int.md) | Yes|
|attributes|Array of [DocumentAttribute](../types/DocumentAttribute.md) | Yes|

View File

@ -13,7 +13,7 @@ description: documentAttributeSticker attributes, type and example
|----------|---------------|----------|
|mask|[Bool](../types/Bool.md) | Optional|
|alt|[string](../types/string.md) | Yes|
|stickerset|[InputStickerSet](../types/InputStickerSet.md) | Yes|
|stickerset|[InputStickerSet](../types/InputStickerSet.md) | Optional|
|mask\_coords|[MaskCoords](../types/MaskCoords.md) | Optional|

View File

@ -12,7 +12,7 @@ description: documentAttributeSticker attributes, type and example
| Name | Type | Required |
|----------|---------------|----------|
|alt|[string](../types/string.md) | Yes|
|stickerset|[InputStickerSet](../types/InputStickerSet.md) | Yes|
|stickerset|[InputStickerSet](../types/InputStickerSet.md) | Optional|

View File

@ -14,7 +14,7 @@ description: encryptedMessage attributes, type and example
|chat\_id|[int](../types/int.md) | Yes|
|date|[int](../types/int.md) | Yes|
|decrypted\_message|[DecryptedMessage](../types/DecryptedMessage.md) | Yes|
|file|[EncryptedFile](../types/EncryptedFile.md) | Yes|
|file|[EncryptedFile](../types/EncryptedFile.md) | Optional|

View File

@ -12,6 +12,7 @@ description: exportedMessageLink attributes, type and example
| Name | Type | Required |
|----------|---------------|----------|
|link|[string](../types/string.md) | Yes|
|html|[string](../types/string.md) | Yes|
@ -21,13 +22,13 @@ description: exportedMessageLink attributes, type and example
### Example:
```
$exportedMessageLink = ['_' => 'exportedMessageLink', 'link' => 'string'];
$exportedMessageLink = ['_' => 'exportedMessageLink', 'link' => 'string', 'html' => 'string'];
```
[PWRTelegram](https://pwrtelegram.xyz) json-encoded version:
```
{"_": "exportedMessageLink", "link": "string"}
{"_": "exportedMessageLink", "link": "string", "html": "string"}
```
@ -35,7 +36,7 @@ Or, if you're into Lua:
```
exportedMessageLink={_='exportedMessageLink', link='string'}
exportedMessageLink={_='exportedMessageLink', link='string', html='string'}
```

View File

@ -12,8 +12,8 @@ description: foundGifCached attributes, type and example
| Name | Type | Required |
|----------|---------------|----------|
|url|[string](../types/string.md) | Yes|
|photo|[Photo](../types/Photo.md) | Yes|
|document|[Document](../types/Document.md) | Yes|
|photo|[Photo](../types/Photo.md) | Optional|
|document|[Document](../types/Document.md) | Optional|

View File

@ -0,0 +1,44 @@
---
title: future_salt
description: future_salt attributes, type and example
---
## Constructor: future\_salt
[Back to constructors index](index.md)
### Attributes:
| Name | Type | Required |
|----------|---------------|----------|
|valid\_since|[int](../types/int.md) | Yes|
|valid\_until|[int](../types/int.md) | Yes|
|salt|[long](../types/long.md) | Yes|
### Type: [FutureSalt](../types/FutureSalt.md)
### Example:
```
$future_salt = ['_' => 'future_salt', 'valid_since' => int, 'valid_until' => int, 'salt' => long];
```
[PWRTelegram](https://pwrtelegram.xyz) json-encoded version:
```
{"_": "future_salt", "valid_since": int, "valid_until": int, "salt": long}
```
Or, if you're into Lua:
```
future_salt={_='future_salt', valid_since=int, valid_until=int, salt=long}
```

View File

@ -0,0 +1,44 @@
---
title: future_salts
description: future_salts attributes, type and example
---
## Constructor: future\_salts
[Back to constructors index](index.md)
### Attributes:
| Name | Type | Required |
|----------|---------------|----------|
|req\_msg\_id|[long](../types/long.md) | Yes|
|now|[int](../types/int.md) | Yes|
|salts|Array of [future\_salt](../constructors/future_salt.md) | Yes|
### Type: [FutureSalts](../types/FutureSalts.md)
### Example:
```
$future_salts = ['_' => 'future_salts', 'req_msg_id' => long, 'now' => int, 'salts' => [future_salt]];
```
[PWRTelegram](https://pwrtelegram.xyz) json-encoded version:
```
{"_": "future_salts", "req_msg_id": long, "now": int, "salts": [future_salt]}
```
Or, if you're into Lua:
```
future_salts={_='future_salts', req_msg_id=long, now=int, salts={future_salt}}
```

View File

@ -16,7 +16,7 @@ description: game attributes, type and example
|short\_name|[string](../types/string.md) | Yes|
|title|[string](../types/string.md) | Yes|
|description|[string](../types/string.md) | Yes|
|photo|[Photo](../types/Photo.md) | Yes|
|photo|[Photo](../types/Photo.md) | Optional|
|document|[Document](../types/Document.md) | Optional|

View File

@ -0,0 +1,45 @@
---
title: help.configSimple
description: help_configSimple attributes, type and example
---
## Constructor: help.configSimple
[Back to constructors index](index.md)
### Attributes:
| Name | Type | Required |
|----------|---------------|----------|
|date|[int](../types/int.md) | Yes|
|expires|[int](../types/int.md) | Yes|
|dc\_id|[int](../types/int.md) | Yes|
|ip\_port\_list|Array of [ipPort](../constructors/ipPort.md) | Yes|
### Type: [help\_ConfigSimple](../types/help_ConfigSimple.md)
### Example:
```
$help_configSimple = ['_' => 'help.configSimple', 'date' => int, 'expires' => int, 'dc_id' => int, 'ip_port_list' => [ipPort]];
```
[PWRTelegram](https://pwrtelegram.xyz) json-encoded version:
```
{"_": "help.configSimple", "date": int, "expires": int, "dc_id": int, "ip_port_list": [ipPort]}
```
Or, if you're into Lua:
```
help_configSimple={_='help.configSimple', date=int, expires=int, dc_id=int, ip_port_list={ipPort}}
```

View File

@ -12,7 +12,7 @@ description: help_support attributes, type and example
| Name | Type | Required |
|----------|---------------|----------|
|phone\_number|[string](../types/string.md) | Yes|
|user|[User](../types/User.md) | Yes|
|user|[User](../types/User.md) | Optional|

View File

@ -0,0 +1,44 @@
---
title: http_wait
description: http_wait attributes, type and example
---
## Constructor: http\_wait
[Back to constructors index](index.md)
### Attributes:
| Name | Type | Required |
|----------|---------------|----------|
|max\_delay|[int](../types/int.md) | Yes|
|wait\_after|[int](../types/int.md) | Yes|
|max\_wait|[int](../types/int.md) | Yes|
### Type: [HttpWait](../types/HttpWait.md)
### Example:
```
$http_wait = ['_' => 'http_wait', 'max_delay' => int, 'wait_after' => int, 'max_wait' => int];
```
[PWRTelegram](https://pwrtelegram.xyz) json-encoded version:
```
{"_": "http_wait", "max_delay": int, "wait_after": int, "max_wait": int}
```
Or, if you're into Lua:
```
http_wait={_='http_wait', max_delay=int, wait_after=int, max_wait=int}
```

View File

@ -4,6 +4,7 @@ description: List of constructors
---
# Constructors
[Back to API documentation index](..)
***
<br><br>[$accountDaysTTL](../constructors/accountDaysTTL.md) = \['days' => [int](../types/int.md), \];<a name="accountDaysTTL"></a>
@ -22,6 +23,8 @@ description: List of constructors
[$account\_tmpPassword](../constructors/account_tmpPassword.md) = \['tmp_password' => [bytes](../types/bytes.md), 'valid_until' => [int](../types/int.md), \];<a name="account_tmpPassword"></a>
[$account\_webAuthorizations](../constructors/account_webAuthorizations.md) = \['authorizations' => \[[WebAuthorization](../types/WebAuthorization.md)\], 'users' => \[[User](../types/User.md)\], \];<a name="account_webAuthorizations"></a>
***
<br><br>[$auth\_authorization](../constructors/auth_authorization.md) = \['tmp_sessions' => [int](../types/int.md), 'user' => [User](../types/User.md), \];<a name="auth_authorization"></a>
@ -50,6 +53,11 @@ description: List of constructors
***
<br><br>[$authorization](../constructors/authorization.md) = \['hash' => [long](../types/long.md), 'device_model' => [string](../types/string.md), 'platform' => [string](../types/string.md), 'system_version' => [string](../types/string.md), 'api_id' => [int](../types/int.md), 'app_name' => [string](../types/string.md), 'app_version' => [string](../types/string.md), 'date_created' => [int](../types/int.md), 'date_active' => [int](../types/int.md), 'ip' => [string](../types/string.md), 'country' => [string](../types/string.md), 'region' => [string](../types/string.md), \];<a name="authorization"></a>
***
<br><br>[$bad\_msg\_notification](../constructors/bad_msg_notification.md) = \['bad_msg_id' => [long](../types/long.md), 'bad_msg_seqno' => [int](../types/int.md), 'error_code' => [int](../types/int.md), \];<a name="bad_msg_notification"></a>
[$bad\_server\_salt](../constructors/bad_server_salt.md) = \['bad_msg_id' => [long](../types/long.md), 'bad_msg_seqno' => [int](../types/int.md), 'error_code' => [int](../types/int.md), 'new_server_salt' => [long](../types/long.md), \];<a name="bad_server_salt"></a>
***
<br><br>[$boolFalse](../constructors/boolFalse.md) = \[\];<a name="boolFalse"></a>
@ -66,7 +74,7 @@ description: List of constructors
<br><br>[$botInlineMediaResult](../constructors/botInlineMediaResult.md) = \['id' => [string](../types/string.md), 'type' => [string](../types/string.md), 'photo' => [Photo](../types/Photo.md), 'document' => [Document](../types/Document.md), 'title' => [string](../types/string.md), 'description' => [string](../types/string.md), 'send_message' => [BotInlineMessage](../types/BotInlineMessage.md), \];<a name="botInlineMediaResult"></a>
***
<br><br>[$botInlineMessageMediaAuto](../constructors/botInlineMessageMediaAuto.md) = \['caption' => [string](../types/string.md), 'reply_markup' => [ReplyMarkup](../types/ReplyMarkup.md), \];<a name="botInlineMessageMediaAuto"></a>
<br><br>[$botInlineMessageMediaAuto](../constructors/botInlineMessageMediaAuto.md) = \['message' => [string](../types/string.md), 'entities' => \[[MessageEntity](../types/MessageEntity.md)\], 'reply_markup' => [ReplyMarkup](../types/ReplyMarkup.md), \];<a name="botInlineMessageMediaAuto"></a>
***
<br><br>[$botInlineMessageMediaContact](../constructors/botInlineMessageMediaContact.md) = \['phone_number' => [string](../types/string.md), 'first_name' => [string](../types/string.md), 'last_name' => [string](../types/string.md), 'reply_markup' => [ReplyMarkup](../types/ReplyMarkup.md), \];<a name="botInlineMessageMediaContact"></a>
@ -254,6 +262,9 @@ description: List of constructors
***
<br><br>[$chatPhotoEmpty](../constructors/chatPhotoEmpty.md) = \[\];<a name="chatPhotoEmpty"></a>
***
<br><br>[$client\_DH\_inner\_data](../constructors/client_DH_inner_data.md) = \['nonce' => [int128](../types/int128.md), 'server_nonce' => [int128](../types/int128.md), 'retry_id' => [long](../types/long.md), 'g_b' => [string](../types/string.md), \];<a name="client_DH_inner_data"></a>
***
<br><br>[$config](../constructors/config.md) = \['phonecalls_enabled' => [Bool](../types/Bool.md), 'default_p2p_contacts' => [Bool](../types/Bool.md), 'date' => [int](../types/int.md), 'expires' => [int](../types/int.md), 'test_mode' => [Bool](../types/Bool.md), 'this_dc' => [int](../types/int.md), 'dc_options' => \[[DcOption](../types/DcOption.md)\], 'chat_size_max' => [int](../types/int.md), 'megagroup_size_max' => [int](../types/int.md), 'forwarded_count_max' => [int](../types/int.md), 'online_update_period_ms' => [int](../types/int.md), 'offline_blur_timeout_ms' => [int](../types/int.md), 'offline_idle_timeout_ms' => [int](../types/int.md), 'online_cloud_timeout_ms' => [int](../types/int.md), 'notify_cloud_delay_ms' => [int](../types/int.md), 'notify_default_delay_ms' => [int](../types/int.md), 'chat_big_size' => [int](../types/int.md), 'push_chat_period_ms' => [int](../types/int.md), 'push_chat_limit' => [int](../types/int.md), 'saved_gifs_limit' => [int](../types/int.md), 'edit_time_limit' => [int](../types/int.md), 'rating_e_decay' => [int](../types/int.md), 'stickers_recent_limit' => [int](../types/int.md), 'stickers_faved_limit' => [int](../types/int.md), 'channels_read_media_period' => [int](../types/int.md), 'tmp_sessions' => [int](../types/int.md), 'pinned_dialogs_count_max' => [int](../types/int.md), 'call_receive_timeout_ms' => [int](../types/int.md), 'call_ring_timeout_ms' => [int](../types/int.md), 'call_connect_timeout_ms' => [int](../types/int.md), 'call_packet_timeout_ms' => [int](../types/int.md), 'me_url_prefix' => [string](../types/string.md), 'suggested_lang_code' => [string](../types/string.md), 'lang_pack_version' => [int](../types/int.md), 'disabled_features' => \[[DisabledFeature](../types/DisabledFeature.md)\], \];<a name="config"></a>
@ -287,7 +298,7 @@ description: List of constructors
[$contacts\_contactsNotModified](../constructors/contacts_contactsNotModified.md) = \[\];<a name="contacts_contactsNotModified"></a>
[$contacts\_found](../constructors/contacts_found.md) = \['results' => \[[Peer](../types/Peer.md)\], 'chats' => \[[Chat](../types/Chat.md)\], 'users' => \[[User](../types/User.md)\], \];<a name="contacts_found"></a>
[$contacts\_found](../constructors/contacts_found.md) = \['my_results' => \[[Peer](../types/Peer.md)\], 'results' => \[[Peer](../types/Peer.md)\], 'chats' => \[[Chat](../types/Chat.md)\], 'users' => \[[User](../types/User.md)\], \];<a name="contacts_found"></a>
[$contacts\_importedContacts](../constructors/contacts_importedContacts.md) = \['imported' => \[[ImportedContact](../types/ImportedContact.md)\], 'popular_invites' => \[[PopularContact](../types/PopularContact.md)\], 'retry_contacts' => \[[long](../types/long.md)\], 'users' => \[[User](../types/User.md)\], \];<a name="contacts_importedContacts"></a>
@ -386,6 +397,24 @@ description: List of constructors
***
<br><br>[$decryptedMessageService\_17](../constructors/decryptedMessageService_17.md) = \['action' => [DecryptedMessageAction](../types/DecryptedMessageAction.md), \];<a name="decryptedMessageService_17"></a>
***
<br><br>[$destroy\_auth\_key\_fail](../constructors/destroy_auth_key_fail.md) = \[\];<a name="destroy_auth_key_fail"></a>
[$destroy\_auth\_key\_none](../constructors/destroy_auth_key_none.md) = \[\];<a name="destroy_auth_key_none"></a>
[$destroy\_auth\_key\_ok](../constructors/destroy_auth_key_ok.md) = \[\];<a name="destroy_auth_key_ok"></a>
[$destroy\_session\_none](../constructors/destroy_session_none.md) = \['session_id' => [long](../types/long.md), \];<a name="destroy_session_none"></a>
[$destroy\_session\_ok](../constructors/destroy_session_ok.md) = \['session_id' => [long](../types/long.md), \];<a name="destroy_session_ok"></a>
***
<br><br>[$dh\_gen\_fail](../constructors/dh_gen_fail.md) = \['nonce' => [int128](../types/int128.md), 'server_nonce' => [int128](../types/int128.md), 'new_nonce_hash3' => [int128](../types/int128.md), \];<a name="dh_gen_fail"></a>
[$dh\_gen\_ok](../constructors/dh_gen_ok.md) = \['nonce' => [int128](../types/int128.md), 'server_nonce' => [int128](../types/int128.md), 'new_nonce_hash1' => [int128](../types/int128.md), \];<a name="dh_gen_ok"></a>
[$dh\_gen\_retry](../constructors/dh_gen_retry.md) = \['nonce' => [int128](../types/int128.md), 'server_nonce' => [int128](../types/int128.md), 'new_nonce_hash2' => [int128](../types/int128.md), \];<a name="dh_gen_retry"></a>
***
<br><br>[$dialog](../constructors/dialog.md) = \['pinned' => [Bool](../types/Bool.md), 'peer' => [Peer](../types/Peer.md), 'top_message' => [int](../types/int.md), 'read_inbox_max_id' => [int](../types/int.md), 'read_outbox_max_id' => [int](../types/int.md), 'unread_count' => [int](../types/int.md), 'unread_mentions_count' => [int](../types/int.md), 'notify_settings' => [PeerNotifySettings](../types/PeerNotifySettings.md), 'pts' => [int](../types/int.md), 'draft' => [DraftMessage](../types/DraftMessage.md), \];<a name="dialog"></a>
@ -456,7 +485,7 @@ description: List of constructors
<br><br>[$error](../constructors/error.md) = \['code' => [int](../types/int.md), 'text' => [string](../types/string.md), \];<a name="error"></a>
***
<br><br>[$exportedMessageLink](../constructors/exportedMessageLink.md) = \['link' => [string](../types/string.md), \];<a name="exportedMessageLink"></a>
<br><br>[$exportedMessageLink](../constructors/exportedMessageLink.md) = \['link' => [string](../types/string.md), 'html' => [string](../types/string.md), \];<a name="exportedMessageLink"></a>
***
<br><br>[$fileLocation](../constructors/fileLocation.md) = \['dc_id' => [int](../types/int.md), 'volume_id' => [long](../types/long.md), 'local_id' => [int](../types/int.md), 'secret' => [long](../types/long.md), \];<a name="fileLocation"></a>
@ -470,6 +499,11 @@ description: List of constructors
***
<br><br>[$foundGifCached](../constructors/foundGifCached.md) = \['url' => [string](../types/string.md), 'photo' => [Photo](../types/Photo.md), 'document' => [Document](../types/Document.md), \];<a name="foundGifCached"></a>
***
<br><br>[$future\_salt](../constructors/future_salt.md) = \['valid_since' => [int](../types/int.md), 'valid_until' => [int](../types/int.md), 'salt' => [long](../types/long.md), \];<a name="future_salt"></a>
[$future\_salts](../constructors/future_salts.md) = \['req_msg_id' => [long](../types/long.md), 'now' => [int](../types/int.md), 'salts' => \[[future\_salt](../constructors/future_salt.md)\], \];<a name="future_salts"></a>
***
<br><br>[$game](../constructors/game.md) = \['id' => [long](../types/long.md), 'access_hash' => [long](../types/long.md), 'short_name' => [string](../types/string.md), 'title' => [string](../types/string.md), 'description' => [string](../types/string.md), 'photo' => [Photo](../types/Photo.md), 'document' => [Document](../types/Document.md), \];<a name="game"></a>
@ -482,6 +516,8 @@ description: List of constructors
***
<br><br>[$help\_appUpdate](../constructors/help_appUpdate.md) = \['id' => [int](../types/int.md), 'critical' => [Bool](../types/Bool.md), 'url' => [string](../types/string.md), 'text' => [string](../types/string.md), \];<a name="help_appUpdate"></a>
[$help\_configSimple](../constructors/help_configSimple.md) = \['date' => [int](../types/int.md), 'expires' => [int](../types/int.md), 'dc_id' => [int](../types/int.md), 'ip_port_list' => \[[ipPort](../constructors/ipPort.md)\], \];<a name="help_configSimple"></a>
[$help\_inviteText](../constructors/help_inviteText.md) = \['message' => [string](../types/string.md), \];<a name="help_inviteText"></a>
[$help\_noAppUpdate](../constructors/help_noAppUpdate.md) = \[\];<a name="help_noAppUpdate"></a>
@ -495,6 +531,9 @@ description: List of constructors
***
<br><br>[$highScore](../constructors/highScore.md) = \['pos' => [int](../types/int.md), 'user_id' => [int](../types/int.md), 'score' => [int](../types/int.md), \];<a name="highScore"></a>
***
<br><br>[$http\_wait](../constructors/http_wait.md) = \['max_delay' => [int](../types/int.md), 'wait_after' => [int](../types/int.md), 'max_wait' => [int](../types/int.md), \];<a name="http_wait"></a>
***
<br><br>[$importedContact](../constructors/importedContact.md) = \['user_id' => [int](../types/int.md), 'client_id' => [long](../types/long.md), \];<a name="importedContact"></a>
@ -511,7 +550,7 @@ description: List of constructors
<br><br>[$inputBotInlineMessageID](../constructors/inputBotInlineMessageID.md) = \['dc_id' => [int](../types/int.md), 'id' => [long](../types/long.md), 'access_hash' => [long](../types/long.md), \];<a name="inputBotInlineMessageID"></a>
***
<br><br>[$inputBotInlineMessageMediaAuto](../constructors/inputBotInlineMessageMediaAuto.md) = \['caption' => [string](../types/string.md), 'reply_markup' => [ReplyMarkup](../types/ReplyMarkup.md), \];<a name="inputBotInlineMessageMediaAuto"></a>
<br><br>[$inputBotInlineMessageMediaAuto](../constructors/inputBotInlineMessageMediaAuto.md) = \['message' => [string](../types/string.md), 'entities' => \[[MessageEntity](../types/MessageEntity.md)\], 'reply_markup' => [ReplyMarkup](../types/ReplyMarkup.md), \];<a name="inputBotInlineMessageMediaAuto"></a>
***
<br><br>[$inputBotInlineMessageMediaContact](../constructors/inputBotInlineMessageMediaContact.md) = \['phone_number' => [string](../types/string.md), 'first_name' => [string](../types/string.md), 'last_name' => [string](../types/string.md), 'reply_markup' => [ReplyMarkup](../types/ReplyMarkup.md), \];<a name="inputBotInlineMessageMediaContact"></a>
@ -604,10 +643,10 @@ description: List of constructors
<br><br>[$inputMediaContact](../constructors/inputMediaContact.md) = \['phone_number' => [string](../types/string.md), 'first_name' => [string](../types/string.md), 'last_name' => [string](../types/string.md), \];<a name="inputMediaContact"></a>
***
<br><br>[$inputMediaDocument](../constructors/inputMediaDocument.md) = \['id' => [InputDocument](../types/InputDocument.md), 'caption' => [string](../types/string.md), 'ttl_seconds' => [int](../types/int.md), \];<a name="inputMediaDocument"></a>
<br><br>[$inputMediaDocument](../constructors/inputMediaDocument.md) = \['id' => [InputDocument](../types/InputDocument.md), 'ttl_seconds' => [int](../types/int.md), \];<a name="inputMediaDocument"></a>
***
<br><br>[$inputMediaDocumentExternal](../constructors/inputMediaDocumentExternal.md) = \['url' => [string](../types/string.md), 'caption' => [string](../types/string.md), 'ttl_seconds' => [int](../types/int.md), \];<a name="inputMediaDocumentExternal"></a>
<br><br>[$inputMediaDocumentExternal](../constructors/inputMediaDocumentExternal.md) = \['url' => [string](../types/string.md), 'ttl_seconds' => [int](../types/int.md), \];<a name="inputMediaDocumentExternal"></a>
***
<br><br>[$inputMediaEmpty](../constructors/inputMediaEmpty.md) = \[\];<a name="inputMediaEmpty"></a>
@ -628,16 +667,16 @@ description: List of constructors
<br><br>[$inputMediaInvoice](../constructors/inputMediaInvoice.md) = \['title' => [string](../types/string.md), 'description' => [string](../types/string.md), 'photo' => [InputWebDocument](../types/InputWebDocument.md), 'invoice' => [Invoice](../types/Invoice.md), 'payload' => [bytes](../types/bytes.md), 'provider' => [string](../types/string.md), 'provider_data' => [DataJSON](../types/DataJSON.md), 'start_param' => [string](../types/string.md), \];<a name="inputMediaInvoice"></a>
***
<br><br>[$inputMediaPhoto](../constructors/inputMediaPhoto.md) = \['id' => [InputPhoto](../types/InputPhoto.md), 'caption' => [string](../types/string.md), 'ttl_seconds' => [int](../types/int.md), \];<a name="inputMediaPhoto"></a>
<br><br>[$inputMediaPhoto](../constructors/inputMediaPhoto.md) = \['id' => [InputPhoto](../types/InputPhoto.md), 'ttl_seconds' => [int](../types/int.md), \];<a name="inputMediaPhoto"></a>
***
<br><br>[$inputMediaPhotoExternal](../constructors/inputMediaPhotoExternal.md) = \['url' => [string](../types/string.md), 'caption' => [string](../types/string.md), 'ttl_seconds' => [int](../types/int.md), \];<a name="inputMediaPhotoExternal"></a>
<br><br>[$inputMediaPhotoExternal](../constructors/inputMediaPhotoExternal.md) = \['url' => [string](../types/string.md), 'ttl_seconds' => [int](../types/int.md), \];<a name="inputMediaPhotoExternal"></a>
***
<br><br>[$inputMediaUploadedDocument](../constructors/inputMediaUploadedDocument.md) = \['nosound_video' => [Bool](../types/Bool.md), 'file' => [InputFile](../types/InputFile.md), 'thumb' => [InputFile](../types/InputFile.md), 'mime_type' => [string](../types/string.md), 'attributes' => \[[DocumentAttribute](../types/DocumentAttribute.md)\], 'caption' => [string](../types/string.md), 'stickers' => \[[InputDocument](../types/InputDocument.md)\], 'ttl_seconds' => [int](../types/int.md), \];<a name="inputMediaUploadedDocument"></a>
<br><br>[$inputMediaUploadedDocument](../constructors/inputMediaUploadedDocument.md) = \['nosound_video' => [Bool](../types/Bool.md), 'file' => [InputFile](../types/InputFile.md), 'thumb' => [InputFile](../types/InputFile.md), 'mime_type' => [string](../types/string.md), 'attributes' => \[[DocumentAttribute](../types/DocumentAttribute.md)\], 'stickers' => \[[InputDocument](../types/InputDocument.md)\], 'ttl_seconds' => [int](../types/int.md), \];<a name="inputMediaUploadedDocument"></a>
***
<br><br>[$inputMediaUploadedPhoto](../constructors/inputMediaUploadedPhoto.md) = \['file' => [InputFile](../types/InputFile.md), 'caption' => [string](../types/string.md), 'stickers' => \[[InputDocument](../types/InputDocument.md)\], 'ttl_seconds' => [int](../types/int.md), \];<a name="inputMediaUploadedPhoto"></a>
<br><br>[$inputMediaUploadedPhoto](../constructors/inputMediaUploadedPhoto.md) = \['file' => [InputFile](../types/InputFile.md), 'stickers' => \[[InputDocument](../types/InputDocument.md)\], 'ttl_seconds' => [int](../types/int.md), \];<a name="inputMediaUploadedPhoto"></a>
***
<br><br>[$inputMediaVenue](../constructors/inputMediaVenue.md) = \['geo_point' => [InputGeoPoint](../types/InputGeoPoint.md), 'title' => [string](../types/string.md), 'address' => [string](../types/string.md), 'provider' => [string](../types/string.md), 'venue_id' => [string](../types/string.md), 'venue_type' => [string](../types/string.md), \];<a name="inputMediaVenue"></a>
@ -645,6 +684,15 @@ description: List of constructors
***
<br><br>[$inputMessageEntityMentionName](../constructors/inputMessageEntityMentionName.md) = \['offset' => [int](../types/int.md), 'length' => [int](../types/int.md), 'user_id' => [InputUser](../types/InputUser.md), \];<a name="inputMessageEntityMentionName"></a>
***
<br><br>[$inputMessageID](../constructors/inputMessageID.md) = \['id' => [int](../types/int.md), \];<a name="inputMessageID"></a>
***
<br><br>[$inputMessagePinned](../constructors/inputMessagePinned.md) = \[\];<a name="inputMessagePinned"></a>
***
<br><br>[$inputMessageReplyTo](../constructors/inputMessageReplyTo.md) = \['id' => [int](../types/int.md), \];<a name="inputMessageReplyTo"></a>
***
<br><br>[$inputMessagesFilterChatPhotos](../constructors/inputMessagesFilterChatPhotos.md) = \[\];<a name="inputMessagesFilterChatPhotos"></a>
@ -709,7 +757,7 @@ description: List of constructors
<br><br>[$inputPaymentCredentials](../constructors/inputPaymentCredentials.md) = \['save' => [Bool](../types/Bool.md), 'data' => [DataJSON](../types/DataJSON.md), \];<a name="inputPaymentCredentials"></a>
***
<br><br>[$inputPaymentCredentialsAndroidPay](../constructors/inputPaymentCredentialsAndroidPay.md) = \['payment_token' => [DataJSON](../types/DataJSON.md), \];<a name="inputPaymentCredentialsAndroidPay"></a>
<br><br>[$inputPaymentCredentialsAndroidPay](../constructors/inputPaymentCredentialsAndroidPay.md) = \['payment_token' => [DataJSON](../types/DataJSON.md), 'google_transaction_id' => [string](../types/string.md), \];<a name="inputPaymentCredentialsAndroidPay"></a>
***
<br><br>[$inputPaymentCredentialsApplePay](../constructors/inputPaymentCredentialsApplePay.md) = \['payment_data' => [DataJSON](../types/DataJSON.md), \];<a name="inputPaymentCredentialsApplePay"></a>
@ -793,7 +841,7 @@ description: List of constructors
<br><br>[$inputReportReasonViolence](../constructors/inputReportReasonViolence.md) = \[\];<a name="inputReportReasonViolence"></a>
***
<br><br>[$inputSingleMedia](../constructors/inputSingleMedia.md) = \['media' => [InputMedia](../types/InputMedia.md), \];<a name="inputSingleMedia"></a>
<br><br>[$inputSingleMedia](../constructors/inputSingleMedia.md) = \['media' => [InputMedia](../types/InputMedia.md), 'message' => [string](../types/string.md), 'entities' => \[[MessageEntity](../types/MessageEntity.md)\], \];<a name="inputSingleMedia"></a>
***
<br><br>[$inputStickerSetEmpty](../constructors/inputStickerSetEmpty.md) = \[\];<a name="inputStickerSetEmpty"></a>
@ -831,6 +879,9 @@ description: List of constructors
***
<br><br>[$invoice](../constructors/invoice.md) = \['test' => [Bool](../types/Bool.md), 'name_requested' => [Bool](../types/Bool.md), 'phone_requested' => [Bool](../types/Bool.md), 'email_requested' => [Bool](../types/Bool.md), 'shipping_address_requested' => [Bool](../types/Bool.md), 'flexible' => [Bool](../types/Bool.md), 'phone_to_provider' => [Bool](../types/Bool.md), 'email_to_provider' => [Bool](../types/Bool.md), 'currency' => [string](../types/string.md), 'prices' => \[[LabeledPrice](../types/LabeledPrice.md)\], \];<a name="invoice"></a>
***
<br><br>[$ipPort](../constructors/ipPort.md) = \['ipv4' => [int](../types/int.md), 'port' => [int](../types/int.md), \];<a name="ipPort"></a>
***
<br><br>[$keyboardButton](../constructors/keyboardButton.md) = \['text' => [string](../types/string.md), \];<a name="keyboardButton"></a>
@ -985,7 +1036,7 @@ description: List of constructors
<br><br>[$messageMediaContact](../constructors/messageMediaContact.md) = \['phone_number' => [string](../types/string.md), 'first_name' => [string](../types/string.md), 'last_name' => [string](../types/string.md), 'user_id' => [int](../types/int.md), \];<a name="messageMediaContact"></a>
***
<br><br>[$messageMediaDocument](../constructors/messageMediaDocument.md) = \['document' => [Document](../types/Document.md), 'caption' => [string](../types/string.md), 'ttl_seconds' => [int](../types/int.md), \];<a name="messageMediaDocument"></a>
<br><br>[$messageMediaDocument](../constructors/messageMediaDocument.md) = \['document' => [Document](../types/Document.md), 'ttl_seconds' => [int](../types/int.md), \];<a name="messageMediaDocument"></a>
***
<br><br>[$messageMediaEmpty](../constructors/messageMediaEmpty.md) = \[\];<a name="messageMediaEmpty"></a>
@ -1003,7 +1054,7 @@ description: List of constructors
<br><br>[$messageMediaInvoice](../constructors/messageMediaInvoice.md) = \['shipping_address_requested' => [Bool](../types/Bool.md), 'test' => [Bool](../types/Bool.md), 'title' => [string](../types/string.md), 'description' => [string](../types/string.md), 'photo' => [WebDocument](../types/WebDocument.md), 'receipt_msg_id' => [int](../types/int.md), 'currency' => [string](../types/string.md), 'total_amount' => [long](../types/long.md), 'start_param' => [string](../types/string.md), \];<a name="messageMediaInvoice"></a>
***
<br><br>[$messageMediaPhoto](../constructors/messageMediaPhoto.md) = \['photo' => [Photo](../types/Photo.md), 'caption' => [string](../types/string.md), 'ttl_seconds' => [int](../types/int.md), \];<a name="messageMediaPhoto"></a>
<br><br>[$messageMediaPhoto](../constructors/messageMediaPhoto.md) = \['photo' => [Photo](../types/Photo.md), 'ttl_seconds' => [int](../types/int.md), \];<a name="messageMediaPhoto"></a>
***
<br><br>[$messageMediaUnsupported](../constructors/messageMediaUnsupported.md) = \[\];<a name="messageMediaUnsupported"></a>
@ -1095,9 +1146,28 @@ description: List of constructors
[$messages\_stickersNotModified](../constructors/messages_stickersNotModified.md) = \[\];<a name="messages_stickersNotModified"></a>
***
<br><br>[$msg\_detailed\_info](../constructors/msg_detailed_info.md) = \['msg_id' => [long](../types/long.md), 'answer_msg_id' => [long](../types/long.md), 'bytes' => [int](../types/int.md), 'status' => [int](../types/int.md), \];<a name="msg_detailed_info"></a>
[$msg\_new\_detailed\_info](../constructors/msg_new_detailed_info.md) = \['answer_msg_id' => [long](../types/long.md), 'bytes' => [int](../types/int.md), 'status' => [int](../types/int.md), \];<a name="msg_new_detailed_info"></a>
[$msg\_resend\_req](../constructors/msg_resend_req.md) = \['msg_ids' => \[[long](../types/long.md)\], \];<a name="msg_resend_req"></a>
***
<br><br>[$msgs\_ack](../constructors/msgs_ack.md) = \['msg_ids' => \[[long](../types/long.md)\], \];<a name="msgs_ack"></a>
[$msgs\_all\_info](../constructors/msgs_all_info.md) = \['msg_ids' => \[[long](../types/long.md)\], 'info' => [string](../types/string.md), \];<a name="msgs_all_info"></a>
[$msgs\_state\_info](../constructors/msgs_state_info.md) = \['req_msg_id' => [long](../types/long.md), 'info' => [string](../types/string.md), \];<a name="msgs_state_info"></a>
[$msgs\_state\_req](../constructors/msgs_state_req.md) = \['msg_ids' => \[[long](../types/long.md)\], \];<a name="msgs_state_req"></a>
***
<br><br>[$nearestDc](../constructors/nearestDc.md) = \['country' => [string](../types/string.md), 'this_dc' => [int](../types/int.md), 'nearest_dc' => [int](../types/int.md), \];<a name="nearestDc"></a>
***
<br><br>[$new\_session\_created](../constructors/new_session_created.md) = \['first_msg_id' => [long](../types/long.md), 'unique_id' => [long](../types/long.md), 'server_salt' => [long](../types/long.md), \];<a name="new_session_created"></a>
***
<br><br>[$notifyAll](../constructors/notifyAll.md) = \[\];<a name="notifyAll"></a>
@ -1113,6 +1183,9 @@ description: List of constructors
***
<br><br>[$null](../constructors/null.md) = \[\];<a name="null"></a>
***
<br><br>[$p\_q\_inner\_data](../constructors/p_q_inner_data.md) = \['pq' => [string](../types/string.md), 'p' => [string](../types/string.md), 'q' => [string](../types/string.md), 'nonce' => [int128](../types/int128.md), 'server_nonce' => [int128](../types/int128.md), 'new_nonce' => [int256](../types/int256.md), \];<a name="p_q_inner_data"></a>
***
<br><br>[$pageBlockAnchor](../constructors/pageBlockAnchor.md) = \['name' => [string](../types/string.md), \];<a name="pageBlockAnchor"></a>
@ -1295,6 +1368,9 @@ description: List of constructors
[$photos\_photosSlice](../constructors/photos_photosSlice.md) = \['count' => [int](../types/int.md), 'photos' => \[[Photo](../types/Photo.md)\], 'users' => \[[User](../types/User.md)\], \];<a name="photos_photosSlice"></a>
***
<br><br>[$pong](../constructors/pong.md) = \['msg_id' => [long](../types/long.md), 'ping_id' => [long](../types/long.md), \];<a name="pong"></a>
***
<br><br>[$popularContact](../constructors/popularContact.md) = \['client_id' => [long](../types/long.md), 'importers' => [int](../types/int.md), \];<a name="popularContact"></a>
@ -1358,6 +1434,18 @@ description: List of constructors
***
<br><br>[$replyKeyboardMarkup](../constructors/replyKeyboardMarkup.md) = \['resize' => [Bool](../types/Bool.md), 'single_use' => [Bool](../types/Bool.md), 'selective' => [Bool](../types/Bool.md), 'rows' => \[[KeyboardButtonRow](../types/KeyboardButtonRow.md)\], \];<a name="replyKeyboardMarkup"></a>
***
<br><br>[$resPQ](../constructors/resPQ.md) = \['nonce' => [int128](../types/int128.md), 'server_nonce' => [int128](../types/int128.md), 'pq' => [string](../types/string.md), 'server_public_key_fingerprints' => \[[long](../types/long.md)\], \];<a name="resPQ"></a>
***
<br><br>[$rpc\_answer\_dropped](../constructors/rpc_answer_dropped.md) = \['msg_id' => [long](../types/long.md), 'seq_no' => [int](../types/int.md), 'bytes' => [int](../types/int.md), \];<a name="rpc_answer_dropped"></a>
[$rpc\_answer\_dropped\_running](../constructors/rpc_answer_dropped_running.md) = \[\];<a name="rpc_answer_dropped_running"></a>
[$rpc\_answer\_unknown](../constructors/rpc_answer_unknown.md) = \[\];<a name="rpc_answer_unknown"></a>
[$rpc\_error](../constructors/rpc_error.md) = \['error_code' => [int](../types/int.md), 'error_message' => [string](../types/string.md), \];<a name="rpc_error"></a>
***
<br><br>[$sendMessageCancelAction](../constructors/sendMessageCancelAction.md) = \[\];<a name="sendMessageCancelAction"></a>
@ -1397,6 +1485,13 @@ description: List of constructors
***
<br><br>[$sendMessageUploadVideoAction\_17](../constructors/sendMessageUploadVideoAction_17.md) = \[\];<a name="sendMessageUploadVideoAction_17"></a>
***
<br><br>[$server\_DH\_inner\_data](../constructors/server_DH_inner_data.md) = \['nonce' => [int128](../types/int128.md), 'server_nonce' => [int128](../types/int128.md), 'g' => [int](../types/int.md), 'dh_prime' => [string](../types/string.md), 'g_a' => [string](../types/string.md), 'server_time' => [int](../types/int.md), \];<a name="server_DH_inner_data"></a>
[$server\_DH\_params\_fail](../constructors/server_DH_params_fail.md) = \['nonce' => [int128](../types/int128.md), 'server_nonce' => [int128](../types/int128.md), 'new_nonce_hash' => [int128](../types/int128.md), \];<a name="server_DH_params_fail"></a>
[$server\_DH\_params\_ok](../constructors/server_DH_params_ok.md) = \['nonce' => [int128](../types/int128.md), 'server_nonce' => [int128](../types/int128.md), 'encrypted_answer' => [string](../types/string.md), \];<a name="server_DH_params_ok"></a>
***
<br><br>[$shippingOption](../constructors/shippingOption.md) = \['id' => [string](../types/string.md), 'title' => [string](../types/string.md), 'prices' => \[[LabeledPrice](../types/LabeledPrice.md)\], \];<a name="shippingOption"></a>
@ -1779,6 +1874,9 @@ description: List of constructors
***
<br><br>[$wallPaperSolid](../constructors/wallPaperSolid.md) = \['id' => [int](../types/int.md), 'title' => [string](../types/string.md), 'bg_color' => [int](../types/int.md), 'color' => [int](../types/int.md), \];<a name="wallPaperSolid"></a>
***
<br><br>[$webAuthorization](../constructors/webAuthorization.md) = \['hash' => [long](../types/long.md), 'bot_id' => [int](../types/int.md), 'domain' => [string](../types/string.md), 'browser' => [string](../types/string.md), 'platform' => [string](../types/string.md), 'date_created' => [int](../types/int.md), 'date_active' => [int](../types/int.md), 'ip' => [string](../types/string.md), 'region' => [string](../types/string.md), \];<a name="webAuthorization"></a>
***
<br><br>[$webDocument](../constructors/webDocument.md) = \['url' => [string](../types/string.md), 'access_hash' => [long](../types/long.md), 'size' => [int](../types/int.md), 'mime_type' => [string](../types/string.md), 'attributes' => \[[DocumentAttribute](../types/DocumentAttribute.md)\], 'dc_id' => [int](../types/int.md), \];<a name="webDocument"></a>

View File

@ -11,7 +11,8 @@ description: inputBotInlineMessageMediaAuto attributes, type and example
| Name | Type | Required |
|----------|---------------|----------|
|caption|[string](../types/string.md) | Yes|
|message|[string](../types/string.md) | Yes|
|entities|Array of [MessageEntity](../types/MessageEntity.md) | Optional|
|reply\_markup|[ReplyMarkup](../types/ReplyMarkup.md) | Optional|
@ -22,13 +23,13 @@ description: inputBotInlineMessageMediaAuto attributes, type and example
### Example:
```
$inputBotInlineMessageMediaAuto = ['_' => 'inputBotInlineMessageMediaAuto', 'caption' => 'string', 'reply_markup' => ReplyMarkup];
$inputBotInlineMessageMediaAuto = ['_' => 'inputBotInlineMessageMediaAuto', 'message' => 'string', 'entities' => [MessageEntity], 'reply_markup' => ReplyMarkup];
```
[PWRTelegram](https://pwrtelegram.xyz) json-encoded version:
```
{"_": "inputBotInlineMessageMediaAuto", "caption": "string", "reply_markup": ReplyMarkup}
{"_": "inputBotInlineMessageMediaAuto", "message": "string", "entities": [MessageEntity], "reply_markup": ReplyMarkup}
```
@ -36,7 +37,7 @@ Or, if you're into Lua:
```
inputBotInlineMessageMediaAuto={_='inputBotInlineMessageMediaAuto', caption='string', reply_markup=ReplyMarkup}
inputBotInlineMessageMediaAuto={_='inputBotInlineMessageMediaAuto', message='string', entities={MessageEntity}, reply_markup=ReplyMarkup}
```

View File

@ -11,7 +11,7 @@ description: inputBotInlineMessageMediaGeo attributes, type and example
| Name | Type | Required |
|----------|---------------|----------|
|geo\_point|[InputGeoPoint](../types/InputGeoPoint.md) | Yes|
|geo\_point|[InputGeoPoint](../types/InputGeoPoint.md) | Optional|
|period|[int](../types/int.md) | Yes|
|reply\_markup|[ReplyMarkup](../types/ReplyMarkup.md) | Optional|

View File

@ -11,7 +11,7 @@ description: inputBotInlineMessageMediaVenue attributes, type and example
| Name | Type | Required |
|----------|---------------|----------|
|geo\_point|[InputGeoPoint](../types/InputGeoPoint.md) | Yes|
|geo\_point|[InputGeoPoint](../types/InputGeoPoint.md) | Optional|
|title|[string](../types/string.md) | Yes|
|address|[string](../types/string.md) | Yes|
|provider|[string](../types/string.md) | Yes|

View File

@ -15,7 +15,7 @@ description: inputBotInlineResultDocument attributes, type and example
|type|[string](../types/string.md) | Yes|
|title|[string](../types/string.md) | Optional|
|description|[string](../types/string.md) | Optional|
|document|[InputDocument](../types/InputDocument.md) | Yes|
|document|[InputDocument](../types/InputDocument.md) | Optional|
|send\_message|[InputBotInlineMessage](../types/InputBotInlineMessage.md) | Yes|

View File

@ -13,7 +13,7 @@ description: inputBotInlineResultPhoto attributes, type and example
|----------|---------------|----------|
|id|[string](../types/string.md) | Yes|
|type|[string](../types/string.md) | Yes|
|photo|[InputPhoto](../types/InputPhoto.md) | Yes|
|photo|[InputPhoto](../types/InputPhoto.md) | Optional|
|send\_message|[InputBotInlineMessage](../types/InputBotInlineMessage.md) | Yes|

View File

@ -11,7 +11,7 @@ description: inputChatPhoto attributes, type and example
| Name | Type | Required |
|----------|---------------|----------|
|id|[InputPhoto](../types/InputPhoto.md) | Yes|
|id|[InputPhoto](../types/InputPhoto.md) | Optional|

View File

@ -11,7 +11,7 @@ description: inputGameShortName attributes, type and example
| Name | Type | Required |
|----------|---------------|----------|
|bot\_id|[InputUser](../types/InputUser.md) | Yes|
|bot\_id|[InputUser](../types/InputUser.md) | Optional|
|short\_name|[string](../types/string.md) | Yes|

View File

@ -11,8 +11,7 @@ description: inputMediaDocument attributes, type and example
| Name | Type | Required |
|----------|---------------|----------|
|id|[InputDocument](../types/InputDocument.md) | Yes|
|caption|[string](../types/string.md) | Yes|
|id|[InputDocument](../types/InputDocument.md) | Optional|
|ttl\_seconds|[int](../types/int.md) | Optional|
@ -23,13 +22,13 @@ description: inputMediaDocument attributes, type and example
### Example:
```
$inputMediaDocument = ['_' => 'inputMediaDocument', 'id' => InputDocument, 'caption' => 'string', 'ttl_seconds' => int];
$inputMediaDocument = ['_' => 'inputMediaDocument', 'id' => InputDocument, 'ttl_seconds' => int];
```
[PWRTelegram](https://pwrtelegram.xyz) json-encoded version:
```
{"_": "inputMediaDocument", "id": InputDocument, "caption": "string", "ttl_seconds": int}
{"_": "inputMediaDocument", "id": InputDocument, "ttl_seconds": int}
```
@ -37,7 +36,7 @@ Or, if you're into Lua:
```
inputMediaDocument={_='inputMediaDocument', id=InputDocument, caption='string', ttl_seconds=int}
inputMediaDocument={_='inputMediaDocument', id=InputDocument, ttl_seconds=int}
```

View File

@ -12,7 +12,6 @@ description: inputMediaDocumentExternal attributes, type and example
| Name | Type | Required |
|----------|---------------|----------|
|url|[string](../types/string.md) | Yes|
|caption|[string](../types/string.md) | Yes|
|ttl\_seconds|[int](../types/int.md) | Optional|
@ -23,13 +22,13 @@ description: inputMediaDocumentExternal attributes, type and example
### Example:
```
$inputMediaDocumentExternal = ['_' => 'inputMediaDocumentExternal', 'url' => 'string', 'caption' => 'string', 'ttl_seconds' => int];
$inputMediaDocumentExternal = ['_' => 'inputMediaDocumentExternal', 'url' => 'string', 'ttl_seconds' => int];
```
[PWRTelegram](https://pwrtelegram.xyz) json-encoded version:
```
{"_": "inputMediaDocumentExternal", "url": "string", "caption": "string", "ttl_seconds": int}
{"_": "inputMediaDocumentExternal", "url": "string", "ttl_seconds": int}
```
@ -37,7 +36,7 @@ Or, if you're into Lua:
```
inputMediaDocumentExternal={_='inputMediaDocumentExternal', url='string', caption='string', ttl_seconds=int}
inputMediaDocumentExternal={_='inputMediaDocumentExternal', url='string', ttl_seconds=int}
```

View File

@ -11,7 +11,7 @@ description: inputMediaGeoLive attributes, type and example
| Name | Type | Required |
|----------|---------------|----------|
|geo\_point|[InputGeoPoint](../types/InputGeoPoint.md) | Yes|
|geo\_point|[InputGeoPoint](../types/InputGeoPoint.md) | Optional|
|period|[int](../types/int.md) | Yes|

View File

@ -11,7 +11,7 @@ description: inputMediaGeoPoint attributes, type and example
| Name | Type | Required |
|----------|---------------|----------|
|geo\_point|[InputGeoPoint](../types/InputGeoPoint.md) | Yes|
|geo\_point|[InputGeoPoint](../types/InputGeoPoint.md) | Optional|

View File

@ -11,8 +11,7 @@ description: inputMediaPhoto attributes, type and example
| Name | Type | Required |
|----------|---------------|----------|
|id|[InputPhoto](../types/InputPhoto.md) | Yes|
|caption|[string](../types/string.md) | Yes|
|id|[InputPhoto](../types/InputPhoto.md) | Optional|
|ttl\_seconds|[int](../types/int.md) | Optional|
@ -23,13 +22,13 @@ description: inputMediaPhoto attributes, type and example
### Example:
```
$inputMediaPhoto = ['_' => 'inputMediaPhoto', 'id' => InputPhoto, 'caption' => 'string', 'ttl_seconds' => int];
$inputMediaPhoto = ['_' => 'inputMediaPhoto', 'id' => InputPhoto, 'ttl_seconds' => int];
```
[PWRTelegram](https://pwrtelegram.xyz) json-encoded version:
```
{"_": "inputMediaPhoto", "id": InputPhoto, "caption": "string", "ttl_seconds": int}
{"_": "inputMediaPhoto", "id": InputPhoto, "ttl_seconds": int}
```
@ -37,7 +36,7 @@ Or, if you're into Lua:
```
inputMediaPhoto={_='inputMediaPhoto', id=InputPhoto, caption='string', ttl_seconds=int}
inputMediaPhoto={_='inputMediaPhoto', id=InputPhoto, ttl_seconds=int}
```

View File

@ -12,7 +12,6 @@ description: inputMediaPhotoExternal attributes, type and example
| Name | Type | Required |
|----------|---------------|----------|
|url|[string](../types/string.md) | Yes|
|caption|[string](../types/string.md) | Yes|
|ttl\_seconds|[int](../types/int.md) | Optional|
@ -23,13 +22,13 @@ description: inputMediaPhotoExternal attributes, type and example
### Example:
```
$inputMediaPhotoExternal = ['_' => 'inputMediaPhotoExternal', 'url' => 'string', 'caption' => 'string', 'ttl_seconds' => int];
$inputMediaPhotoExternal = ['_' => 'inputMediaPhotoExternal', 'url' => 'string', 'ttl_seconds' => int];
```
[PWRTelegram](https://pwrtelegram.xyz) json-encoded version:
```
{"_": "inputMediaPhotoExternal", "url": "string", "caption": "string", "ttl_seconds": int}
{"_": "inputMediaPhotoExternal", "url": "string", "ttl_seconds": int}
```
@ -37,7 +36,7 @@ Or, if you're into Lua:
```
inputMediaPhotoExternal={_='inputMediaPhotoExternal', url='string', caption='string', ttl_seconds=int}
inputMediaPhotoExternal={_='inputMediaPhotoExternal', url='string', ttl_seconds=int}
```

View File

@ -16,7 +16,6 @@ description: inputMediaUploadedDocument attributes, type and example
|thumb|[InputFile](../types/InputFile.md) | Optional|
|mime\_type|[string](../types/string.md) | Yes|
|attributes|Array of [DocumentAttribute](../types/DocumentAttribute.md) | Yes|
|caption|[string](../types/string.md) | Yes|
|stickers|Array of [InputDocument](../types/InputDocument.md) | Optional|
|ttl\_seconds|[int](../types/int.md) | Optional|
@ -28,13 +27,13 @@ description: inputMediaUploadedDocument attributes, type and example
### Example:
```
$inputMediaUploadedDocument = ['_' => 'inputMediaUploadedDocument', 'nosound_video' => Bool, 'file' => InputFile, 'thumb' => InputFile, 'mime_type' => 'string', 'attributes' => [DocumentAttribute], 'caption' => 'string', 'stickers' => [InputDocument], 'ttl_seconds' => int];
$inputMediaUploadedDocument = ['_' => 'inputMediaUploadedDocument', 'nosound_video' => Bool, 'file' => InputFile, 'thumb' => InputFile, 'mime_type' => 'string', 'attributes' => [DocumentAttribute], 'stickers' => [InputDocument], 'ttl_seconds' => int];
```
[PWRTelegram](https://pwrtelegram.xyz) json-encoded version:
```
{"_": "inputMediaUploadedDocument", "nosound_video": Bool, "file": InputFile, "thumb": InputFile, "mime_type": "string", "attributes": [DocumentAttribute], "caption": "string", "stickers": [InputDocument], "ttl_seconds": int}
{"_": "inputMediaUploadedDocument", "nosound_video": Bool, "file": InputFile, "thumb": InputFile, "mime_type": "string", "attributes": [DocumentAttribute], "stickers": [InputDocument], "ttl_seconds": int}
```
@ -42,7 +41,7 @@ Or, if you're into Lua:
```
inputMediaUploadedDocument={_='inputMediaUploadedDocument', nosound_video=Bool, file=InputFile, thumb=InputFile, mime_type='string', attributes={DocumentAttribute}, caption='string', stickers={InputDocument}, ttl_seconds=int}
inputMediaUploadedDocument={_='inputMediaUploadedDocument', nosound_video=Bool, file=InputFile, thumb=InputFile, mime_type='string', attributes={DocumentAttribute}, stickers={InputDocument}, ttl_seconds=int}
```

View File

@ -12,7 +12,6 @@ description: inputMediaUploadedPhoto attributes, type and example
| Name | Type | Required |
|----------|---------------|----------|
|file|[InputFile](../types/InputFile.md) | Yes|
|caption|[string](../types/string.md) | Yes|
|stickers|Array of [InputDocument](../types/InputDocument.md) | Optional|
|ttl\_seconds|[int](../types/int.md) | Optional|
@ -24,13 +23,13 @@ description: inputMediaUploadedPhoto attributes, type and example
### Example:
```
$inputMediaUploadedPhoto = ['_' => 'inputMediaUploadedPhoto', 'file' => InputFile, 'caption' => 'string', 'stickers' => [InputDocument], 'ttl_seconds' => int];
$inputMediaUploadedPhoto = ['_' => 'inputMediaUploadedPhoto', 'file' => InputFile, 'stickers' => [InputDocument], 'ttl_seconds' => int];
```
[PWRTelegram](https://pwrtelegram.xyz) json-encoded version:
```
{"_": "inputMediaUploadedPhoto", "file": InputFile, "caption": "string", "stickers": [InputDocument], "ttl_seconds": int}
{"_": "inputMediaUploadedPhoto", "file": InputFile, "stickers": [InputDocument], "ttl_seconds": int}
```
@ -38,7 +37,7 @@ Or, if you're into Lua:
```
inputMediaUploadedPhoto={_='inputMediaUploadedPhoto', file=InputFile, caption='string', stickers={InputDocument}, ttl_seconds=int}
inputMediaUploadedPhoto={_='inputMediaUploadedPhoto', file=InputFile, stickers={InputDocument}, ttl_seconds=int}
```

View File

@ -11,7 +11,7 @@ description: inputMediaVenue attributes, type and example
| Name | Type | Required |
|----------|---------------|----------|
|geo\_point|[InputGeoPoint](../types/InputGeoPoint.md) | Yes|
|geo\_point|[InputGeoPoint](../types/InputGeoPoint.md) | Optional|
|title|[string](../types/string.md) | Yes|
|address|[string](../types/string.md) | Yes|
|provider|[string](../types/string.md) | Yes|

View File

@ -13,7 +13,7 @@ description: inputMessageEntityMentionName attributes, type and example
|----------|---------------|----------|
|offset|[int](../types/int.md) | Yes|
|length|[int](../types/int.md) | Yes|
|user\_id|[InputUser](../types/InputUser.md) | Yes|
|user\_id|[InputUser](../types/InputUser.md) | Optional|

View File

@ -0,0 +1,42 @@
---
title: inputMessageID
description: inputMessageID attributes, type and example
---
## Constructor: inputMessageID
[Back to constructors index](index.md)
### Attributes:
| Name | Type | Required |
|----------|---------------|----------|
|id|[int](../types/int.md) | Yes|
### Type: [InputMessage](../types/InputMessage.md)
### Example:
```
$inputMessageID = ['_' => 'inputMessageID', 'id' => int];
```
[PWRTelegram](https://pwrtelegram.xyz) json-encoded version:
```
{"_": "inputMessageID", "id": int}
```
Or, if you're into Lua:
```
inputMessageID={_='inputMessageID', id=int}
```

View File

@ -0,0 +1,37 @@
---
title: inputMessagePinned
description: inputMessagePinned attributes, type and example
---
## Constructor: inputMessagePinned
[Back to constructors index](index.md)
### Type: [InputMessage](../types/InputMessage.md)
### Example:
```
$inputMessagePinned = ['_' => 'inputMessagePinned'];
```
[PWRTelegram](https://pwrtelegram.xyz) json-encoded version:
```
{"_": "inputMessagePinned"}
```
Or, if you're into Lua:
```
inputMessagePinned={_='inputMessagePinned'}
```

View File

@ -0,0 +1,42 @@
---
title: inputMessageReplyTo
description: inputMessageReplyTo attributes, type and example
---
## Constructor: inputMessageReplyTo
[Back to constructors index](index.md)
### Attributes:
| Name | Type | Required |
|----------|---------------|----------|
|id|[int](../types/int.md) | Yes|
### Type: [InputMessage](../types/InputMessage.md)
### Example:
```
$inputMessageReplyTo = ['_' => 'inputMessageReplyTo', 'id' => int];
```
[PWRTelegram](https://pwrtelegram.xyz) json-encoded version:
```
{"_": "inputMessageReplyTo", "id": int}
```
Or, if you're into Lua:
```
inputMessageReplyTo={_='inputMessageReplyTo', id=int}
```

View File

@ -11,7 +11,7 @@ description: inputNotifyPeer attributes, type and example
| Name | Type | Required |
|----------|---------------|----------|
|peer|[InputPeer](../types/InputPeer.md) | Yes|
|peer|[InputPeer](../types/InputPeer.md) | Optional|

View File

@ -12,6 +12,7 @@ description: inputPaymentCredentialsAndroidPay attributes, type and example
| Name | Type | Required |
|----------|---------------|----------|
|payment\_token|[DataJSON](../types/DataJSON.md) | Yes|
|google\_transaction\_id|[string](../types/string.md) | Yes|
@ -21,13 +22,13 @@ description: inputPaymentCredentialsAndroidPay attributes, type and example
### Example:
```
$inputPaymentCredentialsAndroidPay = ['_' => 'inputPaymentCredentialsAndroidPay', 'payment_token' => DataJSON];
$inputPaymentCredentialsAndroidPay = ['_' => 'inputPaymentCredentialsAndroidPay', 'payment_token' => DataJSON, 'google_transaction_id' => 'string'];
```
[PWRTelegram](https://pwrtelegram.xyz) json-encoded version:
```
{"_": "inputPaymentCredentialsAndroidPay", "payment_token": DataJSON}
{"_": "inputPaymentCredentialsAndroidPay", "payment_token": DataJSON, "google_transaction_id": "string"}
```
@ -35,7 +36,7 @@ Or, if you're into Lua:
```
inputPaymentCredentialsAndroidPay={_='inputPaymentCredentialsAndroidPay', payment_token=DataJSON}
inputPaymentCredentialsAndroidPay={_='inputPaymentCredentialsAndroidPay', payment_token=DataJSON, google_transaction_id='string'}
```

View File

@ -11,7 +11,9 @@ description: inputSingleMedia attributes, type and example
| Name | Type | Required |
|----------|---------------|----------|
|media|[InputMedia](../types/InputMedia.md) | Yes|
|media|[InputMedia](../types/InputMedia.md) | Optional|
|message|[string](../types/string.md) | Yes|
|entities|Array of [MessageEntity](../types/MessageEntity.md) | Optional|
@ -21,13 +23,13 @@ description: inputSingleMedia attributes, type and example
### Example:
```
$inputSingleMedia = ['_' => 'inputSingleMedia', 'media' => InputMedia];
$inputSingleMedia = ['_' => 'inputSingleMedia', 'media' => InputMedia, 'message' => 'string', 'entities' => [MessageEntity]];
```
[PWRTelegram](https://pwrtelegram.xyz) json-encoded version:
```
{"_": "inputSingleMedia", "media": InputMedia}
{"_": "inputSingleMedia", "media": InputMedia, "message": "string", "entities": [MessageEntity]}
```
@ -35,7 +37,7 @@ Or, if you're into Lua:
```
inputSingleMedia={_='inputSingleMedia', media=InputMedia}
inputSingleMedia={_='inputSingleMedia', media=InputMedia, message='string', entities={MessageEntity}}
```

View File

@ -11,7 +11,7 @@ description: inputStickerSetItem attributes, type and example
| Name | Type | Required |
|----------|---------------|----------|
|document|[InputDocument](../types/InputDocument.md) | Yes|
|document|[InputDocument](../types/InputDocument.md) | Optional|
|emoji|[string](../types/string.md) | Yes|
|mask\_coords|[MaskCoords](../types/MaskCoords.md) | Optional|

View File

@ -11,7 +11,7 @@ description: inputStickeredMediaDocument attributes, type and example
| Name | Type | Required |
|----------|---------------|----------|
|id|[InputDocument](../types/InputDocument.md) | Yes|
|id|[InputDocument](../types/InputDocument.md) | Optional|

View File

@ -11,7 +11,7 @@ description: inputStickeredMediaPhoto attributes, type and example
| Name | Type | Required |
|----------|---------------|----------|
|id|[InputPhoto](../types/InputPhoto.md) | Yes|
|id|[InputPhoto](../types/InputPhoto.md) | Optional|

View File

@ -0,0 +1,43 @@
---
title: ipPort
description: ipPort attributes, type and example
---
## Constructor: ipPort
[Back to constructors index](index.md)
### Attributes:
| Name | Type | Required |
|----------|---------------|----------|
|ipv4|[int](../types/int.md) | Yes|
|port|[int](../types/int.md) | Yes|
### Type: [IpPort](../types/IpPort.md)
### Example:
```
$ipPort = ['_' => 'ipPort', 'ipv4' => int, 'port' => int];
```
[PWRTelegram](https://pwrtelegram.xyz) json-encoded version:
```
{"_": "ipPort", "ipv4": int, "port": int}
```
Or, if you're into Lua:
```
ipPort={_='ipPort', ipv4=int, port=int}
```

View File

@ -11,7 +11,7 @@ description: messageActionChatEditPhoto attributes, type and example
| Name | Type | Required |
|----------|---------------|----------|
|photo|[Photo](../types/Photo.md) | Yes|
|photo|[Photo](../types/Photo.md) | Optional|

View File

@ -12,7 +12,6 @@ description: messageMediaDocument attributes, type and example
| Name | Type | Required |
|----------|---------------|----------|
|document|[Document](../types/Document.md) | Optional|
|caption|[string](../types/string.md) | Optional|
|ttl\_seconds|[int](../types/int.md) | Optional|
@ -23,13 +22,13 @@ description: messageMediaDocument attributes, type and example
### Example:
```
$messageMediaDocument = ['_' => 'messageMediaDocument', 'document' => Document, 'caption' => 'string', 'ttl_seconds' => int];
$messageMediaDocument = ['_' => 'messageMediaDocument', 'document' => Document, 'ttl_seconds' => int];
```
[PWRTelegram](https://pwrtelegram.xyz) json-encoded version:
```
{"_": "messageMediaDocument", "document": Document, "caption": "string", "ttl_seconds": int}
{"_": "messageMediaDocument", "document": Document, "ttl_seconds": int}
```
@ -37,7 +36,7 @@ Or, if you're into Lua:
```
messageMediaDocument={_='messageMediaDocument', document=Document, caption='string', ttl_seconds=int}
messageMediaDocument={_='messageMediaDocument', document=Document, ttl_seconds=int}
```

View File

@ -11,7 +11,7 @@ description: messageMediaGeo attributes, type and example
| Name | Type | Required |
|----------|---------------|----------|
|geo|[GeoPoint](../types/GeoPoint.md) | Yes|
|geo|[GeoPoint](../types/GeoPoint.md) | Optional|

View File

@ -11,7 +11,7 @@ description: messageMediaGeoLive attributes, type and example
| Name | Type | Required |
|----------|---------------|----------|
|geo|[GeoPoint](../types/GeoPoint.md) | Yes|
|geo|[GeoPoint](../types/GeoPoint.md) | Optional|
|period|[int](../types/int.md) | Yes|

View File

@ -12,7 +12,6 @@ description: messageMediaPhoto attributes, type and example
| Name | Type | Required |
|----------|---------------|----------|
|photo|[Photo](../types/Photo.md) | Optional|
|caption|[string](../types/string.md) | Optional|
|ttl\_seconds|[int](../types/int.md) | Optional|
@ -23,13 +22,13 @@ description: messageMediaPhoto attributes, type and example
### Example:
```
$messageMediaPhoto = ['_' => 'messageMediaPhoto', 'photo' => Photo, 'caption' => 'string', 'ttl_seconds' => int];
$messageMediaPhoto = ['_' => 'messageMediaPhoto', 'photo' => Photo, 'ttl_seconds' => int];
```
[PWRTelegram](https://pwrtelegram.xyz) json-encoded version:
```
{"_": "messageMediaPhoto", "photo": Photo, "caption": "string", "ttl_seconds": int}
{"_": "messageMediaPhoto", "photo": Photo, "ttl_seconds": int}
```
@ -37,7 +36,7 @@ Or, if you're into Lua:
```
messageMediaPhoto={_='messageMediaPhoto', photo=Photo, caption='string', ttl_seconds=int}
messageMediaPhoto={_='messageMediaPhoto', photo=Photo, ttl_seconds=int}
```

View File

@ -11,7 +11,7 @@ description: messageMediaVenue attributes, type and example
| Name | Type | Required |
|----------|---------------|----------|
|geo|[GeoPoint](../types/GeoPoint.md) | Yes|
|geo|[GeoPoint](../types/GeoPoint.md) | Optional|
|title|[string](../types/string.md) | Yes|
|address|[string](../types/string.md) | Yes|
|provider|[string](../types/string.md) | Yes|

View File

@ -11,7 +11,7 @@ description: messageMediaWebPage attributes, type and example
| Name | Type | Required |
|----------|---------------|----------|
|webpage|[WebPage](../types/WebPage.md) | Yes|
|webpage|[WebPage](../types/WebPage.md) | Optional|

View File

@ -21,7 +21,7 @@ description: messageService attributes, type and example
|to\_id|[Peer](../types/Peer.md) | Yes|
|reply\_to\_msg\_id|[int](../types/int.md) | Optional|
|date|[int](../types/int.md) | Yes|
|action|[MessageAction](../types/MessageAction.md) | Yes|
|action|[MessageAction](../types/MessageAction.md) | Optional|

View File

@ -12,7 +12,7 @@ description: messages_sentEncryptedFile attributes, type and example
| Name | Type | Required |
|----------|---------------|----------|
|date|[int](../types/int.md) | Yes|
|file|[EncryptedFile](../types/EncryptedFile.md) | Yes|
|file|[EncryptedFile](../types/EncryptedFile.md) | Optional|

View File

@ -0,0 +1,45 @@
---
title: msg_detailed_info
description: msg_detailed_info attributes, type and example
---
## Constructor: msg\_detailed\_info
[Back to constructors index](index.md)
### Attributes:
| Name | Type | Required |
|----------|---------------|----------|
|msg\_id|[long](../types/long.md) | Yes|
|answer\_msg\_id|[long](../types/long.md) | Yes|
|bytes|[int](../types/int.md) | Yes|
|status|[int](../types/int.md) | Yes|
### Type: [MsgDetailedInfo](../types/MsgDetailedInfo.md)
### Example:
```
$msg_detailed_info = ['_' => 'msg_detailed_info', 'msg_id' => long, 'answer_msg_id' => long, 'bytes' => int, 'status' => int];
```
[PWRTelegram](https://pwrtelegram.xyz) json-encoded version:
```
{"_": "msg_detailed_info", "msg_id": long, "answer_msg_id": long, "bytes": int, "status": int}
```
Or, if you're into Lua:
```
msg_detailed_info={_='msg_detailed_info', msg_id=long, answer_msg_id=long, bytes=int, status=int}
```

View File

@ -0,0 +1,44 @@
---
title: msg_new_detailed_info
description: msg_new_detailed_info attributes, type and example
---
## Constructor: msg\_new\_detailed\_info
[Back to constructors index](index.md)
### Attributes:
| Name | Type | Required |
|----------|---------------|----------|
|answer\_msg\_id|[long](../types/long.md) | Yes|
|bytes|[int](../types/int.md) | Yes|
|status|[int](../types/int.md) | Yes|
### Type: [MsgDetailedInfo](../types/MsgDetailedInfo.md)
### Example:
```
$msg_new_detailed_info = ['_' => 'msg_new_detailed_info', 'answer_msg_id' => long, 'bytes' => int, 'status' => int];
```
[PWRTelegram](https://pwrtelegram.xyz) json-encoded version:
```
{"_": "msg_new_detailed_info", "answer_msg_id": long, "bytes": int, "status": int}
```
Or, if you're into Lua:
```
msg_new_detailed_info={_='msg_new_detailed_info', answer_msg_id=long, bytes=int, status=int}
```

View File

@ -0,0 +1,42 @@
---
title: msg_resend_req
description: msg_resend_req attributes, type and example
---
## Constructor: msg\_resend\_req
[Back to constructors index](index.md)
### Attributes:
| Name | Type | Required |
|----------|---------------|----------|
|msg\_ids|Array of [long](../types/long.md) | Yes|
### Type: [MsgResendReq](../types/MsgResendReq.md)
### Example:
```
$msg_resend_req = ['_' => 'msg_resend_req', 'msg_ids' => [long]];
```
[PWRTelegram](https://pwrtelegram.xyz) json-encoded version:
```
{"_": "msg_resend_req", "msg_ids": [long]}
```
Or, if you're into Lua:
```
msg_resend_req={_='msg_resend_req', msg_ids={long}}
```

View File

@ -0,0 +1,42 @@
---
title: msgs_ack
description: msgs_ack attributes, type and example
---
## Constructor: msgs\_ack
[Back to constructors index](index.md)
### Attributes:
| Name | Type | Required |
|----------|---------------|----------|
|msg\_ids|Array of [long](../types/long.md) | Yes|
### Type: [MsgsAck](../types/MsgsAck.md)
### Example:
```
$msgs_ack = ['_' => 'msgs_ack', 'msg_ids' => [long]];
```
[PWRTelegram](https://pwrtelegram.xyz) json-encoded version:
```
{"_": "msgs_ack", "msg_ids": [long]}
```
Or, if you're into Lua:
```
msgs_ack={_='msgs_ack', msg_ids={long}}
```

View File

@ -0,0 +1,43 @@
---
title: msgs_all_info
description: msgs_all_info attributes, type and example
---
## Constructor: msgs\_all\_info
[Back to constructors index](index.md)
### Attributes:
| Name | Type | Required |
|----------|---------------|----------|
|msg\_ids|Array of [long](../types/long.md) | Yes|
|info|[string](../types/string.md) | Yes|
### Type: [MsgsAllInfo](../types/MsgsAllInfo.md)
### Example:
```
$msgs_all_info = ['_' => 'msgs_all_info', 'msg_ids' => [long], 'info' => 'string'];
```
[PWRTelegram](https://pwrtelegram.xyz) json-encoded version:
```
{"_": "msgs_all_info", "msg_ids": [long], "info": "string"}
```
Or, if you're into Lua:
```
msgs_all_info={_='msgs_all_info', msg_ids={long}, info='string'}
```

View File

@ -0,0 +1,43 @@
---
title: msgs_state_info
description: msgs_state_info attributes, type and example
---
## Constructor: msgs\_state\_info
[Back to constructors index](index.md)
### Attributes:
| Name | Type | Required |
|----------|---------------|----------|
|req\_msg\_id|[long](../types/long.md) | Yes|
|info|[string](../types/string.md) | Yes|
### Type: [MsgsStateInfo](../types/MsgsStateInfo.md)
### Example:
```
$msgs_state_info = ['_' => 'msgs_state_info', 'req_msg_id' => long, 'info' => 'string'];
```
[PWRTelegram](https://pwrtelegram.xyz) json-encoded version:
```
{"_": "msgs_state_info", "req_msg_id": long, "info": "string"}
```
Or, if you're into Lua:
```
msgs_state_info={_='msgs_state_info', req_msg_id=long, info='string'}
```

View File

@ -0,0 +1,42 @@
---
title: msgs_state_req
description: msgs_state_req attributes, type and example
---
## Constructor: msgs\_state\_req
[Back to constructors index](index.md)
### Attributes:
| Name | Type | Required |
|----------|---------------|----------|
|msg\_ids|Array of [long](../types/long.md) | Yes|
### Type: [MsgsStateReq](../types/MsgsStateReq.md)
### Example:
```
$msgs_state_req = ['_' => 'msgs_state_req', 'msg_ids' => [long]];
```
[PWRTelegram](https://pwrtelegram.xyz) json-encoded version:
```
{"_": "msgs_state_req", "msg_ids": [long]}
```
Or, if you're into Lua:
```
msgs_state_req={_='msgs_state_req', msg_ids={long}}
```

View File

@ -0,0 +1,44 @@
---
title: new_session_created
description: new_session_created attributes, type and example
---
## Constructor: new\_session\_created
[Back to constructors index](index.md)
### Attributes:
| Name | Type | Required |
|----------|---------------|----------|
|first\_msg\_id|[long](../types/long.md) | Yes|
|unique\_id|[long](../types/long.md) | Yes|
|server\_salt|[long](../types/long.md) | Yes|
### Type: [NewSession](../types/NewSession.md)
### Example:
```
$new_session_created = ['_' => 'new_session_created', 'first_msg_id' => long, 'unique_id' => long, 'server_salt' => long];
```
[PWRTelegram](https://pwrtelegram.xyz) json-encoded version:
```
{"_": "new_session_created", "first_msg_id": long, "unique_id": long, "server_salt": long}
```
Or, if you're into Lua:
```
new_session_created={_='new_session_created', first_msg_id=long, unique_id=long, server_salt=long}
```

View File

@ -0,0 +1,47 @@
---
title: p_q_inner_data
description: p_q_inner_data attributes, type and example
---
## Constructor: p\_q\_inner\_data
[Back to constructors index](index.md)
### Attributes:
| Name | Type | Required |
|----------|---------------|----------|
|pq|[string](../types/string.md) | Yes|
|p|[string](../types/string.md) | Yes|
|q|[string](../types/string.md) | Yes|
|nonce|[int128](../types/int128.md) | Yes|
|server\_nonce|[int128](../types/int128.md) | Yes|
|new\_nonce|[int256](../types/int256.md) | Yes|
### Type: [P\_Q\_inner\_data](../types/P_Q_inner_data.md)
### Example:
```
$p_q_inner_data = ['_' => 'p_q_inner_data', 'pq' => 'string', 'p' => 'string', 'q' => 'string', 'nonce' => int128, 'server_nonce' => int128, 'new_nonce' => int256];
```
[PWRTelegram](https://pwrtelegram.xyz) json-encoded version:
```
{"_": "p_q_inner_data", "pq": "string", "p": "string", "q": "string", "nonce": int128, "server_nonce": int128, "new_nonce": int256}
```
Or, if you're into Lua:
```
p_q_inner_data={_='p_q_inner_data', pq='string', p='string', q='string', nonce=int128, server_nonce=int128, new_nonce=int256}
```

View File

@ -11,7 +11,7 @@ description: pageBlockChannel attributes, type and example
| Name | Type | Required |
|----------|---------------|----------|
|channel|[Chat](../types/Chat.md) | Yes|
|channel|[Chat](../types/Chat.md) | Optional|

View File

@ -11,7 +11,7 @@ description: phone_phoneCall attributes, type and example
| Name | Type | Required |
|----------|---------------|----------|
|phone\_call|[PhoneCall](../types/PhoneCall.md) | Yes|
|phone\_call|[PhoneCall](../types/PhoneCall.md) | Optional|
|users|Array of [User](../types/User.md) | Yes|

View File

@ -11,7 +11,7 @@ description: photos_photo attributes, type and example
| Name | Type | Required |
|----------|---------------|----------|
|photo|[Photo](../types/Photo.md) | Yes|
|photo|[Photo](../types/Photo.md) | Optional|
|users|Array of [User](../types/User.md) | Yes|

View File

@ -0,0 +1,43 @@
---
title: pong
description: pong attributes, type and example
---
## Constructor: pong
[Back to constructors index](index.md)
### Attributes:
| Name | Type | Required |
|----------|---------------|----------|
|msg\_id|[long](../types/long.md) | Yes|
|ping\_id|[long](../types/long.md) | Yes|
### Type: [Pong](../types/Pong.md)
### Example:
```
$pong = ['_' => 'pong', 'msg_id' => long, 'ping_id' => long];
```
[PWRTelegram](https://pwrtelegram.xyz) json-encoded version:
```
{"_": "pong", "msg_id": long, "ping_id": long}
```
Or, if you're into Lua:
```
pong={_='pong', msg_id=long, ping_id=long}
```

View File

@ -12,7 +12,7 @@ description: recentMeUrlChatInvite attributes, type and example
| Name | Type | Required |
|----------|---------------|----------|
|url|[string](../types/string.md) | Yes|
|chat\_invite|[ChatInvite](../types/ChatInvite.md) | Yes|
|chat\_invite|[ChatInvite](../types/ChatInvite.md) | Optional|

View File

@ -0,0 +1,45 @@
---
title: resPQ
description: resPQ attributes, type and example
---
## Constructor: resPQ
[Back to constructors index](index.md)
### Attributes:
| Name | Type | Required |
|----------|---------------|----------|
|nonce|[int128](../types/int128.md) | Yes|
|server\_nonce|[int128](../types/int128.md) | Yes|
|pq|[string](../types/string.md) | Yes|
|server\_public\_key\_fingerprints|Array of [long](../types/long.md) | Yes|
### Type: [ResPQ](../types/ResPQ.md)
### Example:
```
$resPQ = ['_' => 'resPQ', 'nonce' => int128, 'server_nonce' => int128, 'pq' => 'string', 'server_public_key_fingerprints' => [long]];
```
[PWRTelegram](https://pwrtelegram.xyz) json-encoded version:
```
{"_": "resPQ", "nonce": int128, "server_nonce": int128, "pq": "string", "server_public_key_fingerprints": [long]}
```
Or, if you're into Lua:
```
resPQ={_='resPQ', nonce=int128, server_nonce=int128, pq='string', server_public_key_fingerprints={long}}
```

Some files were not shown because too many files have changed in this diff Show More