Fixed update handling, now usernames or bot api ids can be passed as parameters instead of Peer, inputPeer, Channel, User (and other) objects, fixed bugs and typos.

This commit is contained in:
Daniil Gentili 2016-12-30 16:32:25 +01:00
parent 7b36562cfb
commit d2d54398c4
549 changed files with 3066 additions and 684 deletions

View File

@ -16,6 +16,8 @@ before_script:
script:
- "./testing.php"
before_install:
- openssl aes-256-cbc -K $encrypted_223c5fe08d29_key -iv $encrypted_223c5fe08d29_iv
-in enc.tar.xz.enc -out enc.tar.xz -d
- openssl aes-256-cbc -K $encrypted_0b05103af24b_key -iv $encrypted_0b05103af24b_iv
-in enc.tar.xz.enc -out enc.tar.xz -d
- tar -xJpf enc.tar.xz

157
README.md
View File

@ -137,6 +137,10 @@ Slv8kg9qv1m6XHVQY3PnEw+QQtqSIXklHwIDAQAB
'incoming' => 30,
'outgoing' => 30,
],
'updates' => [
'updates_array_limit' => 1000, // How big should be the array containing the updates processed with the default example_update_handler callback
'callback' => [$this, 'get_updates_update_handler'], // A callable function that will be called every time an update is received, must accept an array (for the update) as the only parameter
],
];
```
@ -176,13 +180,142 @@ The settings array can be accessed in the instantiated class like this:
```
$MadelineProto = new \danog\MadelineProto\API();
var_dump($MadelineProto->API->settings);
var_dump($MadelineProto->get_settings());
```
The settings array can be modified in the instantiated class like this:
```
$MadelineProto = new \danog\MadelineProto\API();
$settings = $MadelineProto->get_settings();
// Make changes to $settings
$MadelineProto->update_settings($settings);
```
### Handling updates
When an update is received, the update callback function (see settings) is called. By default, the get_updates_update_handler MadelineProto method is called. This method stores all incoming updates into an array (its size limit is specified by the updates\_array\_limit parameter in the settings) and can be fetched by running the `get_updates` method.
This method accepts an array of options as the first parameter, and returns an array of updates. Example:
```
$MadelineProto = new \danog\MadelineProto\API();
// Login or deserialize
$offset = 0;
while (true) {
$updates = $MadelineProto->API->get_updates(['offset' => $offset, 'limit' => 50, 'timeout' => 1]); // Just like in the bot API, you can specify an offset, a limit and a timeout
foreach ($updates as $update) {
$offset = $update['update_id'] // Just like in the bot API, the offset must be set to the last update_id
// Parse $update['update'], that is an object of type Update
}
var_dump($update);
}
array(3) {
[0]=>
array(2) {
["update_id"]=>
int(0)
["update"]=>
array(5) {
["_"]=>
string(22) "updateNewAuthorization"
["auth_key_id"]=>
int(-8182897590766478746)
["date"]=>
int(1483110797)
["device"]=>
string(3) "Web"
["location"]=>
string(25) "IT, 05 (IP = 79.2.51.203)"
}
}
[1]=>
array(2) {
["update_id"]=>
int(1)
["update"]=>
array(3) {
["_"]=>
string(23) "updateReadChannelOutbox"
["channel_id"]=>
int(1049295266)
["max_id"]=>
int(8288)
}
}
[2]=>
array(2) {
["update_id"]=>
int(2)
["update"]=>
array(4) {
["_"]=>
string(23) "updateNewChannelMessage"
["message"]=>
array(12) {
["_"]=>
string(7) "message"
["out"]=>
bool(false)
["mentioned"]=>
bool(false)
["media_unread"]=>
bool(false)
["silent"]=>
bool(false)
["post"]=>
bool(false)
["id"]=>
int(11521)
["from_id"]=>
int(262946027)
["to_id"]=>
array(2) {
["_"]=>
string(11) "peerChannel"
["channel_id"]=>
int(1066910227)
}
["date"]=>
int(1483110798)
["message"]=>
string(3) "yay"
["entities"]=>
array(1) {
[0]=>
array(4) {
["_"]=>
string(24) "messageEntityMentionName"
["offset"]=>
int(0)
["length"]=>
int(3)
["user_id"]=>
int(101374607)
}
}
}
["pts"]=>
int(13010)
["pts_count"]=>
int(1)
}
}
}
```
To specify a custom callback change the correct value in the settings. The specified callable must accept one parameter for the update.
### Calling mtproto methods and available wrappers
The API documentation can be found [here](https://daniil.it/MadelineProto/API_docs/).
To call an MTProto method simply call it as if it is a method of the API class, substitute namespace sepators (.) with -> if needed:
To call an MTProto method simply call it as if it is a method of the API class, substitute namespace sepators (.) with -> if needed.
Also, 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 or bot API id.
```
$MadelineProto = new \danog\MadelineProto\API();
@ -193,10 +326,7 @@ $checkedPhone = $MadelineProto->auth->checkPhone( // auth.checkPhone becomes aut
);
$ping = $MadelineProto->ping([3]); // parameter names can be omitted as long as the order specified by the TL scheme is respected
$message = "Hey! I'm sending this message with MadelineProto!";
$username = $MadelineProto->contacts->resolveUsername(['username' => 'pwrtelegramgroup']);
var_dump($username);
$peer = ['_' => 'inputPeerChannel', 'channel_id' => $username['peer']['channel_id'], 'access_hash' => $username['chats'][0]['access_hash']];
$sentMessage = $MadelineProto->messages->sendMessage(['peer' => $peer, 'message' => $message, 'random_id' => \danog\PHP\Struct::unpack('<q', \phpseclib\Crypt\Random::string(8))[0]]);
$sentMessage = $MadelineProto->messages->sendMessage(['peer' => '@danogentili', 'message' => $message]);
var_dump($sentMessage);
```
@ -213,20 +343,6 @@ for ($x = 0; $x < $sentCode['type']['length']; $x++) {
$authorization = $MadelineProto->complete_phone_login($code); // Complete authorization
var_dump($authorization);
var_dump($MadelineProto->resolve_username('@Palmas2012')); // Always use this method to resolve usernames, but you won't need to call this to get info about peers, as get_peer and get_input_peer will call it for you if needed
$message = "I've installed MadelineProto!";
$mention = $MadelineProto->get_info('@@NonSonoGioTech'); // Returns the following array: ['constructor' => $constructor, 'inputPeer' => $inputPeer, 'inputType' => $inputType, 'Peer' => $Peer, 'id' => $id, 'botApiId' => $bot_api_id]
$mention = $mention['inputType']; // Selects only the inputType object
foreach (['@pwrtelegramgroup', '@pwrtelegramgroupita'] as $peer) {
$peer = $MadelineProto->get_info($peer)['inputPeer']; // Select the inputPeerType (alias inputPeer) object
$sentMessage = $MadelineProto->messages->sendMessage(['peer' => $peer, 'message' => $message, 'entities' => [['_' => 'inputMessageEntityMentionName', 'offset' => 0, 'length' => strlen($message), 'user_id' => $mention]]]);
\danog\MadelineProto\Logger::log($sentMessage);
}
// The above works with bots too
$authorization = $MadelineProto->bot_login($token); // Note that every time you login as a bot or as a user MadelineProto will logout first, so now MadelineProto is logged in as the bot with token $token, not as the user with number $number
var_dump($authorization);
```
@ -275,6 +391,7 @@ src/danog/MadelineProto/
Wrappers/
Login - Handles logging in as a bot or a user, logging out
PeerHandler - Eases getting of input peer objects using usernames or bot API chat ids
SettingsManager - Eases updating settings
API - Wrapper class that instantiates the MTProto class, sets the error handler, provides a wrapper for calling mtproto methods directly as class submethods, and uses the simplified wrappers from Wrappers/
APIFactory - Provides a wrapper for calling namespaced mtproto methods directly as class submethods
Connection - Handles tcp/udp/http connections and wrapping payloads generated by MTProtoTools/MessageHandler into the right message according to the protocol, stores authorization keys, session id and sequence number

View File

@ -16,10 +16,10 @@ require_once 'vendor/autoload.php';
$mode = 3;
\danog\MadelineProto\Logger::constructor($mode);
$TL = new \danog\MadelineProto\TL\TL([
$TL = new \danog\MadelineProto\MTProto(['tl' => [
//'mtproto' => __DIR__.'/src/danog/MadelineProto/TL_mtproto_v1.json', // mtproto TL scheme
'telegram' => __DIR__.'/src/danog/MadelineProto/TL_telegram_v57.json', // telegram TL scheme
]);
]]);
$types = [];
\danog\MadelineProto\Logger::log('Copying readme...');
@ -284,7 +284,7 @@ foreach ($TL->constructors->predicate as $key => $constructor) {
$params .= "'".$param['name']."' => ";
$params .= (isset($param['subtype']) ? '['.$param['type'].']' : $param['type']).', ';
}
$params = "['_' => ".$constructor."', ".$params.']';
$params = "['_' => ".$constructor.", ".$params.']';
$header = '---
title: '.$constructor.'

View File

@ -0,0 +1,28 @@
---
title: MTmessage
description: MTmessage attributes, type and example
---
## Constructor: MTmessage
[Back to constructors index](index.md)
### Attributes:
| Name | Type | Required |
|----------|:-------------:|---------:|
|msg\_id|[long](../types/long.md) | Required|
|seqno|[int](../types/int.md) | Required|
|bytes|[int](../types/int.md) | Required|
|body|[Object](../types/Object.md) | Required|
### Type: [Message](../types/Message.md)
### Example:
```
$MTmessage = ['_' => MTmessage, 'msg_id' => long, 'seqno' => int, 'bytes' => int, 'body' => Object, ];
```

View File

@ -21,5 +21,5 @@ description: accountDaysTTL attributes, type and example
### Example:
```
$accountDaysTTL = ['_' => accountDaysTTL', 'days' => int, ];
$accountDaysTTL = ['_' => accountDaysTTL, 'days' => int, ];
```

View File

@ -21,5 +21,5 @@ description: account_authorizations attributes, type and example
### Example:
```
$account_authorizations = ['_' => account_authorizations', 'authorizations' => [Vector t], ];
$account_authorizations = ['_' => account_authorizations, 'authorizations' => [Vector t], ];
```

View File

@ -22,5 +22,5 @@ description: account_noPassword attributes, type and example
### Example:
```
$account_noPassword = ['_' => account_noPassword', 'new_salt' => bytes, 'email_unconfirmed_pattern' => string, ];
$account_noPassword = ['_' => account_noPassword, 'new_salt' => bytes, 'email_unconfirmed_pattern' => string, ];
```

View File

@ -25,5 +25,5 @@ description: account_password attributes, type and example
### Example:
```
$account_password = ['_' => account_password', 'current_salt' => bytes, 'new_salt' => bytes, 'hint' => string, 'has_recovery' => Bool, 'email_unconfirmed_pattern' => string, ];
$account_password = ['_' => account_password, 'current_salt' => bytes, 'new_salt' => bytes, 'hint' => string, 'has_recovery' => Bool, 'email_unconfirmed_pattern' => string, ];
```

View File

@ -24,5 +24,5 @@ description: account_passwordInputSettings attributes, type and example
### Example:
```
$account_passwordInputSettings = ['_' => account_passwordInputSettings', 'new_salt' => bytes, 'new_password_hash' => bytes, 'hint' => string, 'email' => string, ];
$account_passwordInputSettings = ['_' => account_passwordInputSettings, 'new_salt' => bytes, 'new_password_hash' => bytes, 'hint' => string, 'email' => string, ];
```

View File

@ -21,5 +21,5 @@ description: account_passwordSettings attributes, type and example
### Example:
```
$account_passwordSettings = ['_' => account_passwordSettings', 'email' => string, ];
$account_passwordSettings = ['_' => account_passwordSettings, 'email' => string, ];
```

View File

@ -22,5 +22,5 @@ description: account_privacyRules attributes, type and example
### Example:
```
$account_privacyRules = ['_' => account_privacyRules', 'rules' => [Vector t], 'users' => [Vector t], ];
$account_privacyRules = ['_' => account_privacyRules, 'rules' => [Vector t], 'users' => [Vector t], ];
```

View File

@ -22,5 +22,5 @@ description: auth_authorization attributes, type and example
### Example:
```
$auth_authorization = ['_' => auth_authorization', 'tmp_sessions' => int, 'user' => User, ];
$auth_authorization = ['_' => auth_authorization, 'tmp_sessions' => int, 'user' => User, ];
```

View File

@ -21,5 +21,5 @@ description: auth_checkedPhone attributes, type and example
### Example:
```
$auth_checkedPhone = ['_' => auth_checkedPhone', 'phone_registered' => Bool, ];
$auth_checkedPhone = ['_' => auth_checkedPhone, 'phone_registered' => Bool, ];
```

View File

@ -16,5 +16,5 @@ description: auth_codeTypeCall attributes, type and example
### Example:
```
$auth_codeTypeCall = ['_' => auth_codeTypeCall', ];
$auth_codeTypeCall = ['_' => auth_codeTypeCall, ];
```

View File

@ -16,5 +16,5 @@ description: auth_codeTypeFlashCall attributes, type and example
### Example:
```
$auth_codeTypeFlashCall = ['_' => auth_codeTypeFlashCall', ];
$auth_codeTypeFlashCall = ['_' => auth_codeTypeFlashCall, ];
```

View File

@ -16,5 +16,5 @@ description: auth_codeTypeSms attributes, type and example
### Example:
```
$auth_codeTypeSms = ['_' => auth_codeTypeSms', ];
$auth_codeTypeSms = ['_' => auth_codeTypeSms, ];
```

View File

@ -22,5 +22,5 @@ description: auth_exportedAuthorization attributes, type and example
### Example:
```
$auth_exportedAuthorization = ['_' => auth_exportedAuthorization', 'id' => int, 'bytes' => bytes, ];
$auth_exportedAuthorization = ['_' => auth_exportedAuthorization, 'id' => int, 'bytes' => bytes, ];
```

View File

@ -21,5 +21,5 @@ description: auth_passwordRecovery attributes, type and example
### Example:
```
$auth_passwordRecovery = ['_' => auth_passwordRecovery', 'email_pattern' => string, ];
$auth_passwordRecovery = ['_' => auth_passwordRecovery, 'email_pattern' => string, ];
```

View File

@ -25,5 +25,5 @@ description: auth_sentCode attributes, type and example
### Example:
```
$auth_sentCode = ['_' => auth_sentCode', 'phone_registered' => true, 'type' => auth.SentCodeType, 'phone_code_hash' => string, 'next_type' => auth.CodeType, 'timeout' => int, ];
$auth_sentCode = ['_' => auth_sentCode, 'phone_registered' => true, 'type' => auth.SentCodeType, 'phone_code_hash' => string, 'next_type' => auth.CodeType, 'timeout' => int, ];
```

View File

@ -21,5 +21,5 @@ description: auth_sentCodeTypeApp attributes, type and example
### Example:
```
$auth_sentCodeTypeApp = ['_' => auth_sentCodeTypeApp', 'length' => int, ];
$auth_sentCodeTypeApp = ['_' => auth_sentCodeTypeApp, 'length' => int, ];
```

View File

@ -21,5 +21,5 @@ description: auth_sentCodeTypeCall attributes, type and example
### Example:
```
$auth_sentCodeTypeCall = ['_' => auth_sentCodeTypeCall', 'length' => int, ];
$auth_sentCodeTypeCall = ['_' => auth_sentCodeTypeCall, 'length' => int, ];
```

View File

@ -21,5 +21,5 @@ description: auth_sentCodeTypeFlashCall attributes, type and example
### Example:
```
$auth_sentCodeTypeFlashCall = ['_' => auth_sentCodeTypeFlashCall', 'pattern' => string, ];
$auth_sentCodeTypeFlashCall = ['_' => auth_sentCodeTypeFlashCall, 'pattern' => string, ];
```

View File

@ -21,5 +21,5 @@ description: auth_sentCodeTypeSms attributes, type and example
### Example:
```
$auth_sentCodeTypeSms = ['_' => auth_sentCodeTypeSms', 'length' => int, ];
$auth_sentCodeTypeSms = ['_' => auth_sentCodeTypeSms, 'length' => int, ];
```

View File

@ -32,5 +32,5 @@ description: authorization attributes, type and example
### Example:
```
$authorization = ['_' => authorization', 'hash' => long, 'device_model' => string, 'platform' => string, 'system_version' => string, 'api_id' => int, 'app_name' => string, 'app_version' => string, 'date_created' => int, 'date_active' => int, 'ip' => string, 'country' => string, 'region' => string, ];
$authorization = ['_' => authorization, 'hash' => long, 'device_model' => string, 'platform' => string, 'system_version' => string, 'api_id' => int, 'app_name' => string, 'app_version' => string, 'date_created' => int, 'date_active' => int, 'ip' => string, 'country' => string, 'region' => string, ];
```

View File

@ -0,0 +1,27 @@
---
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) | Required|
|bad\_msg\_seqno|[int](../types/int.md) | Required|
|error\_code|[int](../types/int.md) | Required|
### Type: [BadMsgNotification](../types/BadMsgNotification.md)
### Example:
```
$bad_msg_notification = ['_' => bad_msg_notification, 'bad_msg_id' => long, 'bad_msg_seqno' => int, 'error_code' => int, ];
```

View File

@ -0,0 +1,28 @@
---
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) | Required|
|bad\_msg\_seqno|[int](../types/int.md) | Required|
|error\_code|[int](../types/int.md) | Required|
|new\_server\_salt|[long](../types/long.md) | Required|
### 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, ];
```

View File

@ -0,0 +1,29 @@
---
title: bind_auth_key_inner
description: bind_auth_key_inner attributes, type and example
---
## Constructor: bind\_auth\_key\_inner
[Back to constructors index](index.md)
### Attributes:
| Name | Type | Required |
|----------|:-------------:|---------:|
|nonce|[long](../types/long.md) | Required|
|temp\_auth\_key\_id|[long](../types/long.md) | Required|
|perm\_auth\_key\_id|[long](../types/long.md) | Required|
|temp\_session\_id|[long](../types/long.md) | Required|
|expires\_at|[int](../types/int.md) | Required|
### Type: [BindAuthKeyInner](../types/BindAuthKeyInner.md)
### Example:
```
$bind_auth_key_inner = ['_' => bind_auth_key_inner, 'nonce' => long, 'temp_auth_key_id' => long, 'perm_auth_key_id' => long, 'temp_session_id' => long, 'expires_at' => int, ];
```

View File

@ -22,5 +22,5 @@ description: botCommand attributes, type and example
### Example:
```
$botCommand = ['_' => botCommand', 'command' => string, 'description' => string, ];
$botCommand = ['_' => botCommand, 'command' => string, 'description' => string, ];
```

View File

@ -23,5 +23,5 @@ description: botInfo attributes, type and example
### Example:
```
$botInfo = ['_' => botInfo', 'user_id' => int, 'description' => string, 'commands' => [Vector t], ];
$botInfo = ['_' => botInfo, 'user_id' => int, 'description' => string, 'commands' => [Vector t], ];
```

View File

@ -27,5 +27,5 @@ description: botInlineMediaResult attributes, type and example
### Example:
```
$botInlineMediaResult = ['_' => botInlineMediaResult', 'id' => string, 'type' => string, 'photo' => Photo, 'document' => Document, 'title' => string, 'description' => string, 'send_message' => BotInlineMessage, ];
$botInlineMediaResult = ['_' => botInlineMediaResult, 'id' => string, 'type' => string, 'photo' => Photo, 'document' => Document, 'title' => string, 'description' => string, 'send_message' => BotInlineMessage, ];
```

View File

@ -22,5 +22,5 @@ description: botInlineMessageMediaAuto attributes, type and example
### Example:
```
$botInlineMessageMediaAuto = ['_' => botInlineMessageMediaAuto', 'caption' => string, 'reply_markup' => ReplyMarkup, ];
$botInlineMessageMediaAuto = ['_' => botInlineMessageMediaAuto, 'caption' => string, 'reply_markup' => ReplyMarkup, ];
```

View File

@ -24,5 +24,5 @@ description: botInlineMessageMediaContact attributes, type and example
### Example:
```
$botInlineMessageMediaContact = ['_' => botInlineMessageMediaContact', 'phone_number' => string, 'first_name' => string, 'last_name' => string, 'reply_markup' => ReplyMarkup, ];
$botInlineMessageMediaContact = ['_' => botInlineMessageMediaContact, 'phone_number' => string, 'first_name' => string, 'last_name' => string, 'reply_markup' => ReplyMarkup, ];
```

View File

@ -22,5 +22,5 @@ description: botInlineMessageMediaGeo attributes, type and example
### Example:
```
$botInlineMessageMediaGeo = ['_' => botInlineMessageMediaGeo', 'geo' => GeoPoint, 'reply_markup' => ReplyMarkup, ];
$botInlineMessageMediaGeo = ['_' => botInlineMessageMediaGeo, 'geo' => GeoPoint, 'reply_markup' => ReplyMarkup, ];
```

View File

@ -26,5 +26,5 @@ description: botInlineMessageMediaVenue attributes, type and example
### Example:
```
$botInlineMessageMediaVenue = ['_' => botInlineMessageMediaVenue', 'geo' => GeoPoint, 'title' => string, 'address' => string, 'provider' => string, 'venue_id' => string, 'reply_markup' => ReplyMarkup, ];
$botInlineMessageMediaVenue = ['_' => botInlineMessageMediaVenue, 'geo' => GeoPoint, 'title' => string, 'address' => string, 'provider' => string, 'venue_id' => string, 'reply_markup' => ReplyMarkup, ];
```

View File

@ -24,5 +24,5 @@ description: botInlineMessageText attributes, type and example
### Example:
```
$botInlineMessageText = ['_' => botInlineMessageText', 'no_webpage' => true, 'message' => string, 'entities' => [Vector t], 'reply_markup' => ReplyMarkup, ];
$botInlineMessageText = ['_' => botInlineMessageText, 'no_webpage' => true, 'message' => string, 'entities' => [Vector t], 'reply_markup' => ReplyMarkup, ];
```

View File

@ -32,5 +32,5 @@ description: botInlineResult attributes, type and example
### Example:
```
$botInlineResult = ['_' => botInlineResult', 'id' => string, 'type' => string, 'title' => string, 'description' => string, 'url' => string, 'thumb_url' => string, 'content_url' => string, 'content_type' => string, 'w' => int, 'h' => int, 'duration' => int, 'send_message' => BotInlineMessage, ];
$botInlineResult = ['_' => botInlineResult, 'id' => string, 'type' => string, 'title' => string, 'description' => string, 'url' => string, 'thumb_url' => string, 'content_url' => string, 'content_type' => string, 'w' => int, 'h' => int, 'duration' => int, 'send_message' => BotInlineMessage, ];
```

View File

@ -40,5 +40,5 @@ description: channel attributes, type and example
### Example:
```
$channel = ['_' => channel', 'creator' => true, 'kicked' => true, 'left' => true, 'editor' => true, 'moderator' => true, 'broadcast' => true, 'verified' => true, 'megagroup' => true, 'restricted' => true, 'democracy' => true, 'signatures' => true, 'min' => true, 'id' => int, 'access_hash' => long, 'title' => string, 'username' => string, 'photo' => ChatPhoto, 'date' => int, 'version' => int, 'restriction_reason' => string, ];
$channel = ['_' => channel, 'creator' => true, 'kicked' => true, 'left' => true, 'editor' => true, 'moderator' => true, 'broadcast' => true, 'verified' => true, 'megagroup' => true, 'restricted' => true, 'democracy' => true, 'signatures' => true, 'min' => true, 'id' => int, 'access_hash' => long, 'title' => string, 'username' => string, 'photo' => ChatPhoto, 'date' => int, 'version' => int, 'restriction_reason' => string, ];
```

View File

@ -25,5 +25,5 @@ description: channelForbidden attributes, type and example
### Example:
```
$channelForbidden = ['_' => channelForbidden', 'broadcast' => true, 'megagroup' => true, 'id' => int, 'access_hash' => long, 'title' => string, ];
$channelForbidden = ['_' => channelForbidden, 'broadcast' => true, 'megagroup' => true, 'id' => int, 'access_hash' => long, 'title' => string, ];
```

View File

@ -37,5 +37,5 @@ description: channelFull attributes, type and example
### Example:
```
$channelFull = ['_' => channelFull', 'can_view_participants' => true, 'can_set_username' => true, 'id' => int, 'about' => string, 'participants_count' => int, 'admins_count' => int, 'kicked_count' => int, 'read_inbox_max_id' => int, 'read_outbox_max_id' => int, 'unread_count' => int, 'chat_photo' => Photo, 'notify_settings' => PeerNotifySettings, 'exported_invite' => ExportedChatInvite, 'bot_info' => [Vector t], 'migrated_from_chat_id' => int, 'migrated_from_max_id' => int, 'pinned_msg_id' => int, ];
$channelFull = ['_' => channelFull, 'can_view_participants' => true, 'can_set_username' => true, 'id' => int, 'about' => string, 'participants_count' => int, 'admins_count' => int, 'kicked_count' => int, 'read_inbox_max_id' => int, 'read_outbox_max_id' => int, 'unread_count' => int, 'chat_photo' => Photo, 'notify_settings' => PeerNotifySettings, 'exported_invite' => ExportedChatInvite, 'bot_info' => [Vector t], 'migrated_from_chat_id' => int, 'migrated_from_max_id' => int, 'pinned_msg_id' => int, ];
```

View File

@ -22,5 +22,5 @@ description: channelMessagesFilter attributes, type and example
### Example:
```
$channelMessagesFilter = ['_' => channelMessagesFilter', 'exclude_new_messages' => true, 'ranges' => [Vector t], ];
$channelMessagesFilter = ['_' => channelMessagesFilter, 'exclude_new_messages' => true, 'ranges' => [Vector t], ];
```

View File

@ -16,5 +16,5 @@ description: channelMessagesFilterEmpty attributes, type and example
### Example:
```
$channelMessagesFilterEmpty = ['_' => channelMessagesFilterEmpty', ];
$channelMessagesFilterEmpty = ['_' => channelMessagesFilterEmpty, ];
```

View File

@ -22,5 +22,5 @@ description: channelParticipant attributes, type and example
### Example:
```
$channelParticipant = ['_' => channelParticipant', 'user_id' => int, 'date' => int, ];
$channelParticipant = ['_' => channelParticipant, 'user_id' => int, 'date' => int, ];
```

View File

@ -21,5 +21,5 @@ description: channelParticipantCreator attributes, type and example
### Example:
```
$channelParticipantCreator = ['_' => channelParticipantCreator', 'user_id' => int, ];
$channelParticipantCreator = ['_' => channelParticipantCreator, 'user_id' => int, ];
```

View File

@ -23,5 +23,5 @@ description: channelParticipantEditor attributes, type and example
### Example:
```
$channelParticipantEditor = ['_' => channelParticipantEditor', 'user_id' => int, 'inviter_id' => int, 'date' => int, ];
$channelParticipantEditor = ['_' => channelParticipantEditor, 'user_id' => int, 'inviter_id' => int, 'date' => int, ];
```

View File

@ -23,5 +23,5 @@ description: channelParticipantKicked attributes, type and example
### Example:
```
$channelParticipantKicked = ['_' => channelParticipantKicked', 'user_id' => int, 'kicked_by' => int, 'date' => int, ];
$channelParticipantKicked = ['_' => channelParticipantKicked, 'user_id' => int, 'kicked_by' => int, 'date' => int, ];
```

View File

@ -23,5 +23,5 @@ description: channelParticipantModerator attributes, type and example
### Example:
```
$channelParticipantModerator = ['_' => channelParticipantModerator', 'user_id' => int, 'inviter_id' => int, 'date' => int, ];
$channelParticipantModerator = ['_' => channelParticipantModerator, 'user_id' => int, 'inviter_id' => int, 'date' => int, ];
```

View File

@ -23,5 +23,5 @@ description: channelParticipantSelf attributes, type and example
### Example:
```
$channelParticipantSelf = ['_' => channelParticipantSelf', 'user_id' => int, 'inviter_id' => int, 'date' => int, ];
$channelParticipantSelf = ['_' => channelParticipantSelf, 'user_id' => int, 'inviter_id' => int, 'date' => int, ];
```

View File

@ -16,5 +16,5 @@ description: channelParticipantsAdmins attributes, type and example
### Example:
```
$channelParticipantsAdmins = ['_' => channelParticipantsAdmins', ];
$channelParticipantsAdmins = ['_' => channelParticipantsAdmins, ];
```

View File

@ -16,5 +16,5 @@ description: channelParticipantsBots attributes, type and example
### Example:
```
$channelParticipantsBots = ['_' => channelParticipantsBots', ];
$channelParticipantsBots = ['_' => channelParticipantsBots, ];
```

View File

@ -16,5 +16,5 @@ description: channelParticipantsKicked attributes, type and example
### Example:
```
$channelParticipantsKicked = ['_' => channelParticipantsKicked', ];
$channelParticipantsKicked = ['_' => channelParticipantsKicked, ];
```

View File

@ -16,5 +16,5 @@ description: channelParticipantsRecent attributes, type and example
### Example:
```
$channelParticipantsRecent = ['_' => channelParticipantsRecent', ];
$channelParticipantsRecent = ['_' => channelParticipantsRecent, ];
```

View File

@ -16,5 +16,5 @@ description: channelRoleEditor attributes, type and example
### Example:
```
$channelRoleEditor = ['_' => channelRoleEditor', ];
$channelRoleEditor = ['_' => channelRoleEditor, ];
```

View File

@ -16,5 +16,5 @@ description: channelRoleEmpty attributes, type and example
### Example:
```
$channelRoleEmpty = ['_' => channelRoleEmpty', ];
$channelRoleEmpty = ['_' => channelRoleEmpty, ];
```

View File

@ -16,5 +16,5 @@ description: channelRoleModerator attributes, type and example
### Example:
```
$channelRoleModerator = ['_' => channelRoleModerator', ];
$channelRoleModerator = ['_' => channelRoleModerator, ];
```

View File

@ -22,5 +22,5 @@ description: channels_channelParticipant attributes, type and example
### Example:
```
$channels_channelParticipant = ['_' => channels_channelParticipant', 'participant' => ChannelParticipant, 'users' => [Vector t], ];
$channels_channelParticipant = ['_' => channels_channelParticipant, 'participant' => ChannelParticipant, 'users' => [Vector t], ];
```

View File

@ -23,5 +23,5 @@ description: channels_channelParticipants attributes, type and example
### Example:
```
$channels_channelParticipants = ['_' => channels_channelParticipants', 'count' => int, 'participants' => [Vector t], 'users' => [Vector t], ];
$channels_channelParticipants = ['_' => channels_channelParticipants, 'count' => int, 'participants' => [Vector t], 'users' => [Vector t], ];
```

View File

@ -33,5 +33,5 @@ description: chat attributes, type and example
### Example:
```
$chat = ['_' => chat', 'creator' => true, 'kicked' => true, 'left' => true, 'admins_enabled' => true, 'admin' => true, 'deactivated' => true, 'id' => int, 'title' => string, 'photo' => ChatPhoto, 'participants_count' => int, 'date' => int, 'version' => int, 'migrated_to' => InputChannel, ];
$chat = ['_' => chat, 'creator' => true, 'kicked' => true, 'left' => true, 'admins_enabled' => true, 'admin' => true, 'deactivated' => true, 'id' => int, 'title' => string, 'photo' => ChatPhoto, 'participants_count' => int, 'date' => int, 'version' => int, 'migrated_to' => InputChannel, ];
```

View File

@ -21,5 +21,5 @@ description: chatEmpty attributes, type and example
### Example:
```
$chatEmpty = ['_' => chatEmpty', 'id' => int, ];
$chatEmpty = ['_' => chatEmpty, 'id' => int, ];
```

View File

@ -22,5 +22,5 @@ description: chatForbidden attributes, type and example
### Example:
```
$chatForbidden = ['_' => chatForbidden', 'id' => int, 'title' => string, ];
$chatForbidden = ['_' => chatForbidden, 'id' => int, 'title' => string, ];
```

View File

@ -26,5 +26,5 @@ description: chatFull attributes, type and example
### Example:
```
$chatFull = ['_' => chatFull', 'id' => int, 'participants' => ChatParticipants, 'chat_photo' => Photo, 'notify_settings' => PeerNotifySettings, 'exported_invite' => ExportedChatInvite, 'bot_info' => [Vector t], ];
$chatFull = ['_' => chatFull, 'id' => int, 'participants' => ChatParticipants, 'chat_photo' => Photo, 'notify_settings' => PeerNotifySettings, 'exported_invite' => ExportedChatInvite, 'bot_info' => [Vector t], ];
```

View File

@ -28,5 +28,5 @@ description: chatInvite attributes, type and example
### Example:
```
$chatInvite = ['_' => chatInvite', 'channel' => true, 'broadcast' => true, 'public' => true, 'megagroup' => true, 'title' => string, 'photo' => ChatPhoto, 'participants_count' => int, 'participants' => [Vector t], ];
$chatInvite = ['_' => chatInvite, 'channel' => true, 'broadcast' => true, 'public' => true, 'megagroup' => true, 'title' => string, 'photo' => ChatPhoto, 'participants_count' => int, 'participants' => [Vector t], ];
```

View File

@ -21,5 +21,5 @@ description: chatInviteAlready attributes, type and example
### Example:
```
$chatInviteAlready = ['_' => chatInviteAlready', 'chat' => Chat, ];
$chatInviteAlready = ['_' => chatInviteAlready, 'chat' => Chat, ];
```

View File

@ -16,5 +16,5 @@ description: chatInviteEmpty attributes, type and example
### Example:
```
$chatInviteEmpty = ['_' => chatInviteEmpty', ];
$chatInviteEmpty = ['_' => chatInviteEmpty, ];
```

View File

@ -21,5 +21,5 @@ description: chatInviteExported attributes, type and example
### Example:
```
$chatInviteExported = ['_' => chatInviteExported', 'link' => string, ];
$chatInviteExported = ['_' => chatInviteExported, 'link' => string, ];
```

View File

@ -23,5 +23,5 @@ description: chatParticipant attributes, type and example
### Example:
```
$chatParticipant = ['_' => chatParticipant', 'user_id' => int, 'inviter_id' => int, 'date' => int, ];
$chatParticipant = ['_' => chatParticipant, 'user_id' => int, 'inviter_id' => int, 'date' => int, ];
```

View File

@ -23,5 +23,5 @@ description: chatParticipantAdmin attributes, type and example
### Example:
```
$chatParticipantAdmin = ['_' => chatParticipantAdmin', 'user_id' => int, 'inviter_id' => int, 'date' => int, ];
$chatParticipantAdmin = ['_' => chatParticipantAdmin, 'user_id' => int, 'inviter_id' => int, 'date' => int, ];
```

View File

@ -21,5 +21,5 @@ description: chatParticipantCreator attributes, type and example
### Example:
```
$chatParticipantCreator = ['_' => chatParticipantCreator', 'user_id' => int, ];
$chatParticipantCreator = ['_' => chatParticipantCreator, 'user_id' => int, ];
```

View File

@ -23,5 +23,5 @@ description: chatParticipants attributes, type and example
### Example:
```
$chatParticipants = ['_' => chatParticipants', 'chat_id' => int, 'participants' => [Vector t], 'version' => int, ];
$chatParticipants = ['_' => chatParticipants, 'chat_id' => int, 'participants' => [Vector t], 'version' => int, ];
```

View File

@ -22,5 +22,5 @@ description: chatParticipantsForbidden attributes, type and example
### Example:
```
$chatParticipantsForbidden = ['_' => chatParticipantsForbidden', 'chat_id' => int, 'self_participant' => ChatParticipant, ];
$chatParticipantsForbidden = ['_' => chatParticipantsForbidden, 'chat_id' => int, 'self_participant' => ChatParticipant, ];
```

View File

@ -22,5 +22,5 @@ description: chatPhoto attributes, type and example
### Example:
```
$chatPhoto = ['_' => chatPhoto', 'photo_small' => FileLocation, 'photo_big' => FileLocation, ];
$chatPhoto = ['_' => chatPhoto, 'photo_small' => FileLocation, 'photo_big' => FileLocation, ];
```

View File

@ -16,5 +16,5 @@ description: chatPhotoEmpty attributes, type and example
### Example:
```
$chatPhotoEmpty = ['_' => chatPhotoEmpty', ];
$chatPhotoEmpty = ['_' => chatPhotoEmpty, ];
```

View File

@ -0,0 +1,28 @@
---
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) | Required|
|server\_nonce|[int128](../types/int128.md) | Required|
|retry\_id|[long](../types/long.md) | Required|
|g\_b|[bytes](../types/bytes.md) | Required|
### 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' => bytes, ];
```

View File

@ -43,5 +43,5 @@ description: config attributes, type and example
### Example:
```
$config = ['_' => config', 'date' => int, 'expires' => int, 'test_mode' => Bool, 'this_dc' => int, 'dc_options' => [Vector t], 'chat_size_max' => int, 'megagroup_size_max' => int, 'forwarded_count_max' => int, 'online_update_period_ms' => int, 'offline_blur_timeout_ms' => int, 'offline_idle_timeout_ms' => int, 'online_cloud_timeout_ms' => int, 'notify_cloud_delay_ms' => int, 'notify_default_delay_ms' => int, 'chat_big_size' => int, 'push_chat_period_ms' => int, 'push_chat_limit' => int, 'saved_gifs_limit' => int, 'edit_time_limit' => int, 'rating_e_decay' => int, 'stickers_recent_limit' => int, 'tmp_sessions' => int, 'disabled_features' => [Vector t], ];
$config = ['_' => config, 'date' => int, 'expires' => int, 'test_mode' => Bool, 'this_dc' => int, 'dc_options' => [Vector t], 'chat_size_max' => int, 'megagroup_size_max' => int, 'forwarded_count_max' => int, 'online_update_period_ms' => int, 'offline_blur_timeout_ms' => int, 'offline_idle_timeout_ms' => int, 'online_cloud_timeout_ms' => int, 'notify_cloud_delay_ms' => int, 'notify_default_delay_ms' => int, 'chat_big_size' => int, 'push_chat_period_ms' => int, 'push_chat_limit' => int, 'saved_gifs_limit' => int, 'edit_time_limit' => int, 'rating_e_decay' => int, 'stickers_recent_limit' => int, 'tmp_sessions' => int, 'disabled_features' => [Vector t], ];
```

View File

@ -22,5 +22,5 @@ description: contact attributes, type and example
### Example:
```
$contact = ['_' => contact', 'user_id' => int, 'mutual' => Bool, ];
$contact = ['_' => contact, 'user_id' => int, 'mutual' => Bool, ];
```

View File

@ -22,5 +22,5 @@ description: contactBlocked attributes, type and example
### Example:
```
$contactBlocked = ['_' => contactBlocked', 'user_id' => int, 'date' => int, ];
$contactBlocked = ['_' => contactBlocked, 'user_id' => int, 'date' => int, ];
```

View File

@ -16,5 +16,5 @@ description: contactLinkContact attributes, type and example
### Example:
```
$contactLinkContact = ['_' => contactLinkContact', ];
$contactLinkContact = ['_' => contactLinkContact, ];
```

View File

@ -16,5 +16,5 @@ description: contactLinkHasPhone attributes, type and example
### Example:
```
$contactLinkHasPhone = ['_' => contactLinkHasPhone', ];
$contactLinkHasPhone = ['_' => contactLinkHasPhone, ];
```

View File

@ -16,5 +16,5 @@ description: contactLinkNone attributes, type and example
### Example:
```
$contactLinkNone = ['_' => contactLinkNone', ];
$contactLinkNone = ['_' => contactLinkNone, ];
```

View File

@ -16,5 +16,5 @@ description: contactLinkUnknown attributes, type and example
### Example:
```
$contactLinkUnknown = ['_' => contactLinkUnknown', ];
$contactLinkUnknown = ['_' => contactLinkUnknown, ];
```

View File

@ -22,5 +22,5 @@ description: contactStatus attributes, type and example
### Example:
```
$contactStatus = ['_' => contactStatus', 'user_id' => int, 'status' => UserStatus, ];
$contactStatus = ['_' => contactStatus, 'user_id' => int, 'status' => UserStatus, ];
```

View File

@ -22,5 +22,5 @@ description: contacts_blocked attributes, type and example
### Example:
```
$contacts_blocked = ['_' => contacts_blocked', 'blocked' => [Vector t], 'users' => [Vector t], ];
$contacts_blocked = ['_' => contacts_blocked, 'blocked' => [Vector t], 'users' => [Vector t], ];
```

View File

@ -23,5 +23,5 @@ description: contacts_blockedSlice attributes, type and example
### Example:
```
$contacts_blockedSlice = ['_' => contacts_blockedSlice', 'count' => int, 'blocked' => [Vector t], 'users' => [Vector t], ];
$contacts_blockedSlice = ['_' => contacts_blockedSlice, 'count' => int, 'blocked' => [Vector t], 'users' => [Vector t], ];
```

View File

@ -22,5 +22,5 @@ description: contacts_contacts attributes, type and example
### Example:
```
$contacts_contacts = ['_' => contacts_contacts', 'contacts' => [Vector t], 'users' => [Vector t], ];
$contacts_contacts = ['_' => contacts_contacts, 'contacts' => [Vector t], 'users' => [Vector t], ];
```

View File

@ -16,5 +16,5 @@ description: contacts_contactsNotModified attributes, type and example
### Example:
```
$contacts_contactsNotModified = ['_' => contacts_contactsNotModified', ];
$contacts_contactsNotModified = ['_' => contacts_contactsNotModified, ];
```

View File

@ -23,5 +23,5 @@ description: contacts_found attributes, type and example
### Example:
```
$contacts_found = ['_' => contacts_found', 'results' => [Vector t], 'chats' => [Vector t], 'users' => [Vector t], ];
$contacts_found = ['_' => contacts_found, 'results' => [Vector t], 'chats' => [Vector t], 'users' => [Vector t], ];
```

View File

@ -23,5 +23,5 @@ description: contacts_importedContacts attributes, type and example
### Example:
```
$contacts_importedContacts = ['_' => contacts_importedContacts', 'imported' => [Vector t], 'retry_contacts' => [Vector t], 'users' => [Vector t], ];
$contacts_importedContacts = ['_' => contacts_importedContacts, 'imported' => [Vector t], 'retry_contacts' => [Vector t], 'users' => [Vector t], ];
```

View File

@ -23,5 +23,5 @@ description: contacts_link attributes, type and example
### Example:
```
$contacts_link = ['_' => contacts_link', 'my_link' => ContactLink, 'foreign_link' => ContactLink, 'user' => User, ];
$contacts_link = ['_' => contacts_link, 'my_link' => ContactLink, 'foreign_link' => ContactLink, 'user' => User, ];
```

View File

@ -23,5 +23,5 @@ description: contacts_resolvedPeer attributes, type and example
### Example:
```
$contacts_resolvedPeer = ['_' => contacts_resolvedPeer', 'peer' => Peer, 'chats' => [Vector t], 'users' => [Vector t], ];
$contacts_resolvedPeer = ['_' => contacts_resolvedPeer, 'peer' => Peer, 'chats' => [Vector t], 'users' => [Vector t], ];
```

View File

@ -23,5 +23,5 @@ description: contacts_topPeers attributes, type and example
### Example:
```
$contacts_topPeers = ['_' => contacts_topPeers', 'categories' => [Vector t], 'chats' => [Vector t], 'users' => [Vector t], ];
$contacts_topPeers = ['_' => contacts_topPeers, 'categories' => [Vector t], 'chats' => [Vector t], 'users' => [Vector t], ];
```

View File

@ -16,5 +16,5 @@ description: contacts_topPeersNotModified attributes, type and example
### Example:
```
$contacts_topPeersNotModified = ['_' => contacts_topPeersNotModified', ];
$contacts_topPeersNotModified = ['_' => contacts_topPeersNotModified, ];
```

View File

@ -26,5 +26,5 @@ description: dcOption attributes, type and example
### Example:
```
$dcOption = ['_' => dcOption', 'ipv6' => true, 'media_only' => true, 'tcpo_only' => true, 'id' => int, 'ip_address' => string, 'port' => int, ];
$dcOption = ['_' => dcOption, 'ipv6' => true, 'media_only' => true, 'tcpo_only' => true, 'id' => int, 'ip_address' => string, 'port' => int, ];
```

View File

@ -0,0 +1,25 @@
---
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) | Required|
### Type: [DestroySessionRes](../types/DestroySessionRes.md)
### Example:
```
$destroy_session_none = ['_' => destroy_session_none, 'session_id' => long, ];
```

View File

@ -0,0 +1,25 @@
---
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) | Required|
### Type: [DestroySessionRes](../types/DestroySessionRes.md)
### Example:
```
$destroy_session_ok = ['_' => destroy_session_ok, 'session_id' => long, ];
```

View File

@ -0,0 +1,27 @@
---
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) | Required|
|server\_nonce|[int128](../types/int128.md) | Required|
|new\_nonce\_hash3|[int128](../types/int128.md) | Required|
### 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, ];
```

View File

@ -0,0 +1,27 @@
---
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) | Required|
|server\_nonce|[int128](../types/int128.md) | Required|
|new\_nonce\_hash1|[int128](../types/int128.md) | Required|
### 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, ];
```

View File

@ -0,0 +1,27 @@
---
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) | Required|
|server\_nonce|[int128](../types/int128.md) | Required|
|new\_nonce\_hash2|[int128](../types/int128.md) | Required|
### 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, ];
```

View File

@ -28,5 +28,5 @@ description: dialog attributes, type and example
### Example:
```
$dialog = ['_' => dialog', 'peer' => Peer, 'top_message' => int, 'read_inbox_max_id' => int, 'read_outbox_max_id' => int, 'unread_count' => int, 'notify_settings' => PeerNotifySettings, 'pts' => int, 'draft' => DraftMessage, ];
$dialog = ['_' => dialog, 'peer' => Peer, 'top_message' => int, 'read_inbox_max_id' => int, 'read_outbox_max_id' => int, 'unread_count' => int, 'notify_settings' => PeerNotifySettings, 'pts' => int, 'draft' => DraftMessage, ];
```

View File

@ -22,5 +22,5 @@ description: disabledFeature attributes, type and example
### Example:
```
$disabledFeature = ['_' => disabledFeature', 'feature' => string, 'description' => string, ];
$disabledFeature = ['_' => disabledFeature, 'feature' => string, 'description' => string, ];
```

View File

@ -29,5 +29,5 @@ description: document attributes, type and example
### Example:
```
$document = ['_' => document', 'id' => long, 'access_hash' => long, 'date' => int, 'mime_type' => string, 'size' => int, 'thumb' => PhotoSize, 'dc_id' => int, 'version' => int, 'attributes' => [Vector t], ];
$document = ['_' => document, 'id' => long, 'access_hash' => long, 'date' => int, 'mime_type' => string, 'size' => int, 'thumb' => PhotoSize, 'dc_id' => int, 'version' => int, 'attributes' => [Vector t], ];
```

View File

@ -16,5 +16,5 @@ description: documentAttributeAnimated attributes, type and example
### Example:
```
$documentAttributeAnimated = ['_' => documentAttributeAnimated', ];
$documentAttributeAnimated = ['_' => documentAttributeAnimated, ];
```

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