diff --git a/.env.example b/.env.example
index cf9ad16a..2fc6ce2d 100644
--- a/.env.example
+++ b/.env.example
@@ -2,4 +2,5 @@ MTPROTO_NUMBER=+39394838932
MTPROTO_SETTINGS={"app_info":{"api_id":65536,"api_hash":"4251a2777e179232705e2462706f4143"}}
TEST_USERNAME=@danogentili
TEST_DESTINATION_GROUPS=["@pwrtelegramgroup","@pwrtelegramgroupita"]
+TEST_SECRET_CHAT=@danogentili
BOT_TOKEN=
diff --git a/.gitignore b/.gitignore
index 6d80987e..a5e393b4 100644
--- a/.gitignore
+++ b/.gitignore
@@ -91,3 +91,4 @@ b.php
telegram-cli*
src/danog/MadelineProto/Fuzzer.php
fuzzer.php
+tests/500mb
diff --git a/README.md b/README.md
index f535b4cf..d72eb4e4 100644
--- a/README.md
+++ b/README.md
@@ -16,7 +16,7 @@ Also note that MadelineProto will perform better if python and a big math extens
This project is in beta state.
-The MadelineProto API documentation can be found [here (layer 62)](https://daniil.it/MadelineProto/API_docs/).
+The MadelineProto API documentation can be found [here (layer 65)](https://daniil.it/MadelineProto/API_docs/). VERY IMPORTANT READ THIS.
The TD documentation can be found [here](https://daniil.it/MadelineProto/TD_docs/).
@@ -56,6 +56,9 @@ Features:
* Secret chats
+* PFS
+
+* PFS in secret chats
## Acknowledgements
diff --git a/a.php b/a.php
new file mode 100644
index 00000000..64b3e383
--- /dev/null
+++ b/a.php
@@ -0,0 +1,2 @@
+ false,
],
[
- 'tl_schema' => ['telegram' => __DIR__.'/src/danog/MadelineProto/TL_telegram_v62.tl', 'secret' => __DIR__.'/src/danog/MadelineProto/TL_secret.tl', 'td' => __DIR__.'/src/danog/MadelineProto/TL_td.tl'],
- 'title' => 'MadelineProto API documentation (layer 62)',
- 'description' => 'MadelineProto API documentation (layer 62)',
+ 'tl_schema' => ['telegram' => __DIR__.'/src/danog/MadelineProto/TL_telegram_v65.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 65)',
+ 'description' => 'MadelineProto API documentation (layer 65)',
'output_dir' => __DIR__.'/docs/API_docs',
'readme' => false,
],
diff --git a/docs/API_docs/constructors/account_tmpPassword.md b/docs/API_docs/constructors/account_tmpPassword.md
new file mode 100644
index 00000000..e09c924b
--- /dev/null
+++ b/docs/API_docs/constructors/account_tmpPassword.md
@@ -0,0 +1,36 @@
+---
+title: account.tmpPassword
+description: account_tmpPassword attributes, type and example
+---
+## Constructor: account.tmpPassword
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|tmp\_password|[bytes](../types/bytes.md) | Yes|
+|valid\_until|[int](../types/int.md) | Yes|
+
+
+
+### Type: [account\_TmpPassword](../types/account_TmpPassword.md)
+
+
+### Example:
+
+```
+$account_tmpPassword = ['_' => 'account.tmpPassword', 'tmp_password' => bytes, 'valid_until' => int, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+account_tmpPassword={_='account.tmpPassword', tmp_password=bytes, valid_until=int, }
+
+```
+
+
diff --git a/docs/API_docs/constructors/bad_msg_notification.md b/docs/API_docs/constructors/bad_msg_notification.md
new file mode 100644
index 00000000..f48351a4
--- /dev/null
+++ b/docs/API_docs/constructors/bad_msg_notification.md
@@ -0,0 +1,37 @@
+---
+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, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+bad_msg_notification={_='bad_msg_notification', bad_msg_id=long, bad_msg_seqno=int, error_code=int, }
+
+```
+
+
diff --git a/docs/API_docs/constructors/bad_server_salt.md b/docs/API_docs/constructors/bad_server_salt.md
new file mode 100644
index 00000000..22cdb6fd
--- /dev/null
+++ b/docs/API_docs/constructors/bad_server_salt.md
@@ -0,0 +1,38 @@
+---
+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, ];
+```
+
+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, }
+
+```
+
+
diff --git a/docs/API_docs/constructors/client_DH_inner_data.md b/docs/API_docs/constructors/client_DH_inner_data.md
new file mode 100644
index 00000000..3455f5cb
--- /dev/null
+++ b/docs/API_docs/constructors/client_DH_inner_data.md
@@ -0,0 +1,38 @@
+---
+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, ];
+```
+
+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, }
+
+```
+
+
diff --git a/docs/API_docs/constructors/config.md b/docs/API_docs/constructors/config.md
index 2aefb385..e85ad294 100644
--- a/docs/API_docs/constructors/config.md
+++ b/docs/API_docs/constructors/config.md
@@ -39,6 +39,7 @@ description: config attributes, type and example
|call\_ring\_timeout\_ms|[int](../types/int.md) | Yes|
|call\_connect\_timeout\_ms|[int](../types/int.md) | Yes|
|call\_packet\_timeout\_ms|[int](../types/int.md) | Yes|
+|me\_url\_prefix|[string](../types/string.md) | Yes|
|disabled\_features|Array of [DisabledFeature](../types/DisabledFeature.md) | Yes|
@@ -49,14 +50,14 @@ description: config attributes, type and example
### Example:
```
-$config = ['_' => 'config', 'phonecalls_enabled' => Bool, 'date' => int, 'expires' => int, 'test_mode' => Bool, 'this_dc' => int, 'dc_options' => [DcOption], '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, 'pinned_dialogs_count_max' => int, 'call_receive_timeout_ms' => int, 'call_ring_timeout_ms' => int, 'call_connect_timeout_ms' => int, 'call_packet_timeout_ms' => int, 'disabled_features' => [DisabledFeature], ];
+$config = ['_' => 'config', 'phonecalls_enabled' => Bool, 'date' => int, 'expires' => int, 'test_mode' => Bool, 'this_dc' => int, 'dc_options' => [DcOption], '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, 'pinned_dialogs_count_max' => int, 'call_receive_timeout_ms' => int, 'call_ring_timeout_ms' => int, 'call_connect_timeout_ms' => int, 'call_packet_timeout_ms' => int, 'me_url_prefix' => string, 'disabled_features' => [DisabledFeature], ];
```
Or, if you're into Lua:
```
-config={_='config', phonecalls_enabled=Bool, date=int, expires=int, test_mode=Bool, this_dc=int, dc_options={DcOption}, 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, pinned_dialogs_count_max=int, call_receive_timeout_ms=int, call_ring_timeout_ms=int, call_connect_timeout_ms=int, call_packet_timeout_ms=int, disabled_features={DisabledFeature}, }
+config={_='config', phonecalls_enabled=Bool, date=int, expires=int, test_mode=Bool, this_dc=int, dc_options={DcOption}, 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, pinned_dialogs_count_max=int, call_receive_timeout_ms=int, call_ring_timeout_ms=int, call_connect_timeout_ms=int, call_packet_timeout_ms=int, me_url_prefix=string, disabled_features={DisabledFeature}, }
```
diff --git a/docs/API_docs/constructors/dataJSON.md b/docs/API_docs/constructors/dataJSON.md
new file mode 100644
index 00000000..c2368727
--- /dev/null
+++ b/docs/API_docs/constructors/dataJSON.md
@@ -0,0 +1,35 @@
+---
+title: dataJSON
+description: dataJSON attributes, type and example
+---
+## Constructor: dataJSON
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|data|[string](../types/string.md) | Yes|
+
+
+
+### Type: [DataJSON](../types/DataJSON.md)
+
+
+### Example:
+
+```
+$dataJSON = ['_' => 'dataJSON', 'data' => string, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+dataJSON={_='dataJSON', data=string, }
+
+```
+
+
diff --git a/docs/API_docs/constructors/decryptedDataBlock.md b/docs/API_docs/constructors/decryptedDataBlock.md
new file mode 100644
index 00000000..ddb63a44
--- /dev/null
+++ b/docs/API_docs/constructors/decryptedDataBlock.md
@@ -0,0 +1,41 @@
+---
+title: decryptedDataBlock
+description: decryptedDataBlock attributes, type and example
+---
+## Constructor: decryptedDataBlock
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|voice\_call\_id|[int128](../types/int128.md) | Optional|
+|in\_seq\_no|[int](../types/int.md) | Optional|
+|out\_seq\_no|[int](../types/int.md) | Optional|
+|recent\_received\_mask|[int](../types/int.md) | Optional|
+|proto|[int](../types/int.md) | Optional|
+|extra|[string](../types/string.md) | Optional|
+|raw\_data|[string](../types/string.md) | Optional|
+
+
+
+### Type: [DecryptedDataBlock](../types/DecryptedDataBlock.md)
+
+
+### Example:
+
+```
+$decryptedDataBlock = ['_' => 'decryptedDataBlock', 'voice_call_id' => int128, 'in_seq_no' => int, 'out_seq_no' => int, 'recent_received_mask' => int, 'proto' => int, 'extra' => string, 'raw_data' => string, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+decryptedDataBlock={_='decryptedDataBlock', voice_call_id=int128, in_seq_no=int, out_seq_no=int, recent_received_mask=int, proto=int, extra=string, raw_data=string, }
+
+```
+
+
diff --git a/docs/API_docs/constructors/destroy_session_none.md b/docs/API_docs/constructors/destroy_session_none.md
new file mode 100644
index 00000000..89bb5678
--- /dev/null
+++ b/docs/API_docs/constructors/destroy_session_none.md
@@ -0,0 +1,35 @@
+---
+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, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+destroy_session_none={_='destroy_session_none', session_id=long, }
+
+```
+
+
diff --git a/docs/API_docs/constructors/destroy_session_ok.md b/docs/API_docs/constructors/destroy_session_ok.md
new file mode 100644
index 00000000..5675c75f
--- /dev/null
+++ b/docs/API_docs/constructors/destroy_session_ok.md
@@ -0,0 +1,35 @@
+---
+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, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+destroy_session_ok={_='destroy_session_ok', session_id=long, }
+
+```
+
+
diff --git a/docs/API_docs/constructors/dh_gen_fail.md b/docs/API_docs/constructors/dh_gen_fail.md
new file mode 100644
index 00000000..16073250
--- /dev/null
+++ b/docs/API_docs/constructors/dh_gen_fail.md
@@ -0,0 +1,37 @@
+---
+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, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+dh_gen_fail={_='dh_gen_fail', nonce=int128, server_nonce=int128, new_nonce_hash3=int128, }
+
+```
+
+
diff --git a/docs/API_docs/constructors/dh_gen_ok.md b/docs/API_docs/constructors/dh_gen_ok.md
new file mode 100644
index 00000000..a8675829
--- /dev/null
+++ b/docs/API_docs/constructors/dh_gen_ok.md
@@ -0,0 +1,37 @@
+---
+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, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+dh_gen_ok={_='dh_gen_ok', nonce=int128, server_nonce=int128, new_nonce_hash1=int128, }
+
+```
+
+
diff --git a/docs/API_docs/constructors/dh_gen_retry.md b/docs/API_docs/constructors/dh_gen_retry.md
new file mode 100644
index 00000000..b3ec92f5
--- /dev/null
+++ b/docs/API_docs/constructors/dh_gen_retry.md
@@ -0,0 +1,37 @@
+---
+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, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+dh_gen_retry={_='dh_gen_retry', nonce=int128, server_nonce=int128, new_nonce_hash2=int128, }
+
+```
+
+
diff --git a/docs/API_docs/constructors/future_salt.md b/docs/API_docs/constructors/future_salt.md
new file mode 100644
index 00000000..fd084341
--- /dev/null
+++ b/docs/API_docs/constructors/future_salt.md
@@ -0,0 +1,37 @@
+---
+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, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+future_salt={_='future_salt', valid_since=int, valid_until=int, salt=long, }
+
+```
+
+
diff --git a/docs/API_docs/constructors/future_salts.md b/docs/API_docs/constructors/future_salts.md
new file mode 100644
index 00000000..2b694a80
--- /dev/null
+++ b/docs/API_docs/constructors/future_salts.md
@@ -0,0 +1,37 @@
+---
+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], ];
+```
+
+Or, if you're into Lua:
+
+
+```
+future_salts={_='future_salts', req_msg_id=long, now=int, salts={future_salt}, }
+
+```
+
+
diff --git a/docs/API_docs/constructors/http_wait.md b/docs/API_docs/constructors/http_wait.md
new file mode 100644
index 00000000..50cb9cf6
--- /dev/null
+++ b/docs/API_docs/constructors/http_wait.md
@@ -0,0 +1,37 @@
+---
+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, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+http_wait={_='http_wait', max_delay=int, wait_after=int, max_wait=int, }
+
+```
+
+
diff --git a/docs/API_docs/constructors/index.md b/docs/API_docs/constructors/index.md
index 64469ee1..55496238 100644
--- a/docs/API_docs/constructors/index.md
+++ b/docs/API_docs/constructors/index.md
@@ -23,6 +23,8 @@ description: List of constructors
[$account\_privacyRules](../constructors/account_privacyRules.md) = \['rules' => \[[PrivacyRule](../types/PrivacyRule.md)\], 'users' => \[[User](../types/User.md)\], \];
+[$account\_tmpPassword](../constructors/account_tmpPassword.md) = \['tmp_password' => [bytes](../types/bytes.md), 'valid_until' => [int](../types/int.md), \];
+
***
[$auth\_authorization](../constructors/auth_authorization.md) = \['tmp_sessions' => [int](../types/int.md), 'user' => [User](../types/User.md), \];
@@ -51,6 +53,11 @@ description: List of constructors
***
[$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), \];
+***
+
[$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), \];
+
+[$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), \];
+
***
[$boolFalse](../constructors/boolFalse.md) = \[\];
@@ -189,7 +196,10 @@ description: List of constructors
[$chatPhotoEmpty](../constructors/chatPhotoEmpty.md) = \[\];
***
-
[$config](../constructors/config.md) = \['phonecalls_enabled' => [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), '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), 'disabled_features' => \[[DisabledFeature](../types/DisabledFeature.md)\], \];
+
[$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), \];
+
+***
+
[$config](../constructors/config.md) = \['phonecalls_enabled' => [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), '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), 'disabled_features' => \[[DisabledFeature](../types/DisabledFeature.md)\], \];
***
[$contact](../constructors/contact.md) = \['user_id' => [int](../types/int.md), 'mutual' => [Bool](../types/Bool.md), \];
@@ -233,9 +243,15 @@ description: List of constructors
[$contacts\_topPeersNotModified](../constructors/contacts_topPeersNotModified.md) = \[\];
+***
+
[$dataJSON](../constructors/dataJSON.md) = \['data' => [string](../types/string.md), \];
+
***
[$dcOption](../constructors/dcOption.md) = \['ipv6' => [Bool](../types/Bool.md), 'media_only' => [Bool](../types/Bool.md), 'tcpo_only' => [Bool](../types/Bool.md), 'id' => [int](../types/int.md), 'ip_address' => [string](../types/string.md), 'port' => [int](../types/int.md), \];
+***
+
[$decryptedDataBlock](../constructors/decryptedDataBlock.md) = \['voice_call_id' => [int128](../types/int128.md), 'in_seq_no' => [int](../types/int.md), 'out_seq_no' => [int](../types/int.md), 'recent_received_mask' => [int](../types/int.md), 'proto' => [int](../types/int.md), 'extra' => [string](../types/string.md), 'raw_data' => [string](../types/string.md), \];
+
***
[$decryptedMessage\_45](../constructors/decryptedMessage_45.md) = \['ttl' => [int](../types/int.md), 'message' => [string](../types/string.md), 'media' => [DecryptedMessageMedia](../types/DecryptedMessageMedia.md), 'entities' => \[[MessageEntity](../types/MessageEntity.md)\], 'via_bot_name' => [string](../types/string.md), 'reply_to_random_id' => [long](../types/long.md), \];
@@ -321,6 +337,17 @@ description: List of constructors
[$destroy\_auth\_key\_ok](../constructors/destroy_auth_key_ok.md) = \[\];
+[$destroy\_session\_none](../constructors/destroy_session_none.md) = \['session_id' => [long](../types/long.md), \];
+
+[$destroy\_session\_ok](../constructors/destroy_session_ok.md) = \['session_id' => [long](../types/long.md), \];
+
+***
+
[$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), \];
+
+[$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), \];
+
+[$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), \];
+
***
[$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), 'notify_settings' => [PeerNotifySettings](../types/PeerNotifySettings.md), 'pts' => [int](../types/int.md), 'draft' => [DraftMessage](../types/DraftMessage.md), \];
@@ -405,6 +432,11 @@ description: List of constructors
***
[$foundGifCached](../constructors/foundGifCached.md) = \['url' => [string](../types/string.md), 'photo' => [Photo](../types/Photo.md), 'document' => [Document](../types/Document.md), \];
+***
+
[$future\_salt](../constructors/future_salt.md) = \['valid_since' => [int](../types/int.md), 'valid_until' => [int](../types/int.md), 'salt' => [long](../types/long.md), \];
+
+[$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)\], \];
+
***
[$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), \];
@@ -415,11 +447,7 @@ description: List of constructors
[$geoPointEmpty](../constructors/geoPointEmpty.md) = \[\];
***
-
[$help\_appChangelog](../constructors/help_appChangelog.md) = \['message' => [string](../types/string.md), 'media' => [MessageMedia](../types/MessageMedia.md), 'entities' => \[[MessageEntity](../types/MessageEntity.md)\], \];
-
-[$help\_appChangelogEmpty](../constructors/help_appChangelogEmpty.md) = \[\];
-
-[$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), \];
+
[$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), \];
[$help\_inviteText](../constructors/help_inviteText.md) = \['message' => [string](../types/string.md), \];
@@ -432,6 +460,9 @@ description: List of constructors
***
[$highScore](../constructors/highScore.md) = \['pos' => [int](../types/int.md), 'user_id' => [int](../types/int.md), 'score' => [int](../types/int.md), \];
+***
+
[$http\_wait](../constructors/http_wait.md) = \['max_delay' => [int](../types/int.md), 'wait_after' => [int](../types/int.md), 'max_wait' => [int](../types/int.md), \];
+
***
[$importedContact](../constructors/importedContact.md) = \['user_id' => [int](../types/int.md), 'client_id' => [long](../types/long.md), \];
@@ -558,6 +589,9 @@ description: List of constructors
***
[$inputMediaGifExternal](../constructors/inputMediaGifExternal.md) = \['url' => [string](../types/string.md), 'q' => [string](../types/string.md), \];
+***
+
[$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), 'start_param' => [string](../types/string.md), \];
+
***
[$inputMediaPhoto](../constructors/inputMediaPhoto.md) = \['id' => [InputPhoto](../types/InputPhoto.md), 'caption' => [string](../types/string.md), \];
@@ -627,6 +661,12 @@ description: List of constructors
***
[$inputNotifyUsers](../constructors/inputNotifyUsers.md) = \[\];
+***
+
[$inputPaymentCredentials](../constructors/inputPaymentCredentials.md) = \['save' => [Bool](../types/Bool.md), 'data' => [DataJSON](../types/DataJSON.md), \];
+
+***
+
[$inputPaymentCredentialsSaved](../constructors/inputPaymentCredentialsSaved.md) = \['id' => [string](../types/string.md), 'tmp_password' => [bytes](../types/bytes.md), \];
+
***
[$inputPeerChannel](../constructors/inputPeerChannel.md) = \['channel_id' => [int](../types/int.md), 'access_hash' => [long](../types/long.md), \];
@@ -726,9 +766,21 @@ description: List of constructors
***
[$inputUserSelf](../constructors/inputUserSelf.md) = \[\];
+***
+
[$inputWebDocument](../constructors/inputWebDocument.md) = \['url' => [string](../types/string.md), 'size' => [int](../types/int.md), 'mime_type' => [string](../types/string.md), 'attributes' => \[[DocumentAttribute](../types/DocumentAttribute.md)\], \];
+
+***
+
[$inputWebFileLocation](../constructors/inputWebFileLocation.md) = \['url' => [string](../types/string.md), 'access_hash' => [long](../types/long.md), \];
+
+***
+
[$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), 'currency' => [string](../types/string.md), 'prices' => \[[LabeledPrice](../types/LabeledPrice.md)\], \];
+
***
[$keyboardButton](../constructors/keyboardButton.md) = \['text' => [string](../types/string.md), \];
+***
+
[$keyboardButtonBuy](../constructors/keyboardButtonBuy.md) = \['text' => [string](../types/string.md), \];
+
***
[$keyboardButtonCallback](../constructors/keyboardButtonCallback.md) = \['text' => [string](../types/string.md), 'data' => [bytes](../types/bytes.md), \];
@@ -750,6 +802,9 @@ description: List of constructors
***
[$keyboardButtonUrl](../constructors/keyboardButtonUrl.md) = \['text' => [string](../types/string.md), 'url' => [string](../types/string.md), \];
+***
+
[$labeledPrice](../constructors/labeledPrice.md) = \['label' => [string](../types/string.md), 'amount' => [long](../types/long.md), \];
+
***
[$maskCoords](../constructors/maskCoords.md) = \['n' => [int](../types/int.md), 'x' => [double](../types/double.md), 'y' => [double](../types/double.md), 'zoom' => [double](../types/double.md), \];
@@ -795,6 +850,12 @@ description: List of constructors
***
[$messageActionHistoryClear](../constructors/messageActionHistoryClear.md) = \[\];
+***
+
[$messageActionPaymentSent](../constructors/messageActionPaymentSent.md) = \['currency' => [string](../types/string.md), 'total_amount' => [long](../types/long.md), \];
+
+***
+
[$messageActionPaymentSentMe](../constructors/messageActionPaymentSentMe.md) = \['currency' => [string](../types/string.md), 'total_amount' => [long](../types/long.md), 'payload' => [bytes](../types/bytes.md), 'info' => [PaymentRequestedInfo](../types/PaymentRequestedInfo.md), 'shipping_option_id' => [string](../types/string.md), 'charge' => [PaymentCharge](../types/PaymentCharge.md), \];
+
***
[$messageActionPhoneCall](../constructors/messageActionPhoneCall.md) = \['call_id' => [long](../types/long.md), 'reason' => [PhoneCallDiscardReason](../types/PhoneCallDiscardReason.md), 'duration' => [int](../types/int.md), \];
@@ -858,6 +919,9 @@ description: List of constructors
***
[$messageMediaGeo](../constructors/messageMediaGeo.md) = \['geo' => [GeoPoint](../types/GeoPoint.md), \];
+***
+
[$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), \];
+
***
[$messageMediaPhoto](../constructors/messageMediaPhoto.md) = \['photo' => [Photo](../types/Photo.md), 'caption' => [string](../types/string.md), \];
@@ -945,9 +1009,28 @@ description: List of constructors
[$messages\_stickersNotModified](../constructors/messages_stickersNotModified.md) = \[\];
+***
+
[$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), \];
+
+[$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), \];
+
+[$msg\_resend\_req](../constructors/msg_resend_req.md) = \['msg_ids' => \[[long](../types/long.md)\], \];
+
+***
+
[$msgs\_ack](../constructors/msgs_ack.md) = \['msg_ids' => \[[long](../types/long.md)\], \];
+
+[$msgs\_all\_info](../constructors/msgs_all_info.md) = \['msg_ids' => \[[long](../types/long.md)\], 'info' => [string](../types/string.md), \];
+
+[$msgs\_state\_info](../constructors/msgs_state_info.md) = \['req_msg_id' => [long](../types/long.md), 'info' => [string](../types/string.md), \];
+
+[$msgs\_state\_req](../constructors/msgs_state_req.md) = \['msg_ids' => \[[long](../types/long.md)\], \];
+
***
[$nearestDc](../constructors/nearestDc.md) = \['country' => [string](../types/string.md), 'this_dc' => [int](../types/int.md), 'nearest_dc' => [int](../types/int.md), \];
+***
+
[$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), \];
+
***
[$notifyAll](../constructors/notifyAll.md) = \[\];
@@ -963,6 +1046,9 @@ description: List of constructors
***
[$null](../constructors/null.md) = \[\];
+***
+
[$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), \];
+
***
[$pageBlockAnchor](../constructors/pageBlockAnchor.md) = \['name' => [string](../types/string.md), \];
@@ -1032,6 +1118,28 @@ description: List of constructors
***
[$pagePart](../constructors/pagePart.md) = \['blocks' => \[[PageBlock](../types/PageBlock.md)\], 'photos' => \[[Photo](../types/Photo.md)\], 'videos' => \[[Document](../types/Document.md)\], \];
+***
+
[$paymentCharge](../constructors/paymentCharge.md) = \['id' => [string](../types/string.md), 'provider_charge_id' => [string](../types/string.md), \];
+
+***
+
[$paymentRequestedInfo](../constructors/paymentRequestedInfo.md) = \['name' => [string](../types/string.md), 'phone' => [string](../types/string.md), 'email' => [string](../types/string.md), 'shipping_address' => [PostAddress](../types/PostAddress.md), \];
+
+***
+
[$paymentSavedCredentialsCard](../constructors/paymentSavedCredentialsCard.md) = \['id' => [string](../types/string.md), 'title' => [string](../types/string.md), \];
+
+***
+
[$payments\_paymentForm](../constructors/payments_paymentForm.md) = \['can_save_credentials' => [Bool](../types/Bool.md), 'password_missing' => [Bool](../types/Bool.md), 'bot_id' => [int](../types/int.md), 'invoice' => [Invoice](../types/Invoice.md), 'provider_id' => [int](../types/int.md), 'url' => [string](../types/string.md), 'native_provider' => [string](../types/string.md), 'native_params' => [DataJSON](../types/DataJSON.md), 'saved_info' => [PaymentRequestedInfo](../types/PaymentRequestedInfo.md), 'saved_credentials' => [PaymentSavedCredentials](../types/PaymentSavedCredentials.md), 'users' => \[[User](../types/User.md)\], \];
+
+[$payments\_paymentReceipt](../constructors/payments_paymentReceipt.md) = \['date' => [int](../types/int.md), 'bot_id' => [int](../types/int.md), 'invoice' => [Invoice](../types/Invoice.md), 'provider_id' => [int](../types/int.md), 'info' => [PaymentRequestedInfo](../types/PaymentRequestedInfo.md), 'shipping' => [ShippingOption](../types/ShippingOption.md), 'currency' => [string](../types/string.md), 'total_amount' => [long](../types/long.md), 'credentials_title' => [string](../types/string.md), 'users' => \[[User](../types/User.md)\], \];
+
+[$payments\_paymentResult](../constructors/payments_paymentResult.md) = \['updates' => [Updates](../types/Updates.md), \];
+
+[$payments\_paymentVerficationNeeded](../constructors/payments_paymentVerficationNeeded.md) = \['url' => [string](../types/string.md), \];
+
+[$payments\_savedInfo](../constructors/payments_savedInfo.md) = \['has_saved_credentials' => [Bool](../types/Bool.md), 'saved_info' => [PaymentRequestedInfo](../types/PaymentRequestedInfo.md), \];
+
+[$payments\_validatedRequestedInfo](../constructors/payments_validatedRequestedInfo.md) = \['id' => [string](../types/string.md), 'shipping_options' => \[[ShippingOption](../types/ShippingOption.md)\], \];
+
***
[$peerChannel](../constructors/peerChannel.md) = \['channel_id' => [int](../types/int.md), \];
@@ -1059,6 +1167,9 @@ description: List of constructors
***
[$phoneCall](../constructors/phoneCall.md) = \['id' => [long](../types/long.md), 'access_hash' => [long](../types/long.md), 'date' => [int](../types/int.md), 'admin_id' => [int](../types/int.md), 'participant_id' => [int](../types/int.md), 'g_a_or_b' => [bytes](../types/bytes.md), 'key_fingerprint' => [long](../types/long.md), 'protocol' => [PhoneCallProtocol](../types/PhoneCallProtocol.md), 'connection' => [PhoneConnection](../types/PhoneConnection.md), 'alternative_connections' => \[[PhoneConnection](../types/PhoneConnection.md)\], 'start_date' => [int](../types/int.md), \];
+***
+
[$phoneCallAccepted](../constructors/phoneCallAccepted.md) = \['id' => [long](../types/long.md), 'access_hash' => [long](../types/long.md), 'date' => [int](../types/int.md), 'admin_id' => [int](../types/int.md), 'participant_id' => [int](../types/int.md), 'g_b' => [bytes](../types/bytes.md), 'protocol' => [PhoneCallProtocol](../types/PhoneCallProtocol.md), \];
+
***
[$phoneCallDiscardReasonBusy](../constructors/phoneCallDiscardReasonBusy.md) = \[\];
@@ -1072,7 +1183,7 @@ description: List of constructors
[$phoneCallDiscardReasonMissed](../constructors/phoneCallDiscardReasonMissed.md) = \[\];
***
-
[$phoneCallDiscarded](../constructors/phoneCallDiscarded.md) = \['id' => [long](../types/long.md), 'reason' => [PhoneCallDiscardReason](../types/PhoneCallDiscardReason.md), 'duration' => [int](../types/int.md), \];
+
[$phoneCallDiscarded](../constructors/phoneCallDiscarded.md) = \['need_rating' => [Bool](../types/Bool.md), 'need_debug' => [Bool](../types/Bool.md), 'id' => [long](../types/long.md), 'reason' => [PhoneCallDiscardReason](../types/PhoneCallDiscardReason.md), 'duration' => [int](../types/int.md), \];
***
[$phoneCallEmpty](../constructors/phoneCallEmpty.md) = \['id' => [long](../types/long.md), \];
@@ -1081,7 +1192,7 @@ description: List of constructors
[$phoneCallProtocol](../constructors/phoneCallProtocol.md) = \['udp_p2p' => [Bool](../types/Bool.md), 'udp_reflector' => [Bool](../types/Bool.md), 'min_layer' => [int](../types/int.md), 'max_layer' => [int](../types/int.md), \];
***
-
[$phoneCallRequested](../constructors/phoneCallRequested.md) = \['id' => [long](../types/long.md), 'access_hash' => [long](../types/long.md), 'date' => [int](../types/int.md), 'admin_id' => [int](../types/int.md), 'participant_id' => [int](../types/int.md), 'g_a' => [bytes](../types/bytes.md), 'protocol' => [PhoneCallProtocol](../types/PhoneCallProtocol.md), \];
+
[$phoneCallRequested](../constructors/phoneCallRequested.md) = \['id' => [long](../types/long.md), 'access_hash' => [long](../types/long.md), 'date' => [int](../types/int.md), 'admin_id' => [int](../types/int.md), 'participant_id' => [int](../types/int.md), 'g_a_hash' => [bytes](../types/bytes.md), 'protocol' => [PhoneCallProtocol](../types/PhoneCallProtocol.md), \];
***
[$phoneCallWaiting](../constructors/phoneCallWaiting.md) = \['id' => [long](../types/long.md), 'access_hash' => [long](../types/long.md), 'date' => [int](../types/int.md), 'admin_id' => [int](../types/int.md), 'participant_id' => [int](../types/int.md), 'protocol' => [PhoneCallProtocol](../types/PhoneCallProtocol.md), 'receive_date' => [int](../types/int.md), \];
@@ -1114,6 +1225,12 @@ 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)\], \];
+***
+
[$pong](../constructors/pong.md) = \['msg_id' => [long](../types/long.md), 'ping_id' => [long](../types/long.md), \];
+
+***
+
[$postAddress](../constructors/postAddress.md) = \['street_line1' => [string](../types/string.md), 'street_line2' => [string](../types/string.md), 'city' => [string](../types/string.md), 'state' => [string](../types/string.md), 'country_iso2' => [string](../types/string.md), 'post_code' => [string](../types/string.md), \];
+
***
[$privacyKeyChatInvite](../constructors/privacyKeyChatInvite.md) = \[\];
@@ -1156,6 +1273,18 @@ description: List of constructors
***
[$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)\], \];
+***
+
[$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)\], \];
+
+***
+
[$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), \];
+
+[$rpc\_answer\_dropped\_running](../constructors/rpc_answer_dropped_running.md) = \[\];
+
+[$rpc\_answer\_unknown](../constructors/rpc_answer_unknown.md) = \[\];
+
+[$rpc\_error](../constructors/rpc_error.md) = \['error_code' => [int](../types/int.md), 'error_message' => [string](../types/string.md), \];
+
***
[$sendMessageCancelAction\_17](../constructors/sendMessageCancelAction_17.md) = \[\];
@@ -1189,6 +1318,19 @@ description: List of constructors
***
[$sendMessageUploadVideoAction\_17](../constructors/sendMessageUploadVideoAction_17.md) = \[\];
+***
+
[$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), \];
+
+[$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), \];
+
+[$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), \];
+
+***
+
[$shippingOption](../constructors/shippingOption.md) = \['id' => [string](../types/string.md), 'title' => [string](../types/string.md), 'prices' => \[[LabeledPrice](../types/LabeledPrice.md)\], \];
+
+***
+
[$simpleDataBlock](../constructors/simpleDataBlock.md) = \['raw_data' => [string](../types/string.md), \];
+
***
[$stickerPack](../constructors/stickerPack.md) = \['emoticon' => [string](../types/string.md), 'documents' => \[[long](../types/long.md)\], \];
@@ -1285,6 +1427,18 @@ description: List of constructors
***
[$updateBotInlineSend](../constructors/updateBotInlineSend.md) = \['user_id' => [int](../types/int.md), 'query' => [string](../types/string.md), 'geo' => [GeoPoint](../types/GeoPoint.md), 'id' => [string](../types/string.md), 'msg_id' => [InputBotInlineMessageID](../types/InputBotInlineMessageID.md), \];
+***
+
[$updateBotPrecheckoutQuery](../constructors/updateBotPrecheckoutQuery.md) = \['query_id' => [long](../types/long.md), 'user_id' => [int](../types/int.md), 'payload' => [bytes](../types/bytes.md), 'info' => [PaymentRequestedInfo](../types/PaymentRequestedInfo.md), 'shipping_option_id' => [string](../types/string.md), 'currency' => [string](../types/string.md), 'total_amount' => [long](../types/long.md), \];
+
+***
+
[$updateBotShippingQuery](../constructors/updateBotShippingQuery.md) = \['query_id' => [long](../types/long.md), 'user_id' => [int](../types/int.md), 'payload' => [bytes](../types/bytes.md), 'shipping_address' => [PostAddress](../types/PostAddress.md), \];
+
+***
+
[$updateBotWebhookJSON](../constructors/updateBotWebhookJSON.md) = \['data' => [DataJSON](../types/DataJSON.md), \];
+
+***
+
[$updateBotWebhookJSONQuery](../constructors/updateBotWebhookJSONQuery.md) = \['query_id' => [long](../types/long.md), 'data' => [DataJSON](../types/DataJSON.md), 'timeout' => [int](../types/int.md), \];
+
***
[$updateChannel](../constructors/updateChannel.md) = \['channel_id' => [int](../types/int.md), \];
@@ -1485,6 +1639,8 @@ description: List of constructors
***
[$upload\_file](../constructors/upload_file.md) = \['type' => [storage\_FileType](../types/storage_FileType.md), 'mtime' => [int](../types/int.md), 'bytes' => [bytes](../types/bytes.md), \];
+[$upload\_webFile](../constructors/upload_webFile.md) = \['size' => [int](../types/int.md), 'mime_type' => [string](../types/string.md), 'file_type' => [storage\_FileType](../types/storage_FileType.md), 'mtime' => [int](../types/int.md), 'bytes' => [bytes](../types/bytes.md), \];
+
***
[$user](../constructors/user.md) = \['self' => [Bool](../types/Bool.md), 'contact' => [Bool](../types/Bool.md), 'mutual_contact' => [Bool](../types/Bool.md), 'deleted' => [Bool](../types/Bool.md), 'bot' => [Bool](../types/Bool.md), 'bot_chat_history' => [Bool](../types/Bool.md), 'bot_nochats' => [Bool](../types/Bool.md), 'verified' => [Bool](../types/Bool.md), 'restricted' => [Bool](../types/Bool.md), 'min' => [Bool](../types/Bool.md), 'bot_inline_geo' => [Bool](../types/Bool.md), 'id' => [int](../types/int.md), 'access_hash' => [long](../types/long.md), 'first_name' => [string](../types/string.md), 'last_name' => [string](../types/string.md), 'username' => [string](../types/string.md), 'phone' => [string](../types/string.md), 'photo' => [UserProfilePhoto](../types/UserProfilePhoto.md), 'status' => [UserStatus](../types/UserStatus.md), 'bot_info_version' => [int](../types/int.md), 'restriction_reason' => [string](../types/string.md), 'bot_inline_placeholder' => [string](../types/string.md), \];
@@ -1492,7 +1648,7 @@ description: List of constructors
[$userEmpty](../constructors/userEmpty.md) = \['id' => [int](../types/int.md), \];
***
-
[$userFull](../constructors/userFull.md) = \['blocked' => [Bool](../types/Bool.md), 'phone_calls_available' => [Bool](../types/Bool.md), 'user' => [User](../types/User.md), 'about' => [string](../types/string.md), 'link' => [contacts\_Link](../types/contacts_Link.md), 'profile_photo' => [Photo](../types/Photo.md), 'notify_settings' => [PeerNotifySettings](../types/PeerNotifySettings.md), 'bot_info' => [BotInfo](../types/BotInfo.md), 'common_chats_count' => [int](../types/int.md), \];
+
[$userFull](../constructors/userFull.md) = \['blocked' => [Bool](../types/Bool.md), 'phone_calls_available' => [Bool](../types/Bool.md), 'phone_calls_private' => [Bool](../types/Bool.md), 'user' => [User](../types/User.md), 'about' => [string](../types/string.md), 'link' => [contacts\_Link](../types/contacts_Link.md), 'profile_photo' => [Photo](../types/Photo.md), 'notify_settings' => [PeerNotifySettings](../types/PeerNotifySettings.md), 'bot_info' => [BotInfo](../types/BotInfo.md), 'common_chats_count' => [int](../types/int.md), \];
***
[$userProfilePhoto](../constructors/userProfilePhoto.md) = \['photo_id' => [long](../types/long.md), 'photo_small' => [FileLocation](../types/FileLocation.md), 'photo_big' => [FileLocation](../types/FileLocation.md), \];
@@ -1524,6 +1680,9 @@ description: List of constructors
***
[$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), \];
+***
+
[$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), \];
+
***
[$webPage](../constructors/webPage.md) = \['id' => [long](../types/long.md), 'url' => [string](../types/string.md), 'display_url' => [string](../types/string.md), 'hash' => [int](../types/int.md), 'type' => [string](../types/string.md), 'site_name' => [string](../types/string.md), 'title' => [string](../types/string.md), 'description' => [string](../types/string.md), 'photo' => [Photo](../types/Photo.md), 'embed_url' => [string](../types/string.md), 'embed_type' => [string](../types/string.md), 'embed_width' => [int](../types/int.md), 'embed_height' => [int](../types/int.md), 'duration' => [int](../types/int.md), 'author' => [string](../types/string.md), 'document' => [Document](../types/Document.md), 'cached_page' => [Page](../types/Page.md), \];
diff --git a/docs/API_docs/constructors/inputMediaInvoice.md b/docs/API_docs/constructors/inputMediaInvoice.md
new file mode 100644
index 00000000..c63e1547
--- /dev/null
+++ b/docs/API_docs/constructors/inputMediaInvoice.md
@@ -0,0 +1,41 @@
+---
+title: inputMediaInvoice
+description: inputMediaInvoice attributes, type and example
+---
+## Constructor: inputMediaInvoice
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|title|[string](../types/string.md) | Yes|
+|description|[string](../types/string.md) | Yes|
+|photo|[InputWebDocument](../types/InputWebDocument.md) | Optional|
+|invoice|[Invoice](../types/Invoice.md) | Yes|
+|payload|[bytes](../types/bytes.md) | Yes|
+|provider|[string](../types/string.md) | Yes|
+|start\_param|[string](../types/string.md) | Yes|
+
+
+
+### Type: [InputMedia](../types/InputMedia.md)
+
+
+### Example:
+
+```
+$inputMediaInvoice = ['_' => 'inputMediaInvoice', 'title' => string, 'description' => string, 'photo' => InputWebDocument, 'invoice' => Invoice, 'payload' => bytes, 'provider' => string, 'start_param' => string, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+inputMediaInvoice={_='inputMediaInvoice', title=string, description=string, photo=InputWebDocument, invoice=Invoice, payload=bytes, provider=string, start_param=string, }
+
+```
+
+
diff --git a/docs/API_docs/constructors/inputPaymentCredentials.md b/docs/API_docs/constructors/inputPaymentCredentials.md
new file mode 100644
index 00000000..af621e44
--- /dev/null
+++ b/docs/API_docs/constructors/inputPaymentCredentials.md
@@ -0,0 +1,36 @@
+---
+title: inputPaymentCredentials
+description: inputPaymentCredentials attributes, type and example
+---
+## Constructor: inputPaymentCredentials
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|save|[Bool](../types/Bool.md) | Optional|
+|data|[DataJSON](../types/DataJSON.md) | Yes|
+
+
+
+### Type: [InputPaymentCredentials](../types/InputPaymentCredentials.md)
+
+
+### Example:
+
+```
+$inputPaymentCredentials = ['_' => 'inputPaymentCredentials', 'save' => Bool, 'data' => DataJSON, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+inputPaymentCredentials={_='inputPaymentCredentials', save=Bool, data=DataJSON, }
+
+```
+
+
diff --git a/docs/API_docs/constructors/inputPaymentCredentialsSaved.md b/docs/API_docs/constructors/inputPaymentCredentialsSaved.md
new file mode 100644
index 00000000..74c6ea9b
--- /dev/null
+++ b/docs/API_docs/constructors/inputPaymentCredentialsSaved.md
@@ -0,0 +1,36 @@
+---
+title: inputPaymentCredentialsSaved
+description: inputPaymentCredentialsSaved attributes, type and example
+---
+## Constructor: inputPaymentCredentialsSaved
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|id|[string](../types/string.md) | Yes|
+|tmp\_password|[bytes](../types/bytes.md) | Yes|
+
+
+
+### Type: [InputPaymentCredentials](../types/InputPaymentCredentials.md)
+
+
+### Example:
+
+```
+$inputPaymentCredentialsSaved = ['_' => 'inputPaymentCredentialsSaved', 'id' => string, 'tmp_password' => bytes, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+inputPaymentCredentialsSaved={_='inputPaymentCredentialsSaved', id=string, tmp_password=bytes, }
+
+```
+
+
diff --git a/docs/API_docs/constructors/inputWebDocument.md b/docs/API_docs/constructors/inputWebDocument.md
new file mode 100644
index 00000000..cd28894d
--- /dev/null
+++ b/docs/API_docs/constructors/inputWebDocument.md
@@ -0,0 +1,38 @@
+---
+title: inputWebDocument
+description: inputWebDocument attributes, type and example
+---
+## Constructor: inputWebDocument
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|url|[string](../types/string.md) | Yes|
+|size|[int](../types/int.md) | Yes|
+|mime\_type|[string](../types/string.md) | Yes|
+|attributes|Array of [DocumentAttribute](../types/DocumentAttribute.md) | Yes|
+
+
+
+### Type: [InputWebDocument](../types/InputWebDocument.md)
+
+
+### Example:
+
+```
+$inputWebDocument = ['_' => 'inputWebDocument', 'url' => string, 'size' => int, 'mime_type' => string, 'attributes' => [DocumentAttribute], ];
+```
+
+Or, if you're into Lua:
+
+
+```
+inputWebDocument={_='inputWebDocument', url=string, size=int, mime_type=string, attributes={DocumentAttribute}, }
+
+```
+
+
diff --git a/docs/API_docs/constructors/inputWebFileLocation.md b/docs/API_docs/constructors/inputWebFileLocation.md
new file mode 100644
index 00000000..e39ab6ac
--- /dev/null
+++ b/docs/API_docs/constructors/inputWebFileLocation.md
@@ -0,0 +1,36 @@
+---
+title: inputWebFileLocation
+description: inputWebFileLocation attributes, type and example
+---
+## Constructor: inputWebFileLocation
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|url|[string](../types/string.md) | Yes|
+|access\_hash|[long](../types/long.md) | Yes|
+
+
+
+### Type: [InputWebFileLocation](../types/InputWebFileLocation.md)
+
+
+### Example:
+
+```
+$inputWebFileLocation = ['_' => 'inputWebFileLocation', 'url' => string, 'access_hash' => long, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+inputWebFileLocation={_='inputWebFileLocation', url=string, access_hash=long, }
+
+```
+
+
diff --git a/docs/API_docs/constructors/invoice.md b/docs/API_docs/constructors/invoice.md
new file mode 100644
index 00000000..ce219681
--- /dev/null
+++ b/docs/API_docs/constructors/invoice.md
@@ -0,0 +1,42 @@
+---
+title: invoice
+description: invoice attributes, type and example
+---
+## Constructor: invoice
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|test|[Bool](../types/Bool.md) | Optional|
+|name\_requested|[Bool](../types/Bool.md) | Optional|
+|phone\_requested|[Bool](../types/Bool.md) | Optional|
+|email\_requested|[Bool](../types/Bool.md) | Optional|
+|shipping\_address\_requested|[Bool](../types/Bool.md) | Optional|
+|flexible|[Bool](../types/Bool.md) | Optional|
+|currency|[string](../types/string.md) | Yes|
+|prices|Array of [LabeledPrice](../types/LabeledPrice.md) | Yes|
+
+
+
+### Type: [Invoice](../types/Invoice.md)
+
+
+### Example:
+
+```
+$invoice = ['_' => 'invoice', 'test' => Bool, 'name_requested' => Bool, 'phone_requested' => Bool, 'email_requested' => Bool, 'shipping_address_requested' => Bool, 'flexible' => Bool, 'currency' => string, 'prices' => [LabeledPrice], ];
+```
+
+Or, if you're into Lua:
+
+
+```
+invoice={_='invoice', test=Bool, name_requested=Bool, phone_requested=Bool, email_requested=Bool, shipping_address_requested=Bool, flexible=Bool, currency=string, prices={LabeledPrice}, }
+
+```
+
+
diff --git a/docs/API_docs/constructors/keyboardButtonBuy.md b/docs/API_docs/constructors/keyboardButtonBuy.md
new file mode 100644
index 00000000..6076d602
--- /dev/null
+++ b/docs/API_docs/constructors/keyboardButtonBuy.md
@@ -0,0 +1,35 @@
+---
+title: keyboardButtonBuy
+description: keyboardButtonBuy attributes, type and example
+---
+## Constructor: keyboardButtonBuy
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|text|[string](../types/string.md) | Yes|
+
+
+
+### Type: [KeyboardButton](../types/KeyboardButton.md)
+
+
+### Example:
+
+```
+$keyboardButtonBuy = ['_' => 'keyboardButtonBuy', 'text' => string, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+keyboardButtonBuy={_='keyboardButtonBuy', text=string, }
+
+```
+
+
diff --git a/docs/API_docs/constructors/labeledPrice.md b/docs/API_docs/constructors/labeledPrice.md
new file mode 100644
index 00000000..7b4a1da4
--- /dev/null
+++ b/docs/API_docs/constructors/labeledPrice.md
@@ -0,0 +1,36 @@
+---
+title: labeledPrice
+description: labeledPrice attributes, type and example
+---
+## Constructor: labeledPrice
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|label|[string](../types/string.md) | Yes|
+|amount|[long](../types/long.md) | Yes|
+
+
+
+### Type: [LabeledPrice](../types/LabeledPrice.md)
+
+
+### Example:
+
+```
+$labeledPrice = ['_' => 'labeledPrice', 'label' => string, 'amount' => long, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+labeledPrice={_='labeledPrice', label=string, amount=long, }
+
+```
+
+
diff --git a/docs/API_docs/constructors/messageActionPaymentSent.md b/docs/API_docs/constructors/messageActionPaymentSent.md
new file mode 100644
index 00000000..1b864185
--- /dev/null
+++ b/docs/API_docs/constructors/messageActionPaymentSent.md
@@ -0,0 +1,36 @@
+---
+title: messageActionPaymentSent
+description: messageActionPaymentSent attributes, type and example
+---
+## Constructor: messageActionPaymentSent
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|currency|[string](../types/string.md) | Yes|
+|total\_amount|[long](../types/long.md) | Yes|
+
+
+
+### Type: [MessageAction](../types/MessageAction.md)
+
+
+### Example:
+
+```
+$messageActionPaymentSent = ['_' => 'messageActionPaymentSent', 'currency' => string, 'total_amount' => long, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+messageActionPaymentSent={_='messageActionPaymentSent', currency=string, total_amount=long, }
+
+```
+
+
diff --git a/docs/API_docs/constructors/messageActionPaymentSentMe.md b/docs/API_docs/constructors/messageActionPaymentSentMe.md
new file mode 100644
index 00000000..b13bdf41
--- /dev/null
+++ b/docs/API_docs/constructors/messageActionPaymentSentMe.md
@@ -0,0 +1,40 @@
+---
+title: messageActionPaymentSentMe
+description: messageActionPaymentSentMe attributes, type and example
+---
+## Constructor: messageActionPaymentSentMe
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|currency|[string](../types/string.md) | Yes|
+|total\_amount|[long](../types/long.md) | Yes|
+|payload|[bytes](../types/bytes.md) | Yes|
+|info|[PaymentRequestedInfo](../types/PaymentRequestedInfo.md) | Optional|
+|shipping\_option\_id|[string](../types/string.md) | Optional|
+|charge|[PaymentCharge](../types/PaymentCharge.md) | Yes|
+
+
+
+### Type: [MessageAction](../types/MessageAction.md)
+
+
+### Example:
+
+```
+$messageActionPaymentSentMe = ['_' => 'messageActionPaymentSentMe', 'currency' => string, 'total_amount' => long, 'payload' => bytes, 'info' => PaymentRequestedInfo, 'shipping_option_id' => string, 'charge' => PaymentCharge, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+messageActionPaymentSentMe={_='messageActionPaymentSentMe', currency=string, total_amount=long, payload=bytes, info=PaymentRequestedInfo, shipping_option_id=string, charge=PaymentCharge, }
+
+```
+
+
diff --git a/docs/API_docs/constructors/messageMediaInvoice.md b/docs/API_docs/constructors/messageMediaInvoice.md
new file mode 100644
index 00000000..2c7cdb20
--- /dev/null
+++ b/docs/API_docs/constructors/messageMediaInvoice.md
@@ -0,0 +1,43 @@
+---
+title: messageMediaInvoice
+description: messageMediaInvoice attributes, type and example
+---
+## Constructor: messageMediaInvoice
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|shipping\_address\_requested|[Bool](../types/Bool.md) | Optional|
+|test|[Bool](../types/Bool.md) | Optional|
+|title|[string](../types/string.md) | Yes|
+|description|[string](../types/string.md) | Yes|
+|photo|[WebDocument](../types/WebDocument.md) | Optional|
+|receipt\_msg\_id|[int](../types/int.md) | Optional|
+|currency|[string](../types/string.md) | Yes|
+|total\_amount|[long](../types/long.md) | Yes|
+|start\_param|[string](../types/string.md) | Yes|
+
+
+
+### Type: [MessageMedia](../types/MessageMedia.md)
+
+
+### Example:
+
+```
+$messageMediaInvoice = ['_' => 'messageMediaInvoice', 'shipping_address_requested' => Bool, 'test' => Bool, 'title' => string, 'description' => string, 'photo' => WebDocument, 'receipt_msg_id' => int, 'currency' => string, 'total_amount' => long, 'start_param' => string, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+messageMediaInvoice={_='messageMediaInvoice', shipping_address_requested=Bool, test=Bool, title=string, description=string, photo=WebDocument, receipt_msg_id=int, currency=string, total_amount=long, start_param=string, }
+
+```
+
+
diff --git a/docs/API_docs/constructors/msg_detailed_info.md b/docs/API_docs/constructors/msg_detailed_info.md
new file mode 100644
index 00000000..61e40732
--- /dev/null
+++ b/docs/API_docs/constructors/msg_detailed_info.md
@@ -0,0 +1,38 @@
+---
+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, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+msg_detailed_info={_='msg_detailed_info', msg_id=long, answer_msg_id=long, bytes=int, status=int, }
+
+```
+
+
diff --git a/docs/API_docs/constructors/msg_new_detailed_info.md b/docs/API_docs/constructors/msg_new_detailed_info.md
new file mode 100644
index 00000000..2f57220b
--- /dev/null
+++ b/docs/API_docs/constructors/msg_new_detailed_info.md
@@ -0,0 +1,37 @@
+---
+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, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+msg_new_detailed_info={_='msg_new_detailed_info', answer_msg_id=long, bytes=int, status=int, }
+
+```
+
+
diff --git a/docs/API_docs/constructors/msg_resend_req.md b/docs/API_docs/constructors/msg_resend_req.md
new file mode 100644
index 00000000..58f6daec
--- /dev/null
+++ b/docs/API_docs/constructors/msg_resend_req.md
@@ -0,0 +1,35 @@
+---
+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], ];
+```
+
+Or, if you're into Lua:
+
+
+```
+msg_resend_req={_='msg_resend_req', msg_ids={long}, }
+
+```
+
+
diff --git a/docs/API_docs/constructors/msgs_ack.md b/docs/API_docs/constructors/msgs_ack.md
new file mode 100644
index 00000000..05f60aff
--- /dev/null
+++ b/docs/API_docs/constructors/msgs_ack.md
@@ -0,0 +1,35 @@
+---
+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], ];
+```
+
+Or, if you're into Lua:
+
+
+```
+msgs_ack={_='msgs_ack', msg_ids={long}, }
+
+```
+
+
diff --git a/docs/API_docs/constructors/msgs_all_info.md b/docs/API_docs/constructors/msgs_all_info.md
new file mode 100644
index 00000000..f9adeb83
--- /dev/null
+++ b/docs/API_docs/constructors/msgs_all_info.md
@@ -0,0 +1,36 @@
+---
+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, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+msgs_all_info={_='msgs_all_info', msg_ids={long}, info=string, }
+
+```
+
+
diff --git a/docs/API_docs/constructors/msgs_state_info.md b/docs/API_docs/constructors/msgs_state_info.md
new file mode 100644
index 00000000..0066d567
--- /dev/null
+++ b/docs/API_docs/constructors/msgs_state_info.md
@@ -0,0 +1,36 @@
+---
+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, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+msgs_state_info={_='msgs_state_info', req_msg_id=long, info=string, }
+
+```
+
+
diff --git a/docs/API_docs/constructors/msgs_state_req.md b/docs/API_docs/constructors/msgs_state_req.md
new file mode 100644
index 00000000..53d846c7
--- /dev/null
+++ b/docs/API_docs/constructors/msgs_state_req.md
@@ -0,0 +1,35 @@
+---
+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], ];
+```
+
+Or, if you're into Lua:
+
+
+```
+msgs_state_req={_='msgs_state_req', msg_ids={long}, }
+
+```
+
+
diff --git a/docs/API_docs/constructors/new_session_created.md b/docs/API_docs/constructors/new_session_created.md
new file mode 100644
index 00000000..7cccc77c
--- /dev/null
+++ b/docs/API_docs/constructors/new_session_created.md
@@ -0,0 +1,37 @@
+---
+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, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+new_session_created={_='new_session_created', first_msg_id=long, unique_id=long, server_salt=long, }
+
+```
+
+
diff --git a/docs/API_docs/constructors/p_q_inner_data.md b/docs/API_docs/constructors/p_q_inner_data.md
new file mode 100644
index 00000000..e8719b89
--- /dev/null
+++ b/docs/API_docs/constructors/p_q_inner_data.md
@@ -0,0 +1,40 @@
+---
+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, ];
+```
+
+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, }
+
+```
+
+
diff --git a/docs/API_docs/constructors/paymentCharge.md b/docs/API_docs/constructors/paymentCharge.md
new file mode 100644
index 00000000..4c08bbb7
--- /dev/null
+++ b/docs/API_docs/constructors/paymentCharge.md
@@ -0,0 +1,36 @@
+---
+title: paymentCharge
+description: paymentCharge attributes, type and example
+---
+## Constructor: paymentCharge
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|id|[string](../types/string.md) | Yes|
+|provider\_charge\_id|[string](../types/string.md) | Yes|
+
+
+
+### Type: [PaymentCharge](../types/PaymentCharge.md)
+
+
+### Example:
+
+```
+$paymentCharge = ['_' => 'paymentCharge', 'id' => string, 'provider_charge_id' => string, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+paymentCharge={_='paymentCharge', id=string, provider_charge_id=string, }
+
+```
+
+
diff --git a/docs/API_docs/constructors/paymentRequestedInfo.md b/docs/API_docs/constructors/paymentRequestedInfo.md
new file mode 100644
index 00000000..ad7a2907
--- /dev/null
+++ b/docs/API_docs/constructors/paymentRequestedInfo.md
@@ -0,0 +1,38 @@
+---
+title: paymentRequestedInfo
+description: paymentRequestedInfo attributes, type and example
+---
+## Constructor: paymentRequestedInfo
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|name|[string](../types/string.md) | Optional|
+|phone|[string](../types/string.md) | Optional|
+|email|[string](../types/string.md) | Optional|
+|shipping\_address|[PostAddress](../types/PostAddress.md) | Optional|
+
+
+
+### Type: [PaymentRequestedInfo](../types/PaymentRequestedInfo.md)
+
+
+### Example:
+
+```
+$paymentRequestedInfo = ['_' => 'paymentRequestedInfo', 'name' => string, 'phone' => string, 'email' => string, 'shipping_address' => PostAddress, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+paymentRequestedInfo={_='paymentRequestedInfo', name=string, phone=string, email=string, shipping_address=PostAddress, }
+
+```
+
+
diff --git a/docs/API_docs/constructors/paymentSavedCredentialsCard.md b/docs/API_docs/constructors/paymentSavedCredentialsCard.md
new file mode 100644
index 00000000..16edbaf8
--- /dev/null
+++ b/docs/API_docs/constructors/paymentSavedCredentialsCard.md
@@ -0,0 +1,36 @@
+---
+title: paymentSavedCredentialsCard
+description: paymentSavedCredentialsCard attributes, type and example
+---
+## Constructor: paymentSavedCredentialsCard
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|id|[string](../types/string.md) | Yes|
+|title|[string](../types/string.md) | Yes|
+
+
+
+### Type: [PaymentSavedCredentials](../types/PaymentSavedCredentials.md)
+
+
+### Example:
+
+```
+$paymentSavedCredentialsCard = ['_' => 'paymentSavedCredentialsCard', 'id' => string, 'title' => string, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+paymentSavedCredentialsCard={_='paymentSavedCredentialsCard', id=string, title=string, }
+
+```
+
+
diff --git a/docs/API_docs/constructors/payments_paymentForm.md b/docs/API_docs/constructors/payments_paymentForm.md
new file mode 100644
index 00000000..4f22bcbd
--- /dev/null
+++ b/docs/API_docs/constructors/payments_paymentForm.md
@@ -0,0 +1,45 @@
+---
+title: payments.paymentForm
+description: payments_paymentForm attributes, type and example
+---
+## Constructor: payments.paymentForm
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|can\_save\_credentials|[Bool](../types/Bool.md) | Optional|
+|password\_missing|[Bool](../types/Bool.md) | Optional|
+|bot\_id|[int](../types/int.md) | Yes|
+|invoice|[Invoice](../types/Invoice.md) | Yes|
+|provider\_id|[int](../types/int.md) | Yes|
+|url|[string](../types/string.md) | Yes|
+|native\_provider|[string](../types/string.md) | Optional|
+|native\_params|[DataJSON](../types/DataJSON.md) | Optional|
+|saved\_info|[PaymentRequestedInfo](../types/PaymentRequestedInfo.md) | Optional|
+|saved\_credentials|[PaymentSavedCredentials](../types/PaymentSavedCredentials.md) | Optional|
+|users|Array of [User](../types/User.md) | Yes|
+
+
+
+### Type: [payments\_PaymentForm](../types/payments_PaymentForm.md)
+
+
+### Example:
+
+```
+$payments_paymentForm = ['_' => 'payments.paymentForm', 'can_save_credentials' => Bool, 'password_missing' => Bool, 'bot_id' => int, 'invoice' => Invoice, 'provider_id' => int, 'url' => string, 'native_provider' => string, 'native_params' => DataJSON, 'saved_info' => PaymentRequestedInfo, 'saved_credentials' => PaymentSavedCredentials, 'users' => [User], ];
+```
+
+Or, if you're into Lua:
+
+
+```
+payments_paymentForm={_='payments.paymentForm', can_save_credentials=Bool, password_missing=Bool, bot_id=int, invoice=Invoice, provider_id=int, url=string, native_provider=string, native_params=DataJSON, saved_info=PaymentRequestedInfo, saved_credentials=PaymentSavedCredentials, users={User}, }
+
+```
+
+
diff --git a/docs/API_docs/constructors/payments_paymentReceipt.md b/docs/API_docs/constructors/payments_paymentReceipt.md
new file mode 100644
index 00000000..f3c14832
--- /dev/null
+++ b/docs/API_docs/constructors/payments_paymentReceipt.md
@@ -0,0 +1,44 @@
+---
+title: payments.paymentReceipt
+description: payments_paymentReceipt attributes, type and example
+---
+## Constructor: payments.paymentReceipt
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|date|[int](../types/int.md) | Yes|
+|bot\_id|[int](../types/int.md) | Yes|
+|invoice|[Invoice](../types/Invoice.md) | Yes|
+|provider\_id|[int](../types/int.md) | Yes|
+|info|[PaymentRequestedInfo](../types/PaymentRequestedInfo.md) | Optional|
+|shipping|[ShippingOption](../types/ShippingOption.md) | Optional|
+|currency|[string](../types/string.md) | Yes|
+|total\_amount|[long](../types/long.md) | Yes|
+|credentials\_title|[string](../types/string.md) | Yes|
+|users|Array of [User](../types/User.md) | Yes|
+
+
+
+### Type: [payments\_PaymentReceipt](../types/payments_PaymentReceipt.md)
+
+
+### Example:
+
+```
+$payments_paymentReceipt = ['_' => 'payments.paymentReceipt', 'date' => int, 'bot_id' => int, 'invoice' => Invoice, 'provider_id' => int, 'info' => PaymentRequestedInfo, 'shipping' => ShippingOption, 'currency' => string, 'total_amount' => long, 'credentials_title' => string, 'users' => [User], ];
+```
+
+Or, if you're into Lua:
+
+
+```
+payments_paymentReceipt={_='payments.paymentReceipt', date=int, bot_id=int, invoice=Invoice, provider_id=int, info=PaymentRequestedInfo, shipping=ShippingOption, currency=string, total_amount=long, credentials_title=string, users={User}, }
+
+```
+
+
diff --git a/docs/API_docs/constructors/payments_paymentResult.md b/docs/API_docs/constructors/payments_paymentResult.md
new file mode 100644
index 00000000..18d75fad
--- /dev/null
+++ b/docs/API_docs/constructors/payments_paymentResult.md
@@ -0,0 +1,35 @@
+---
+title: payments.paymentResult
+description: payments_paymentResult attributes, type and example
+---
+## Constructor: payments.paymentResult
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|updates|[Updates](../types/Updates.md) | Yes|
+
+
+
+### Type: [payments\_PaymentResult](../types/payments_PaymentResult.md)
+
+
+### Example:
+
+```
+$payments_paymentResult = ['_' => 'payments.paymentResult', 'updates' => Updates, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+payments_paymentResult={_='payments.paymentResult', updates=Updates, }
+
+```
+
+
diff --git a/docs/API_docs/constructors/payments_paymentVerficationNeeded.md b/docs/API_docs/constructors/payments_paymentVerficationNeeded.md
new file mode 100644
index 00000000..f3af9acf
--- /dev/null
+++ b/docs/API_docs/constructors/payments_paymentVerficationNeeded.md
@@ -0,0 +1,35 @@
+---
+title: payments.paymentVerficationNeeded
+description: payments_paymentVerficationNeeded attributes, type and example
+---
+## Constructor: payments.paymentVerficationNeeded
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|url|[string](../types/string.md) | Yes|
+
+
+
+### Type: [payments\_PaymentResult](../types/payments_PaymentResult.md)
+
+
+### Example:
+
+```
+$payments_paymentVerficationNeeded = ['_' => 'payments.paymentVerficationNeeded', 'url' => string, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+payments_paymentVerficationNeeded={_='payments.paymentVerficationNeeded', url=string, }
+
+```
+
+
diff --git a/docs/API_docs/constructors/payments_savedInfo.md b/docs/API_docs/constructors/payments_savedInfo.md
new file mode 100644
index 00000000..42c5b738
--- /dev/null
+++ b/docs/API_docs/constructors/payments_savedInfo.md
@@ -0,0 +1,36 @@
+---
+title: payments.savedInfo
+description: payments_savedInfo attributes, type and example
+---
+## Constructor: payments.savedInfo
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|has\_saved\_credentials|[Bool](../types/Bool.md) | Optional|
+|saved\_info|[PaymentRequestedInfo](../types/PaymentRequestedInfo.md) | Optional|
+
+
+
+### Type: [payments\_SavedInfo](../types/payments_SavedInfo.md)
+
+
+### Example:
+
+```
+$payments_savedInfo = ['_' => 'payments.savedInfo', 'has_saved_credentials' => Bool, 'saved_info' => PaymentRequestedInfo, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+payments_savedInfo={_='payments.savedInfo', has_saved_credentials=Bool, saved_info=PaymentRequestedInfo, }
+
+```
+
+
diff --git a/docs/API_docs/constructors/payments_validatedRequestedInfo.md b/docs/API_docs/constructors/payments_validatedRequestedInfo.md
new file mode 100644
index 00000000..abf335ca
--- /dev/null
+++ b/docs/API_docs/constructors/payments_validatedRequestedInfo.md
@@ -0,0 +1,36 @@
+---
+title: payments.validatedRequestedInfo
+description: payments_validatedRequestedInfo attributes, type and example
+---
+## Constructor: payments.validatedRequestedInfo
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|id|[string](../types/string.md) | Optional|
+|shipping\_options|Array of [ShippingOption](../types/ShippingOption.md) | Optional|
+
+
+
+### Type: [payments\_ValidatedRequestedInfo](../types/payments_ValidatedRequestedInfo.md)
+
+
+### Example:
+
+```
+$payments_validatedRequestedInfo = ['_' => 'payments.validatedRequestedInfo', 'id' => string, 'shipping_options' => [ShippingOption], ];
+```
+
+Or, if you're into Lua:
+
+
+```
+payments_validatedRequestedInfo={_='payments.validatedRequestedInfo', id=string, shipping_options={ShippingOption}, }
+
+```
+
+
diff --git a/docs/API_docs/constructors/phoneCallAccepted.md b/docs/API_docs/constructors/phoneCallAccepted.md
new file mode 100644
index 00000000..9849a825
--- /dev/null
+++ b/docs/API_docs/constructors/phoneCallAccepted.md
@@ -0,0 +1,41 @@
+---
+title: phoneCallAccepted
+description: phoneCallAccepted attributes, type and example
+---
+## Constructor: phoneCallAccepted
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|id|[long](../types/long.md) | Yes|
+|access\_hash|[long](../types/long.md) | Yes|
+|date|[int](../types/int.md) | Yes|
+|admin\_id|[int](../types/int.md) | Yes|
+|participant\_id|[int](../types/int.md) | Yes|
+|g\_b|[bytes](../types/bytes.md) | Yes|
+|protocol|[PhoneCallProtocol](../types/PhoneCallProtocol.md) | Yes|
+
+
+
+### Type: [PhoneCall](../types/PhoneCall.md)
+
+
+### Example:
+
+```
+$phoneCallAccepted = ['_' => 'phoneCallAccepted', 'id' => long, 'access_hash' => long, 'date' => int, 'admin_id' => int, 'participant_id' => int, 'g_b' => bytes, 'protocol' => PhoneCallProtocol, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+phoneCallAccepted={_='phoneCallAccepted', id=long, access_hash=long, date=int, admin_id=int, participant_id=int, g_b=bytes, protocol=PhoneCallProtocol, }
+
+```
+
+
diff --git a/docs/API_docs/constructors/phoneCallDiscarded.md b/docs/API_docs/constructors/phoneCallDiscarded.md
index 7da87c12..cc53c2c1 100644
--- a/docs/API_docs/constructors/phoneCallDiscarded.md
+++ b/docs/API_docs/constructors/phoneCallDiscarded.md
@@ -11,6 +11,8 @@ description: phoneCallDiscarded attributes, type and example
| Name | Type | Required |
|----------|:-------------:|---------:|
+|need\_rating|[Bool](../types/Bool.md) | Optional|
+|need\_debug|[Bool](../types/Bool.md) | Optional|
|id|[long](../types/long.md) | Yes|
|reason|[PhoneCallDiscardReason](../types/PhoneCallDiscardReason.md) | Optional|
|duration|[int](../types/int.md) | Optional|
@@ -23,14 +25,14 @@ description: phoneCallDiscarded attributes, type and example
### Example:
```
-$phoneCallDiscarded = ['_' => 'phoneCallDiscarded', 'id' => long, 'reason' => PhoneCallDiscardReason, 'duration' => int, ];
+$phoneCallDiscarded = ['_' => 'phoneCallDiscarded', 'need_rating' => Bool, 'need_debug' => Bool, 'id' => long, 'reason' => PhoneCallDiscardReason, 'duration' => int, ];
```
Or, if you're into Lua:
```
-phoneCallDiscarded={_='phoneCallDiscarded', id=long, reason=PhoneCallDiscardReason, duration=int, }
+phoneCallDiscarded={_='phoneCallDiscarded', need_rating=Bool, need_debug=Bool, id=long, reason=PhoneCallDiscardReason, duration=int, }
```
diff --git a/docs/API_docs/constructors/phoneCallRequested.md b/docs/API_docs/constructors/phoneCallRequested.md
index ed4c242d..b68645e1 100644
--- a/docs/API_docs/constructors/phoneCallRequested.md
+++ b/docs/API_docs/constructors/phoneCallRequested.md
@@ -16,7 +16,7 @@ description: phoneCallRequested attributes, type and example
|date|[int](../types/int.md) | Yes|
|admin\_id|[int](../types/int.md) | Yes|
|participant\_id|[int](../types/int.md) | Yes|
-|g\_a|[bytes](../types/bytes.md) | Yes|
+|g\_a\_hash|[bytes](../types/bytes.md) | Yes|
|protocol|[PhoneCallProtocol](../types/PhoneCallProtocol.md) | Yes|
@@ -27,14 +27,14 @@ description: phoneCallRequested attributes, type and example
### Example:
```
-$phoneCallRequested = ['_' => 'phoneCallRequested', 'id' => long, 'access_hash' => long, 'date' => int, 'admin_id' => int, 'participant_id' => int, 'g_a' => bytes, 'protocol' => PhoneCallProtocol, ];
+$phoneCallRequested = ['_' => 'phoneCallRequested', 'id' => long, 'access_hash' => long, 'date' => int, 'admin_id' => int, 'participant_id' => int, 'g_a_hash' => bytes, 'protocol' => PhoneCallProtocol, ];
```
Or, if you're into Lua:
```
-phoneCallRequested={_='phoneCallRequested', id=long, access_hash=long, date=int, admin_id=int, participant_id=int, g_a=bytes, protocol=PhoneCallProtocol, }
+phoneCallRequested={_='phoneCallRequested', id=long, access_hash=long, date=int, admin_id=int, participant_id=int, g_a_hash=bytes, protocol=PhoneCallProtocol, }
```
diff --git a/docs/API_docs/constructors/pong.md b/docs/API_docs/constructors/pong.md
new file mode 100644
index 00000000..72b67d07
--- /dev/null
+++ b/docs/API_docs/constructors/pong.md
@@ -0,0 +1,36 @@
+---
+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, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+pong={_='pong', msg_id=long, ping_id=long, }
+
+```
+
+
diff --git a/docs/API_docs/constructors/postAddress.md b/docs/API_docs/constructors/postAddress.md
new file mode 100644
index 00000000..fdd8c49a
--- /dev/null
+++ b/docs/API_docs/constructors/postAddress.md
@@ -0,0 +1,40 @@
+---
+title: postAddress
+description: postAddress attributes, type and example
+---
+## Constructor: postAddress
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|street\_line1|[string](../types/string.md) | Yes|
+|street\_line2|[string](../types/string.md) | Yes|
+|city|[string](../types/string.md) | Yes|
+|state|[string](../types/string.md) | Yes|
+|country\_iso2|[string](../types/string.md) | Yes|
+|post\_code|[string](../types/string.md) | Yes|
+
+
+
+### Type: [PostAddress](../types/PostAddress.md)
+
+
+### Example:
+
+```
+$postAddress = ['_' => 'postAddress', 'street_line1' => string, 'street_line2' => string, 'city' => string, 'state' => string, 'country_iso2' => string, 'post_code' => string, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+postAddress={_='postAddress', street_line1=string, street_line2=string, city=string, state=string, country_iso2=string, post_code=string, }
+
+```
+
+
diff --git a/docs/API_docs/constructors/resPQ.md b/docs/API_docs/constructors/resPQ.md
new file mode 100644
index 00000000..8eb06349
--- /dev/null
+++ b/docs/API_docs/constructors/resPQ.md
@@ -0,0 +1,38 @@
+---
+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], ];
+```
+
+Or, if you're into Lua:
+
+
+```
+resPQ={_='resPQ', nonce=int128, server_nonce=int128, pq=string, server_public_key_fingerprints={long}, }
+
+```
+
+
diff --git a/docs/API_docs/constructors/rpc_answer_dropped.md b/docs/API_docs/constructors/rpc_answer_dropped.md
new file mode 100644
index 00000000..acf2ee62
--- /dev/null
+++ b/docs/API_docs/constructors/rpc_answer_dropped.md
@@ -0,0 +1,37 @@
+---
+title: rpc_answer_dropped
+description: rpc_answer_dropped attributes, type and example
+---
+## Constructor: rpc\_answer\_dropped
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|msg\_id|[long](../types/long.md) | Yes|
+|seq\_no|[int](../types/int.md) | Yes|
+|bytes|[int](../types/int.md) | Yes|
+
+
+
+### Type: [RpcDropAnswer](../types/RpcDropAnswer.md)
+
+
+### Example:
+
+```
+$rpc_answer_dropped = ['_' => 'rpc_answer_dropped', 'msg_id' => long, 'seq_no' => int, 'bytes' => int, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+rpc_answer_dropped={_='rpc_answer_dropped', msg_id=long, seq_no=int, bytes=int, }
+
+```
+
+
diff --git a/docs/API_docs/constructors/rpc_answer_dropped_running.md b/docs/API_docs/constructors/rpc_answer_dropped_running.md
new file mode 100644
index 00000000..0634b3d8
--- /dev/null
+++ b/docs/API_docs/constructors/rpc_answer_dropped_running.md
@@ -0,0 +1,30 @@
+---
+title: rpc_answer_dropped_running
+description: rpc_answer_dropped_running attributes, type and example
+---
+## Constructor: rpc\_answer\_dropped\_running
+[Back to constructors index](index.md)
+
+
+
+
+
+
+### Type: [RpcDropAnswer](../types/RpcDropAnswer.md)
+
+
+### Example:
+
+```
+$rpc_answer_dropped_running = ['_' => 'rpc_answer_dropped_running', ];
+```
+
+Or, if you're into Lua:
+
+
+```
+rpc_answer_dropped_running={_='rpc_answer_dropped_running', }
+
+```
+
+
diff --git a/docs/API_docs/constructors/rpc_answer_unknown.md b/docs/API_docs/constructors/rpc_answer_unknown.md
new file mode 100644
index 00000000..6e7b0a87
--- /dev/null
+++ b/docs/API_docs/constructors/rpc_answer_unknown.md
@@ -0,0 +1,30 @@
+---
+title: rpc_answer_unknown
+description: rpc_answer_unknown attributes, type and example
+---
+## Constructor: rpc\_answer\_unknown
+[Back to constructors index](index.md)
+
+
+
+
+
+
+### Type: [RpcDropAnswer](../types/RpcDropAnswer.md)
+
+
+### Example:
+
+```
+$rpc_answer_unknown = ['_' => 'rpc_answer_unknown', ];
+```
+
+Or, if you're into Lua:
+
+
+```
+rpc_answer_unknown={_='rpc_answer_unknown', }
+
+```
+
+
diff --git a/docs/API_docs/constructors/rpc_error.md b/docs/API_docs/constructors/rpc_error.md
new file mode 100644
index 00000000..ec318a68
--- /dev/null
+++ b/docs/API_docs/constructors/rpc_error.md
@@ -0,0 +1,36 @@
+---
+title: rpc_error
+description: rpc_error attributes, type and example
+---
+## Constructor: rpc\_error
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|error\_code|[int](../types/int.md) | Yes|
+|error\_message|[string](../types/string.md) | Yes|
+
+
+
+### Type: [RpcError](../types/RpcError.md)
+
+
+### Example:
+
+```
+$rpc_error = ['_' => 'rpc_error', 'error_code' => int, 'error_message' => string, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+rpc_error={_='rpc_error', error_code=int, error_message=string, }
+
+```
+
+
diff --git a/docs/API_docs/constructors/server_DH_inner_data.md b/docs/API_docs/constructors/server_DH_inner_data.md
new file mode 100644
index 00000000..45715e9e
--- /dev/null
+++ b/docs/API_docs/constructors/server_DH_inner_data.md
@@ -0,0 +1,40 @@
+---
+title: server_DH_inner_data
+description: server_DH_inner_data attributes, type and example
+---
+## Constructor: server\_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|
+|g|[int](../types/int.md) | Yes|
+|dh\_prime|[string](../types/string.md) | Yes|
+|g\_a|[string](../types/string.md) | Yes|
+|server\_time|[int](../types/int.md) | Yes|
+
+
+
+### Type: [Server\_DH\_inner\_data](../types/Server_DH_inner_data.md)
+
+
+### Example:
+
+```
+$server_DH_inner_data = ['_' => 'server_DH_inner_data', 'nonce' => int128, 'server_nonce' => int128, 'g' => int, 'dh_prime' => string, 'g_a' => string, 'server_time' => int, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+server_DH_inner_data={_='server_DH_inner_data', nonce=int128, server_nonce=int128, g=int, dh_prime=string, g_a=string, server_time=int, }
+
+```
+
+
diff --git a/docs/API_docs/constructors/server_DH_params_fail.md b/docs/API_docs/constructors/server_DH_params_fail.md
new file mode 100644
index 00000000..5540efcd
--- /dev/null
+++ b/docs/API_docs/constructors/server_DH_params_fail.md
@@ -0,0 +1,37 @@
+---
+title: server_DH_params_fail
+description: server_DH_params_fail attributes, type and example
+---
+## Constructor: server\_DH\_params\_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\_hash|[int128](../types/int128.md) | Yes|
+
+
+
+### Type: [Server\_DH\_Params](../types/Server_DH_Params.md)
+
+
+### Example:
+
+```
+$server_DH_params_fail = ['_' => 'server_DH_params_fail', 'nonce' => int128, 'server_nonce' => int128, 'new_nonce_hash' => int128, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+server_DH_params_fail={_='server_DH_params_fail', nonce=int128, server_nonce=int128, new_nonce_hash=int128, }
+
+```
+
+
diff --git a/docs/API_docs/constructors/server_DH_params_ok.md b/docs/API_docs/constructors/server_DH_params_ok.md
new file mode 100644
index 00000000..cc60418b
--- /dev/null
+++ b/docs/API_docs/constructors/server_DH_params_ok.md
@@ -0,0 +1,37 @@
+---
+title: server_DH_params_ok
+description: server_DH_params_ok attributes, type and example
+---
+## Constructor: server\_DH\_params\_ok
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|nonce|[int128](../types/int128.md) | Yes|
+|server\_nonce|[int128](../types/int128.md) | Yes|
+|encrypted\_answer|[string](../types/string.md) | Yes|
+
+
+
+### Type: [Server\_DH\_Params](../types/Server_DH_Params.md)
+
+
+### Example:
+
+```
+$server_DH_params_ok = ['_' => 'server_DH_params_ok', 'nonce' => int128, 'server_nonce' => int128, 'encrypted_answer' => string, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+server_DH_params_ok={_='server_DH_params_ok', nonce=int128, server_nonce=int128, encrypted_answer=string, }
+
+```
+
+
diff --git a/docs/API_docs/constructors/shippingOption.md b/docs/API_docs/constructors/shippingOption.md
new file mode 100644
index 00000000..be609c8f
--- /dev/null
+++ b/docs/API_docs/constructors/shippingOption.md
@@ -0,0 +1,37 @@
+---
+title: shippingOption
+description: shippingOption attributes, type and example
+---
+## Constructor: shippingOption
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|id|[string](../types/string.md) | Yes|
+|title|[string](../types/string.md) | Yes|
+|prices|Array of [LabeledPrice](../types/LabeledPrice.md) | Yes|
+
+
+
+### Type: [ShippingOption](../types/ShippingOption.md)
+
+
+### Example:
+
+```
+$shippingOption = ['_' => 'shippingOption', 'id' => string, 'title' => string, 'prices' => [LabeledPrice], ];
+```
+
+Or, if you're into Lua:
+
+
+```
+shippingOption={_='shippingOption', id=string, title=string, prices={LabeledPrice}, }
+
+```
+
+
diff --git a/docs/API_docs/constructors/simpleDataBlock.md b/docs/API_docs/constructors/simpleDataBlock.md
new file mode 100644
index 00000000..41be7a28
--- /dev/null
+++ b/docs/API_docs/constructors/simpleDataBlock.md
@@ -0,0 +1,35 @@
+---
+title: simpleDataBlock
+description: simpleDataBlock attributes, type and example
+---
+## Constructor: simpleDataBlock
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|raw\_data|[string](../types/string.md) | Yes|
+
+
+
+### Type: [DecryptedDataBlock](../types/DecryptedDataBlock.md)
+
+
+### Example:
+
+```
+$simpleDataBlock = ['_' => 'simpleDataBlock', 'raw_data' => string, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+simpleDataBlock={_='simpleDataBlock', raw_data=string, }
+
+```
+
+
diff --git a/docs/API_docs/constructors/updateBotPrecheckoutQuery.md b/docs/API_docs/constructors/updateBotPrecheckoutQuery.md
new file mode 100644
index 00000000..b9a43154
--- /dev/null
+++ b/docs/API_docs/constructors/updateBotPrecheckoutQuery.md
@@ -0,0 +1,41 @@
+---
+title: updateBotPrecheckoutQuery
+description: updateBotPrecheckoutQuery attributes, type and example
+---
+## Constructor: updateBotPrecheckoutQuery
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|query\_id|[long](../types/long.md) | Yes|
+|user\_id|[int](../types/int.md) | Yes|
+|payload|[bytes](../types/bytes.md) | Yes|
+|info|[PaymentRequestedInfo](../types/PaymentRequestedInfo.md) | Optional|
+|shipping\_option\_id|[string](../types/string.md) | Optional|
+|currency|[string](../types/string.md) | Yes|
+|total\_amount|[long](../types/long.md) | Yes|
+
+
+
+### Type: [Update](../types/Update.md)
+
+
+### Example:
+
+```
+$updateBotPrecheckoutQuery = ['_' => 'updateBotPrecheckoutQuery', 'query_id' => long, 'user_id' => int, 'payload' => bytes, 'info' => PaymentRequestedInfo, 'shipping_option_id' => string, 'currency' => string, 'total_amount' => long, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+updateBotPrecheckoutQuery={_='updateBotPrecheckoutQuery', query_id=long, user_id=int, payload=bytes, info=PaymentRequestedInfo, shipping_option_id=string, currency=string, total_amount=long, }
+
+```
+
+
diff --git a/docs/API_docs/constructors/updateBotShippingQuery.md b/docs/API_docs/constructors/updateBotShippingQuery.md
new file mode 100644
index 00000000..3e2af1f8
--- /dev/null
+++ b/docs/API_docs/constructors/updateBotShippingQuery.md
@@ -0,0 +1,38 @@
+---
+title: updateBotShippingQuery
+description: updateBotShippingQuery attributes, type and example
+---
+## Constructor: updateBotShippingQuery
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|query\_id|[long](../types/long.md) | Yes|
+|user\_id|[int](../types/int.md) | Yes|
+|payload|[bytes](../types/bytes.md) | Yes|
+|shipping\_address|[PostAddress](../types/PostAddress.md) | Yes|
+
+
+
+### Type: [Update](../types/Update.md)
+
+
+### Example:
+
+```
+$updateBotShippingQuery = ['_' => 'updateBotShippingQuery', 'query_id' => long, 'user_id' => int, 'payload' => bytes, 'shipping_address' => PostAddress, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+updateBotShippingQuery={_='updateBotShippingQuery', query_id=long, user_id=int, payload=bytes, shipping_address=PostAddress, }
+
+```
+
+
diff --git a/docs/API_docs/constructors/updateBotWebhookJSON.md b/docs/API_docs/constructors/updateBotWebhookJSON.md
new file mode 100644
index 00000000..25f42036
--- /dev/null
+++ b/docs/API_docs/constructors/updateBotWebhookJSON.md
@@ -0,0 +1,35 @@
+---
+title: updateBotWebhookJSON
+description: updateBotWebhookJSON attributes, type and example
+---
+## Constructor: updateBotWebhookJSON
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|data|[DataJSON](../types/DataJSON.md) | Yes|
+
+
+
+### Type: [Update](../types/Update.md)
+
+
+### Example:
+
+```
+$updateBotWebhookJSON = ['_' => 'updateBotWebhookJSON', 'data' => DataJSON, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+updateBotWebhookJSON={_='updateBotWebhookJSON', data=DataJSON, }
+
+```
+
+
diff --git a/docs/API_docs/constructors/updateBotWebhookJSONQuery.md b/docs/API_docs/constructors/updateBotWebhookJSONQuery.md
new file mode 100644
index 00000000..ef58ba54
--- /dev/null
+++ b/docs/API_docs/constructors/updateBotWebhookJSONQuery.md
@@ -0,0 +1,37 @@
+---
+title: updateBotWebhookJSONQuery
+description: updateBotWebhookJSONQuery attributes, type and example
+---
+## Constructor: updateBotWebhookJSONQuery
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|query\_id|[long](../types/long.md) | Yes|
+|data|[DataJSON](../types/DataJSON.md) | Yes|
+|timeout|[int](../types/int.md) | Yes|
+
+
+
+### Type: [Update](../types/Update.md)
+
+
+### Example:
+
+```
+$updateBotWebhookJSONQuery = ['_' => 'updateBotWebhookJSONQuery', 'query_id' => long, 'data' => DataJSON, 'timeout' => int, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+updateBotWebhookJSONQuery={_='updateBotWebhookJSONQuery', query_id=long, data=DataJSON, timeout=int, }
+
+```
+
+
diff --git a/docs/API_docs/constructors/upload_webFile.md b/docs/API_docs/constructors/upload_webFile.md
new file mode 100644
index 00000000..0d2aa36f
--- /dev/null
+++ b/docs/API_docs/constructors/upload_webFile.md
@@ -0,0 +1,39 @@
+---
+title: upload.webFile
+description: upload_webFile attributes, type and example
+---
+## Constructor: upload.webFile
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|size|[int](../types/int.md) | Yes|
+|mime\_type|[string](../types/string.md) | Yes|
+|file\_type|[storage\_FileType](../types/storage_FileType.md) | Yes|
+|mtime|[int](../types/int.md) | Yes|
+|bytes|[bytes](../types/bytes.md) | Yes|
+
+
+
+### Type: [upload\_WebFile](../types/upload_WebFile.md)
+
+
+### Example:
+
+```
+$upload_webFile = ['_' => 'upload.webFile', 'size' => int, 'mime_type' => string, 'file_type' => storage_FileType, 'mtime' => int, 'bytes' => bytes, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+upload_webFile={_='upload.webFile', size=int, mime_type=string, file_type=storage_FileType, mtime=int, bytes=bytes, }
+
+```
+
+
diff --git a/docs/API_docs/constructors/userFull.md b/docs/API_docs/constructors/userFull.md
index b1866137..14266442 100644
--- a/docs/API_docs/constructors/userFull.md
+++ b/docs/API_docs/constructors/userFull.md
@@ -13,6 +13,7 @@ description: userFull attributes, type and example
|----------|:-------------:|---------:|
|blocked|[Bool](../types/Bool.md) | Optional|
|phone\_calls\_available|[Bool](../types/Bool.md) | Optional|
+|phone\_calls\_private|[Bool](../types/Bool.md) | Optional|
|user|[User](../types/User.md) | Yes|
|about|[string](../types/string.md) | Optional|
|link|[contacts\_Link](../types/contacts_Link.md) | Yes|
@@ -29,14 +30,14 @@ description: userFull attributes, type and example
### Example:
```
-$userFull = ['_' => 'userFull', 'blocked' => Bool, 'phone_calls_available' => Bool, 'user' => User, 'about' => string, 'link' => contacts_Link, 'profile_photo' => Photo, 'notify_settings' => PeerNotifySettings, 'bot_info' => BotInfo, 'common_chats_count' => int, ];
+$userFull = ['_' => 'userFull', 'blocked' => Bool, 'phone_calls_available' => Bool, 'phone_calls_private' => Bool, 'user' => User, 'about' => string, 'link' => contacts_Link, 'profile_photo' => Photo, 'notify_settings' => PeerNotifySettings, 'bot_info' => BotInfo, 'common_chats_count' => int, ];
```
Or, if you're into Lua:
```
-userFull={_='userFull', blocked=Bool, phone_calls_available=Bool, user=User, about=string, link=contacts_Link, profile_photo=Photo, notify_settings=PeerNotifySettings, bot_info=BotInfo, common_chats_count=int, }
+userFull={_='userFull', blocked=Bool, phone_calls_available=Bool, phone_calls_private=Bool, user=User, about=string, link=contacts_Link, profile_photo=Photo, notify_settings=PeerNotifySettings, bot_info=BotInfo, common_chats_count=int, }
```
diff --git a/docs/API_docs/constructors/webDocument.md b/docs/API_docs/constructors/webDocument.md
new file mode 100644
index 00000000..285e58e4
--- /dev/null
+++ b/docs/API_docs/constructors/webDocument.md
@@ -0,0 +1,40 @@
+---
+title: webDocument
+description: webDocument attributes, type and example
+---
+## Constructor: webDocument
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|url|[string](../types/string.md) | Yes|
+|access\_hash|[long](../types/long.md) | Yes|
+|size|[int](../types/int.md) | Yes|
+|mime\_type|[string](../types/string.md) | Yes|
+|attributes|Array of [DocumentAttribute](../types/DocumentAttribute.md) | Yes|
+|dc\_id|[int](../types/int.md) | Yes|
+
+
+
+### Type: [WebDocument](../types/WebDocument.md)
+
+
+### Example:
+
+```
+$webDocument = ['_' => 'webDocument', 'url' => string, 'access_hash' => long, 'size' => int, 'mime_type' => string, 'attributes' => [DocumentAttribute], 'dc_id' => int, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+webDocument={_='webDocument', url=string, access_hash=long, size=int, mime_type=string, attributes={DocumentAttribute}, dc_id=int, }
+
+```
+
+
diff --git a/docs/API_docs/index.md b/docs/API_docs/index.md
index 75d733cf..a46f0f00 100644
--- a/docs/API_docs/index.md
+++ b/docs/API_docs/index.md
@@ -1,8 +1,8 @@
---
-title: MadelineProto API documentation (layer 62)
-description: MadelineProto API documentation (layer 62)
+title: MadelineProto API documentation (layer 65)
+description: MadelineProto API documentation (layer 65)
---
-# MadelineProto API documentation (layer 62)
+# MadelineProto API documentation (layer 65)
[Methods](methods/)
diff --git a/docs/API_docs/methods/account_getTmpPassword.md b/docs/API_docs/methods/account_getTmpPassword.md
new file mode 100644
index 00000000..195dca86
--- /dev/null
+++ b/docs/API_docs/methods/account_getTmpPassword.md
@@ -0,0 +1,45 @@
+---
+title: account.getTmpPassword
+description: account.getTmpPassword parameters, return type and example
+---
+## Method: account.getTmpPassword
+[Back to methods index](index.md)
+
+
+### Parameters:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|password\_hash|[bytes](../types/bytes.md) | Yes|
+|period|[int](../types/int.md) | Yes|
+
+
+### Return type: [account\_TmpPassword](../types/account_TmpPassword.md)
+
+### Example:
+
+
+```
+$MadelineProto = new \danog\MadelineProto\API();
+if (isset($token)) {
+ $this->bot_login($token);
+}
+if (isset($number)) {
+ $sentCode = $MadelineProto->phone_login($number);
+ echo 'Enter the code you received: ';
+ $code = '';
+ for ($x = 0; $x < $sentCode['type']['length']; $x++) {
+ $code .= fgetc(STDIN);
+ }
+ $MadelineProto->complete_phone_login($code);
+}
+
+$account_TmpPassword = $MadelineProto->account->getTmpPassword(['password_hash' => bytes, 'period' => int, ]);
+```
+
+Or, if you're into Lua:
+
+```
+account_TmpPassword = account.getTmpPassword({password_hash=bytes, period=int, })
+```
+
diff --git a/docs/API_docs/methods/bots_answerWebhookJSONQuery.md b/docs/API_docs/methods/bots_answerWebhookJSONQuery.md
new file mode 100644
index 00000000..6aec7eec
--- /dev/null
+++ b/docs/API_docs/methods/bots_answerWebhookJSONQuery.md
@@ -0,0 +1,45 @@
+---
+title: bots.answerWebhookJSONQuery
+description: bots.answerWebhookJSONQuery parameters, return type and example
+---
+## Method: bots.answerWebhookJSONQuery
+[Back to methods index](index.md)
+
+
+### Parameters:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|query\_id|[long](../types/long.md) | Yes|
+|data|[DataJSON](../types/DataJSON.md) | Yes|
+
+
+### Return type: [Bool](../types/Bool.md)
+
+### Example:
+
+
+```
+$MadelineProto = new \danog\MadelineProto\API();
+if (isset($token)) {
+ $this->bot_login($token);
+}
+if (isset($number)) {
+ $sentCode = $MadelineProto->phone_login($number);
+ echo 'Enter the code you received: ';
+ $code = '';
+ for ($x = 0; $x < $sentCode['type']['length']; $x++) {
+ $code .= fgetc(STDIN);
+ }
+ $MadelineProto->complete_phone_login($code);
+}
+
+$Bool = $MadelineProto->bots->answerWebhookJSONQuery(['query_id' => long, 'data' => DataJSON, ]);
+```
+
+Or, if you're into Lua:
+
+```
+Bool = bots.answerWebhookJSONQuery({query_id=long, data=DataJSON, })
+```
+
diff --git a/docs/API_docs/methods/bots_sendCustomRequest.md b/docs/API_docs/methods/bots_sendCustomRequest.md
new file mode 100644
index 00000000..8f4033c4
--- /dev/null
+++ b/docs/API_docs/methods/bots_sendCustomRequest.md
@@ -0,0 +1,45 @@
+---
+title: bots.sendCustomRequest
+description: bots.sendCustomRequest parameters, return type and example
+---
+## Method: bots.sendCustomRequest
+[Back to methods index](index.md)
+
+
+### Parameters:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|custom\_method|[string](../types/string.md) | Yes|
+|params|[DataJSON](../types/DataJSON.md) | Yes|
+
+
+### Return type: [DataJSON](../types/DataJSON.md)
+
+### Example:
+
+
+```
+$MadelineProto = new \danog\MadelineProto\API();
+if (isset($token)) {
+ $this->bot_login($token);
+}
+if (isset($number)) {
+ $sentCode = $MadelineProto->phone_login($number);
+ echo 'Enter the code you received: ';
+ $code = '';
+ for ($x = 0; $x < $sentCode['type']['length']; $x++) {
+ $code .= fgetc(STDIN);
+ }
+ $MadelineProto->complete_phone_login($code);
+}
+
+$DataJSON = $MadelineProto->bots->sendCustomRequest(['custom_method' => string, 'params' => DataJSON, ]);
+```
+
+Or, if you're into Lua:
+
+```
+DataJSON = bots.sendCustomRequest({custom_method=string, params=DataJSON, })
+```
+
diff --git a/docs/API_docs/methods/contest_saveDeveloperInfo.md b/docs/API_docs/methods/contest_saveDeveloperInfo.md
new file mode 100644
index 00000000..a9740fc2
--- /dev/null
+++ b/docs/API_docs/methods/contest_saveDeveloperInfo.md
@@ -0,0 +1,48 @@
+---
+title: contest.saveDeveloperInfo
+description: contest.saveDeveloperInfo parameters, return type and example
+---
+## Method: contest.saveDeveloperInfo
+[Back to methods index](index.md)
+
+
+### Parameters:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|vk\_id|[int](../types/int.md) | Yes|
+|name|[string](../types/string.md) | Yes|
+|phone\_number|[string](../types/string.md) | Yes|
+|age|[int](../types/int.md) | Yes|
+|city|[string](../types/string.md) | Yes|
+
+
+### Return type: [Bool](../types/Bool.md)
+
+### Example:
+
+
+```
+$MadelineProto = new \danog\MadelineProto\API();
+if (isset($token)) {
+ $this->bot_login($token);
+}
+if (isset($number)) {
+ $sentCode = $MadelineProto->phone_login($number);
+ echo 'Enter the code you received: ';
+ $code = '';
+ for ($x = 0; $x < $sentCode['type']['length']; $x++) {
+ $code .= fgetc(STDIN);
+ }
+ $MadelineProto->complete_phone_login($code);
+}
+
+$Bool = $MadelineProto->contest->saveDeveloperInfo(['vk_id' => int, 'name' => string, 'phone_number' => string, 'age' => int, 'city' => string, ]);
+```
+
+Or, if you're into Lua:
+
+```
+Bool = contest.saveDeveloperInfo({vk_id=int, name=string, phone_number=string, age=int, city=string, })
+```
+
diff --git a/docs/API_docs/methods/destroy_session.md b/docs/API_docs/methods/destroy_session.md
new file mode 100644
index 00000000..78132aef
--- /dev/null
+++ b/docs/API_docs/methods/destroy_session.md
@@ -0,0 +1,44 @@
+---
+title: destroy_session
+description: destroy_session parameters, return type and example
+---
+## Method: destroy\_session
+[Back to methods index](index.md)
+
+
+### Parameters:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|session\_id|[long](../types/long.md) | Yes|
+
+
+### Return type: [DestroySessionRes](../types/DestroySessionRes.md)
+
+### Example:
+
+
+```
+$MadelineProto = new \danog\MadelineProto\API();
+if (isset($token)) {
+ $this->bot_login($token);
+}
+if (isset($number)) {
+ $sentCode = $MadelineProto->phone_login($number);
+ echo 'Enter the code you received: ';
+ $code = '';
+ for ($x = 0; $x < $sentCode['type']['length']; $x++) {
+ $code .= fgetc(STDIN);
+ }
+ $MadelineProto->complete_phone_login($code);
+}
+
+$DestroySessionRes = $MadelineProto->destroy_session(['session_id' => long, ]);
+```
+
+Or, if you're into Lua:
+
+```
+DestroySessionRes = destroy_session({session_id=long, })
+```
+
diff --git a/docs/API_docs/methods/get_future_salts.md b/docs/API_docs/methods/get_future_salts.md
new file mode 100644
index 00000000..4574802b
--- /dev/null
+++ b/docs/API_docs/methods/get_future_salts.md
@@ -0,0 +1,44 @@
+---
+title: get_future_salts
+description: get_future_salts parameters, return type and example
+---
+## Method: get\_future\_salts
+[Back to methods index](index.md)
+
+
+### Parameters:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|num|[int](../types/int.md) | Yes|
+
+
+### Return type: [FutureSalts](../types/FutureSalts.md)
+
+### Example:
+
+
+```
+$MadelineProto = new \danog\MadelineProto\API();
+if (isset($token)) {
+ $this->bot_login($token);
+}
+if (isset($number)) {
+ $sentCode = $MadelineProto->phone_login($number);
+ echo 'Enter the code you received: ';
+ $code = '';
+ for ($x = 0; $x < $sentCode['type']['length']; $x++) {
+ $code .= fgetc(STDIN);
+ }
+ $MadelineProto->complete_phone_login($code);
+}
+
+$FutureSalts = $MadelineProto->get_future_salts(['num' => int, ]);
+```
+
+Or, if you're into Lua:
+
+```
+FutureSalts = get_future_salts({num=int, })
+```
+
diff --git a/docs/API_docs/methods/help_getAppChangelog.md b/docs/API_docs/methods/help_getAppChangelog.md
index 7c52cce8..7ef99518 100644
--- a/docs/API_docs/methods/help_getAppChangelog.md
+++ b/docs/API_docs/methods/help_getAppChangelog.md
@@ -6,9 +6,14 @@ description: help.getAppChangelog parameters, return type and example
[Back to methods index](index.md)
+### Parameters:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|prev\_app\_version|[string](../types/string.md) | Yes|
-### Return type: [help\_AppChangelog](../types/help_AppChangelog.md)
+### Return type: [Updates](../types/Updates.md)
### Example:
@@ -28,12 +33,12 @@ if (isset($number)) {
$MadelineProto->complete_phone_login($code);
}
-$help_AppChangelog = $MadelineProto->help->getAppChangelog();
+$Updates = $MadelineProto->help->getAppChangelog(['prev_app_version' => string, ]);
```
Or, if you're into Lua:
```
-help_AppChangelog = help.getAppChangelog({})
+Updates = help.getAppChangelog({prev_app_version=string, })
```
diff --git a/docs/API_docs/methods/index.md b/docs/API_docs/methods/index.md
index e2eda9f7..7ebe270e 100644
--- a/docs/API_docs/methods/index.md
+++ b/docs/API_docs/methods/index.md
@@ -28,6 +28,8 @@ $MadelineProto->[account->getPasswordSettings](account_getPasswordSettings.md)(\
$MadelineProto->[account->getPrivacy](account_getPrivacy.md)(\['key' => [InputPrivacyKey](../types/InputPrivacyKey.md), \]) === [$account\_PrivacyRules](../types/account_PrivacyRules.md)
+$MadelineProto->[account->getTmpPassword](account_getTmpPassword.md)(\['password_hash' => [bytes](../types/bytes.md), 'period' => [int](../types/int.md), \]) === [$account\_TmpPassword](../types/account_TmpPassword.md)
+
$MadelineProto->[account->getWallPapers](account_getWallPapers.md)(\[\]) === [$Vector\_of\_WallPaper](../types/WallPaper.md)
$MadelineProto->[account->registerDevice](account_registerDevice.md)(\['token_type' => [int](../types/int.md), 'token' => [string](../types/string.md), \]) === [$Bool](../types/Bool.md)
@@ -95,6 +97,11 @@ $MadelineProto->[auth->signIn](auth_signIn.md)(\['phone_number' => [string](../t
$MadelineProto->[auth->signUp](auth_signUp.md)(\['phone_number' => [string](../types/string.md), 'phone_code_hash' => [string](../types/string.md), 'phone_code' => [string](../types/string.md), 'first_name' => [string](../types/string.md), 'last_name' => [string](../types/string.md), \]) === [$auth\_Authorization](../types/auth_Authorization.md)
+***
+
$MadelineProto->[bots->answerWebhookJSONQuery](bots_answerWebhookJSONQuery.md)(\['query_id' => [long](../types/long.md), 'data' => [DataJSON](../types/DataJSON.md), \]) === [$Bool](../types/Bool.md)
+
+$MadelineProto->[bots->sendCustomRequest](bots_sendCustomRequest.md)(\['custom_method' => [string](../types/string.md), 'params' => [DataJSON](../types/DataJSON.md), \]) === [$DataJSON](../types/DataJSON.md)
+
***
$MadelineProto->[channels->checkUsername](channels_checkUsername.md)(\['channel' => [InputChannel](../types/InputChannel.md), 'username' => [string](../types/string.md), \]) === [$Bool](../types/Bool.md)
@@ -180,10 +187,18 @@ $MadelineProto->[contacts->search](contacts_search.md)(\['q' => [string](../type
$MadelineProto->[contacts->unblock](contacts_unblock.md)(\['id' => [InputUser](../types/InputUser.md), \]) === [$Bool](../types/Bool.md)
***
-
$MadelineProto->[destroy_auth_key](destroy_auth_key.md)(\[\]) === [$DestroyAuthKeyRes](../types/DestroyAuthKeyRes.md)
+
$MadelineProto->[contest->saveDeveloperInfo](contest_saveDeveloperInfo.md)(\['vk_id' => [int](../types/int.md), 'name' => [string](../types/string.md), 'phone_number' => [string](../types/string.md), 'age' => [int](../types/int.md), 'city' => [string](../types/string.md), \]) === [$Bool](../types/Bool.md)
***
-
$MadelineProto->[help->getAppChangelog](help_getAppChangelog.md)(\[\]) === [$help\_AppChangelog](../types/help_AppChangelog.md)
+
$MadelineProto->[destroy_auth_key](destroy_auth_key.md)(\[\]) === [$DestroyAuthKeyRes](../types/DestroyAuthKeyRes.md)
+
+$MadelineProto->[destroy_session](destroy_session.md)(\['session_id' => [long](../types/long.md), \]) === [$DestroySessionRes](../types/DestroySessionRes.md)
+
+***
+
$MadelineProto->[get_future_salts](get_future_salts.md)(\['num' => [int](../types/int.md), \]) === [$FutureSalts](../types/FutureSalts.md)
+
+***
+
$MadelineProto->[help->getAppChangelog](help_getAppChangelog.md)(\['prev_app_version' => [string](../types/string.md), \]) === [$Updates](../types/Updates.md)
$MadelineProto->[help->getAppUpdate](help_getAppUpdate.md)(\[\]) === [$help\_AppUpdate](../types/help_AppUpdate.md)
@@ -365,6 +380,10 @@ $MadelineProto->[messages->sendMessage](messages_sendMessage.md)(\['no_webpage'
$MadelineProto->[messages->setBotCallbackAnswer](messages_setBotCallbackAnswer.md)(\['alert' => [Bool](../types/Bool.md), 'query_id' => [long](../types/long.md), 'message' => [string](../types/string.md), 'url' => [string](../types/string.md), 'cache_time' => [int](../types/int.md), \]) === [$Bool](../types/Bool.md)
+$MadelineProto->[messages->setBotPrecheckoutResults](messages_setBotPrecheckoutResults.md)(\['success' => [Bool](../types/Bool.md), 'query_id' => [long](../types/long.md), 'error' => [string](../types/string.md), \]) === [$Bool](../types/Bool.md)
+
+$MadelineProto->[messages->setBotShippingResults](messages_setBotShippingResults.md)(\['query_id' => [long](../types/long.md), 'error' => [string](../types/string.md), 'shipping_options' => \[[ShippingOption](../types/ShippingOption.md)\], \]) === [$Bool](../types/Bool.md)
+
$MadelineProto->[messages->setEncryptedTyping](messages_setEncryptedTyping.md)(\['peer' => [InputEncryptedChat](../types/InputEncryptedChat.md), 'typing' => [Bool](../types/Bool.md), \]) === [$Bool](../types/Bool.md)
$MadelineProto->[messages->setGameScore](messages_setGameScore.md)(\['edit_message' => [Bool](../types/Bool.md), 'force' => [Bool](../types/Bool.md), 'peer' => [InputPeer](../types/InputPeer.md), 'id' => [int](../types/int.md), 'user_id' => [InputUser](../types/InputUser.md), 'score' => [int](../types/int.md), \]) === [$Updates](../types/Updates.md)
@@ -384,13 +403,34 @@ $MadelineProto->[messages->toggleDialogPin](messages_toggleDialogPin.md)(\['pinn
$MadelineProto->[messages->uninstallStickerSet](messages_uninstallStickerSet.md)(\['stickerset' => [InputStickerSet](../types/InputStickerSet.md), \]) === [$Bool](../types/Bool.md)
***
-
$MadelineProto->[phone->acceptCall](phone_acceptCall.md)(\['peer' => [InputPhoneCall](../types/InputPhoneCall.md), 'g_b' => [bytes](../types/bytes.md), 'key_fingerprint' => [long](../types/long.md), 'protocol' => [PhoneCallProtocol](../types/PhoneCallProtocol.md), \]) === [$phone\_PhoneCall](../types/phone_PhoneCall.md)
+
$MadelineProto->[payments->clearSavedInfo](payments_clearSavedInfo.md)(\['credentials' => [Bool](../types/Bool.md), 'info' => [Bool](../types/Bool.md), \]) === [$Bool](../types/Bool.md)
-$MadelineProto->[phone->discardCall](phone_discardCall.md)(\['peer' => [InputPhoneCall](../types/InputPhoneCall.md), 'duration' => [int](../types/int.md), 'reason' => [PhoneCallDiscardReason](../types/PhoneCallDiscardReason.md), 'connection_id' => [long](../types/long.md), \]) === [$Bool](../types/Bool.md)
+$MadelineProto->[payments->getPaymentForm](payments_getPaymentForm.md)(\['msg_id' => [int](../types/int.md), \]) === [$payments\_PaymentForm](../types/payments_PaymentForm.md)
+
+$MadelineProto->[payments->getPaymentReceipt](payments_getPaymentReceipt.md)(\['msg_id' => [int](../types/int.md), \]) === [$payments\_PaymentReceipt](../types/payments_PaymentReceipt.md)
+
+$MadelineProto->[payments->getSavedInfo](payments_getSavedInfo.md)(\[\]) === [$payments\_SavedInfo](../types/payments_SavedInfo.md)
+
+$MadelineProto->[payments->sendPaymentForm](payments_sendPaymentForm.md)(\['msg_id' => [int](../types/int.md), 'requested_info_id' => [string](../types/string.md), 'shipping_option_id' => [string](../types/string.md), 'credentials' => [InputPaymentCredentials](../types/InputPaymentCredentials.md), \]) === [$payments\_PaymentResult](../types/payments_PaymentResult.md)
+
+$MadelineProto->[payments->validateRequestedInfo](payments_validateRequestedInfo.md)(\['save' => [Bool](../types/Bool.md), 'msg_id' => [int](../types/int.md), 'info' => [PaymentRequestedInfo](../types/PaymentRequestedInfo.md), \]) === [$payments\_ValidatedRequestedInfo](../types/payments_ValidatedRequestedInfo.md)
+
+***
+
$MadelineProto->[phone->acceptCall](phone_acceptCall.md)(\['peer' => [InputPhoneCall](../types/InputPhoneCall.md), 'g_b' => [bytes](../types/bytes.md), 'protocol' => [PhoneCallProtocol](../types/PhoneCallProtocol.md), \]) === [$phone\_PhoneCall](../types/phone_PhoneCall.md)
+
+$MadelineProto->[phone->confirmCall](phone_confirmCall.md)(\['peer' => [InputPhoneCall](../types/InputPhoneCall.md), 'g_a' => [bytes](../types/bytes.md), 'key_fingerprint' => [long](../types/long.md), 'protocol' => [PhoneCallProtocol](../types/PhoneCallProtocol.md), \]) === [$phone\_PhoneCall](../types/phone_PhoneCall.md)
+
+$MadelineProto->[phone->discardCall](phone_discardCall.md)(\['peer' => [InputPhoneCall](../types/InputPhoneCall.md), 'duration' => [int](../types/int.md), 'reason' => [PhoneCallDiscardReason](../types/PhoneCallDiscardReason.md), 'connection_id' => [long](../types/long.md), \]) === [$Updates](../types/Updates.md)
+
+$MadelineProto->[phone->getCallConfig](phone_getCallConfig.md)(\[\]) === [$DataJSON](../types/DataJSON.md)
$MadelineProto->[phone->receivedCall](phone_receivedCall.md)(\['peer' => [InputPhoneCall](../types/InputPhoneCall.md), \]) === [$Bool](../types/Bool.md)
-$MadelineProto->[phone->requestCall](phone_requestCall.md)(\['user_id' => [InputUser](../types/InputUser.md), 'g_a' => [bytes](../types/bytes.md), 'protocol' => [PhoneCallProtocol](../types/PhoneCallProtocol.md), \]) === [$phone\_PhoneCall](../types/phone_PhoneCall.md)
+$MadelineProto->[phone->requestCall](phone_requestCall.md)(\['user_id' => [InputUser](../types/InputUser.md), 'g_a_hash' => [bytes](../types/bytes.md), 'protocol' => [PhoneCallProtocol](../types/PhoneCallProtocol.md), \]) === [$phone\_PhoneCall](../types/phone_PhoneCall.md)
+
+$MadelineProto->[phone->saveCallDebug](phone_saveCallDebug.md)(\['peer' => [InputPhoneCall](../types/InputPhoneCall.md), 'debug' => [DataJSON](../types/DataJSON.md), \]) === [$Bool](../types/Bool.md)
+
+$MadelineProto->[phone->setCallRating](phone_setCallRating.md)(\['peer' => [InputPhoneCall](../types/InputPhoneCall.md), 'rating' => [int](../types/int.md), 'comment' => [string](../types/string.md), \]) === [$Updates](../types/Updates.md)
***
$MadelineProto->[photos->deletePhotos](photos_deletePhotos.md)(\['id' => \[[InputPhoto](../types/InputPhoto.md)\], \]) === [$Vector\_of\_long](../types/long.md)
@@ -401,6 +441,22 @@ $MadelineProto->[photos->updateProfilePhoto](photos_updateProfilePhoto.md)(\['id
$MadelineProto->[photos->uploadProfilePhoto](photos_uploadProfilePhoto.md)(\['file' => [InputFile](../types/InputFile.md), \]) === [$photos\_Photo](../types/photos_Photo.md)
+***
+
$MadelineProto->[ping](ping.md)(\['ping_id' => [long](../types/long.md), \]) === [$Pong](../types/Pong.md)
+
+$MadelineProto->[ping_delay_disconnect](ping_delay_disconnect.md)(\['ping_id' => [long](../types/long.md), 'disconnect_delay' => [int](../types/int.md), \]) === [$Pong](../types/Pong.md)
+
+***
+
$MadelineProto->[req_DH_params](req_DH_params.md)(\['nonce' => [int128](../types/int128.md), 'server_nonce' => [int128](../types/int128.md), 'p' => [string](../types/string.md), 'q' => [string](../types/string.md), 'public_key_fingerprint' => [long](../types/long.md), 'encrypted_data' => [string](../types/string.md), \]) === [$Server\_DH\_Params](../types/Server_DH_Params.md)
+
+$MadelineProto->[req_pq](req_pq.md)(\['nonce' => [int128](../types/int128.md), \]) === [$ResPQ](../types/ResPQ.md)
+
+***
+
$MadelineProto->[rpc_drop_answer](rpc_drop_answer.md)(\['req_msg_id' => [long](../types/long.md), \]) === [$RpcDropAnswer](../types/RpcDropAnswer.md)
+
+***
+
$MadelineProto->[set_client_DH_params](set_client_DH_params.md)(\['nonce' => [int128](../types/int128.md), 'server_nonce' => [int128](../types/int128.md), 'encrypted_data' => [string](../types/string.md), \]) === [$Set\_client\_DH\_params\_answer](../types/Set_client_DH_params_answer.md)
+
***
$MadelineProto->[updates->getChannelDifference](updates_getChannelDifference.md)(\['force' => [Bool](../types/Bool.md), 'channel' => [InputChannel](../types/InputChannel.md), 'filter' => [ChannelMessagesFilter](../types/ChannelMessagesFilter.md), 'pts' => [int](../types/int.md), 'limit' => [int](../types/int.md), \]) === [$updates\_ChannelDifference](../types/updates_ChannelDifference.md)
@@ -411,6 +467,8 @@ $MadelineProto->[updates->getState](updates_getState.md)(\[\]) === [$updates\_St
***
$MadelineProto->[upload->getFile](upload_getFile.md)(\['location' => [InputFileLocation](../types/InputFileLocation.md), 'offset' => [int](../types/int.md), 'limit' => [int](../types/int.md), \]) === [$upload\_File](../types/upload_File.md)
+$MadelineProto->[upload->getWebFile](upload_getWebFile.md)(\['location' => [InputWebFileLocation](../types/InputWebFileLocation.md), 'offset' => [int](../types/int.md), 'limit' => [int](../types/int.md), \]) === [$upload\_WebFile](../types/upload_WebFile.md)
+
$MadelineProto->[upload->saveBigFilePart](upload_saveBigFilePart.md)(\['file_id' => [long](../types/long.md), 'file_part' => [int](../types/int.md), 'file_total_parts' => [int](../types/int.md), 'bytes' => [bytes](../types/bytes.md), \]) === [$Bool](../types/Bool.md)
$MadelineProto->[upload->saveFilePart](upload_saveFilePart.md)(\['file_id' => [long](../types/long.md), 'file_part' => [int](../types/int.md), 'bytes' => [bytes](../types/bytes.md), \]) === [$Bool](../types/Bool.md)
diff --git a/docs/API_docs/methods/messages_setBotPrecheckoutResults.md b/docs/API_docs/methods/messages_setBotPrecheckoutResults.md
new file mode 100644
index 00000000..515ce027
--- /dev/null
+++ b/docs/API_docs/methods/messages_setBotPrecheckoutResults.md
@@ -0,0 +1,46 @@
+---
+title: messages.setBotPrecheckoutResults
+description: messages.setBotPrecheckoutResults parameters, return type and example
+---
+## Method: messages.setBotPrecheckoutResults
+[Back to methods index](index.md)
+
+
+### Parameters:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|success|[Bool](../types/Bool.md) | Optional|
+|query\_id|[long](../types/long.md) | Yes|
+|error|[string](../types/string.md) | Optional|
+
+
+### Return type: [Bool](../types/Bool.md)
+
+### Example:
+
+
+```
+$MadelineProto = new \danog\MadelineProto\API();
+if (isset($token)) {
+ $this->bot_login($token);
+}
+if (isset($number)) {
+ $sentCode = $MadelineProto->phone_login($number);
+ echo 'Enter the code you received: ';
+ $code = '';
+ for ($x = 0; $x < $sentCode['type']['length']; $x++) {
+ $code .= fgetc(STDIN);
+ }
+ $MadelineProto->complete_phone_login($code);
+}
+
+$Bool = $MadelineProto->messages->setBotPrecheckoutResults(['success' => Bool, 'query_id' => long, 'error' => string, ]);
+```
+
+Or, if you're into Lua:
+
+```
+Bool = messages.setBotPrecheckoutResults({success=Bool, query_id=long, error=string, })
+```
+
diff --git a/docs/API_docs/methods/messages_setBotShippingResults.md b/docs/API_docs/methods/messages_setBotShippingResults.md
new file mode 100644
index 00000000..118eb562
--- /dev/null
+++ b/docs/API_docs/methods/messages_setBotShippingResults.md
@@ -0,0 +1,46 @@
+---
+title: messages.setBotShippingResults
+description: messages.setBotShippingResults parameters, return type and example
+---
+## Method: messages.setBotShippingResults
+[Back to methods index](index.md)
+
+
+### Parameters:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|query\_id|[long](../types/long.md) | Yes|
+|error|[string](../types/string.md) | Optional|
+|shipping\_options|Array of [ShippingOption](../types/ShippingOption.md) | Optional|
+
+
+### Return type: [Bool](../types/Bool.md)
+
+### Example:
+
+
+```
+$MadelineProto = new \danog\MadelineProto\API();
+if (isset($token)) {
+ $this->bot_login($token);
+}
+if (isset($number)) {
+ $sentCode = $MadelineProto->phone_login($number);
+ echo 'Enter the code you received: ';
+ $code = '';
+ for ($x = 0; $x < $sentCode['type']['length']; $x++) {
+ $code .= fgetc(STDIN);
+ }
+ $MadelineProto->complete_phone_login($code);
+}
+
+$Bool = $MadelineProto->messages->setBotShippingResults(['query_id' => long, 'error' => string, 'shipping_options' => [ShippingOption], ]);
+```
+
+Or, if you're into Lua:
+
+```
+Bool = messages.setBotShippingResults({query_id=long, error=string, shipping_options={ShippingOption}, })
+```
+
diff --git a/docs/API_docs/methods/payments_clearSavedInfo.md b/docs/API_docs/methods/payments_clearSavedInfo.md
new file mode 100644
index 00000000..5f7b4088
--- /dev/null
+++ b/docs/API_docs/methods/payments_clearSavedInfo.md
@@ -0,0 +1,45 @@
+---
+title: payments.clearSavedInfo
+description: payments.clearSavedInfo parameters, return type and example
+---
+## Method: payments.clearSavedInfo
+[Back to methods index](index.md)
+
+
+### Parameters:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|credentials|[Bool](../types/Bool.md) | Optional|
+|info|[Bool](../types/Bool.md) | Optional|
+
+
+### Return type: [Bool](../types/Bool.md)
+
+### Example:
+
+
+```
+$MadelineProto = new \danog\MadelineProto\API();
+if (isset($token)) {
+ $this->bot_login($token);
+}
+if (isset($number)) {
+ $sentCode = $MadelineProto->phone_login($number);
+ echo 'Enter the code you received: ';
+ $code = '';
+ for ($x = 0; $x < $sentCode['type']['length']; $x++) {
+ $code .= fgetc(STDIN);
+ }
+ $MadelineProto->complete_phone_login($code);
+}
+
+$Bool = $MadelineProto->payments->clearSavedInfo(['credentials' => Bool, 'info' => Bool, ]);
+```
+
+Or, if you're into Lua:
+
+```
+Bool = payments.clearSavedInfo({credentials=Bool, info=Bool, })
+```
+
diff --git a/docs/API_docs/methods/payments_getPaymentForm.md b/docs/API_docs/methods/payments_getPaymentForm.md
new file mode 100644
index 00000000..4ad27873
--- /dev/null
+++ b/docs/API_docs/methods/payments_getPaymentForm.md
@@ -0,0 +1,44 @@
+---
+title: payments.getPaymentForm
+description: payments.getPaymentForm parameters, return type and example
+---
+## Method: payments.getPaymentForm
+[Back to methods index](index.md)
+
+
+### Parameters:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|msg\_id|[int](../types/int.md) | Yes|
+
+
+### Return type: [payments\_PaymentForm](../types/payments_PaymentForm.md)
+
+### Example:
+
+
+```
+$MadelineProto = new \danog\MadelineProto\API();
+if (isset($token)) {
+ $this->bot_login($token);
+}
+if (isset($number)) {
+ $sentCode = $MadelineProto->phone_login($number);
+ echo 'Enter the code you received: ';
+ $code = '';
+ for ($x = 0; $x < $sentCode['type']['length']; $x++) {
+ $code .= fgetc(STDIN);
+ }
+ $MadelineProto->complete_phone_login($code);
+}
+
+$payments_PaymentForm = $MadelineProto->payments->getPaymentForm(['msg_id' => int, ]);
+```
+
+Or, if you're into Lua:
+
+```
+payments_PaymentForm = payments.getPaymentForm({msg_id=int, })
+```
+
diff --git a/docs/API_docs/methods/payments_getPaymentReceipt.md b/docs/API_docs/methods/payments_getPaymentReceipt.md
new file mode 100644
index 00000000..a21d7cbb
--- /dev/null
+++ b/docs/API_docs/methods/payments_getPaymentReceipt.md
@@ -0,0 +1,44 @@
+---
+title: payments.getPaymentReceipt
+description: payments.getPaymentReceipt parameters, return type and example
+---
+## Method: payments.getPaymentReceipt
+[Back to methods index](index.md)
+
+
+### Parameters:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|msg\_id|[int](../types/int.md) | Yes|
+
+
+### Return type: [payments\_PaymentReceipt](../types/payments_PaymentReceipt.md)
+
+### Example:
+
+
+```
+$MadelineProto = new \danog\MadelineProto\API();
+if (isset($token)) {
+ $this->bot_login($token);
+}
+if (isset($number)) {
+ $sentCode = $MadelineProto->phone_login($number);
+ echo 'Enter the code you received: ';
+ $code = '';
+ for ($x = 0; $x < $sentCode['type']['length']; $x++) {
+ $code .= fgetc(STDIN);
+ }
+ $MadelineProto->complete_phone_login($code);
+}
+
+$payments_PaymentReceipt = $MadelineProto->payments->getPaymentReceipt(['msg_id' => int, ]);
+```
+
+Or, if you're into Lua:
+
+```
+payments_PaymentReceipt = payments.getPaymentReceipt({msg_id=int, })
+```
+
diff --git a/docs/API_docs/methods/payments_getSavedInfo.md b/docs/API_docs/methods/payments_getSavedInfo.md
new file mode 100644
index 00000000..cd55027e
--- /dev/null
+++ b/docs/API_docs/methods/payments_getSavedInfo.md
@@ -0,0 +1,39 @@
+---
+title: payments.getSavedInfo
+description: payments.getSavedInfo parameters, return type and example
+---
+## Method: payments.getSavedInfo
+[Back to methods index](index.md)
+
+
+
+
+### Return type: [payments\_SavedInfo](../types/payments_SavedInfo.md)
+
+### Example:
+
+
+```
+$MadelineProto = new \danog\MadelineProto\API();
+if (isset($token)) {
+ $this->bot_login($token);
+}
+if (isset($number)) {
+ $sentCode = $MadelineProto->phone_login($number);
+ echo 'Enter the code you received: ';
+ $code = '';
+ for ($x = 0; $x < $sentCode['type']['length']; $x++) {
+ $code .= fgetc(STDIN);
+ }
+ $MadelineProto->complete_phone_login($code);
+}
+
+$payments_SavedInfo = $MadelineProto->payments->getSavedInfo();
+```
+
+Or, if you're into Lua:
+
+```
+payments_SavedInfo = payments.getSavedInfo({})
+```
+
diff --git a/docs/API_docs/methods/payments_sendPaymentForm.md b/docs/API_docs/methods/payments_sendPaymentForm.md
new file mode 100644
index 00000000..08f47c98
--- /dev/null
+++ b/docs/API_docs/methods/payments_sendPaymentForm.md
@@ -0,0 +1,47 @@
+---
+title: payments.sendPaymentForm
+description: payments.sendPaymentForm parameters, return type and example
+---
+## Method: payments.sendPaymentForm
+[Back to methods index](index.md)
+
+
+### Parameters:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|msg\_id|[int](../types/int.md) | Yes|
+|requested\_info\_id|[string](../types/string.md) | Optional|
+|shipping\_option\_id|[string](../types/string.md) | Optional|
+|credentials|[InputPaymentCredentials](../types/InputPaymentCredentials.md) | Yes|
+
+
+### Return type: [payments\_PaymentResult](../types/payments_PaymentResult.md)
+
+### Example:
+
+
+```
+$MadelineProto = new \danog\MadelineProto\API();
+if (isset($token)) {
+ $this->bot_login($token);
+}
+if (isset($number)) {
+ $sentCode = $MadelineProto->phone_login($number);
+ echo 'Enter the code you received: ';
+ $code = '';
+ for ($x = 0; $x < $sentCode['type']['length']; $x++) {
+ $code .= fgetc(STDIN);
+ }
+ $MadelineProto->complete_phone_login($code);
+}
+
+$payments_PaymentResult = $MadelineProto->payments->sendPaymentForm(['msg_id' => int, 'requested_info_id' => string, 'shipping_option_id' => string, 'credentials' => InputPaymentCredentials, ]);
+```
+
+Or, if you're into Lua:
+
+```
+payments_PaymentResult = payments.sendPaymentForm({msg_id=int, requested_info_id=string, shipping_option_id=string, credentials=InputPaymentCredentials, })
+```
+
diff --git a/docs/API_docs/methods/payments_validateRequestedInfo.md b/docs/API_docs/methods/payments_validateRequestedInfo.md
new file mode 100644
index 00000000..d87dda63
--- /dev/null
+++ b/docs/API_docs/methods/payments_validateRequestedInfo.md
@@ -0,0 +1,46 @@
+---
+title: payments.validateRequestedInfo
+description: payments.validateRequestedInfo parameters, return type and example
+---
+## Method: payments.validateRequestedInfo
+[Back to methods index](index.md)
+
+
+### Parameters:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|save|[Bool](../types/Bool.md) | Optional|
+|msg\_id|[int](../types/int.md) | Yes|
+|info|[PaymentRequestedInfo](../types/PaymentRequestedInfo.md) | Yes|
+
+
+### Return type: [payments\_ValidatedRequestedInfo](../types/payments_ValidatedRequestedInfo.md)
+
+### Example:
+
+
+```
+$MadelineProto = new \danog\MadelineProto\API();
+if (isset($token)) {
+ $this->bot_login($token);
+}
+if (isset($number)) {
+ $sentCode = $MadelineProto->phone_login($number);
+ echo 'Enter the code you received: ';
+ $code = '';
+ for ($x = 0; $x < $sentCode['type']['length']; $x++) {
+ $code .= fgetc(STDIN);
+ }
+ $MadelineProto->complete_phone_login($code);
+}
+
+$payments_ValidatedRequestedInfo = $MadelineProto->payments->validateRequestedInfo(['save' => Bool, 'msg_id' => int, 'info' => PaymentRequestedInfo, ]);
+```
+
+Or, if you're into Lua:
+
+```
+payments_ValidatedRequestedInfo = payments.validateRequestedInfo({save=Bool, msg_id=int, info=PaymentRequestedInfo, })
+```
+
diff --git a/docs/API_docs/methods/phone_acceptCall.md b/docs/API_docs/methods/phone_acceptCall.md
index cd80779b..cc45564a 100644
--- a/docs/API_docs/methods/phone_acceptCall.md
+++ b/docs/API_docs/methods/phone_acceptCall.md
@@ -12,7 +12,6 @@ description: phone.acceptCall parameters, return type and example
|----------|:-------------:|---------:|
|peer|[InputPhoneCall](../types/InputPhoneCall.md) | Yes|
|g\_b|[bytes](../types/bytes.md) | Yes|
-|key\_fingerprint|[long](../types/long.md) | Yes|
|protocol|[PhoneCallProtocol](../types/PhoneCallProtocol.md) | Yes|
@@ -36,12 +35,12 @@ if (isset($number)) {
$MadelineProto->complete_phone_login($code);
}
-$phone_PhoneCall = $MadelineProto->phone->acceptCall(['peer' => InputPhoneCall, 'g_b' => bytes, 'key_fingerprint' => long, 'protocol' => PhoneCallProtocol, ]);
+$phone_PhoneCall = $MadelineProto->phone->acceptCall(['peer' => InputPhoneCall, 'g_b' => bytes, 'protocol' => PhoneCallProtocol, ]);
```
Or, if you're into Lua:
```
-phone_PhoneCall = phone.acceptCall({peer=InputPhoneCall, g_b=bytes, key_fingerprint=long, protocol=PhoneCallProtocol, })
+phone_PhoneCall = phone.acceptCall({peer=InputPhoneCall, g_b=bytes, protocol=PhoneCallProtocol, })
```
diff --git a/docs/API_docs/methods/phone_confirmCall.md b/docs/API_docs/methods/phone_confirmCall.md
new file mode 100644
index 00000000..2c0d5161
--- /dev/null
+++ b/docs/API_docs/methods/phone_confirmCall.md
@@ -0,0 +1,47 @@
+---
+title: phone.confirmCall
+description: phone.confirmCall parameters, return type and example
+---
+## Method: phone.confirmCall
+[Back to methods index](index.md)
+
+
+### Parameters:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|peer|[InputPhoneCall](../types/InputPhoneCall.md) | Yes|
+|g\_a|[bytes](../types/bytes.md) | Yes|
+|key\_fingerprint|[long](../types/long.md) | Yes|
+|protocol|[PhoneCallProtocol](../types/PhoneCallProtocol.md) | Yes|
+
+
+### Return type: [phone\_PhoneCall](../types/phone_PhoneCall.md)
+
+### Example:
+
+
+```
+$MadelineProto = new \danog\MadelineProto\API();
+if (isset($token)) {
+ $this->bot_login($token);
+}
+if (isset($number)) {
+ $sentCode = $MadelineProto->phone_login($number);
+ echo 'Enter the code you received: ';
+ $code = '';
+ for ($x = 0; $x < $sentCode['type']['length']; $x++) {
+ $code .= fgetc(STDIN);
+ }
+ $MadelineProto->complete_phone_login($code);
+}
+
+$phone_PhoneCall = $MadelineProto->phone->confirmCall(['peer' => InputPhoneCall, 'g_a' => bytes, 'key_fingerprint' => long, 'protocol' => PhoneCallProtocol, ]);
+```
+
+Or, if you're into Lua:
+
+```
+phone_PhoneCall = phone.confirmCall({peer=InputPhoneCall, g_a=bytes, key_fingerprint=long, protocol=PhoneCallProtocol, })
+```
+
diff --git a/docs/API_docs/methods/phone_discardCall.md b/docs/API_docs/methods/phone_discardCall.md
index 9bde1032..c85d670b 100644
--- a/docs/API_docs/methods/phone_discardCall.md
+++ b/docs/API_docs/methods/phone_discardCall.md
@@ -16,7 +16,7 @@ description: phone.discardCall parameters, return type and example
|connection\_id|[long](../types/long.md) | Yes|
-### Return type: [Bool](../types/Bool.md)
+### Return type: [Updates](../types/Updates.md)
### Example:
@@ -36,12 +36,12 @@ if (isset($number)) {
$MadelineProto->complete_phone_login($code);
}
-$Bool = $MadelineProto->phone->discardCall(['peer' => InputPhoneCall, 'duration' => int, 'reason' => PhoneCallDiscardReason, 'connection_id' => long, ]);
+$Updates = $MadelineProto->phone->discardCall(['peer' => InputPhoneCall, 'duration' => int, 'reason' => PhoneCallDiscardReason, 'connection_id' => long, ]);
```
Or, if you're into Lua:
```
-Bool = phone.discardCall({peer=InputPhoneCall, duration=int, reason=PhoneCallDiscardReason, connection_id=long, })
+Updates = phone.discardCall({peer=InputPhoneCall, duration=int, reason=PhoneCallDiscardReason, connection_id=long, })
```
diff --git a/docs/API_docs/methods/phone_getCallConfig.md b/docs/API_docs/methods/phone_getCallConfig.md
new file mode 100644
index 00000000..2a7ac04f
--- /dev/null
+++ b/docs/API_docs/methods/phone_getCallConfig.md
@@ -0,0 +1,39 @@
+---
+title: phone.getCallConfig
+description: phone.getCallConfig parameters, return type and example
+---
+## Method: phone.getCallConfig
+[Back to methods index](index.md)
+
+
+
+
+### Return type: [DataJSON](../types/DataJSON.md)
+
+### Example:
+
+
+```
+$MadelineProto = new \danog\MadelineProto\API();
+if (isset($token)) {
+ $this->bot_login($token);
+}
+if (isset($number)) {
+ $sentCode = $MadelineProto->phone_login($number);
+ echo 'Enter the code you received: ';
+ $code = '';
+ for ($x = 0; $x < $sentCode['type']['length']; $x++) {
+ $code .= fgetc(STDIN);
+ }
+ $MadelineProto->complete_phone_login($code);
+}
+
+$DataJSON = $MadelineProto->phone->getCallConfig();
+```
+
+Or, if you're into Lua:
+
+```
+DataJSON = phone.getCallConfig({})
+```
+
diff --git a/docs/API_docs/methods/phone_requestCall.md b/docs/API_docs/methods/phone_requestCall.md
index c7a95c5c..e24caa05 100644
--- a/docs/API_docs/methods/phone_requestCall.md
+++ b/docs/API_docs/methods/phone_requestCall.md
@@ -11,7 +11,7 @@ description: phone.requestCall parameters, return type and example
| Name | Type | Required |
|----------|:-------------:|---------:|
|user\_id|[InputUser](../types/InputUser.md) | Yes|
-|g\_a|[bytes](../types/bytes.md) | Yes|
+|g\_a\_hash|[bytes](../types/bytes.md) | Yes|
|protocol|[PhoneCallProtocol](../types/PhoneCallProtocol.md) | Yes|
@@ -35,12 +35,12 @@ if (isset($number)) {
$MadelineProto->complete_phone_login($code);
}
-$phone_PhoneCall = $MadelineProto->phone->requestCall(['user_id' => InputUser, 'g_a' => bytes, 'protocol' => PhoneCallProtocol, ]);
+$phone_PhoneCall = $MadelineProto->phone->requestCall(['user_id' => InputUser, 'g_a_hash' => bytes, 'protocol' => PhoneCallProtocol, ]);
```
Or, if you're into Lua:
```
-phone_PhoneCall = phone.requestCall({user_id=InputUser, g_a=bytes, protocol=PhoneCallProtocol, })
+phone_PhoneCall = phone.requestCall({user_id=InputUser, g_a_hash=bytes, protocol=PhoneCallProtocol, })
```
diff --git a/docs/API_docs/methods/phone_saveCallDebug.md b/docs/API_docs/methods/phone_saveCallDebug.md
new file mode 100644
index 00000000..3a4cbacb
--- /dev/null
+++ b/docs/API_docs/methods/phone_saveCallDebug.md
@@ -0,0 +1,45 @@
+---
+title: phone.saveCallDebug
+description: phone.saveCallDebug parameters, return type and example
+---
+## Method: phone.saveCallDebug
+[Back to methods index](index.md)
+
+
+### Parameters:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|peer|[InputPhoneCall](../types/InputPhoneCall.md) | Yes|
+|debug|[DataJSON](../types/DataJSON.md) | Yes|
+
+
+### Return type: [Bool](../types/Bool.md)
+
+### Example:
+
+
+```
+$MadelineProto = new \danog\MadelineProto\API();
+if (isset($token)) {
+ $this->bot_login($token);
+}
+if (isset($number)) {
+ $sentCode = $MadelineProto->phone_login($number);
+ echo 'Enter the code you received: ';
+ $code = '';
+ for ($x = 0; $x < $sentCode['type']['length']; $x++) {
+ $code .= fgetc(STDIN);
+ }
+ $MadelineProto->complete_phone_login($code);
+}
+
+$Bool = $MadelineProto->phone->saveCallDebug(['peer' => InputPhoneCall, 'debug' => DataJSON, ]);
+```
+
+Or, if you're into Lua:
+
+```
+Bool = phone.saveCallDebug({peer=InputPhoneCall, debug=DataJSON, })
+```
+
diff --git a/docs/API_docs/methods/phone_setCallRating.md b/docs/API_docs/methods/phone_setCallRating.md
new file mode 100644
index 00000000..c804f1cc
--- /dev/null
+++ b/docs/API_docs/methods/phone_setCallRating.md
@@ -0,0 +1,46 @@
+---
+title: phone.setCallRating
+description: phone.setCallRating parameters, return type and example
+---
+## Method: phone.setCallRating
+[Back to methods index](index.md)
+
+
+### Parameters:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|peer|[InputPhoneCall](../types/InputPhoneCall.md) | Yes|
+|rating|[int](../types/int.md) | Yes|
+|comment|[string](../types/string.md) | Yes|
+
+
+### Return type: [Updates](../types/Updates.md)
+
+### Example:
+
+
+```
+$MadelineProto = new \danog\MadelineProto\API();
+if (isset($token)) {
+ $this->bot_login($token);
+}
+if (isset($number)) {
+ $sentCode = $MadelineProto->phone_login($number);
+ echo 'Enter the code you received: ';
+ $code = '';
+ for ($x = 0; $x < $sentCode['type']['length']; $x++) {
+ $code .= fgetc(STDIN);
+ }
+ $MadelineProto->complete_phone_login($code);
+}
+
+$Updates = $MadelineProto->phone->setCallRating(['peer' => InputPhoneCall, 'rating' => int, 'comment' => string, ]);
+```
+
+Or, if you're into Lua:
+
+```
+Updates = phone.setCallRating({peer=InputPhoneCall, rating=int, comment=string, })
+```
+
diff --git a/docs/API_docs/methods/ping.md b/docs/API_docs/methods/ping.md
new file mode 100644
index 00000000..6adc0a47
--- /dev/null
+++ b/docs/API_docs/methods/ping.md
@@ -0,0 +1,44 @@
+---
+title: ping
+description: ping parameters, return type and example
+---
+## Method: ping
+[Back to methods index](index.md)
+
+
+### Parameters:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|ping\_id|[long](../types/long.md) | Yes|
+
+
+### Return type: [Pong](../types/Pong.md)
+
+### Example:
+
+
+```
+$MadelineProto = new \danog\MadelineProto\API();
+if (isset($token)) {
+ $this->bot_login($token);
+}
+if (isset($number)) {
+ $sentCode = $MadelineProto->phone_login($number);
+ echo 'Enter the code you received: ';
+ $code = '';
+ for ($x = 0; $x < $sentCode['type']['length']; $x++) {
+ $code .= fgetc(STDIN);
+ }
+ $MadelineProto->complete_phone_login($code);
+}
+
+$Pong = $MadelineProto->ping(['ping_id' => long, ]);
+```
+
+Or, if you're into Lua:
+
+```
+Pong = ping({ping_id=long, })
+```
+
diff --git a/docs/API_docs/methods/ping_delay_disconnect.md b/docs/API_docs/methods/ping_delay_disconnect.md
new file mode 100644
index 00000000..668cc680
--- /dev/null
+++ b/docs/API_docs/methods/ping_delay_disconnect.md
@@ -0,0 +1,45 @@
+---
+title: ping_delay_disconnect
+description: ping_delay_disconnect parameters, return type and example
+---
+## Method: ping\_delay\_disconnect
+[Back to methods index](index.md)
+
+
+### Parameters:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|ping\_id|[long](../types/long.md) | Yes|
+|disconnect\_delay|[int](../types/int.md) | Yes|
+
+
+### Return type: [Pong](../types/Pong.md)
+
+### Example:
+
+
+```
+$MadelineProto = new \danog\MadelineProto\API();
+if (isset($token)) {
+ $this->bot_login($token);
+}
+if (isset($number)) {
+ $sentCode = $MadelineProto->phone_login($number);
+ echo 'Enter the code you received: ';
+ $code = '';
+ for ($x = 0; $x < $sentCode['type']['length']; $x++) {
+ $code .= fgetc(STDIN);
+ }
+ $MadelineProto->complete_phone_login($code);
+}
+
+$Pong = $MadelineProto->ping_delay_disconnect(['ping_id' => long, 'disconnect_delay' => int, ]);
+```
+
+Or, if you're into Lua:
+
+```
+Pong = ping_delay_disconnect({ping_id=long, disconnect_delay=int, })
+```
+
diff --git a/docs/API_docs/methods/req_DH_params.md b/docs/API_docs/methods/req_DH_params.md
new file mode 100644
index 00000000..19832a89
--- /dev/null
+++ b/docs/API_docs/methods/req_DH_params.md
@@ -0,0 +1,49 @@
+---
+title: req_DH_params
+description: req_DH_params parameters, return type and example
+---
+## Method: req\_DH\_params
+[Back to methods index](index.md)
+
+
+### Parameters:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|nonce|[int128](../types/int128.md) | Yes|
+|server\_nonce|[int128](../types/int128.md) | Yes|
+|p|[string](../types/string.md) | Yes|
+|q|[string](../types/string.md) | Yes|
+|public\_key\_fingerprint|[long](../types/long.md) | Yes|
+|encrypted\_data|[string](../types/string.md) | Yes|
+
+
+### Return type: [Server\_DH\_Params](../types/Server_DH_Params.md)
+
+### Example:
+
+
+```
+$MadelineProto = new \danog\MadelineProto\API();
+if (isset($token)) {
+ $this->bot_login($token);
+}
+if (isset($number)) {
+ $sentCode = $MadelineProto->phone_login($number);
+ echo 'Enter the code you received: ';
+ $code = '';
+ for ($x = 0; $x < $sentCode['type']['length']; $x++) {
+ $code .= fgetc(STDIN);
+ }
+ $MadelineProto->complete_phone_login($code);
+}
+
+$Server_DH_Params = $MadelineProto->req_DH_params(['nonce' => int128, 'server_nonce' => int128, 'p' => string, 'q' => string, 'public_key_fingerprint' => long, 'encrypted_data' => string, ]);
+```
+
+Or, if you're into Lua:
+
+```
+Server_DH_Params = req_DH_params({nonce=int128, server_nonce=int128, p=string, q=string, public_key_fingerprint=long, encrypted_data=string, })
+```
+
diff --git a/docs/API_docs/methods/req_pq.md b/docs/API_docs/methods/req_pq.md
new file mode 100644
index 00000000..f88fa975
--- /dev/null
+++ b/docs/API_docs/methods/req_pq.md
@@ -0,0 +1,44 @@
+---
+title: req_pq
+description: req_pq parameters, return type and example
+---
+## Method: req\_pq
+[Back to methods index](index.md)
+
+
+### Parameters:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|nonce|[int128](../types/int128.md) | Yes|
+
+
+### Return type: [ResPQ](../types/ResPQ.md)
+
+### Example:
+
+
+```
+$MadelineProto = new \danog\MadelineProto\API();
+if (isset($token)) {
+ $this->bot_login($token);
+}
+if (isset($number)) {
+ $sentCode = $MadelineProto->phone_login($number);
+ echo 'Enter the code you received: ';
+ $code = '';
+ for ($x = 0; $x < $sentCode['type']['length']; $x++) {
+ $code .= fgetc(STDIN);
+ }
+ $MadelineProto->complete_phone_login($code);
+}
+
+$ResPQ = $MadelineProto->req_pq(['nonce' => int128, ]);
+```
+
+Or, if you're into Lua:
+
+```
+ResPQ = req_pq({nonce=int128, })
+```
+
diff --git a/docs/API_docs/methods/rpc_drop_answer.md b/docs/API_docs/methods/rpc_drop_answer.md
new file mode 100644
index 00000000..a1b95fd0
--- /dev/null
+++ b/docs/API_docs/methods/rpc_drop_answer.md
@@ -0,0 +1,44 @@
+---
+title: rpc_drop_answer
+description: rpc_drop_answer parameters, return type and example
+---
+## Method: rpc\_drop\_answer
+[Back to methods index](index.md)
+
+
+### Parameters:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|req\_msg\_id|[long](../types/long.md) | Yes|
+
+
+### Return type: [RpcDropAnswer](../types/RpcDropAnswer.md)
+
+### Example:
+
+
+```
+$MadelineProto = new \danog\MadelineProto\API();
+if (isset($token)) {
+ $this->bot_login($token);
+}
+if (isset($number)) {
+ $sentCode = $MadelineProto->phone_login($number);
+ echo 'Enter the code you received: ';
+ $code = '';
+ for ($x = 0; $x < $sentCode['type']['length']; $x++) {
+ $code .= fgetc(STDIN);
+ }
+ $MadelineProto->complete_phone_login($code);
+}
+
+$RpcDropAnswer = $MadelineProto->rpc_drop_answer(['req_msg_id' => long, ]);
+```
+
+Or, if you're into Lua:
+
+```
+RpcDropAnswer = rpc_drop_answer({req_msg_id=long, })
+```
+
diff --git a/docs/API_docs/methods/set_client_DH_params.md b/docs/API_docs/methods/set_client_DH_params.md
new file mode 100644
index 00000000..0e4eaf65
--- /dev/null
+++ b/docs/API_docs/methods/set_client_DH_params.md
@@ -0,0 +1,46 @@
+---
+title: set_client_DH_params
+description: set_client_DH_params parameters, return type and example
+---
+## Method: set\_client\_DH\_params
+[Back to methods index](index.md)
+
+
+### Parameters:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|nonce|[int128](../types/int128.md) | Yes|
+|server\_nonce|[int128](../types/int128.md) | Yes|
+|encrypted\_data|[string](../types/string.md) | Yes|
+
+
+### Return type: [Set\_client\_DH\_params\_answer](../types/Set_client_DH_params_answer.md)
+
+### Example:
+
+
+```
+$MadelineProto = new \danog\MadelineProto\API();
+if (isset($token)) {
+ $this->bot_login($token);
+}
+if (isset($number)) {
+ $sentCode = $MadelineProto->phone_login($number);
+ echo 'Enter the code you received: ';
+ $code = '';
+ for ($x = 0; $x < $sentCode['type']['length']; $x++) {
+ $code .= fgetc(STDIN);
+ }
+ $MadelineProto->complete_phone_login($code);
+}
+
+$Set_client_DH_params_answer = $MadelineProto->set_client_DH_params(['nonce' => int128, 'server_nonce' => int128, 'encrypted_data' => string, ]);
+```
+
+Or, if you're into Lua:
+
+```
+Set_client_DH_params_answer = set_client_DH_params({nonce=int128, server_nonce=int128, encrypted_data=string, })
+```
+
diff --git a/docs/API_docs/methods/upload_getWebFile.md b/docs/API_docs/methods/upload_getWebFile.md
new file mode 100644
index 00000000..4d9d63ea
--- /dev/null
+++ b/docs/API_docs/methods/upload_getWebFile.md
@@ -0,0 +1,46 @@
+---
+title: upload.getWebFile
+description: upload.getWebFile parameters, return type and example
+---
+## Method: upload.getWebFile
+[Back to methods index](index.md)
+
+
+### Parameters:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|location|[InputWebFileLocation](../types/InputWebFileLocation.md) | Yes|
+|offset|[int](../types/int.md) | Yes|
+|limit|[int](../types/int.md) | Yes|
+
+
+### Return type: [upload\_WebFile](../types/upload_WebFile.md)
+
+### Example:
+
+
+```
+$MadelineProto = new \danog\MadelineProto\API();
+if (isset($token)) {
+ $this->bot_login($token);
+}
+if (isset($number)) {
+ $sentCode = $MadelineProto->phone_login($number);
+ echo 'Enter the code you received: ';
+ $code = '';
+ for ($x = 0; $x < $sentCode['type']['length']; $x++) {
+ $code .= fgetc(STDIN);
+ }
+ $MadelineProto->complete_phone_login($code);
+}
+
+$upload_WebFile = $MadelineProto->upload->getWebFile(['location' => InputWebFileLocation, 'offset' => int, 'limit' => int, ]);
+```
+
+Or, if you're into Lua:
+
+```
+upload_WebFile = upload.getWebFile({location=InputWebFileLocation, offset=int, limit=int, })
+```
+
diff --git a/docs/API_docs/types/BadMsgNotification.md b/docs/API_docs/types/BadMsgNotification.md
new file mode 100644
index 00000000..11ba7a55
--- /dev/null
+++ b/docs/API_docs/types/BadMsgNotification.md
@@ -0,0 +1,21 @@
+---
+title: BadMsgNotification
+description: constructors and methods of type BadMsgNotification
+---
+## Type: BadMsgNotification
+[Back to types index](index.md)
+
+
+
+### Possible values (constructors):
+
+[bad\_msg\_notification](../constructors/bad_msg_notification.md)
+
+[bad\_server\_salt](../constructors/bad_server_salt.md)
+
+
+
+### Methods that return an object of this type (methods):
+
+
+
diff --git a/docs/API_docs/types/Client_DH_Inner_Data.md b/docs/API_docs/types/Client_DH_Inner_Data.md
new file mode 100644
index 00000000..3bfc457b
--- /dev/null
+++ b/docs/API_docs/types/Client_DH_Inner_Data.md
@@ -0,0 +1,19 @@
+---
+title: Client_DH_Inner_Data
+description: constructors and methods of type Client_DH_Inner_Data
+---
+## Type: Client\_DH\_Inner\_Data
+[Back to types index](index.md)
+
+
+
+### Possible values (constructors):
+
+[client\_DH\_inner\_data](../constructors/client_DH_inner_data.md)
+
+
+
+### Methods that return an object of this type (methods):
+
+
+
diff --git a/docs/API_docs/types/DataJSON.md b/docs/API_docs/types/DataJSON.md
new file mode 100644
index 00000000..67984422
--- /dev/null
+++ b/docs/API_docs/types/DataJSON.md
@@ -0,0 +1,23 @@
+---
+title: DataJSON
+description: constructors and methods of type DataJSON
+---
+## Type: DataJSON
+[Back to types index](index.md)
+
+
+
+### Possible values (constructors):
+
+[dataJSON](../constructors/dataJSON.md)
+
+
+
+### Methods that return an object of this type (methods):
+
+[$MadelineProto->bots->sendCustomRequest](../methods/bots_sendCustomRequest.md)
+
+[$MadelineProto->phone->getCallConfig](../methods/phone_getCallConfig.md)
+
+
+
diff --git a/docs/API_docs/types/DecryptedDataBlock.md b/docs/API_docs/types/DecryptedDataBlock.md
new file mode 100644
index 00000000..7405fa35
--- /dev/null
+++ b/docs/API_docs/types/DecryptedDataBlock.md
@@ -0,0 +1,21 @@
+---
+title: DecryptedDataBlock
+description: constructors and methods of type DecryptedDataBlock
+---
+## Type: DecryptedDataBlock
+[Back to types index](index.md)
+
+
+
+### Possible values (constructors):
+
+[decryptedDataBlock](../constructors/decryptedDataBlock.md)
+
+[simpleDataBlock](../constructors/simpleDataBlock.md)
+
+
+
+### Methods that return an object of this type (methods):
+
+
+
diff --git a/docs/API_docs/types/DestroySessionRes.md b/docs/API_docs/types/DestroySessionRes.md
new file mode 100644
index 00000000..64b1264c
--- /dev/null
+++ b/docs/API_docs/types/DestroySessionRes.md
@@ -0,0 +1,23 @@
+---
+title: DestroySessionRes
+description: constructors and methods of type DestroySessionRes
+---
+## Type: DestroySessionRes
+[Back to types index](index.md)
+
+
+
+### Possible values (constructors):
+
+[destroy\_session\_ok](../constructors/destroy_session_ok.md)
+
+[destroy\_session\_none](../constructors/destroy_session_none.md)
+
+
+
+### Methods that return an object of this type (methods):
+
+[$MadelineProto->destroy->session](../methods/destroy_session.md)
+
+
+
diff --git a/docs/API_docs/types/FutureSalt.md b/docs/API_docs/types/FutureSalt.md
new file mode 100644
index 00000000..469c0970
--- /dev/null
+++ b/docs/API_docs/types/FutureSalt.md
@@ -0,0 +1,19 @@
+---
+title: FutureSalt
+description: constructors and methods of type FutureSalt
+---
+## Type: FutureSalt
+[Back to types index](index.md)
+
+
+
+### Possible values (constructors):
+
+[future\_salt](../constructors/future_salt.md)
+
+
+
+### Methods that return an object of this type (methods):
+
+
+
diff --git a/docs/API_docs/types/FutureSalts.md b/docs/API_docs/types/FutureSalts.md
new file mode 100644
index 00000000..41a47ea5
--- /dev/null
+++ b/docs/API_docs/types/FutureSalts.md
@@ -0,0 +1,21 @@
+---
+title: FutureSalts
+description: constructors and methods of type FutureSalts
+---
+## Type: FutureSalts
+[Back to types index](index.md)
+
+
+
+### Possible values (constructors):
+
+[future\_salts](../constructors/future_salts.md)
+
+
+
+### Methods that return an object of this type (methods):
+
+[$MadelineProto->get->future->salts](../methods/get_future_salts.md)
+
+
+
diff --git a/docs/API_docs/types/HttpWait.md b/docs/API_docs/types/HttpWait.md
new file mode 100644
index 00000000..7aad18b8
--- /dev/null
+++ b/docs/API_docs/types/HttpWait.md
@@ -0,0 +1,19 @@
+---
+title: HttpWait
+description: constructors and methods of type HttpWait
+---
+## Type: HttpWait
+[Back to types index](index.md)
+
+
+
+### Possible values (constructors):
+
+[http\_wait](../constructors/http_wait.md)
+
+
+
+### Methods that return an object of this type (methods):
+
+
+
diff --git a/docs/API_docs/types/InputMedia.md b/docs/API_docs/types/InputMedia.md
index 57d4b92a..823d30ed 100644
--- a/docs/API_docs/types/InputMedia.md
+++ b/docs/API_docs/types/InputMedia.md
@@ -35,6 +35,8 @@ description: constructors and methods of type InputMedia
[inputMediaGame](../constructors/inputMediaGame.md)
+[inputMediaInvoice](../constructors/inputMediaInvoice.md)
+
### Methods that return an object of this type (methods):
diff --git a/docs/API_docs/types/InputPaymentCredentials.md b/docs/API_docs/types/InputPaymentCredentials.md
new file mode 100644
index 00000000..82e5bcdc
--- /dev/null
+++ b/docs/API_docs/types/InputPaymentCredentials.md
@@ -0,0 +1,21 @@
+---
+title: InputPaymentCredentials
+description: constructors and methods of type InputPaymentCredentials
+---
+## Type: InputPaymentCredentials
+[Back to types index](index.md)
+
+
+
+### Possible values (constructors):
+
+[inputPaymentCredentialsSaved](../constructors/inputPaymentCredentialsSaved.md)
+
+[inputPaymentCredentials](../constructors/inputPaymentCredentials.md)
+
+
+
+### Methods that return an object of this type (methods):
+
+
+
diff --git a/docs/API_docs/types/InputWebDocument.md b/docs/API_docs/types/InputWebDocument.md
new file mode 100644
index 00000000..5fc32604
--- /dev/null
+++ b/docs/API_docs/types/InputWebDocument.md
@@ -0,0 +1,19 @@
+---
+title: InputWebDocument
+description: constructors and methods of type InputWebDocument
+---
+## Type: InputWebDocument
+[Back to types index](index.md)
+
+
+
+### Possible values (constructors):
+
+[inputWebDocument](../constructors/inputWebDocument.md)
+
+
+
+### Methods that return an object of this type (methods):
+
+
+
diff --git a/docs/API_docs/types/InputWebFileLocation.md b/docs/API_docs/types/InputWebFileLocation.md
new file mode 100644
index 00000000..0df377ea
--- /dev/null
+++ b/docs/API_docs/types/InputWebFileLocation.md
@@ -0,0 +1,19 @@
+---
+title: InputWebFileLocation
+description: constructors and methods of type InputWebFileLocation
+---
+## Type: InputWebFileLocation
+[Back to types index](index.md)
+
+
+
+### Possible values (constructors):
+
+[inputWebFileLocation](../constructors/inputWebFileLocation.md)
+
+
+
+### Methods that return an object of this type (methods):
+
+
+
diff --git a/docs/API_docs/types/Invoice.md b/docs/API_docs/types/Invoice.md
new file mode 100644
index 00000000..d9fb4ce8
--- /dev/null
+++ b/docs/API_docs/types/Invoice.md
@@ -0,0 +1,19 @@
+---
+title: Invoice
+description: constructors and methods of type Invoice
+---
+## Type: Invoice
+[Back to types index](index.md)
+
+
+
+### Possible values (constructors):
+
+[invoice](../constructors/invoice.md)
+
+
+
+### Methods that return an object of this type (methods):
+
+
+
diff --git a/docs/API_docs/types/KeyboardButton.md b/docs/API_docs/types/KeyboardButton.md
index 9826a9b3..a6871e34 100644
--- a/docs/API_docs/types/KeyboardButton.md
+++ b/docs/API_docs/types/KeyboardButton.md
@@ -23,6 +23,8 @@ description: constructors and methods of type KeyboardButton
[keyboardButtonGame](../constructors/keyboardButtonGame.md)
+[keyboardButtonBuy](../constructors/keyboardButtonBuy.md)
+
### Methods that return an object of this type (methods):
diff --git a/docs/API_docs/types/LabeledPrice.md b/docs/API_docs/types/LabeledPrice.md
new file mode 100644
index 00000000..46e828a3
--- /dev/null
+++ b/docs/API_docs/types/LabeledPrice.md
@@ -0,0 +1,19 @@
+---
+title: LabeledPrice
+description: constructors and methods of type LabeledPrice
+---
+## Type: LabeledPrice
+[Back to types index](index.md)
+
+
+
+### Possible values (constructors):
+
+[labeledPrice](../constructors/labeledPrice.md)
+
+
+
+### Methods that return an object of this type (methods):
+
+
+
diff --git a/docs/API_docs/types/MessageAction.md b/docs/API_docs/types/MessageAction.md
index 3af027d1..640eb324 100644
--- a/docs/API_docs/types/MessageAction.md
+++ b/docs/API_docs/types/MessageAction.md
@@ -37,6 +37,10 @@ description: constructors and methods of type MessageAction
[messageActionGameScore](../constructors/messageActionGameScore.md)
+[messageActionPaymentSentMe](../constructors/messageActionPaymentSentMe.md)
+
+[messageActionPaymentSent](../constructors/messageActionPaymentSent.md)
+
[messageActionPhoneCall](../constructors/messageActionPhoneCall.md)
diff --git a/docs/API_docs/types/MessageMedia.md b/docs/API_docs/types/MessageMedia.md
index 2f5d294b..e5983d2f 100644
--- a/docs/API_docs/types/MessageMedia.md
+++ b/docs/API_docs/types/MessageMedia.md
@@ -27,6 +27,8 @@ description: constructors and methods of type MessageMedia
[messageMediaGame](../constructors/messageMediaGame.md)
+[messageMediaInvoice](../constructors/messageMediaInvoice.md)
+
### Methods that return an object of this type (methods):
diff --git a/docs/API_docs/types/MsgDetailedInfo.md b/docs/API_docs/types/MsgDetailedInfo.md
new file mode 100644
index 00000000..0ce0454d
--- /dev/null
+++ b/docs/API_docs/types/MsgDetailedInfo.md
@@ -0,0 +1,21 @@
+---
+title: MsgDetailedInfo
+description: constructors and methods of type MsgDetailedInfo
+---
+## Type: MsgDetailedInfo
+[Back to types index](index.md)
+
+
+
+### Possible values (constructors):
+
+[msg\_detailed\_info](../constructors/msg_detailed_info.md)
+
+[msg\_new\_detailed\_info](../constructors/msg_new_detailed_info.md)
+
+
+
+### Methods that return an object of this type (methods):
+
+
+
diff --git a/docs/API_docs/types/MsgResendReq.md b/docs/API_docs/types/MsgResendReq.md
new file mode 100644
index 00000000..d3016616
--- /dev/null
+++ b/docs/API_docs/types/MsgResendReq.md
@@ -0,0 +1,19 @@
+---
+title: MsgResendReq
+description: constructors and methods of type MsgResendReq
+---
+## Type: MsgResendReq
+[Back to types index](index.md)
+
+
+
+### Possible values (constructors):
+
+[msg\_resend\_req](../constructors/msg_resend_req.md)
+
+
+
+### Methods that return an object of this type (methods):
+
+
+
diff --git a/docs/API_docs/types/MsgsAck.md b/docs/API_docs/types/MsgsAck.md
new file mode 100644
index 00000000..9927e30b
--- /dev/null
+++ b/docs/API_docs/types/MsgsAck.md
@@ -0,0 +1,19 @@
+---
+title: MsgsAck
+description: constructors and methods of type MsgsAck
+---
+## Type: MsgsAck
+[Back to types index](index.md)
+
+
+
+### Possible values (constructors):
+
+[msgs\_ack](../constructors/msgs_ack.md)
+
+
+
+### Methods that return an object of this type (methods):
+
+
+
diff --git a/docs/API_docs/types/MsgsAllInfo.md b/docs/API_docs/types/MsgsAllInfo.md
new file mode 100644
index 00000000..4c922995
--- /dev/null
+++ b/docs/API_docs/types/MsgsAllInfo.md
@@ -0,0 +1,19 @@
+---
+title: MsgsAllInfo
+description: constructors and methods of type MsgsAllInfo
+---
+## Type: MsgsAllInfo
+[Back to types index](index.md)
+
+
+
+### Possible values (constructors):
+
+[msgs\_all\_info](../constructors/msgs_all_info.md)
+
+
+
+### Methods that return an object of this type (methods):
+
+
+
diff --git a/docs/API_docs/types/MsgsStateInfo.md b/docs/API_docs/types/MsgsStateInfo.md
new file mode 100644
index 00000000..65a65336
--- /dev/null
+++ b/docs/API_docs/types/MsgsStateInfo.md
@@ -0,0 +1,19 @@
+---
+title: MsgsStateInfo
+description: constructors and methods of type MsgsStateInfo
+---
+## Type: MsgsStateInfo
+[Back to types index](index.md)
+
+
+
+### Possible values (constructors):
+
+[msgs\_state\_info](../constructors/msgs_state_info.md)
+
+
+
+### Methods that return an object of this type (methods):
+
+
+
diff --git a/docs/API_docs/types/MsgsStateReq.md b/docs/API_docs/types/MsgsStateReq.md
new file mode 100644
index 00000000..5bbb6d98
--- /dev/null
+++ b/docs/API_docs/types/MsgsStateReq.md
@@ -0,0 +1,19 @@
+---
+title: MsgsStateReq
+description: constructors and methods of type MsgsStateReq
+---
+## Type: MsgsStateReq
+[Back to types index](index.md)
+
+
+
+### Possible values (constructors):
+
+[msgs\_state\_req](../constructors/msgs_state_req.md)
+
+
+
+### Methods that return an object of this type (methods):
+
+
+
diff --git a/docs/API_docs/types/NewSession.md b/docs/API_docs/types/NewSession.md
new file mode 100644
index 00000000..f5a58c6d
--- /dev/null
+++ b/docs/API_docs/types/NewSession.md
@@ -0,0 +1,19 @@
+---
+title: NewSession
+description: constructors and methods of type NewSession
+---
+## Type: NewSession
+[Back to types index](index.md)
+
+
+
+### Possible values (constructors):
+
+[new\_session\_created](../constructors/new_session_created.md)
+
+
+
+### Methods that return an object of this type (methods):
+
+
+
diff --git a/docs/API_docs/types/P_Q_inner_data.md b/docs/API_docs/types/P_Q_inner_data.md
new file mode 100644
index 00000000..4aea659a
--- /dev/null
+++ b/docs/API_docs/types/P_Q_inner_data.md
@@ -0,0 +1,19 @@
+---
+title: P_Q_inner_data
+description: constructors and methods of type P_Q_inner_data
+---
+## Type: P\_Q\_inner\_data
+[Back to types index](index.md)
+
+
+
+### Possible values (constructors):
+
+[p\_q\_inner\_data](../constructors/p_q_inner_data.md)
+
+
+
+### Methods that return an object of this type (methods):
+
+
+
diff --git a/docs/API_docs/types/PaymentCharge.md b/docs/API_docs/types/PaymentCharge.md
new file mode 100644
index 00000000..e084b4ee
--- /dev/null
+++ b/docs/API_docs/types/PaymentCharge.md
@@ -0,0 +1,19 @@
+---
+title: PaymentCharge
+description: constructors and methods of type PaymentCharge
+---
+## Type: PaymentCharge
+[Back to types index](index.md)
+
+
+
+### Possible values (constructors):
+
+[paymentCharge](../constructors/paymentCharge.md)
+
+
+
+### Methods that return an object of this type (methods):
+
+
+
diff --git a/docs/API_docs/types/PaymentRequestedInfo.md b/docs/API_docs/types/PaymentRequestedInfo.md
new file mode 100644
index 00000000..f2b30360
--- /dev/null
+++ b/docs/API_docs/types/PaymentRequestedInfo.md
@@ -0,0 +1,19 @@
+---
+title: PaymentRequestedInfo
+description: constructors and methods of type PaymentRequestedInfo
+---
+## Type: PaymentRequestedInfo
+[Back to types index](index.md)
+
+
+
+### Possible values (constructors):
+
+[paymentRequestedInfo](../constructors/paymentRequestedInfo.md)
+
+
+
+### Methods that return an object of this type (methods):
+
+
+
diff --git a/docs/API_docs/types/PaymentSavedCredentials.md b/docs/API_docs/types/PaymentSavedCredentials.md
new file mode 100644
index 00000000..46504dd5
--- /dev/null
+++ b/docs/API_docs/types/PaymentSavedCredentials.md
@@ -0,0 +1,19 @@
+---
+title: PaymentSavedCredentials
+description: constructors and methods of type PaymentSavedCredentials
+---
+## Type: PaymentSavedCredentials
+[Back to types index](index.md)
+
+
+
+### Possible values (constructors):
+
+[paymentSavedCredentialsCard](../constructors/paymentSavedCredentialsCard.md)
+
+
+
+### Methods that return an object of this type (methods):
+
+
+
diff --git a/docs/API_docs/types/PhoneCall.md b/docs/API_docs/types/PhoneCall.md
index 0f4b7546..51ba4fa0 100644
--- a/docs/API_docs/types/PhoneCall.md
+++ b/docs/API_docs/types/PhoneCall.md
@@ -15,6 +15,8 @@ description: constructors and methods of type PhoneCall
[phoneCallRequested](../constructors/phoneCallRequested.md)
+[phoneCallAccepted](../constructors/phoneCallAccepted.md)
+
[phoneCall](../constructors/phoneCall.md)
[phoneCallDiscarded](../constructors/phoneCallDiscarded.md)
diff --git a/docs/API_docs/types/Pong.md b/docs/API_docs/types/Pong.md
new file mode 100644
index 00000000..f9329dbb
--- /dev/null
+++ b/docs/API_docs/types/Pong.md
@@ -0,0 +1,23 @@
+---
+title: Pong
+description: constructors and methods of type Pong
+---
+## Type: Pong
+[Back to types index](index.md)
+
+
+
+### Possible values (constructors):
+
+[pong](../constructors/pong.md)
+
+
+
+### Methods that return an object of this type (methods):
+
+[$MadelineProto->ping](../methods/ping.md)
+
+[$MadelineProto->ping->delay->disconnect](../methods/ping_delay_disconnect.md)
+
+
+
diff --git a/docs/API_docs/types/PostAddress.md b/docs/API_docs/types/PostAddress.md
new file mode 100644
index 00000000..ed393589
--- /dev/null
+++ b/docs/API_docs/types/PostAddress.md
@@ -0,0 +1,19 @@
+---
+title: PostAddress
+description: constructors and methods of type PostAddress
+---
+## Type: PostAddress
+[Back to types index](index.md)
+
+
+
+### Possible values (constructors):
+
+[postAddress](../constructors/postAddress.md)
+
+
+
+### Methods that return an object of this type (methods):
+
+
+
diff --git a/docs/API_docs/types/ResPQ.md b/docs/API_docs/types/ResPQ.md
new file mode 100644
index 00000000..ba8fae67
--- /dev/null
+++ b/docs/API_docs/types/ResPQ.md
@@ -0,0 +1,21 @@
+---
+title: ResPQ
+description: constructors and methods of type ResPQ
+---
+## Type: ResPQ
+[Back to types index](index.md)
+
+
+
+### Possible values (constructors):
+
+[resPQ](../constructors/resPQ.md)
+
+
+
+### Methods that return an object of this type (methods):
+
+[$MadelineProto->req->pq](../methods/req_pq.md)
+
+
+
diff --git a/docs/API_docs/types/RpcDropAnswer.md b/docs/API_docs/types/RpcDropAnswer.md
new file mode 100644
index 00000000..dfc6d506
--- /dev/null
+++ b/docs/API_docs/types/RpcDropAnswer.md
@@ -0,0 +1,25 @@
+---
+title: RpcDropAnswer
+description: constructors and methods of type RpcDropAnswer
+---
+## Type: RpcDropAnswer
+[Back to types index](index.md)
+
+
+
+### Possible values (constructors):
+
+[rpc\_answer\_unknown](../constructors/rpc_answer_unknown.md)
+
+[rpc\_answer\_dropped\_running](../constructors/rpc_answer_dropped_running.md)
+
+[rpc\_answer\_dropped](../constructors/rpc_answer_dropped.md)
+
+
+
+### Methods that return an object of this type (methods):
+
+[$MadelineProto->rpc->drop->answer](../methods/rpc_drop_answer.md)
+
+
+
diff --git a/docs/API_docs/types/RpcError.md b/docs/API_docs/types/RpcError.md
new file mode 100644
index 00000000..bf18a924
--- /dev/null
+++ b/docs/API_docs/types/RpcError.md
@@ -0,0 +1,19 @@
+---
+title: RpcError
+description: constructors and methods of type RpcError
+---
+## Type: RpcError
+[Back to types index](index.md)
+
+
+
+### Possible values (constructors):
+
+[rpc\_error](../constructors/rpc_error.md)
+
+
+
+### Methods that return an object of this type (methods):
+
+
+
diff --git a/docs/API_docs/types/Server_DH_Params.md b/docs/API_docs/types/Server_DH_Params.md
new file mode 100644
index 00000000..059da6cc
--- /dev/null
+++ b/docs/API_docs/types/Server_DH_Params.md
@@ -0,0 +1,23 @@
+---
+title: Server_DH_Params
+description: constructors and methods of type Server_DH_Params
+---
+## Type: Server\_DH\_Params
+[Back to types index](index.md)
+
+
+
+### Possible values (constructors):
+
+[server\_DH\_params\_fail](../constructors/server_DH_params_fail.md)
+
+[server\_DH\_params\_ok](../constructors/server_DH_params_ok.md)
+
+
+
+### Methods that return an object of this type (methods):
+
+[$MadelineProto->req->DH->params](../methods/req_DH_params.md)
+
+
+
diff --git a/docs/API_docs/types/Server_DH_inner_data.md b/docs/API_docs/types/Server_DH_inner_data.md
new file mode 100644
index 00000000..295e890b
--- /dev/null
+++ b/docs/API_docs/types/Server_DH_inner_data.md
@@ -0,0 +1,19 @@
+---
+title: Server_DH_inner_data
+description: constructors and methods of type Server_DH_inner_data
+---
+## Type: Server\_DH\_inner\_data
+[Back to types index](index.md)
+
+
+
+### Possible values (constructors):
+
+[server\_DH\_inner\_data](../constructors/server_DH_inner_data.md)
+
+
+
+### Methods that return an object of this type (methods):
+
+
+
diff --git a/docs/API_docs/types/Set_client_DH_params_answer.md b/docs/API_docs/types/Set_client_DH_params_answer.md
new file mode 100644
index 00000000..6389686d
--- /dev/null
+++ b/docs/API_docs/types/Set_client_DH_params_answer.md
@@ -0,0 +1,25 @@
+---
+title: Set_client_DH_params_answer
+description: constructors and methods of type Set_client_DH_params_answer
+---
+## Type: Set\_client\_DH\_params\_answer
+[Back to types index](index.md)
+
+
+
+### Possible values (constructors):
+
+[dh\_gen\_ok](../constructors/dh_gen_ok.md)
+
+[dh\_gen\_retry](../constructors/dh_gen_retry.md)
+
+[dh\_gen\_fail](../constructors/dh_gen_fail.md)
+
+
+
+### Methods that return an object of this type (methods):
+
+[$MadelineProto->set->client->DH->params](../methods/set_client_DH_params.md)
+
+
+
diff --git a/docs/API_docs/types/ShippingOption.md b/docs/API_docs/types/ShippingOption.md
new file mode 100644
index 00000000..27cfd45f
--- /dev/null
+++ b/docs/API_docs/types/ShippingOption.md
@@ -0,0 +1,19 @@
+---
+title: ShippingOption
+description: constructors and methods of type ShippingOption
+---
+## Type: ShippingOption
+[Back to types index](index.md)
+
+
+
+### Possible values (constructors):
+
+[shippingOption](../constructors/shippingOption.md)
+
+
+
+### Methods that return an object of this type (methods):
+
+
+
diff --git a/docs/API_docs/types/Update.md b/docs/API_docs/types/Update.md
index 896ea7ba..fbffba49 100644
--- a/docs/API_docs/types/Update.md
+++ b/docs/API_docs/types/Update.md
@@ -117,12 +117,20 @@ Contains notifications about data changes
[updateChannelWebPage](../constructors/updateChannelWebPage.md)
-[updatePhoneCall](../constructors/updatePhoneCall.md)
-
[updateDialogPinned](../constructors/updateDialogPinned.md)
[updatePinnedDialogs](../constructors/updatePinnedDialogs.md)
+[updateBotWebhookJSON](../constructors/updateBotWebhookJSON.md)
+
+[updateBotWebhookJSONQuery](../constructors/updateBotWebhookJSONQuery.md)
+
+[updateBotShippingQuery](../constructors/updateBotShippingQuery.md)
+
+[updateBotPrecheckoutQuery](../constructors/updateBotPrecheckoutQuery.md)
+
+[updatePhoneCall](../constructors/updatePhoneCall.md)
+
### Methods that return an object of this type (methods):
diff --git a/docs/API_docs/types/Updates.md b/docs/API_docs/types/Updates.md
index 30e6d42f..e9bd8d08 100644
--- a/docs/API_docs/types/Updates.md
+++ b/docs/API_docs/types/Updates.md
@@ -61,6 +61,8 @@ description: constructors and methods of type Updates
[$MadelineProto->messages->setGameScore](../methods/messages_setGameScore.md)
+[$MadelineProto->help->getAppChangelog](../methods/help_getAppChangelog.md)
+
[$MadelineProto->channels->createChannel](../methods/channels_createChannel.md)
[$MadelineProto->channels->editAdmin](../methods/channels_editAdmin.md)
@@ -85,5 +87,9 @@ description: constructors and methods of type Updates
[$MadelineProto->channels->updatePinnedMessage](../methods/channels_updatePinnedMessage.md)
+[$MadelineProto->phone->discardCall](../methods/phone_discardCall.md)
+
+[$MadelineProto->phone->setCallRating](../methods/phone_setCallRating.md)
+
diff --git a/docs/API_docs/types/WebDocument.md b/docs/API_docs/types/WebDocument.md
new file mode 100644
index 00000000..29d3b080
--- /dev/null
+++ b/docs/API_docs/types/WebDocument.md
@@ -0,0 +1,19 @@
+---
+title: WebDocument
+description: constructors and methods of type WebDocument
+---
+## Type: WebDocument
+[Back to types index](index.md)
+
+
+
+### Possible values (constructors):
+
+[webDocument](../constructors/webDocument.md)
+
+
+
+### Methods that return an object of this type (methods):
+
+
+
diff --git a/docs/API_docs/types/account_TmpPassword.md b/docs/API_docs/types/account_TmpPassword.md
new file mode 100644
index 00000000..b16e7c38
--- /dev/null
+++ b/docs/API_docs/types/account_TmpPassword.md
@@ -0,0 +1,21 @@
+---
+title: account_TmpPassword
+description: constructors and methods of type account_TmpPassword
+---
+## Type: account\_TmpPassword
+[Back to types index](index.md)
+
+
+
+### Possible values (constructors):
+
+[account\_tmpPassword](../constructors/account_tmpPassword.md)
+
+
+
+### Methods that return an object of this type (methods):
+
+[$MadelineProto->account->getTmpPassword](../methods/account_getTmpPassword.md)
+
+
+
diff --git a/docs/API_docs/types/index.md b/docs/API_docs/types/index.md
index e2fe00b2..a25cd22a 100644
--- a/docs/API_docs/types/index.md
+++ b/docs/API_docs/types/index.md
@@ -10,6 +10,8 @@ description: List of types
[Authorization](Authorization.md)
+[BadMsgNotification](BadMsgNotification.md)
+
[Bool](Bool.md)
[BotCommand](BotCommand.md)
@@ -40,6 +42,8 @@ description: List of types
[ChatPhoto](ChatPhoto.md)
+[Client\_DH\_Inner\_Data](Client_DH_Inner_Data.md)
+
[Config](Config.md)
[Contact](Contact.md)
@@ -50,8 +54,12 @@ description: List of types
[ContactStatus](ContactStatus.md)
+[DataJSON](DataJSON.md)
+
[DcOption](DcOption.md)
+[DecryptedDataBlock](DecryptedDataBlock.md)
+
[DecryptedMessage](DecryptedMessage.md)
[DecryptedMessageAction](DecryptedMessageAction.md)
@@ -62,6 +70,8 @@ description: List of types
[DestroyAuthKeyRes](DestroyAuthKeyRes.md)
+[DestroySessionRes](DestroySessionRes.md)
+
[Dialog](Dialog.md)
[DisabledFeature](DisabledFeature.md)
@@ -88,12 +98,18 @@ description: List of types
[FoundGif](FoundGif.md)
+[FutureSalt](FutureSalt.md)
+
+[FutureSalts](FutureSalts.md)
+
[Game](Game.md)
[GeoPoint](GeoPoint.md)
[HighScore](HighScore.md)
+[HttpWait](HttpWait.md)
+
[ImportedContact](ImportedContact.md)
[InlineBotSwitchPM](InlineBotSwitchPM.md)
@@ -130,6 +146,8 @@ description: List of types
[InputNotifyPeer](InputNotifyPeer.md)
+[InputPaymentCredentials](InputPaymentCredentials.md)
+
[InputPeer](InputPeer.md)
[InputPeerNotifyEvents](InputPeerNotifyEvents.md)
@@ -150,10 +168,18 @@ description: List of types
[InputUser](InputUser.md)
+[InputWebDocument](InputWebDocument.md)
+
+[InputWebFileLocation](InputWebFileLocation.md)
+
+[Invoice](Invoice.md)
+
[KeyboardButton](KeyboardButton.md)
[KeyboardButtonRow](KeyboardButtonRow.md)
+[LabeledPrice](LabeledPrice.md)
+
[MaskCoords](MaskCoords.md)
[Message](Message.md)
@@ -170,16 +196,38 @@ description: List of types
[MessagesFilter](MessagesFilter.md)
+[MsgDetailedInfo](MsgDetailedInfo.md)
+
+[MsgResendReq](MsgResendReq.md)
+
+[MsgsAck](MsgsAck.md)
+
+[MsgsAllInfo](MsgsAllInfo.md)
+
+[MsgsStateInfo](MsgsStateInfo.md)
+
+[MsgsStateReq](MsgsStateReq.md)
+
[NearestDc](NearestDc.md)
+[NewSession](NewSession.md)
+
[NotifyPeer](NotifyPeer.md)
[Null](Null.md)
+[P\_Q\_inner\_data](P_Q_inner_data.md)
+
[Page](Page.md)
[PageBlock](PageBlock.md)
+[PaymentCharge](PaymentCharge.md)
+
+[PaymentRequestedInfo](PaymentRequestedInfo.md)
+
+[PaymentSavedCredentials](PaymentSavedCredentials.md)
+
[Peer](Peer.md)
[PeerNotifyEvents](PeerNotifyEvents.md)
@@ -200,6 +248,10 @@ description: List of types
[PhotoSize](PhotoSize.md)
+[Pong](Pong.md)
+
+[PostAddress](PostAddress.md)
+
[PrivacyKey](PrivacyKey.md)
[PrivacyRule](PrivacyRule.md)
@@ -210,10 +262,24 @@ description: List of types
[ReportReason](ReportReason.md)
+[ResPQ](ResPQ.md)
+
[RichText](RichText.md)
+[RpcDropAnswer](RpcDropAnswer.md)
+
+[RpcError](RpcError.md)
+
[SendMessageAction](SendMessageAction.md)
+[Server\_DH\_Params](Server_DH_Params.md)
+
+[Server\_DH\_inner\_data](Server_DH_inner_data.md)
+
+[Set\_client\_DH\_params\_answer](Set_client_DH_params_answer.md)
+
+[ShippingOption](ShippingOption.md)
+
[StickerPack](StickerPack.md)
[StickerSet](StickerSet.md)
@@ -256,6 +322,8 @@ description: List of types
[WallPaper](WallPaper.md)
+[WebDocument](WebDocument.md)
+
[WebPage](WebPage.md)
[X](X.md)
@@ -270,6 +338,8 @@ description: List of types
[account\_PrivacyRules](account_PrivacyRules.md)
+[account\_TmpPassword](account_TmpPassword.md)
+
[auth\_Authorization](auth_Authorization.md)
[auth\_CheckedPhone](auth_CheckedPhone.md)
@@ -302,8 +372,6 @@ description: List of types
[contacts\_TopPeers](contacts_TopPeers.md)
-[help\_AppChangelog](help_AppChangelog.md)
-
[help\_AppUpdate](help_AppUpdate.md)
[help\_InviteText](help_InviteText.md)
@@ -356,6 +424,16 @@ description: List of types
[messages\_Stickers](messages_Stickers.md)
+[payments\_PaymentForm](payments_PaymentForm.md)
+
+[payments\_PaymentReceipt](payments_PaymentReceipt.md)
+
+[payments\_PaymentResult](payments_PaymentResult.md)
+
+[payments\_SavedInfo](payments_SavedInfo.md)
+
+[payments\_ValidatedRequestedInfo](payments_ValidatedRequestedInfo.md)
+
[phone\_PhoneCall](phone_PhoneCall.md)
[photos\_Photo](photos_Photo.md)
@@ -372,3 +450,5 @@ description: List of types
[upload\_File](upload_File.md)
+[upload\_WebFile](upload_WebFile.md)
+
diff --git a/docs/API_docs/types/payments_PaymentForm.md b/docs/API_docs/types/payments_PaymentForm.md
new file mode 100644
index 00000000..8416296f
--- /dev/null
+++ b/docs/API_docs/types/payments_PaymentForm.md
@@ -0,0 +1,21 @@
+---
+title: payments_PaymentForm
+description: constructors and methods of type payments_PaymentForm
+---
+## Type: payments\_PaymentForm
+[Back to types index](index.md)
+
+
+
+### Possible values (constructors):
+
+[payments\_paymentForm](../constructors/payments_paymentForm.md)
+
+
+
+### Methods that return an object of this type (methods):
+
+[$MadelineProto->payments->getPaymentForm](../methods/payments_getPaymentForm.md)
+
+
+
diff --git a/docs/API_docs/types/payments_PaymentReceipt.md b/docs/API_docs/types/payments_PaymentReceipt.md
new file mode 100644
index 00000000..51512977
--- /dev/null
+++ b/docs/API_docs/types/payments_PaymentReceipt.md
@@ -0,0 +1,21 @@
+---
+title: payments_PaymentReceipt
+description: constructors and methods of type payments_PaymentReceipt
+---
+## Type: payments\_PaymentReceipt
+[Back to types index](index.md)
+
+
+
+### Possible values (constructors):
+
+[payments\_paymentReceipt](../constructors/payments_paymentReceipt.md)
+
+
+
+### Methods that return an object of this type (methods):
+
+[$MadelineProto->payments->getPaymentReceipt](../methods/payments_getPaymentReceipt.md)
+
+
+
diff --git a/docs/API_docs/types/payments_PaymentResult.md b/docs/API_docs/types/payments_PaymentResult.md
new file mode 100644
index 00000000..1d64d283
--- /dev/null
+++ b/docs/API_docs/types/payments_PaymentResult.md
@@ -0,0 +1,23 @@
+---
+title: payments_PaymentResult
+description: constructors and methods of type payments_PaymentResult
+---
+## Type: payments\_PaymentResult
+[Back to types index](index.md)
+
+
+
+### Possible values (constructors):
+
+[payments\_paymentResult](../constructors/payments_paymentResult.md)
+
+[payments\_paymentVerficationNeeded](../constructors/payments_paymentVerficationNeeded.md)
+
+
+
+### Methods that return an object of this type (methods):
+
+[$MadelineProto->payments->sendPaymentForm](../methods/payments_sendPaymentForm.md)
+
+
+
diff --git a/docs/API_docs/types/payments_SavedInfo.md b/docs/API_docs/types/payments_SavedInfo.md
new file mode 100644
index 00000000..b9e2375d
--- /dev/null
+++ b/docs/API_docs/types/payments_SavedInfo.md
@@ -0,0 +1,21 @@
+---
+title: payments_SavedInfo
+description: constructors and methods of type payments_SavedInfo
+---
+## Type: payments\_SavedInfo
+[Back to types index](index.md)
+
+
+
+### Possible values (constructors):
+
+[payments\_savedInfo](../constructors/payments_savedInfo.md)
+
+
+
+### Methods that return an object of this type (methods):
+
+[$MadelineProto->payments->getSavedInfo](../methods/payments_getSavedInfo.md)
+
+
+
diff --git a/docs/API_docs/types/payments_ValidatedRequestedInfo.md b/docs/API_docs/types/payments_ValidatedRequestedInfo.md
new file mode 100644
index 00000000..ab48b911
--- /dev/null
+++ b/docs/API_docs/types/payments_ValidatedRequestedInfo.md
@@ -0,0 +1,21 @@
+---
+title: payments_ValidatedRequestedInfo
+description: constructors and methods of type payments_ValidatedRequestedInfo
+---
+## Type: payments\_ValidatedRequestedInfo
+[Back to types index](index.md)
+
+
+
+### Possible values (constructors):
+
+[payments\_validatedRequestedInfo](../constructors/payments_validatedRequestedInfo.md)
+
+
+
+### Methods that return an object of this type (methods):
+
+[$MadelineProto->payments->validateRequestedInfo](../methods/payments_validateRequestedInfo.md)
+
+
+
diff --git a/docs/API_docs/types/phone_PhoneCall.md b/docs/API_docs/types/phone_PhoneCall.md
index 5071067a..976a5961 100644
--- a/docs/API_docs/types/phone_PhoneCall.md
+++ b/docs/API_docs/types/phone_PhoneCall.md
@@ -19,5 +19,7 @@ description: constructors and methods of type phone_PhoneCall
[$MadelineProto->phone->acceptCall](../methods/phone_acceptCall.md)
+[$MadelineProto->phone->confirmCall](../methods/phone_confirmCall.md)
+
diff --git a/docs/API_docs/types/storage_FileType.md b/docs/API_docs/types/storage_FileType.md
index 81b5cfb4..0e84abdf 100644
--- a/docs/API_docs/types/storage_FileType.md
+++ b/docs/API_docs/types/storage_FileType.md
@@ -11,6 +11,8 @@ description: constructors and methods of type storage_FileType
[storage\_fileUnknown](../constructors/storage_fileUnknown.md)
+[storage\_filePartial](../constructors/storage_filePartial.md)
+
[storage\_fileJpeg](../constructors/storage_fileJpeg.md)
[storage\_fileGif](../constructors/storage_fileGif.md)
@@ -23,8 +25,6 @@ description: constructors and methods of type storage_FileType
[storage\_fileMov](../constructors/storage_fileMov.md)
-[storage\_filePartial](../constructors/storage_filePartial.md)
-
[storage\_fileMp4](../constructors/storage_fileMp4.md)
[storage\_fileWebp](../constructors/storage_fileWebp.md)
diff --git a/docs/API_docs/types/upload_WebFile.md b/docs/API_docs/types/upload_WebFile.md
new file mode 100644
index 00000000..d2c8a8a4
--- /dev/null
+++ b/docs/API_docs/types/upload_WebFile.md
@@ -0,0 +1,21 @@
+---
+title: upload_WebFile
+description: constructors and methods of type upload_WebFile
+---
+## Type: upload\_WebFile
+[Back to types index](index.md)
+
+
+
+### Possible values (constructors):
+
+[upload\_webFile](../constructors/upload_webFile.md)
+
+
+
+### Methods that return an object of this type (methods):
+
+[$MadelineProto->upload->getWebFile](../methods/upload_getWebFile.md)
+
+
+
diff --git a/docs/index.md b/docs/index.md
index deb94c61..75ce6c3e 100644
--- a/docs/index.md
+++ b/docs/index.md
@@ -20,7 +20,7 @@ Also note that MadelineProto will perform better if python and a big math extens
This project is in beta state.
-The MadelineProto API documentation can be found [here (layer 62)](https://daniil.it/MadelineProto/API_docs/).
+The MadelineProto API documentation can be found [here (layer 65)](https://daniil.it/MadelineProto/API_docs/). VERY IMPORTANT READ THIS.
The TD documentation can be found [here](https://daniil.it/MadelineProto/TD_docs/).
@@ -60,6 +60,9 @@ Features:
* Secret chats
+* PFS
+
+* PFS in secret chats
## Acknowledgements
diff --git a/log b/log
new file mode 100644
index 00000000..c35ee7f5
--- /dev/null
+++ b/log
@@ -0,0 +1,89 @@
+Deserializing MadelineProto from session.madeline...
+MTProto, magnaluna: Resetting session id and seq_no in DC 2...
+MTProto, magnaluna: Resetting session id and seq_no in DC 1...
+MTProto, magnaluna: Resetting session id and seq_no in DC 3...
+MTProto, magnaluna: Resetting session id and seq_no in DC 4...
+MTProto, magnaluna: Resetting session id and seq_no in DC 5...
+MTProto, magnaluna: Serialization is out of date, reconstructing object!
+Exception, magnaluna: file_get_contents(http://ipv6.test-ipv6.com/): failed to open stream: Network is unreachable in MTProto.php:187
+TL, magnaluna: Loading TL schemes...
+TL, magnaluna: Parsing TL_mtproto_v1.json...
+TL, magnaluna: Parsing TL_telegram_v62.tl...
+TL, magnaluna: Parsing TL_secret.tl...
+TL, magnaluna: Parsing TL_td.tl...
+TL, magnaluna: Parsing TL_botAPI.tl...
+CallHandler, magnaluna: Calling method (try number 1 for help.getNearestDc)...
+ResponseHandler, magnaluna: Received msg_container.
+ResponseHandler, magnaluna: Received new_session_created.
+CallHandler, magnaluna: Calling method (try number 1 for updates.getDifference)...
+ResponseHandler, magnaluna: Received new_session_created.
+SeqNoHandler, magnaluna: SECURITY WARNING: Seqno mismatch (should be 3, is 1, new_session_created)
+ResponseHandler, magnaluna: Received rpc_result.
+SeqNoHandler, magnaluna: SECURITY WARNING: Seqno mismatch (should be 5, is 3, nearestDc)
+ResponseHandler, magnaluna: Received rpc_result.
+SeqNoHandler, magnaluna: SECURITY WARNING: Seqno mismatch (should be 7, is 5, rpc_error)
+Exception, magnaluna: Received request to switch to DC 1 in ResponseHandler.php:327
+CallHandler, magnaluna: An error occurred while calling method updates.getDifference: Received request to switch to DC 1 in ResponseHandler on line 327. Recreating connection and retrying to call method...
+CallHandler, magnaluna: Calling method (try number 2 for updates.getDifference)...
+ResponseHandler, magnaluna: Received msg_container.
+ResponseHandler, magnaluna: Received new_session_created.
+ResponseHandler, magnaluna: Received msgs_ack.
+ResponseHandler, magnaluna: Received rpc_result.
+UpdateHandler, magnaluna: Got updates.difference
+MessageHandler, magnaluna: I do not have the secret chat -1302339158 in the database, skipping message...
+MessageHandler, magnaluna: I do not have the secret chat -1302339158 in the database, skipping message...
+UpdateHandler, magnaluna: Handling an update of type updateEncryptedMessagesRead...
+UpdateHandler, magnaluna: Saving an update of type updateEncryptedMessagesRead...
+ResponseHandler, magnaluna: Received msgs_ack.
+SeqNoHandler, magnaluna: SECURITY WARNING: Seqno mismatch (should be 8, is 2, msgs_ack)
+SeqNoHandler, magnaluna: SECURITY WARNING: Seqno mismatch (should be 8, is 2, msg_container)
+MTProto, magnaluna: We're in NL, current dc is 2, nearest dc is 4.
+MTProto, magnaluna: Getting updates after deserialization...
+CallHandler, magnaluna: Calling method (try number 1 for updates.getDifference)...
+ResponseHandler, magnaluna: Received msg_container.
+ResponseHandler, magnaluna: Received new_session_created.
+ResponseHandler, magnaluna: Received msgs_ack.
+ResponseHandler, magnaluna: Received rpc_result.
+Exception, magnaluna: Received request to switch to DC 1 in ResponseHandler.php:327
+CallHandler, magnaluna: An error occurred while calling method updates.getDifference: Received request to switch to DC 1 in ResponseHandler on line 327. Recreating connection and retrying to call method...
+CallHandler, magnaluna: Calling method (try number 2 for updates.getDifference)...
+ResponseHandler, magnaluna: Received msg_container.
+ResponseHandler, magnaluna: Received rpc_result.
+SeqNoHandler, magnaluna: SECURITY WARNING: Seqno mismatch (should be 5, is 3, updates.difference)
+ResponseHandler, magnaluna: Received msgs_ack.
+SeqNoHandler, magnaluna: SECURITY WARNING: Seqno mismatch (should be 6, is 4, msgs_ack)
+SeqNoHandler, magnaluna: SECURITY WARNING: Seqno mismatch (should be 6, is 4, msg_container)
+ResponseHandler, magnaluna: Received rpc_result.
+SeqNoHandler, magnaluna: SECURITY WARNING: Seqno mismatch (should be 7, is 5, updates.differenceEmpty)
+UpdateHandler, magnaluna: Got updates.differenceEmpty
+Loading .env...
+Loading settings...
+Serializing MadelineProto to session.madeline...
+Wrote 643125 bytes
+Size of MadelineProto instance is 643125 bytes
+AuthKeyHandler, magnaluna: Creating secret chat with 219474624...
+CallHandler, magnaluna: Calling method (try number 1 for messages.getDhConfig)...
+ResponseHandler, magnaluna: Received rpc_result.
+SeqNoHandler, magnaluna: SECURITY WARNING: Seqno mismatch (should be 9, is 7, messages.dhConfig)
+AuthKeyHandler, magnaluna: Executing p/g checks (1/2)...
+AuthKeyHandler, magnaluna: Executing p/g checks (2/2)...
+AuthKeyHandler, magnaluna: Executing g check...
+AuthKeyHandler, magnaluna: Generating a...
+AuthKeyHandler, magnaluna: Generating g_a...
+AuthKeyHandler, magnaluna: Executing g_a check (1/2)...
+AuthKeyHandler, magnaluna: Executing g_a check (2/2)...
+CallHandler, magnaluna: Calling method (try number 1 for messages.requestEncryption)...
+ResponseHandler, magnaluna: Received updateShort.
+SeqNoHandler, magnaluna: SECURITY WARNING: Seqno mismatch (should be 11, is 9, updateShort)
+ResponseHandler, magnaluna: Parsing updates received via the socket...
+UpdateHandler, magnaluna: Handling an update of type updateUserStatus...
+UpdateHandler, magnaluna: Saving an update of type updateUserStatus...
+ResponseHandler, magnaluna: Received rpc_result.
+SeqNoHandler, magnaluna: SECURITY WARNING: Seqno mismatch (should be 13, is 11, rpc_error)
+PHP Fatal error: Uncaught danog\MadelineProto\RPCErrorException: FLOOD_WAIT_169 in /home/pwrtelegram/repos/repos/BruhhBot-Madeline/MadelineProto/src/danog/MadelineProto/MTProtoTools/ResponseHandler.php:354
+Stack trace:
+#0 /home/pwrtelegram/repos/repos/BruhhBot-Madeline/MadelineProto/src/danog/MadelineProto/MTProtoTools/CallHandler.php(93): danog\MadelineProto\MTProto->handle_rpc_error(Array, 1)
+#1 /home/pwrtelegram/repos/repos/BruhhBot-Madeline/MadelineProto/src/danog/MadelineProto/SecretChats/AuthKeyHandler.php(55): danog\MadelineProto\MTProto->method_call('messages.reques...', Array, Array)
+#2 /home/pwrtelegram/repos/repos/BruhhBot-Madeline/MadelineProto/tests/testing.php(74): danog\MadelineProto\MTProto->request_secret_chat(Array)
+#3 {main}
+ thrown in /home/pwrtelegram/repos/repos/BruhhBot-Madeline/MadelineProto/src/danog/MadelineProto/MTProtoTools/ResponseHandler.php on line 354
diff --git a/old_docs/API_docs_v62/README.md b/old_docs/API_docs_v62/README.md
new file mode 100644
index 00000000..4a8dd3c6
--- /dev/null
+++ b/old_docs/API_docs_v62/README.md
@@ -0,0 +1,14 @@
+---
+title: MadelineProto API documentation (layer v62)
+description: MadelineProto API documentation (layer v62)
+---
+# MadelineProto API documentation (layer v62)
+
+[Methods](methods/)
+
+[Constructors](constructors/)
+
+[Types](types/)
+
+
+[Back to main documentation](..)
diff --git a/old_docs/API_docs_v62/constructors/README.md b/old_docs/API_docs_v62/constructors/README.md
new file mode 100644
index 00000000..a7802277
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/README.md
@@ -0,0 +1,1460 @@
+---
+title: Constructors
+description: List of constructors
+---
+# Constructors
+[Back to API documentation index](..)
+
+
+
+***
+
[$accountDaysTTL](../constructors/accountDaysTTL.md) = \['days' => [int](../types/int.md), \];
+
+***
+
[$account\_authorizations](../constructors/account_authorizations.md) = \['authorizations' => \[[Authorization](../types/Authorization.md)\], \];
+
+[$account\_noPassword](../constructors/account_noPassword.md) = \['new_salt' => [bytes](../types/bytes.md), 'email_unconfirmed_pattern' => [string](../types/string.md), \];
+
+[$account\_password](../constructors/account_password.md) = \['current_salt' => [bytes](../types/bytes.md), 'new_salt' => [bytes](../types/bytes.md), 'hint' => [string](../types/string.md), 'has_recovery' => [Bool](../types/Bool.md), 'email_unconfirmed_pattern' => [string](../types/string.md), \];
+
+[$account\_passwordInputSettings](../constructors/account_passwordInputSettings.md) = \['new_salt' => [bytes](../types/bytes.md), 'new_password_hash' => [bytes](../types/bytes.md), 'hint' => [string](../types/string.md), 'email' => [string](../types/string.md), \];
+
+[$account\_passwordSettings](../constructors/account_passwordSettings.md) = \['email' => [string](../types/string.md), \];
+
+[$account\_privacyRules](../constructors/account_privacyRules.md) = \['rules' => \[[PrivacyRule](../types/PrivacyRule.md)\], 'users' => \[[User](../types/User.md)\], \];
+
+***
+
[$auth\_authorization](../constructors/auth_authorization.md) = \['tmp_sessions' => [int](../types/int.md), 'user' => [User](../types/User.md), \];
+
+[$auth\_checkedPhone](../constructors/auth_checkedPhone.md) = \['phone_registered' => [Bool](../types/Bool.md), \];
+
+[$auth\_codeTypeCall](../constructors/auth_codeTypeCall.md) = \[\];
+
+[$auth\_codeTypeFlashCall](../constructors/auth_codeTypeFlashCall.md) = \[\];
+
+[$auth\_codeTypeSms](../constructors/auth_codeTypeSms.md) = \[\];
+
+[$auth\_exportedAuthorization](../constructors/auth_exportedAuthorization.md) = \['id' => [int](../types/int.md), 'bytes' => [bytes](../types/bytes.md), \];
+
+[$auth\_passwordRecovery](../constructors/auth_passwordRecovery.md) = \['email_pattern' => [string](../types/string.md), \];
+
+[$auth\_sentCode](../constructors/auth_sentCode.md) = \['phone_registered' => [Bool](../types/Bool.md), 'type' => [auth\_SentCodeType](../types/auth_SentCodeType.md), 'phone_code_hash' => [string](../types/string.md), 'next_type' => [auth\_CodeType](../types/auth_CodeType.md), 'timeout' => [int](../types/int.md), \];
+
+[$auth\_sentCodeTypeApp](../constructors/auth_sentCodeTypeApp.md) = \['length' => [int](../types/int.md), \];
+
+[$auth\_sentCodeTypeCall](../constructors/auth_sentCodeTypeCall.md) = \['length' => [int](../types/int.md), \];
+
+[$auth\_sentCodeTypeFlashCall](../constructors/auth_sentCodeTypeFlashCall.md) = \['pattern' => [string](../types/string.md), \];
+
+[$auth\_sentCodeTypeSms](../constructors/auth_sentCodeTypeSms.md) = \['length' => [int](../types/int.md), \];
+
+***
+
[$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), \];
+
+***
+
[$boolFalse](../constructors/boolFalse.md) = \[\];
+
+***
+
[$boolTrue](../constructors/boolTrue.md) = \[\];
+
+***
+
[$botCommand](../constructors/botCommand.md) = \['command' => [string](../types/string.md), 'description' => [string](../types/string.md), \];
+
+***
+
[$botInfo](../constructors/botInfo.md) = \['user_id' => [int](../types/int.md), 'description' => [string](../types/string.md), 'commands' => \[[BotCommand](../types/BotCommand.md)\], \];
+
+***
+
[$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), \];
+
+***
+
[$botInlineMessageMediaAuto](../constructors/botInlineMessageMediaAuto.md) = \['caption' => [string](../types/string.md), 'reply_markup' => [ReplyMarkup](../types/ReplyMarkup.md), \];
+
+***
+
[$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), \];
+
+***
+
[$botInlineMessageMediaGeo](../constructors/botInlineMessageMediaGeo.md) = \['geo' => [GeoPoint](../types/GeoPoint.md), 'reply_markup' => [ReplyMarkup](../types/ReplyMarkup.md), \];
+
+***
+
[$botInlineMessageMediaVenue](../constructors/botInlineMessageMediaVenue.md) = \['geo' => [GeoPoint](../types/GeoPoint.md), 'title' => [string](../types/string.md), 'address' => [string](../types/string.md), 'provider' => [string](../types/string.md), 'venue_id' => [string](../types/string.md), 'reply_markup' => [ReplyMarkup](../types/ReplyMarkup.md), \];
+
+***
+
[$botInlineMessageText](../constructors/botInlineMessageText.md) = \['no_webpage' => [Bool](../types/Bool.md), 'message' => [string](../types/string.md), 'entities' => \[[MessageEntity](../types/MessageEntity.md)\], 'reply_markup' => [ReplyMarkup](../types/ReplyMarkup.md), \];
+
+***
+
[$botInlineResult](../constructors/botInlineResult.md) = \['id' => [string](../types/string.md), 'type' => [string](../types/string.md), 'title' => [string](../types/string.md), 'description' => [string](../types/string.md), 'url' => [string](../types/string.md), 'thumb_url' => [string](../types/string.md), 'content_url' => [string](../types/string.md), 'content_type' => [string](../types/string.md), 'w' => [int](../types/int.md), 'h' => [int](../types/int.md), 'duration' => [int](../types/int.md), 'send_message' => [BotInlineMessage](../types/BotInlineMessage.md), \];
+
+***
+
[$channel](../constructors/channel.md) = \['creator' => [Bool](../types/Bool.md), 'kicked' => [Bool](../types/Bool.md), 'left' => [Bool](../types/Bool.md), 'editor' => [Bool](../types/Bool.md), 'moderator' => [Bool](../types/Bool.md), 'broadcast' => [Bool](../types/Bool.md), 'verified' => [Bool](../types/Bool.md), 'megagroup' => [Bool](../types/Bool.md), 'restricted' => [Bool](../types/Bool.md), 'democracy' => [Bool](../types/Bool.md), 'signatures' => [Bool](../types/Bool.md), 'min' => [Bool](../types/Bool.md), 'id' => [int](../types/int.md), 'access_hash' => [long](../types/long.md), 'title' => [string](../types/string.md), 'username' => [string](../types/string.md), 'photo' => [ChatPhoto](../types/ChatPhoto.md), 'date' => [int](../types/int.md), 'version' => [int](../types/int.md), 'restriction_reason' => [string](../types/string.md), \];
+
+***
+
[$channelForbidden](../constructors/channelForbidden.md) = \['broadcast' => [Bool](../types/Bool.md), 'megagroup' => [Bool](../types/Bool.md), 'id' => [int](../types/int.md), 'access_hash' => [long](../types/long.md), 'title' => [string](../types/string.md), \];
+
+***
+
[$channelFull](../constructors/channelFull.md) = \['can_view_participants' => [Bool](../types/Bool.md), 'can_set_username' => [Bool](../types/Bool.md), 'id' => [int](../types/int.md), 'about' => [string](../types/string.md), 'participants_count' => [int](../types/int.md), 'admins_count' => [int](../types/int.md), 'kicked_count' => [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), 'chat_photo' => [Photo](../types/Photo.md), 'notify_settings' => [PeerNotifySettings](../types/PeerNotifySettings.md), 'exported_invite' => [ExportedChatInvite](../types/ExportedChatInvite.md), 'bot_info' => \[[BotInfo](../types/BotInfo.md)\], 'migrated_from_chat_id' => [int](../types/int.md), 'migrated_from_max_id' => [int](../types/int.md), 'pinned_msg_id' => [int](../types/int.md), \];
+
+***
+
[$channelMessagesFilter](../constructors/channelMessagesFilter.md) = \['exclude_new_messages' => [Bool](../types/Bool.md), 'ranges' => \[[MessageRange](../types/MessageRange.md)\], \];
+
+***
+
[$channelMessagesFilterEmpty](../constructors/channelMessagesFilterEmpty.md) = \[\];
+
+***
+
[$channelParticipant](../constructors/channelParticipant.md) = \['user_id' => [int](../types/int.md), 'date' => [int](../types/int.md), \];
+
+***
+
[$channelParticipantCreator](../constructors/channelParticipantCreator.md) = \['user_id' => [int](../types/int.md), \];
+
+***
+
[$channelParticipantEditor](../constructors/channelParticipantEditor.md) = \['user_id' => [int](../types/int.md), 'inviter_id' => [int](../types/int.md), 'date' => [int](../types/int.md), \];
+
+***
+
[$channelParticipantKicked](../constructors/channelParticipantKicked.md) = \['user_id' => [int](../types/int.md), 'kicked_by' => [int](../types/int.md), 'date' => [int](../types/int.md), \];
+
+***
+
[$channelParticipantModerator](../constructors/channelParticipantModerator.md) = \['user_id' => [int](../types/int.md), 'inviter_id' => [int](../types/int.md), 'date' => [int](../types/int.md), \];
+
+***
+
[$channelParticipantSelf](../constructors/channelParticipantSelf.md) = \['user_id' => [int](../types/int.md), 'inviter_id' => [int](../types/int.md), 'date' => [int](../types/int.md), \];
+
+***
+
[$channelParticipantsAdmins](../constructors/channelParticipantsAdmins.md) = \[\];
+
+***
+
[$channelParticipantsBots](../constructors/channelParticipantsBots.md) = \[\];
+
+***
+
[$channelParticipantsKicked](../constructors/channelParticipantsKicked.md) = \[\];
+
+***
+
[$channelParticipantsRecent](../constructors/channelParticipantsRecent.md) = \[\];
+
+***
+
[$channelRoleEditor](../constructors/channelRoleEditor.md) = \[\];
+
+***
+
[$channelRoleEmpty](../constructors/channelRoleEmpty.md) = \[\];
+
+***
+
[$channelRoleModerator](../constructors/channelRoleModerator.md) = \[\];
+
+***
+
[$channels\_channelParticipant](../constructors/channels_channelParticipant.md) = \['participant' => [ChannelParticipant](../types/ChannelParticipant.md), 'users' => \[[User](../types/User.md)\], \];
+
+[$channels\_channelParticipants](../constructors/channels_channelParticipants.md) = \['count' => [int](../types/int.md), 'participants' => \[[ChannelParticipant](../types/ChannelParticipant.md)\], 'users' => \[[User](../types/User.md)\], \];
+
+***
+
[$chat](../constructors/chat.md) = \['creator' => [Bool](../types/Bool.md), 'kicked' => [Bool](../types/Bool.md), 'left' => [Bool](../types/Bool.md), 'admins_enabled' => [Bool](../types/Bool.md), 'admin' => [Bool](../types/Bool.md), 'deactivated' => [Bool](../types/Bool.md), 'id' => [int](../types/int.md), 'title' => [string](../types/string.md), 'photo' => [ChatPhoto](../types/ChatPhoto.md), 'participants_count' => [int](../types/int.md), 'date' => [int](../types/int.md), 'version' => [int](../types/int.md), 'migrated_to' => [InputChannel](../types/InputChannel.md), \];
+
+***
+
[$chatEmpty](../constructors/chatEmpty.md) = \['id' => [int](../types/int.md), \];
+
+***
+
[$chatForbidden](../constructors/chatForbidden.md) = \['id' => [int](../types/int.md), 'title' => [string](../types/string.md), \];
+
+***
+
[$chatFull](../constructors/chatFull.md) = \['id' => [int](../types/int.md), 'participants' => [ChatParticipants](../types/ChatParticipants.md), 'chat_photo' => [Photo](../types/Photo.md), 'notify_settings' => [PeerNotifySettings](../types/PeerNotifySettings.md), 'exported_invite' => [ExportedChatInvite](../types/ExportedChatInvite.md), 'bot_info' => \[[BotInfo](../types/BotInfo.md)\], \];
+
+***
+
[$chatInvite](../constructors/chatInvite.md) = \['channel' => [Bool](../types/Bool.md), 'broadcast' => [Bool](../types/Bool.md), 'public' => [Bool](../types/Bool.md), 'megagroup' => [Bool](../types/Bool.md), 'title' => [string](../types/string.md), 'photo' => [ChatPhoto](../types/ChatPhoto.md), 'participants_count' => [int](../types/int.md), 'participants' => \[[User](../types/User.md)\], \];
+
+***
+
[$chatInviteAlready](../constructors/chatInviteAlready.md) = \['chat' => [Chat](../types/Chat.md), \];
+
+***
+
[$chatInviteEmpty](../constructors/chatInviteEmpty.md) = \[\];
+
+***
+
[$chatInviteExported](../constructors/chatInviteExported.md) = \['link' => [string](../types/string.md), \];
+
+***
+
[$chatParticipant](../constructors/chatParticipant.md) = \['user_id' => [int](../types/int.md), 'inviter_id' => [int](../types/int.md), 'date' => [int](../types/int.md), \];
+
+***
+
[$chatParticipantAdmin](../constructors/chatParticipantAdmin.md) = \['user_id' => [int](../types/int.md), 'inviter_id' => [int](../types/int.md), 'date' => [int](../types/int.md), \];
+
+***
+
[$chatParticipantCreator](../constructors/chatParticipantCreator.md) = \['user_id' => [int](../types/int.md), \];
+
+***
+
[$chatParticipants](../constructors/chatParticipants.md) = \['chat_id' => [int](../types/int.md), 'participants' => \[[ChatParticipant](../types/ChatParticipant.md)\], 'version' => [int](../types/int.md), \];
+
+***
+
[$chatParticipantsForbidden](../constructors/chatParticipantsForbidden.md) = \['chat_id' => [int](../types/int.md), 'self_participant' => [ChatParticipant](../types/ChatParticipant.md), \];
+
+***
+
[$chatPhoto](../constructors/chatPhoto.md) = \['photo_small' => [FileLocation](../types/FileLocation.md), 'photo_big' => [FileLocation](../types/FileLocation.md), \];
+
+***
+
[$chatPhotoEmpty](../constructors/chatPhotoEmpty.md) = \[\];
+
+***
+
[$config](../constructors/config.md) = \['phonecalls_enabled' => [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), '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), 'disabled_features' => \[[DisabledFeature](../types/DisabledFeature.md)\], \];
+
+***
+
[$contact](../constructors/contact.md) = \['user_id' => [int](../types/int.md), 'mutual' => [Bool](../types/Bool.md), \];
+
+***
+
[$contactBlocked](../constructors/contactBlocked.md) = \['user_id' => [int](../types/int.md), 'date' => [int](../types/int.md), \];
+
+***
+
[$contactLinkContact](../constructors/contactLinkContact.md) = \[\];
+
+***
+
[$contactLinkHasPhone](../constructors/contactLinkHasPhone.md) = \[\];
+
+***
+
[$contactLinkNone](../constructors/contactLinkNone.md) = \[\];
+
+***
+
[$contactLinkUnknown](../constructors/contactLinkUnknown.md) = \[\];
+
+***
+
[$contactStatus](../constructors/contactStatus.md) = \['user_id' => [int](../types/int.md), 'status' => [UserStatus](../types/UserStatus.md), \];
+
+***
+
[$contacts\_blocked](../constructors/contacts_blocked.md) = \['blocked' => \[[ContactBlocked](../types/ContactBlocked.md)\], 'users' => \[[User](../types/User.md)\], \];
+
+[$contacts\_blockedSlice](../constructors/contacts_blockedSlice.md) = \['count' => [int](../types/int.md), 'blocked' => \[[ContactBlocked](../types/ContactBlocked.md)\], 'users' => \[[User](../types/User.md)\], \];
+
+[$contacts\_contacts](../constructors/contacts_contacts.md) = \['contacts' => \[[Contact](../types/Contact.md)\], 'users' => \[[User](../types/User.md)\], \];
+
+[$contacts\_contactsNotModified](../constructors/contacts_contactsNotModified.md) = \[\];
+
+[$contacts\_found](../constructors/contacts_found.md) = \['results' => \[[Peer](../types/Peer.md)\], 'chats' => \[[Chat](../types/Chat.md)\], 'users' => \[[User](../types/User.md)\], \];
+
+[$contacts\_importedContacts](../constructors/contacts_importedContacts.md) = \['imported' => \[[ImportedContact](../types/ImportedContact.md)\], 'retry_contacts' => \[[long](../types/long.md)\], 'users' => \[[User](../types/User.md)\], \];
+
+[$contacts\_link](../constructors/contacts_link.md) = \['my_link' => [ContactLink](../types/ContactLink.md), 'foreign_link' => [ContactLink](../types/ContactLink.md), 'user' => [User](../types/User.md), \];
+
+[$contacts\_resolvedPeer](../constructors/contacts_resolvedPeer.md) = \['peer' => [Peer](../types/Peer.md), 'chats' => \[[Chat](../types/Chat.md)\], 'users' => \[[User](../types/User.md)\], \];
+
+[$contacts\_topPeers](../constructors/contacts_topPeers.md) = \['categories' => \[[TopPeerCategoryPeers](../types/TopPeerCategoryPeers.md)\], 'chats' => \[[Chat](../types/Chat.md)\], 'users' => \[[User](../types/User.md)\], \];
+
+[$contacts\_topPeersNotModified](../constructors/contacts_topPeersNotModified.md) = \[\];
+
+***
+
[$dcOption](../constructors/dcOption.md) = \['ipv6' => [Bool](../types/Bool.md), 'media_only' => [Bool](../types/Bool.md), 'tcpo_only' => [Bool](../types/Bool.md), 'id' => [int](../types/int.md), 'ip_address' => [string](../types/string.md), 'port' => [int](../types/int.md), \];
+
+***
+
[$destroy\_auth\_key\_fail](../constructors/destroy_auth_key_fail.md) = \[\];
+
+[$destroy\_auth\_key\_none](../constructors/destroy_auth_key_none.md) = \[\];
+
+[$destroy\_auth\_key\_ok](../constructors/destroy_auth_key_ok.md) = \[\];
+
+***
+
[$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), 'notify_settings' => [PeerNotifySettings](../types/PeerNotifySettings.md), 'pts' => [int](../types/int.md), 'draft' => [DraftMessage](../types/DraftMessage.md), \];
+
+***
+
[$disabledFeature](../constructors/disabledFeature.md) = \['feature' => [string](../types/string.md), 'description' => [string](../types/string.md), \];
+
+***
+
[$document](../constructors/document.md) = \['id' => [long](../types/long.md), 'access_hash' => [long](../types/long.md), 'date' => [int](../types/int.md), 'mime_type' => [string](../types/string.md), 'size' => [int](../types/int.md), 'thumb' => [PhotoSize](../types/PhotoSize.md), 'dc_id' => [int](../types/int.md), 'version' => [int](../types/int.md), 'attributes' => \[[DocumentAttribute](../types/DocumentAttribute.md)\], \];
+
+***
+
[$documentAttributeAnimated](../constructors/documentAttributeAnimated.md) = \[\];
+
+***
+
[$documentAttributeAudio](../constructors/documentAttributeAudio.md) = \['voice' => [Bool](../types/Bool.md), 'duration' => [int](../types/int.md), 'title' => [string](../types/string.md), 'performer' => [string](../types/string.md), 'waveform' => [bytes](../types/bytes.md), \];
+
+***
+
[$documentAttributeFilename](../constructors/documentAttributeFilename.md) = \['file_name' => [string](../types/string.md), \];
+
+***
+
[$documentAttributeHasStickers](../constructors/documentAttributeHasStickers.md) = \[\];
+
+***
+
[$documentAttributeImageSize](../constructors/documentAttributeImageSize.md) = \['w' => [int](../types/int.md), 'h' => [int](../types/int.md), \];
+
+***
+
[$documentAttributeSticker](../constructors/documentAttributeSticker.md) = \['mask' => [Bool](../types/Bool.md), 'alt' => [string](../types/string.md), 'stickerset' => [InputStickerSet](../types/InputStickerSet.md), 'mask_coords' => [MaskCoords](../types/MaskCoords.md), \];
+
+***
+
[$documentAttributeVideo](../constructors/documentAttributeVideo.md) = \['duration' => [int](../types/int.md), 'w' => [int](../types/int.md), 'h' => [int](../types/int.md), \];
+
+***
+
[$documentEmpty](../constructors/documentEmpty.md) = \['id' => [long](../types/long.md), \];
+
+***
+
[$draftMessage](../constructors/draftMessage.md) = \['no_webpage' => [Bool](../types/Bool.md), 'reply_to_msg_id' => [int](../types/int.md), 'message' => [string](../types/string.md), 'entities' => \[[MessageEntity](../types/MessageEntity.md)\], 'date' => [int](../types/int.md), \];
+
+***
+
[$draftMessageEmpty](../constructors/draftMessageEmpty.md) = \[\];
+
+***
+
[$encryptedChat](../constructors/encryptedChat.md) = \['id' => [int](../types/int.md), 'access_hash' => [long](../types/long.md), 'date' => [int](../types/int.md), 'admin_id' => [int](../types/int.md), 'participant_id' => [int](../types/int.md), 'g_a_or_b' => [bytes](../types/bytes.md), 'key_fingerprint' => [long](../types/long.md), \];
+
+***
+
[$encryptedChatDiscarded](../constructors/encryptedChatDiscarded.md) = \['id' => [int](../types/int.md), \];
+
+***
+
[$encryptedChatEmpty](../constructors/encryptedChatEmpty.md) = \['id' => [int](../types/int.md), \];
+
+***
+
[$encryptedChatRequested](../constructors/encryptedChatRequested.md) = \['id' => [int](../types/int.md), 'access_hash' => [long](../types/long.md), 'date' => [int](../types/int.md), 'admin_id' => [int](../types/int.md), 'participant_id' => [int](../types/int.md), 'g_a' => [bytes](../types/bytes.md), \];
+
+***
+
[$encryptedChatWaiting](../constructors/encryptedChatWaiting.md) = \['id' => [int](../types/int.md), 'access_hash' => [long](../types/long.md), 'date' => [int](../types/int.md), 'admin_id' => [int](../types/int.md), 'participant_id' => [int](../types/int.md), \];
+
+***
+
[$encryptedFile](../constructors/encryptedFile.md) = \['id' => [long](../types/long.md), 'access_hash' => [long](../types/long.md), 'size' => [int](../types/int.md), 'dc_id' => [int](../types/int.md), 'key_fingerprint' => [int](../types/int.md), \];
+
+***
+
[$encryptedFileEmpty](../constructors/encryptedFileEmpty.md) = \[\];
+
+***
+
[$encryptedMessage](../constructors/encryptedMessage.md) = \['chat_id' => [int](../types/int.md), 'date' => [int](../types/int.md), 'decrypted_message' => [DecryptedMessage](../types/DecryptedMessage.md), 'file' => [EncryptedFile](../types/EncryptedFile.md), \];
+
+***
+
[$encryptedMessageService](../constructors/encryptedMessageService.md) = \['chat_id' => [int](../types/int.md), 'date' => [int](../types/int.md), 'decrypted_message' => [DecryptedMessage](../types/DecryptedMessage.md), \];
+
+***
+
[$error](../constructors/error.md) = \['code' => [int](../types/int.md), 'text' => [string](../types/string.md), \];
+
+***
+
[$exportedMessageLink](../constructors/exportedMessageLink.md) = \['link' => [string](../types/string.md), \];
+
+***
+
[$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), \];
+
+***
+
[$fileLocationUnavailable](../constructors/fileLocationUnavailable.md) = \['volume_id' => [long](../types/long.md), 'local_id' => [int](../types/int.md), 'secret' => [long](../types/long.md), \];
+
+***
+
[$foundGif](../constructors/foundGif.md) = \['url' => [string](../types/string.md), 'thumb_url' => [string](../types/string.md), 'content_url' => [string](../types/string.md), 'content_type' => [string](../types/string.md), 'w' => [int](../types/int.md), 'h' => [int](../types/int.md), \];
+
+***
+
[$foundGifCached](../constructors/foundGifCached.md) = \['url' => [string](../types/string.md), 'photo' => [Photo](../types/Photo.md), 'document' => [Document](../types/Document.md), \];
+
+***
+
[$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), \];
+
+***
+
[$geoPoint](../constructors/geoPoint.md) = \['long' => [double](../types/double.md), 'lat' => [double](../types/double.md), \];
+
+***
+
[$geoPointEmpty](../constructors/geoPointEmpty.md) = \[\];
+
+***
+
[$help\_appChangelog](../constructors/help_appChangelog.md) = \['message' => [string](../types/string.md), 'media' => [MessageMedia](../types/MessageMedia.md), 'entities' => \[[MessageEntity](../types/MessageEntity.md)\], \];
+
+[$help\_appChangelogEmpty](../constructors/help_appChangelogEmpty.md) = \[\];
+
+[$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), \];
+
+[$help\_inviteText](../constructors/help_inviteText.md) = \['message' => [string](../types/string.md), \];
+
+[$help\_noAppUpdate](../constructors/help_noAppUpdate.md) = \[\];
+
+[$help\_support](../constructors/help_support.md) = \['phone_number' => [string](../types/string.md), 'user' => [User](../types/User.md), \];
+
+[$help\_termsOfService](../constructors/help_termsOfService.md) = \['text' => [string](../types/string.md), \];
+
+***
+
[$highScore](../constructors/highScore.md) = \['pos' => [int](../types/int.md), 'user_id' => [int](../types/int.md), 'score' => [int](../types/int.md), \];
+
+***
+
[$importedContact](../constructors/importedContact.md) = \['user_id' => [int](../types/int.md), 'client_id' => [long](../types/long.md), \];
+
+***
+
[$inlineBotSwitchPM](../constructors/inlineBotSwitchPM.md) = \['text' => [string](../types/string.md), 'start_param' => [string](../types/string.md), \];
+
+***
+
[$inputAppEvent](../constructors/inputAppEvent.md) = \['time' => [double](../types/double.md), 'type' => [string](../types/string.md), 'peer' => [long](../types/long.md), 'data' => [string](../types/string.md), \];
+
+***
+
[$inputBotInlineMessageGame](../constructors/inputBotInlineMessageGame.md) = \['reply_markup' => [ReplyMarkup](../types/ReplyMarkup.md), \];
+
+***
+
[$inputBotInlineMessageID](../constructors/inputBotInlineMessageID.md) = \['dc_id' => [int](../types/int.md), 'id' => [long](../types/long.md), 'access_hash' => [long](../types/long.md), \];
+
+***
+
[$inputBotInlineMessageMediaAuto](../constructors/inputBotInlineMessageMediaAuto.md) = \['caption' => [string](../types/string.md), 'reply_markup' => [ReplyMarkup](../types/ReplyMarkup.md), \];
+
+***
+
[$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), \];
+
+***
+
[$inputBotInlineMessageMediaGeo](../constructors/inputBotInlineMessageMediaGeo.md) = \['geo_point' => [InputGeoPoint](../types/InputGeoPoint.md), 'reply_markup' => [ReplyMarkup](../types/ReplyMarkup.md), \];
+
+***
+
[$inputBotInlineMessageMediaVenue](../constructors/inputBotInlineMessageMediaVenue.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), 'reply_markup' => [ReplyMarkup](../types/ReplyMarkup.md), \];
+
+***
+
[$inputBotInlineMessageText](../constructors/inputBotInlineMessageText.md) = \['no_webpage' => [Bool](../types/Bool.md), 'message' => [string](../types/string.md), 'entities' => \[[MessageEntity](../types/MessageEntity.md)\], 'reply_markup' => [ReplyMarkup](../types/ReplyMarkup.md), \];
+
+***
+
[$inputBotInlineResult](../constructors/inputBotInlineResult.md) = \['id' => [string](../types/string.md), 'type' => [string](../types/string.md), 'title' => [string](../types/string.md), 'description' => [string](../types/string.md), 'url' => [string](../types/string.md), 'thumb_url' => [string](../types/string.md), 'content_url' => [string](../types/string.md), 'content_type' => [string](../types/string.md), 'w' => [int](../types/int.md), 'h' => [int](../types/int.md), 'duration' => [int](../types/int.md), 'send_message' => [InputBotInlineMessage](../types/InputBotInlineMessage.md), \];
+
+***
+
[$inputBotInlineResultDocument](../constructors/inputBotInlineResultDocument.md) = \['id' => [string](../types/string.md), 'type' => [string](../types/string.md), 'title' => [string](../types/string.md), 'description' => [string](../types/string.md), 'document' => [InputDocument](../types/InputDocument.md), 'send_message' => [InputBotInlineMessage](../types/InputBotInlineMessage.md), \];
+
+***
+
[$inputBotInlineResultGame](../constructors/inputBotInlineResultGame.md) = \['id' => [string](../types/string.md), 'short_name' => [string](../types/string.md), 'send_message' => [InputBotInlineMessage](../types/InputBotInlineMessage.md), \];
+
+***
+
[$inputBotInlineResultPhoto](../constructors/inputBotInlineResultPhoto.md) = \['id' => [string](../types/string.md), 'type' => [string](../types/string.md), 'photo' => [InputPhoto](../types/InputPhoto.md), 'send_message' => [InputBotInlineMessage](../types/InputBotInlineMessage.md), \];
+
+***
+
[$inputChannel](../constructors/inputChannel.md) = \['channel_id' => [int](../types/int.md), 'access_hash' => [long](../types/long.md), \];
+
+***
+
[$inputChannelEmpty](../constructors/inputChannelEmpty.md) = \[\];
+
+***
+
[$inputChatPhoto](../constructors/inputChatPhoto.md) = \['id' => [InputPhoto](../types/InputPhoto.md), \];
+
+***
+
[$inputChatPhotoEmpty](../constructors/inputChatPhotoEmpty.md) = \[\];
+
+***
+
[$inputChatUploadedPhoto](../constructors/inputChatUploadedPhoto.md) = \['file' => [InputFile](../types/InputFile.md), \];
+
+***
+
[$inputDocument](../constructors/inputDocument.md) = \['id' => [long](../types/long.md), 'access_hash' => [long](../types/long.md), \];
+
+***
+
[$inputDocumentEmpty](../constructors/inputDocumentEmpty.md) = \[\];
+
+***
+
[$inputDocumentFileLocation](../constructors/inputDocumentFileLocation.md) = \['id' => [long](../types/long.md), 'access_hash' => [long](../types/long.md), 'version' => [int](../types/int.md), \];
+
+***
+
[$inputEncryptedChat](../constructors/inputEncryptedChat.md) = \['chat_id' => [int](../types/int.md), 'access_hash' => [long](../types/long.md), \];
+
+***
+
[$inputEncryptedFile](../constructors/inputEncryptedFile.md) = \['id' => [long](../types/long.md), 'access_hash' => [long](../types/long.md), \];
+
+***
+
[$inputEncryptedFileBigUploaded](../constructors/inputEncryptedFileBigUploaded.md) = \['id' => [long](../types/long.md), 'parts' => [int](../types/int.md), 'key_fingerprint' => [int](../types/int.md), \];
+
+***
+
[$inputEncryptedFileEmpty](../constructors/inputEncryptedFileEmpty.md) = \[\];
+
+***
+
[$inputEncryptedFileLocation](../constructors/inputEncryptedFileLocation.md) = \['id' => [long](../types/long.md), 'access_hash' => [long](../types/long.md), \];
+
+***
+
[$inputEncryptedFileUploaded](../constructors/inputEncryptedFileUploaded.md) = \['id' => [long](../types/long.md), 'parts' => [int](../types/int.md), 'md5_checksum' => [string](../types/string.md), 'key_fingerprint' => [int](../types/int.md), \];
+
+***
+
[$inputFile](../constructors/inputFile.md) = \['id' => [long](../types/long.md), 'parts' => [int](../types/int.md), 'name' => [string](../types/string.md), 'md5_checksum' => [string](../types/string.md), \];
+
+***
+
[$inputFileBig](../constructors/inputFileBig.md) = \['id' => [long](../types/long.md), 'parts' => [int](../types/int.md), 'name' => [string](../types/string.md), \];
+
+***
+
[$inputFileLocation](../constructors/inputFileLocation.md) = \['volume_id' => [long](../types/long.md), 'local_id' => [int](../types/int.md), 'secret' => [long](../types/long.md), \];
+
+***
+
[$inputGameID](../constructors/inputGameID.md) = \['id' => [long](../types/long.md), 'access_hash' => [long](../types/long.md), \];
+
+***
+
[$inputGameShortName](../constructors/inputGameShortName.md) = \['bot_id' => [InputUser](../types/InputUser.md), 'short_name' => [string](../types/string.md), \];
+
+***
+
[$inputGeoPoint](../constructors/inputGeoPoint.md) = \['lat' => [double](../types/double.md), 'long' => [double](../types/double.md), \];
+
+***
+
[$inputGeoPointEmpty](../constructors/inputGeoPointEmpty.md) = \[\];
+
+***
+
[$inputMediaContact](../constructors/inputMediaContact.md) = \['phone_number' => [string](../types/string.md), 'first_name' => [string](../types/string.md), 'last_name' => [string](../types/string.md), \];
+
+***
+
[$inputMediaDocument](../constructors/inputMediaDocument.md) = \['id' => [InputDocument](../types/InputDocument.md), 'caption' => [string](../types/string.md), \];
+
+***
+
[$inputMediaDocumentExternal](../constructors/inputMediaDocumentExternal.md) = \['url' => [string](../types/string.md), 'caption' => [string](../types/string.md), \];
+
+***
+
[$inputMediaEmpty](../constructors/inputMediaEmpty.md) = \[\];
+
+***
+
[$inputMediaGame](../constructors/inputMediaGame.md) = \['id' => [InputGame](../types/InputGame.md), \];
+
+***
+
[$inputMediaGeoPoint](../constructors/inputMediaGeoPoint.md) = \['geo_point' => [InputGeoPoint](../types/InputGeoPoint.md), \];
+
+***
+
[$inputMediaGifExternal](../constructors/inputMediaGifExternal.md) = \['url' => [string](../types/string.md), 'q' => [string](../types/string.md), \];
+
+***
+
[$inputMediaPhoto](../constructors/inputMediaPhoto.md) = \['id' => [InputPhoto](../types/InputPhoto.md), 'caption' => [string](../types/string.md), \];
+
+***
+
[$inputMediaPhotoExternal](../constructors/inputMediaPhotoExternal.md) = \['url' => [string](../types/string.md), 'caption' => [string](../types/string.md), \];
+
+***
+
[$inputMediaUploadedDocument](../constructors/inputMediaUploadedDocument.md) = \['file' => [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)\], \];
+
+***
+
[$inputMediaUploadedPhoto](../constructors/inputMediaUploadedPhoto.md) = \['file' => [InputFile](../types/InputFile.md), 'caption' => [string](../types/string.md), 'stickers' => \[[InputDocument](../types/InputDocument.md)\], \];
+
+***
+
[$inputMediaUploadedThumbDocument](../constructors/inputMediaUploadedThumbDocument.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)\], \];
+
+***
+
[$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), \];
+
+***
+
[$inputMessageEntityMentionName](../constructors/inputMessageEntityMentionName.md) = \['offset' => [int](../types/int.md), 'length' => [int](../types/int.md), 'user_id' => [InputUser](../types/InputUser.md), \];
+
+***
+
[$inputMessagesFilterChatPhotos](../constructors/inputMessagesFilterChatPhotos.md) = \[\];
+
+***
+
[$inputMessagesFilterDocument](../constructors/inputMessagesFilterDocument.md) = \[\];
+
+***
+
[$inputMessagesFilterEmpty](../constructors/inputMessagesFilterEmpty.md) = \[\];
+
+***
+
[$inputMessagesFilterGif](../constructors/inputMessagesFilterGif.md) = \[\];
+
+***
+
[$inputMessagesFilterMusic](../constructors/inputMessagesFilterMusic.md) = \[\];
+
+***
+
[$inputMessagesFilterPhoneCalls](../constructors/inputMessagesFilterPhoneCalls.md) = \['missed' => [Bool](../types/Bool.md), \];
+
+***
+
[$inputMessagesFilterPhotoVideo](../constructors/inputMessagesFilterPhotoVideo.md) = \[\];
+
+***
+
[$inputMessagesFilterPhotoVideoDocuments](../constructors/inputMessagesFilterPhotoVideoDocuments.md) = \[\];
+
+***
+
[$inputMessagesFilterPhotos](../constructors/inputMessagesFilterPhotos.md) = \[\];
+
+***
+
[$inputMessagesFilterUrl](../constructors/inputMessagesFilterUrl.md) = \[\];
+
+***
+
[$inputMessagesFilterVideo](../constructors/inputMessagesFilterVideo.md) = \[\];
+
+***
+
[$inputMessagesFilterVoice](../constructors/inputMessagesFilterVoice.md) = \[\];
+
+***
+
[$inputNotifyAll](../constructors/inputNotifyAll.md) = \[\];
+
+***
+
[$inputNotifyChats](../constructors/inputNotifyChats.md) = \[\];
+
+***
+
[$inputNotifyPeer](../constructors/inputNotifyPeer.md) = \['peer' => [InputPeer](../types/InputPeer.md), \];
+
+***
+
[$inputNotifyUsers](../constructors/inputNotifyUsers.md) = \[\];
+
+***
+
[$inputPeerChannel](../constructors/inputPeerChannel.md) = \['channel_id' => [int](../types/int.md), 'access_hash' => [long](../types/long.md), \];
+
+***
+
[$inputPeerChat](../constructors/inputPeerChat.md) = \['chat_id' => [int](../types/int.md), \];
+
+***
+
[$inputPeerEmpty](../constructors/inputPeerEmpty.md) = \[\];
+
+***
+
[$inputPeerNotifyEventsAll](../constructors/inputPeerNotifyEventsAll.md) = \[\];
+
+***
+
[$inputPeerNotifyEventsEmpty](../constructors/inputPeerNotifyEventsEmpty.md) = \[\];
+
+***
+
[$inputPeerNotifySettings](../constructors/inputPeerNotifySettings.md) = \['show_previews' => [Bool](../types/Bool.md), 'silent' => [Bool](../types/Bool.md), 'mute_until' => [int](../types/int.md), 'sound' => [string](../types/string.md), \];
+
+***
+
[$inputPeerSelf](../constructors/inputPeerSelf.md) = \[\];
+
+***
+
[$inputPeerUser](../constructors/inputPeerUser.md) = \['user_id' => [int](../types/int.md), 'access_hash' => [long](../types/long.md), \];
+
+***
+
[$inputPhoneCall](../constructors/inputPhoneCall.md) = \['id' => [long](../types/long.md), 'access_hash' => [long](../types/long.md), \];
+
+***
+
[$inputPhoneContact](../constructors/inputPhoneContact.md) = \['client_id' => [long](../types/long.md), 'phone' => [string](../types/string.md), 'first_name' => [string](../types/string.md), 'last_name' => [string](../types/string.md), \];
+
+***
+
[$inputPhoto](../constructors/inputPhoto.md) = \['id' => [long](../types/long.md), 'access_hash' => [long](../types/long.md), \];
+
+***
+
[$inputPhotoEmpty](../constructors/inputPhotoEmpty.md) = \[\];
+
+***
+
[$inputPrivacyKeyChatInvite](../constructors/inputPrivacyKeyChatInvite.md) = \[\];
+
+***
+
[$inputPrivacyKeyPhoneCall](../constructors/inputPrivacyKeyPhoneCall.md) = \[\];
+
+***
+
[$inputPrivacyKeyStatusTimestamp](../constructors/inputPrivacyKeyStatusTimestamp.md) = \[\];
+
+***
+
[$inputPrivacyValueAllowAll](../constructors/inputPrivacyValueAllowAll.md) = \[\];
+
+***
+
[$inputPrivacyValueAllowContacts](../constructors/inputPrivacyValueAllowContacts.md) = \[\];
+
+***
+
[$inputPrivacyValueAllowUsers](../constructors/inputPrivacyValueAllowUsers.md) = \['users' => \[[InputUser](../types/InputUser.md)\], \];
+
+***
+
[$inputPrivacyValueDisallowAll](../constructors/inputPrivacyValueDisallowAll.md) = \[\];
+
+***
+
[$inputPrivacyValueDisallowContacts](../constructors/inputPrivacyValueDisallowContacts.md) = \[\];
+
+***
+
[$inputPrivacyValueDisallowUsers](../constructors/inputPrivacyValueDisallowUsers.md) = \['users' => \[[InputUser](../types/InputUser.md)\], \];
+
+***
+
[$inputReportReasonOther](../constructors/inputReportReasonOther.md) = \['text' => [string](../types/string.md), \];
+
+***
+
[$inputReportReasonPornography](../constructors/inputReportReasonPornography.md) = \[\];
+
+***
+
[$inputReportReasonSpam](../constructors/inputReportReasonSpam.md) = \[\];
+
+***
+
[$inputReportReasonViolence](../constructors/inputReportReasonViolence.md) = \[\];
+
+***
+
[$inputStickerSetEmpty](../constructors/inputStickerSetEmpty.md) = \[\];
+
+***
+
[$inputStickerSetID](../constructors/inputStickerSetID.md) = \['id' => [long](../types/long.md), 'access_hash' => [long](../types/long.md), \];
+
+***
+
[$inputStickerSetShortName](../constructors/inputStickerSetShortName.md) = \['short_name' => [string](../types/string.md), \];
+
+***
+
[$inputStickeredMediaDocument](../constructors/inputStickeredMediaDocument.md) = \['id' => [InputDocument](../types/InputDocument.md), \];
+
+***
+
[$inputStickeredMediaPhoto](../constructors/inputStickeredMediaPhoto.md) = \['id' => [InputPhoto](../types/InputPhoto.md), \];
+
+***
+
[$inputUser](../constructors/inputUser.md) = \['user_id' => [int](../types/int.md), 'access_hash' => [long](../types/long.md), \];
+
+***
+
[$inputUserEmpty](../constructors/inputUserEmpty.md) = \[\];
+
+***
+
[$inputUserSelf](../constructors/inputUserSelf.md) = \[\];
+
+***
+
[$keyboardButton](../constructors/keyboardButton.md) = \['text' => [string](../types/string.md), \];
+
+***
+
[$keyboardButtonCallback](../constructors/keyboardButtonCallback.md) = \['text' => [string](../types/string.md), 'data' => [bytes](../types/bytes.md), \];
+
+***
+
[$keyboardButtonGame](../constructors/keyboardButtonGame.md) = \['text' => [string](../types/string.md), \];
+
+***
+
[$keyboardButtonRequestGeoLocation](../constructors/keyboardButtonRequestGeoLocation.md) = \['text' => [string](../types/string.md), \];
+
+***
+
[$keyboardButtonRequestPhone](../constructors/keyboardButtonRequestPhone.md) = \['text' => [string](../types/string.md), \];
+
+***
+
[$keyboardButtonRow](../constructors/keyboardButtonRow.md) = \['buttons' => \[[KeyboardButton](../types/KeyboardButton.md)\], \];
+
+***
+
[$keyboardButtonSwitchInline](../constructors/keyboardButtonSwitchInline.md) = \['same_peer' => [Bool](../types/Bool.md), 'text' => [string](../types/string.md), 'query' => [string](../types/string.md), \];
+
+***
+
[$keyboardButtonUrl](../constructors/keyboardButtonUrl.md) = \['text' => [string](../types/string.md), 'url' => [string](../types/string.md), \];
+
+***
+
[$maskCoords](../constructors/maskCoords.md) = \['n' => [int](../types/int.md), 'x' => [double](../types/double.md), 'y' => [double](../types/double.md), 'zoom' => [double](../types/double.md), \];
+
+***
+
[$message](../constructors/message.md) = \['out' => [Bool](../types/Bool.md), 'mentioned' => [Bool](../types/Bool.md), 'media_unread' => [Bool](../types/Bool.md), 'silent' => [Bool](../types/Bool.md), 'post' => [Bool](../types/Bool.md), 'id' => [int](../types/int.md), 'from_id' => [int](../types/int.md), 'to_id' => [Peer](../types/Peer.md), 'fwd_from' => [MessageFwdHeader](../types/MessageFwdHeader.md), 'via_bot_id' => [int](../types/int.md), 'reply_to_msg_id' => [int](../types/int.md), 'date' => [int](../types/int.md), 'message' => [string](../types/string.md), 'media' => [MessageMedia](../types/MessageMedia.md), 'reply_markup' => [ReplyMarkup](../types/ReplyMarkup.md), 'entities' => \[[MessageEntity](../types/MessageEntity.md)\], 'views' => [int](../types/int.md), 'edit_date' => [int](../types/int.md), \];
+
+***
+
[$messageActionChannelCreate](../constructors/messageActionChannelCreate.md) = \['title' => [string](../types/string.md), \];
+
+***
+
[$messageActionChannelMigrateFrom](../constructors/messageActionChannelMigrateFrom.md) = \['title' => [string](../types/string.md), 'chat_id' => [int](../types/int.md), \];
+
+***
+
[$messageActionChatAddUser](../constructors/messageActionChatAddUser.md) = \['users' => \[[int](../types/int.md)\], \];
+
+***
+
[$messageActionChatCreate](../constructors/messageActionChatCreate.md) = \['title' => [string](../types/string.md), 'users' => \[[int](../types/int.md)\], \];
+
+***
+
[$messageActionChatDeletePhoto](../constructors/messageActionChatDeletePhoto.md) = \[\];
+
+***
+
[$messageActionChatDeleteUser](../constructors/messageActionChatDeleteUser.md) = \['user_id' => [int](../types/int.md), \];
+
+***
+
[$messageActionChatEditPhoto](../constructors/messageActionChatEditPhoto.md) = \['photo' => [Photo](../types/Photo.md), \];
+
+***
+
[$messageActionChatEditTitle](../constructors/messageActionChatEditTitle.md) = \['title' => [string](../types/string.md), \];
+
+***
+
[$messageActionChatJoinedByLink](../constructors/messageActionChatJoinedByLink.md) = \['inviter_id' => [int](../types/int.md), \];
+
+***
+
[$messageActionChatMigrateTo](../constructors/messageActionChatMigrateTo.md) = \['channel_id' => [int](../types/int.md), \];
+
+***
+
[$messageActionEmpty](../constructors/messageActionEmpty.md) = \[\];
+
+***
+
[$messageActionGameScore](../constructors/messageActionGameScore.md) = \['game_id' => [long](../types/long.md), 'score' => [int](../types/int.md), \];
+
+***
+
[$messageActionHistoryClear](../constructors/messageActionHistoryClear.md) = \[\];
+
+***
+
[$messageActionPhoneCall](../constructors/messageActionPhoneCall.md) = \['call_id' => [long](../types/long.md), 'reason' => [PhoneCallDiscardReason](../types/PhoneCallDiscardReason.md), 'duration' => [int](../types/int.md), \];
+
+***
+
[$messageActionPinMessage](../constructors/messageActionPinMessage.md) = \[\];
+
+***
+
[$messageEmpty](../constructors/messageEmpty.md) = \['id' => [int](../types/int.md), \];
+
+***
+
[$messageEntityBold](../constructors/messageEntityBold.md) = \['offset' => [int](../types/int.md), 'length' => [int](../types/int.md), \];
+
+***
+
[$messageEntityBotCommand](../constructors/messageEntityBotCommand.md) = \['offset' => [int](../types/int.md), 'length' => [int](../types/int.md), \];
+
+***
+
[$messageEntityCode](../constructors/messageEntityCode.md) = \['offset' => [int](../types/int.md), 'length' => [int](../types/int.md), \];
+
+***
+
[$messageEntityEmail](../constructors/messageEntityEmail.md) = \['offset' => [int](../types/int.md), 'length' => [int](../types/int.md), \];
+
+***
+
[$messageEntityHashtag](../constructors/messageEntityHashtag.md) = \['offset' => [int](../types/int.md), 'length' => [int](../types/int.md), \];
+
+***
+
[$messageEntityItalic](../constructors/messageEntityItalic.md) = \['offset' => [int](../types/int.md), 'length' => [int](../types/int.md), \];
+
+***
+
[$messageEntityMention](../constructors/messageEntityMention.md) = \['offset' => [int](../types/int.md), 'length' => [int](../types/int.md), \];
+
+***
+
[$messageEntityMentionName](../constructors/messageEntityMentionName.md) = \['offset' => [int](../types/int.md), 'length' => [int](../types/int.md), 'user_id' => [int](../types/int.md), \];
+
+***
+
[$messageEntityPre](../constructors/messageEntityPre.md) = \['offset' => [int](../types/int.md), 'length' => [int](../types/int.md), 'language' => [string](../types/string.md), \];
+
+***
+
[$messageEntityTextUrl](../constructors/messageEntityTextUrl.md) = \['offset' => [int](../types/int.md), 'length' => [int](../types/int.md), 'url' => [string](../types/string.md), \];
+
+***
+
[$messageEntityUnknown](../constructors/messageEntityUnknown.md) = \['offset' => [int](../types/int.md), 'length' => [int](../types/int.md), \];
+
+***
+
[$messageEntityUrl](../constructors/messageEntityUrl.md) = \['offset' => [int](../types/int.md), 'length' => [int](../types/int.md), \];
+
+***
+
[$messageFwdHeader](../constructors/messageFwdHeader.md) = \['from_id' => [int](../types/int.md), 'date' => [int](../types/int.md), 'channel_id' => [int](../types/int.md), 'channel_post' => [int](../types/int.md), \];
+
+***
+
[$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), \];
+
+***
+
[$messageMediaDocument](../constructors/messageMediaDocument.md) = \['document' => [Document](../types/Document.md), 'caption' => [string](../types/string.md), \];
+
+***
+
[$messageMediaEmpty](../constructors/messageMediaEmpty.md) = \[\];
+
+***
+
[$messageMediaGame](../constructors/messageMediaGame.md) = \['game' => [Game](../types/Game.md), \];
+
+***
+
[$messageMediaGeo](../constructors/messageMediaGeo.md) = \['geo' => [GeoPoint](../types/GeoPoint.md), \];
+
+***
+
[$messageMediaPhoto](../constructors/messageMediaPhoto.md) = \['photo' => [Photo](../types/Photo.md), 'caption' => [string](../types/string.md), \];
+
+***
+
[$messageMediaUnsupported](../constructors/messageMediaUnsupported.md) = \[\];
+
+***
+
[$messageMediaVenue](../constructors/messageMediaVenue.md) = \['geo' => [GeoPoint](../types/GeoPoint.md), 'title' => [string](../types/string.md), 'address' => [string](../types/string.md), 'provider' => [string](../types/string.md), 'venue_id' => [string](../types/string.md), \];
+
+***
+
[$messageMediaWebPage](../constructors/messageMediaWebPage.md) = \['webpage' => [WebPage](../types/WebPage.md), \];
+
+***
+
[$messageRange](../constructors/messageRange.md) = \['min_id' => [int](../types/int.md), 'max_id' => [int](../types/int.md), \];
+
+***
+
[$messageService](../constructors/messageService.md) = \['out' => [Bool](../types/Bool.md), 'mentioned' => [Bool](../types/Bool.md), 'media_unread' => [Bool](../types/Bool.md), 'silent' => [Bool](../types/Bool.md), 'post' => [Bool](../types/Bool.md), 'id' => [int](../types/int.md), 'from_id' => [int](../types/int.md), 'to_id' => [Peer](../types/Peer.md), 'reply_to_msg_id' => [int](../types/int.md), 'date' => [int](../types/int.md), 'action' => [MessageAction](../types/MessageAction.md), \];
+
+***
+
[$messages\_affectedHistory](../constructors/messages_affectedHistory.md) = \['pts' => [int](../types/int.md), 'pts_count' => [int](../types/int.md), 'offset' => [int](../types/int.md), \];
+
+[$messages\_affectedMessages](../constructors/messages_affectedMessages.md) = \['pts' => [int](../types/int.md), 'pts_count' => [int](../types/int.md), \];
+
+[$messages\_allStickers](../constructors/messages_allStickers.md) = \['hash' => [int](../types/int.md), 'sets' => \[[StickerSet](../types/StickerSet.md)\], \];
+
+[$messages\_allStickersNotModified](../constructors/messages_allStickersNotModified.md) = \[\];
+
+[$messages\_archivedStickers](../constructors/messages_archivedStickers.md) = \['count' => [int](../types/int.md), 'sets' => \[[StickerSetCovered](../types/StickerSetCovered.md)\], \];
+
+[$messages\_botCallbackAnswer](../constructors/messages_botCallbackAnswer.md) = \['alert' => [Bool](../types/Bool.md), 'has_url' => [Bool](../types/Bool.md), 'message' => [string](../types/string.md), 'url' => [string](../types/string.md), 'cache_time' => [int](../types/int.md), \];
+
+[$messages\_botResults](../constructors/messages_botResults.md) = \['gallery' => [Bool](../types/Bool.md), 'query_id' => [long](../types/long.md), 'next_offset' => [string](../types/string.md), 'switch_pm' => [InlineBotSwitchPM](../types/InlineBotSwitchPM.md), 'results' => \[[BotInlineResult](../types/BotInlineResult.md)\], 'cache_time' => [int](../types/int.md), \];
+
+[$messages\_channelMessages](../constructors/messages_channelMessages.md) = \['pts' => [int](../types/int.md), 'count' => [int](../types/int.md), 'messages' => \[[Message](../types/Message.md)\], 'chats' => \[[Chat](../types/Chat.md)\], 'users' => \[[User](../types/User.md)\], \];
+
+[$messages\_chatFull](../constructors/messages_chatFull.md) = \['full_chat' => [ChatFull](../types/ChatFull.md), 'chats' => \[[Chat](../types/Chat.md)\], 'users' => \[[User](../types/User.md)\], \];
+
+[$messages\_chats](../constructors/messages_chats.md) = \['chats' => \[[Chat](../types/Chat.md)\], \];
+
+[$messages\_chatsSlice](../constructors/messages_chatsSlice.md) = \['count' => [int](../types/int.md), 'chats' => \[[Chat](../types/Chat.md)\], \];
+
+[$messages\_dhConfig](../constructors/messages_dhConfig.md) = \['g' => [int](../types/int.md), 'p' => [bytes](../types/bytes.md), 'version' => [int](../types/int.md), 'random' => [bytes](../types/bytes.md), \];
+
+[$messages\_dhConfigNotModified](../constructors/messages_dhConfigNotModified.md) = \['random' => [bytes](../types/bytes.md), \];
+
+[$messages\_dialogs](../constructors/messages_dialogs.md) = \['dialogs' => \[[Dialog](../types/Dialog.md)\], 'messages' => \[[Message](../types/Message.md)\], 'chats' => \[[Chat](../types/Chat.md)\], 'users' => \[[User](../types/User.md)\], \];
+
+[$messages\_dialogsSlice](../constructors/messages_dialogsSlice.md) = \['count' => [int](../types/int.md), 'dialogs' => \[[Dialog](../types/Dialog.md)\], 'messages' => \[[Message](../types/Message.md)\], 'chats' => \[[Chat](../types/Chat.md)\], 'users' => \[[User](../types/User.md)\], \];
+
+[$messages\_featuredStickers](../constructors/messages_featuredStickers.md) = \['hash' => [int](../types/int.md), 'sets' => \[[StickerSetCovered](../types/StickerSetCovered.md)\], 'unread' => \[[long](../types/long.md)\], \];
+
+[$messages\_featuredStickersNotModified](../constructors/messages_featuredStickersNotModified.md) = \[\];
+
+[$messages\_foundGifs](../constructors/messages_foundGifs.md) = \['next_offset' => [int](../types/int.md), 'results' => \[[FoundGif](../types/FoundGif.md)\], \];
+
+[$messages\_highScores](../constructors/messages_highScores.md) = \['scores' => \[[HighScore](../types/HighScore.md)\], 'users' => \[[User](../types/User.md)\], \];
+
+[$messages\_messageEditData](../constructors/messages_messageEditData.md) = \['caption' => [Bool](../types/Bool.md), \];
+
+[$messages\_messages](../constructors/messages_messages.md) = \['messages' => \[[Message](../types/Message.md)\], 'chats' => \[[Chat](../types/Chat.md)\], 'users' => \[[User](../types/User.md)\], \];
+
+[$messages\_messagesSlice](../constructors/messages_messagesSlice.md) = \['count' => [int](../types/int.md), 'messages' => \[[Message](../types/Message.md)\], 'chats' => \[[Chat](../types/Chat.md)\], 'users' => \[[User](../types/User.md)\], \];
+
+[$messages\_peerDialogs](../constructors/messages_peerDialogs.md) = \['dialogs' => \[[Dialog](../types/Dialog.md)\], 'messages' => \[[Message](../types/Message.md)\], 'chats' => \[[Chat](../types/Chat.md)\], 'users' => \[[User](../types/User.md)\], 'state' => [updates\_State](../types/updates_State.md), \];
+
+[$messages\_recentStickers](../constructors/messages_recentStickers.md) = \['hash' => [int](../types/int.md), 'stickers' => \[[Document](../types/Document.md)\], \];
+
+[$messages\_recentStickersNotModified](../constructors/messages_recentStickersNotModified.md) = \[\];
+
+[$messages\_savedGifs](../constructors/messages_savedGifs.md) = \['hash' => [int](../types/int.md), 'gifs' => \[[Document](../types/Document.md)\], \];
+
+[$messages\_savedGifsNotModified](../constructors/messages_savedGifsNotModified.md) = \[\];
+
+[$messages\_sentEncryptedFile](../constructors/messages_sentEncryptedFile.md) = \['date' => [int](../types/int.md), 'file' => [EncryptedFile](../types/EncryptedFile.md), \];
+
+[$messages\_sentEncryptedMessage](../constructors/messages_sentEncryptedMessage.md) = \['date' => [int](../types/int.md), \];
+
+[$messages\_stickerSet](../constructors/messages_stickerSet.md) = \['set' => [StickerSet](../types/StickerSet.md), 'packs' => \[[StickerPack](../types/StickerPack.md)\], 'documents' => \[[Document](../types/Document.md)\], \];
+
+[$messages\_stickerSetInstallResultArchive](../constructors/messages_stickerSetInstallResultArchive.md) = \['sets' => \[[StickerSetCovered](../types/StickerSetCovered.md)\], \];
+
+[$messages\_stickerSetInstallResultSuccess](../constructors/messages_stickerSetInstallResultSuccess.md) = \[\];
+
+[$messages\_stickers](../constructors/messages_stickers.md) = \['hash' => [string](../types/string.md), 'stickers' => \[[Document](../types/Document.md)\], \];
+
+[$messages\_stickersNotModified](../constructors/messages_stickersNotModified.md) = \[\];
+
+***
+
[$nearestDc](../constructors/nearestDc.md) = \['country' => [string](../types/string.md), 'this_dc' => [int](../types/int.md), 'nearest_dc' => [int](../types/int.md), \];
+
+***
+
[$notifyAll](../constructors/notifyAll.md) = \[\];
+
+***
+
[$notifyChats](../constructors/notifyChats.md) = \[\];
+
+***
+
[$notifyPeer](../constructors/notifyPeer.md) = \['peer' => [Peer](../types/Peer.md), \];
+
+***
+
[$notifyUsers](../constructors/notifyUsers.md) = \[\];
+
+***
+
[$null](../constructors/null.md) = \[\];
+
+***
+
[$pageBlockAnchor](../constructors/pageBlockAnchor.md) = \['name' => [string](../types/string.md), \];
+
+***
+
[$pageBlockAuthorDate](../constructors/pageBlockAuthorDate.md) = \['author' => [RichText](../types/RichText.md), 'published_date' => [int](../types/int.md), \];
+
+***
+
[$pageBlockBlockquote](../constructors/pageBlockBlockquote.md) = \['text' => [RichText](../types/RichText.md), 'caption' => [RichText](../types/RichText.md), \];
+
+***
+
[$pageBlockCollage](../constructors/pageBlockCollage.md) = \['items' => \[[PageBlock](../types/PageBlock.md)\], 'caption' => [RichText](../types/RichText.md), \];
+
+***
+
[$pageBlockCover](../constructors/pageBlockCover.md) = \['cover' => [PageBlock](../types/PageBlock.md), \];
+
+***
+
[$pageBlockDivider](../constructors/pageBlockDivider.md) = \[\];
+
+***
+
[$pageBlockEmbed](../constructors/pageBlockEmbed.md) = \['full_width' => [Bool](../types/Bool.md), 'allow_scrolling' => [Bool](../types/Bool.md), 'url' => [string](../types/string.md), 'html' => [string](../types/string.md), 'poster_photo_id' => [long](../types/long.md), 'w' => [int](../types/int.md), 'h' => [int](../types/int.md), 'caption' => [RichText](../types/RichText.md), \];
+
+***
+
[$pageBlockEmbedPost](../constructors/pageBlockEmbedPost.md) = \['url' => [string](../types/string.md), 'webpage_id' => [long](../types/long.md), 'author_photo_id' => [long](../types/long.md), 'author' => [string](../types/string.md), 'date' => [int](../types/int.md), 'blocks' => \[[PageBlock](../types/PageBlock.md)\], 'caption' => [RichText](../types/RichText.md), \];
+
+***
+
[$pageBlockFooter](../constructors/pageBlockFooter.md) = \['text' => [RichText](../types/RichText.md), \];
+
+***
+
[$pageBlockHeader](../constructors/pageBlockHeader.md) = \['text' => [RichText](../types/RichText.md), \];
+
+***
+
[$pageBlockList](../constructors/pageBlockList.md) = \['ordered' => [Bool](../types/Bool.md), 'items' => \[[RichText](../types/RichText.md)\], \];
+
+***
+
[$pageBlockParagraph](../constructors/pageBlockParagraph.md) = \['text' => [RichText](../types/RichText.md), \];
+
+***
+
[$pageBlockPhoto](../constructors/pageBlockPhoto.md) = \['photo_id' => [long](../types/long.md), 'caption' => [RichText](../types/RichText.md), \];
+
+***
+
[$pageBlockPreformatted](../constructors/pageBlockPreformatted.md) = \['text' => [RichText](../types/RichText.md), 'language' => [string](../types/string.md), \];
+
+***
+
[$pageBlockPullquote](../constructors/pageBlockPullquote.md) = \['text' => [RichText](../types/RichText.md), 'caption' => [RichText](../types/RichText.md), \];
+
+***
+
[$pageBlockSlideshow](../constructors/pageBlockSlideshow.md) = \['items' => \[[PageBlock](../types/PageBlock.md)\], 'caption' => [RichText](../types/RichText.md), \];
+
+***
+
[$pageBlockSubheader](../constructors/pageBlockSubheader.md) = \['text' => [RichText](../types/RichText.md), \];
+
+***
+
[$pageBlockSubtitle](../constructors/pageBlockSubtitle.md) = \['text' => [RichText](../types/RichText.md), \];
+
+***
+
[$pageBlockTitle](../constructors/pageBlockTitle.md) = \['text' => [RichText](../types/RichText.md), \];
+
+***
+
[$pageBlockUnsupported](../constructors/pageBlockUnsupported.md) = \[\];
+
+***
+
[$pageBlockVideo](../constructors/pageBlockVideo.md) = \['autoplay' => [Bool](../types/Bool.md), 'loop' => [Bool](../types/Bool.md), 'video_id' => [long](../types/long.md), 'caption' => [RichText](../types/RichText.md), \];
+
+***
+
[$pageFull](../constructors/pageFull.md) = \['blocks' => \[[PageBlock](../types/PageBlock.md)\], 'photos' => \[[Photo](../types/Photo.md)\], 'videos' => \[[Document](../types/Document.md)\], \];
+
+***
+
[$pagePart](../constructors/pagePart.md) = \['blocks' => \[[PageBlock](../types/PageBlock.md)\], 'photos' => \[[Photo](../types/Photo.md)\], 'videos' => \[[Document](../types/Document.md)\], \];
+
+***
+
[$peerChannel](../constructors/peerChannel.md) = \['channel_id' => [int](../types/int.md), \];
+
+***
+
[$peerChat](../constructors/peerChat.md) = \['chat_id' => [int](../types/int.md), \];
+
+***
+
[$peerNotifyEventsAll](../constructors/peerNotifyEventsAll.md) = \[\];
+
+***
+
[$peerNotifyEventsEmpty](../constructors/peerNotifyEventsEmpty.md) = \[\];
+
+***
+
[$peerNotifySettings](../constructors/peerNotifySettings.md) = \['show_previews' => [Bool](../types/Bool.md), 'silent' => [Bool](../types/Bool.md), 'mute_until' => [int](../types/int.md), 'sound' => [string](../types/string.md), \];
+
+***
+
[$peerNotifySettingsEmpty](../constructors/peerNotifySettingsEmpty.md) = \[\];
+
+***
+
[$peerSettings](../constructors/peerSettings.md) = \['report_spam' => [Bool](../types/Bool.md), \];
+
+***
+
[$peerUser](../constructors/peerUser.md) = \['user_id' => [int](../types/int.md), \];
+
+***
+
[$phoneCall](../constructors/phoneCall.md) = \['id' => [long](../types/long.md), 'access_hash' => [long](../types/long.md), 'date' => [int](../types/int.md), 'admin_id' => [int](../types/int.md), 'participant_id' => [int](../types/int.md), 'g_a_or_b' => [bytes](../types/bytes.md), 'key_fingerprint' => [long](../types/long.md), 'protocol' => [PhoneCallProtocol](../types/PhoneCallProtocol.md), 'connection' => [PhoneConnection](../types/PhoneConnection.md), 'alternative_connections' => \[[PhoneConnection](../types/PhoneConnection.md)\], 'start_date' => [int](../types/int.md), \];
+
+***
+
[$phoneCallDiscardReasonBusy](../constructors/phoneCallDiscardReasonBusy.md) = \[\];
+
+***
+
[$phoneCallDiscardReasonDisconnect](../constructors/phoneCallDiscardReasonDisconnect.md) = \[\];
+
+***
+
[$phoneCallDiscardReasonHangup](../constructors/phoneCallDiscardReasonHangup.md) = \[\];
+
+***
+
[$phoneCallDiscardReasonMissed](../constructors/phoneCallDiscardReasonMissed.md) = \[\];
+
+***
+
[$phoneCallDiscarded](../constructors/phoneCallDiscarded.md) = \['id' => [long](../types/long.md), 'reason' => [PhoneCallDiscardReason](../types/PhoneCallDiscardReason.md), 'duration' => [int](../types/int.md), \];
+
+***
+
[$phoneCallEmpty](../constructors/phoneCallEmpty.md) = \['id' => [long](../types/long.md), \];
+
+***
+
[$phoneCallProtocol](../constructors/phoneCallProtocol.md) = \['udp_p2p' => [Bool](../types/Bool.md), 'udp_reflector' => [Bool](../types/Bool.md), 'min_layer' => [int](../types/int.md), 'max_layer' => [int](../types/int.md), \];
+
+***
+
[$phoneCallRequested](../constructors/phoneCallRequested.md) = \['id' => [long](../types/long.md), 'access_hash' => [long](../types/long.md), 'date' => [int](../types/int.md), 'admin_id' => [int](../types/int.md), 'participant_id' => [int](../types/int.md), 'g_a' => [bytes](../types/bytes.md), 'protocol' => [PhoneCallProtocol](../types/PhoneCallProtocol.md), \];
+
+***
+
[$phoneCallWaiting](../constructors/phoneCallWaiting.md) = \['id' => [long](../types/long.md), 'access_hash' => [long](../types/long.md), 'date' => [int](../types/int.md), 'admin_id' => [int](../types/int.md), 'participant_id' => [int](../types/int.md), 'protocol' => [PhoneCallProtocol](../types/PhoneCallProtocol.md), 'receive_date' => [int](../types/int.md), \];
+
+***
+
[$phoneConnection](../constructors/phoneConnection.md) = \['id' => [long](../types/long.md), 'ip' => [string](../types/string.md), 'ipv6' => [string](../types/string.md), 'port' => [int](../types/int.md), 'peer_tag' => [bytes](../types/bytes.md), \];
+
+***
+
[$phone\_phoneCall](../constructors/phone_phoneCall.md) = \['phone_call' => [PhoneCall](../types/PhoneCall.md), 'users' => \[[User](../types/User.md)\], \];
+
+***
+
[$photo](../constructors/photo.md) = \['has_stickers' => [Bool](../types/Bool.md), 'id' => [long](../types/long.md), 'access_hash' => [long](../types/long.md), 'date' => [int](../types/int.md), 'sizes' => \[[PhotoSize](../types/PhotoSize.md)\], \];
+
+***
+
[$photoCachedSize](../constructors/photoCachedSize.md) = \['type' => [string](../types/string.md), 'location' => [FileLocation](../types/FileLocation.md), 'w' => [int](../types/int.md), 'h' => [int](../types/int.md), 'bytes' => [bytes](../types/bytes.md), \];
+
+***
+
[$photoEmpty](../constructors/photoEmpty.md) = \['id' => [long](../types/long.md), \];
+
+***
+
[$photoSize](../constructors/photoSize.md) = \['type' => [string](../types/string.md), 'location' => [FileLocation](../types/FileLocation.md), 'w' => [int](../types/int.md), 'h' => [int](../types/int.md), 'size' => [int](../types/int.md), \];
+
+***
+
[$photoSizeEmpty](../constructors/photoSizeEmpty.md) = \['type' => [string](../types/string.md), \];
+
+***
+
[$photos\_photo](../constructors/photos_photo.md) = \['photo' => [Photo](../types/Photo.md), 'users' => \[[User](../types/User.md)\], \];
+
+[$photos\_photos](../constructors/photos_photos.md) = \['photos' => \[[Photo](../types/Photo.md)\], 'users' => \[[User](../types/User.md)\], \];
+
+[$photos\_photosSlice](../constructors/photos_photosSlice.md) = \['count' => [int](../types/int.md), 'photos' => \[[Photo](../types/Photo.md)\], 'users' => \[[User](../types/User.md)\], \];
+
+***
+
[$privacyKeyChatInvite](../constructors/privacyKeyChatInvite.md) = \[\];
+
+***
+
[$privacyKeyPhoneCall](../constructors/privacyKeyPhoneCall.md) = \[\];
+
+***
+
[$privacyKeyStatusTimestamp](../constructors/privacyKeyStatusTimestamp.md) = \[\];
+
+***
+
[$privacyValueAllowAll](../constructors/privacyValueAllowAll.md) = \[\];
+
+***
+
[$privacyValueAllowContacts](../constructors/privacyValueAllowContacts.md) = \[\];
+
+***
+
[$privacyValueAllowUsers](../constructors/privacyValueAllowUsers.md) = \['users' => \[[int](../types/int.md)\], \];
+
+***
+
[$privacyValueDisallowAll](../constructors/privacyValueDisallowAll.md) = \[\];
+
+***
+
[$privacyValueDisallowContacts](../constructors/privacyValueDisallowContacts.md) = \[\];
+
+***
+
[$privacyValueDisallowUsers](../constructors/privacyValueDisallowUsers.md) = \['users' => \[[int](../types/int.md)\], \];
+
+***
+
[$receivedNotifyMessage](../constructors/receivedNotifyMessage.md) = \['id' => [int](../types/int.md), \];
+
+***
+
[$replyInlineMarkup](../constructors/replyInlineMarkup.md) = \['rows' => \[[KeyboardButtonRow](../types/KeyboardButtonRow.md)\], \];
+
+***
+
[$replyKeyboardForceReply](../constructors/replyKeyboardForceReply.md) = \['single_use' => [Bool](../types/Bool.md), 'selective' => [Bool](../types/Bool.md), \];
+
+***
+
[$replyKeyboardHide](../constructors/replyKeyboardHide.md) = \['selective' => [Bool](../types/Bool.md), \];
+
+***
+
[$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)\], \];
+
+***
+
[$sendMessageCancelAction](../constructors/sendMessageCancelAction.md) = \[\];
+
+***
+
[$sendMessageChooseContactAction](../constructors/sendMessageChooseContactAction.md) = \[\];
+
+***
+
[$sendMessageGamePlayAction](../constructors/sendMessageGamePlayAction.md) = \[\];
+
+***
+
[$sendMessageGeoLocationAction](../constructors/sendMessageGeoLocationAction.md) = \[\];
+
+***
+
[$sendMessageRecordAudioAction](../constructors/sendMessageRecordAudioAction.md) = \[\];
+
+***
+
[$sendMessageRecordVideoAction](../constructors/sendMessageRecordVideoAction.md) = \[\];
+
+***
+
[$sendMessageTypingAction](../constructors/sendMessageTypingAction.md) = \[\];
+
+***
+
[$sendMessageUploadAudioAction](../constructors/sendMessageUploadAudioAction.md) = \['progress' => [int](../types/int.md), \];
+
+***
+
[$sendMessageUploadDocumentAction](../constructors/sendMessageUploadDocumentAction.md) = \['progress' => [int](../types/int.md), \];
+
+***
+
[$sendMessageUploadPhotoAction](../constructors/sendMessageUploadPhotoAction.md) = \['progress' => [int](../types/int.md), \];
+
+***
+
[$sendMessageUploadVideoAction](../constructors/sendMessageUploadVideoAction.md) = \['progress' => [int](../types/int.md), \];
+
+***
+
[$stickerPack](../constructors/stickerPack.md) = \['emoticon' => [string](../types/string.md), 'documents' => \[[long](../types/long.md)\], \];
+
+***
+
[$stickerSet](../constructors/stickerSet.md) = \['installed' => [Bool](../types/Bool.md), 'archived' => [Bool](../types/Bool.md), 'official' => [Bool](../types/Bool.md), 'masks' => [Bool](../types/Bool.md), 'id' => [long](../types/long.md), 'access_hash' => [long](../types/long.md), 'title' => [string](../types/string.md), 'short_name' => [string](../types/string.md), 'count' => [int](../types/int.md), 'hash' => [int](../types/int.md), \];
+
+***
+
[$stickerSetCovered](../constructors/stickerSetCovered.md) = \['set' => [StickerSet](../types/StickerSet.md), 'cover' => [Document](../types/Document.md), \];
+
+***
+
[$stickerSetMultiCovered](../constructors/stickerSetMultiCovered.md) = \['set' => [StickerSet](../types/StickerSet.md), 'covers' => \[[Document](../types/Document.md)\], \];
+
+***
+
[$storage\_fileGif](../constructors/storage_fileGif.md) = \[\];
+
+[$storage\_fileJpeg](../constructors/storage_fileJpeg.md) = \[\];
+
+[$storage\_fileMov](../constructors/storage_fileMov.md) = \[\];
+
+[$storage\_fileMp3](../constructors/storage_fileMp3.md) = \[\];
+
+[$storage\_fileMp4](../constructors/storage_fileMp4.md) = \[\];
+
+[$storage\_filePartial](../constructors/storage_filePartial.md) = \[\];
+
+[$storage\_filePdf](../constructors/storage_filePdf.md) = \[\];
+
+[$storage\_filePng](../constructors/storage_filePng.md) = \[\];
+
+[$storage\_fileUnknown](../constructors/storage_fileUnknown.md) = \[\];
+
+[$storage\_fileWebp](../constructors/storage_fileWebp.md) = \[\];
+
+***
+
[$textBold](../constructors/textBold.md) = \['text' => [RichText](../types/RichText.md), \];
+
+***
+
[$textConcat](../constructors/textConcat.md) = \['texts' => \[[RichText](../types/RichText.md)\], \];
+
+***
+
[$textEmail](../constructors/textEmail.md) = \['text' => [RichText](../types/RichText.md), 'email' => [string](../types/string.md), \];
+
+***
+
[$textEmpty](../constructors/textEmpty.md) = \[\];
+
+***
+
[$textFixed](../constructors/textFixed.md) = \['text' => [RichText](../types/RichText.md), \];
+
+***
+
[$textItalic](../constructors/textItalic.md) = \['text' => [RichText](../types/RichText.md), \];
+
+***
+
[$textPlain](../constructors/textPlain.md) = \['text' => [string](../types/string.md), \];
+
+***
+
[$textStrike](../constructors/textStrike.md) = \['text' => [RichText](../types/RichText.md), \];
+
+***
+
[$textUnderline](../constructors/textUnderline.md) = \['text' => [RichText](../types/RichText.md), \];
+
+***
+
[$textUrl](../constructors/textUrl.md) = \['text' => [RichText](../types/RichText.md), 'url' => [string](../types/string.md), 'webpage_id' => [long](../types/long.md), \];
+
+***
+
[$topPeer](../constructors/topPeer.md) = \['peer' => [Peer](../types/Peer.md), 'rating' => [double](../types/double.md), \];
+
+***
+
[$topPeerCategoryBotsInline](../constructors/topPeerCategoryBotsInline.md) = \[\];
+
+***
+
[$topPeerCategoryBotsPM](../constructors/topPeerCategoryBotsPM.md) = \[\];
+
+***
+
[$topPeerCategoryChannels](../constructors/topPeerCategoryChannels.md) = \[\];
+
+***
+
[$topPeerCategoryCorrespondents](../constructors/topPeerCategoryCorrespondents.md) = \[\];
+
+***
+
[$topPeerCategoryGroups](../constructors/topPeerCategoryGroups.md) = \[\];
+
+***
+
[$topPeerCategoryPeers](../constructors/topPeerCategoryPeers.md) = \['category' => [TopPeerCategory](../types/TopPeerCategory.md), 'count' => [int](../types/int.md), 'peers' => \[[TopPeer](../types/TopPeer.md)\], \];
+
+***
+
[$true](../constructors/true.md) = \[\];
+
+***
+
[$updateBotCallbackQuery](../constructors/updateBotCallbackQuery.md) = \['query_id' => [long](../types/long.md), 'user_id' => [int](../types/int.md), 'peer' => [Peer](../types/Peer.md), 'msg_id' => [int](../types/int.md), 'chat_instance' => [long](../types/long.md), 'data' => [bytes](../types/bytes.md), 'game_short_name' => [string](../types/string.md), \];
+
+***
+
[$updateBotInlineQuery](../constructors/updateBotInlineQuery.md) = \['query_id' => [long](../types/long.md), 'user_id' => [int](../types/int.md), 'query' => [string](../types/string.md), 'geo' => [GeoPoint](../types/GeoPoint.md), 'offset' => [string](../types/string.md), \];
+
+***
+
[$updateBotInlineSend](../constructors/updateBotInlineSend.md) = \['user_id' => [int](../types/int.md), 'query' => [string](../types/string.md), 'geo' => [GeoPoint](../types/GeoPoint.md), 'id' => [string](../types/string.md), 'msg_id' => [InputBotInlineMessageID](../types/InputBotInlineMessageID.md), \];
+
+***
+
[$updateChannel](../constructors/updateChannel.md) = \['channel_id' => [int](../types/int.md), \];
+
+***
+
[$updateChannelMessageViews](../constructors/updateChannelMessageViews.md) = \['channel_id' => [int](../types/int.md), 'id' => [int](../types/int.md), 'views' => [int](../types/int.md), \];
+
+***
+
[$updateChannelPinnedMessage](../constructors/updateChannelPinnedMessage.md) = \['channel_id' => [int](../types/int.md), 'id' => [int](../types/int.md), \];
+
+***
+
[$updateChannelTooLong](../constructors/updateChannelTooLong.md) = \['channel_id' => [int](../types/int.md), 'pts' => [int](../types/int.md), \];
+
+***
+
[$updateChannelWebPage](../constructors/updateChannelWebPage.md) = \['channel_id' => [int](../types/int.md), 'webpage' => [WebPage](../types/WebPage.md), 'pts' => [int](../types/int.md), 'pts_count' => [int](../types/int.md), \];
+
+***
+
[$updateChatAdmins](../constructors/updateChatAdmins.md) = \['chat_id' => [int](../types/int.md), 'enabled' => [Bool](../types/Bool.md), 'version' => [int](../types/int.md), \];
+
+***
+
[$updateChatParticipantAdd](../constructors/updateChatParticipantAdd.md) = \['chat_id' => [int](../types/int.md), 'user_id' => [int](../types/int.md), 'inviter_id' => [int](../types/int.md), 'date' => [int](../types/int.md), 'version' => [int](../types/int.md), \];
+
+***
+
[$updateChatParticipantAdmin](../constructors/updateChatParticipantAdmin.md) = \['chat_id' => [int](../types/int.md), 'user_id' => [int](../types/int.md), 'is_admin' => [Bool](../types/Bool.md), 'version' => [int](../types/int.md), \];
+
+***
+
[$updateChatParticipantDelete](../constructors/updateChatParticipantDelete.md) = \['chat_id' => [int](../types/int.md), 'user_id' => [int](../types/int.md), 'version' => [int](../types/int.md), \];
+
+***
+
[$updateChatParticipants](../constructors/updateChatParticipants.md) = \['participants' => [ChatParticipants](../types/ChatParticipants.md), \];
+
+***
+
[$updateChatUserTyping](../constructors/updateChatUserTyping.md) = \['chat_id' => [int](../types/int.md), 'user_id' => [int](../types/int.md), 'action' => [SendMessageAction](../types/SendMessageAction.md), \];
+
+***
+
[$updateConfig](../constructors/updateConfig.md) = \[\];
+
+***
+
[$updateContactLink](../constructors/updateContactLink.md) = \['user_id' => [int](../types/int.md), 'my_link' => [ContactLink](../types/ContactLink.md), 'foreign_link' => [ContactLink](../types/ContactLink.md), \];
+
+***
+
[$updateContactRegistered](../constructors/updateContactRegistered.md) = \['user_id' => [int](../types/int.md), 'date' => [int](../types/int.md), \];
+
+***
+
[$updateDcOptions](../constructors/updateDcOptions.md) = \['dc_options' => \[[DcOption](../types/DcOption.md)\], \];
+
+***
+
[$updateDeleteChannelMessages](../constructors/updateDeleteChannelMessages.md) = \['channel_id' => [int](../types/int.md), 'messages' => \[[int](../types/int.md)\], 'pts' => [int](../types/int.md), 'pts_count' => [int](../types/int.md), \];
+
+***
+
[$updateDeleteMessages](../constructors/updateDeleteMessages.md) = \['messages' => \[[int](../types/int.md)\], 'pts' => [int](../types/int.md), 'pts_count' => [int](../types/int.md), \];
+
+***
+
[$updateDialogPinned](../constructors/updateDialogPinned.md) = \['pinned' => [Bool](../types/Bool.md), 'peer' => [Peer](../types/Peer.md), \];
+
+***
+
[$updateDraftMessage](../constructors/updateDraftMessage.md) = \['peer' => [Peer](../types/Peer.md), 'draft' => [DraftMessage](../types/DraftMessage.md), \];
+
+***
+
[$updateEditChannelMessage](../constructors/updateEditChannelMessage.md) = \['message' => [Message](../types/Message.md), 'pts' => [int](../types/int.md), 'pts_count' => [int](../types/int.md), \];
+
+***
+
[$updateEditMessage](../constructors/updateEditMessage.md) = \['message' => [Message](../types/Message.md), 'pts' => [int](../types/int.md), 'pts_count' => [int](../types/int.md), \];
+
+***
+
[$updateEncryptedChatTyping](../constructors/updateEncryptedChatTyping.md) = \['chat_id' => [int](../types/int.md), \];
+
+***
+
[$updateEncryptedMessagesRead](../constructors/updateEncryptedMessagesRead.md) = \['chat_id' => [int](../types/int.md), 'max_date' => [int](../types/int.md), 'date' => [int](../types/int.md), \];
+
+***
+
[$updateEncryption](../constructors/updateEncryption.md) = \['chat' => [EncryptedChat](../types/EncryptedChat.md), 'date' => [int](../types/int.md), \];
+
+***
+
[$updateInlineBotCallbackQuery](../constructors/updateInlineBotCallbackQuery.md) = \['query_id' => [long](../types/long.md), 'user_id' => [int](../types/int.md), 'msg_id' => [InputBotInlineMessageID](../types/InputBotInlineMessageID.md), 'chat_instance' => [long](../types/long.md), 'data' => [bytes](../types/bytes.md), 'game_short_name' => [string](../types/string.md), \];
+
+***
+
[$updateMessageID](../constructors/updateMessageID.md) = \['id' => [int](../types/int.md), \];
+
+***
+
[$updateNewChannelMessage](../constructors/updateNewChannelMessage.md) = \['message' => [Message](../types/Message.md), 'pts' => [int](../types/int.md), 'pts_count' => [int](../types/int.md), \];
+
+***
+
[$updateNewEncryptedMessage](../constructors/updateNewEncryptedMessage.md) = \['message' => [EncryptedMessage](../types/EncryptedMessage.md), 'qts' => [int](../types/int.md), \];
+
+***
+
[$updateNewMessage](../constructors/updateNewMessage.md) = \['message' => [Message](../types/Message.md), 'pts' => [int](../types/int.md), 'pts_count' => [int](../types/int.md), \];
+
+***
+
[$updateNewStickerSet](../constructors/updateNewStickerSet.md) = \['stickerset' => [messages\_StickerSet](../types/messages_StickerSet.md), \];
+
+***
+
[$updateNotifySettings](../constructors/updateNotifySettings.md) = \['peer' => [NotifyPeer](../types/NotifyPeer.md), 'notify_settings' => [PeerNotifySettings](../types/PeerNotifySettings.md), \];
+
+***
+
[$updatePhoneCall](../constructors/updatePhoneCall.md) = \['phone_call' => [PhoneCall](../types/PhoneCall.md), \];
+
+***
+
[$updatePinnedDialogs](../constructors/updatePinnedDialogs.md) = \['order' => \[[Peer](../types/Peer.md)\], \];
+
+***
+
[$updatePrivacy](../constructors/updatePrivacy.md) = \['key' => [PrivacyKey](../types/PrivacyKey.md), 'rules' => \[[PrivacyRule](../types/PrivacyRule.md)\], \];
+
+***
+
[$updatePtsChanged](../constructors/updatePtsChanged.md) = \[\];
+
+***
+
[$updateReadChannelInbox](../constructors/updateReadChannelInbox.md) = \['channel_id' => [int](../types/int.md), 'max_id' => [int](../types/int.md), \];
+
+***
+
[$updateReadChannelOutbox](../constructors/updateReadChannelOutbox.md) = \['channel_id' => [int](../types/int.md), 'max_id' => [int](../types/int.md), \];
+
+***
+
[$updateReadFeaturedStickers](../constructors/updateReadFeaturedStickers.md) = \[\];
+
+***
+
[$updateReadHistoryInbox](../constructors/updateReadHistoryInbox.md) = \['peer' => [Peer](../types/Peer.md), 'max_id' => [int](../types/int.md), 'pts' => [int](../types/int.md), 'pts_count' => [int](../types/int.md), \];
+
+***
+
[$updateReadHistoryOutbox](../constructors/updateReadHistoryOutbox.md) = \['peer' => [Peer](../types/Peer.md), 'max_id' => [int](../types/int.md), 'pts' => [int](../types/int.md), 'pts_count' => [int](../types/int.md), \];
+
+***
+
[$updateReadMessagesContents](../constructors/updateReadMessagesContents.md) = \['messages' => \[[int](../types/int.md)\], 'pts' => [int](../types/int.md), 'pts_count' => [int](../types/int.md), \];
+
+***
+
[$updateRecentStickers](../constructors/updateRecentStickers.md) = \[\];
+
+***
+
[$updateSavedGifs](../constructors/updateSavedGifs.md) = \[\];
+
+***
+
[$updateServiceNotification](../constructors/updateServiceNotification.md) = \['popup' => [Bool](../types/Bool.md), 'inbox_date' => [int](../types/int.md), 'type' => [string](../types/string.md), 'message' => [string](../types/string.md), 'media' => [MessageMedia](../types/MessageMedia.md), 'entities' => \[[MessageEntity](../types/MessageEntity.md)\], \];
+
+***
+
[$updateShort](../constructors/updateShort.md) = \['update' => [Update](../types/Update.md), 'date' => [int](../types/int.md), \];
+
+***
+
[$updateShortChatMessage](../constructors/updateShortChatMessage.md) = \['out' => [Bool](../types/Bool.md), 'mentioned' => [Bool](../types/Bool.md), 'media_unread' => [Bool](../types/Bool.md), 'silent' => [Bool](../types/Bool.md), 'id' => [int](../types/int.md), 'from_id' => [int](../types/int.md), 'chat_id' => [int](../types/int.md), 'message' => [string](../types/string.md), 'pts' => [int](../types/int.md), 'pts_count' => [int](../types/int.md), 'date' => [int](../types/int.md), 'fwd_from' => [MessageFwdHeader](../types/MessageFwdHeader.md), 'via_bot_id' => [int](../types/int.md), 'reply_to_msg_id' => [int](../types/int.md), 'entities' => \[[MessageEntity](../types/MessageEntity.md)\], \];
+
+***
+
[$updateShortMessage](../constructors/updateShortMessage.md) = \['out' => [Bool](../types/Bool.md), 'mentioned' => [Bool](../types/Bool.md), 'media_unread' => [Bool](../types/Bool.md), 'silent' => [Bool](../types/Bool.md), 'id' => [int](../types/int.md), 'user_id' => [int](../types/int.md), 'message' => [string](../types/string.md), 'pts' => [int](../types/int.md), 'pts_count' => [int](../types/int.md), 'date' => [int](../types/int.md), 'fwd_from' => [MessageFwdHeader](../types/MessageFwdHeader.md), 'via_bot_id' => [int](../types/int.md), 'reply_to_msg_id' => [int](../types/int.md), 'entities' => \[[MessageEntity](../types/MessageEntity.md)\], \];
+
+***
+
[$updateShortSentMessage](../constructors/updateShortSentMessage.md) = \['out' => [Bool](../types/Bool.md), 'id' => [int](../types/int.md), 'pts' => [int](../types/int.md), 'pts_count' => [int](../types/int.md), 'date' => [int](../types/int.md), 'media' => [MessageMedia](../types/MessageMedia.md), 'entities' => \[[MessageEntity](../types/MessageEntity.md)\], \];
+
+***
+
[$updateStickerSets](../constructors/updateStickerSets.md) = \[\];
+
+***
+
[$updateStickerSetsOrder](../constructors/updateStickerSetsOrder.md) = \['masks' => [Bool](../types/Bool.md), 'order' => \[[long](../types/long.md)\], \];
+
+***
+
[$updateUserBlocked](../constructors/updateUserBlocked.md) = \['user_id' => [int](../types/int.md), 'blocked' => [Bool](../types/Bool.md), \];
+
+***
+
[$updateUserName](../constructors/updateUserName.md) = \['user_id' => [int](../types/int.md), 'first_name' => [string](../types/string.md), 'last_name' => [string](../types/string.md), 'username' => [string](../types/string.md), \];
+
+***
+
[$updateUserPhone](../constructors/updateUserPhone.md) = \['user_id' => [int](../types/int.md), 'phone' => [string](../types/string.md), \];
+
+***
+
[$updateUserPhoto](../constructors/updateUserPhoto.md) = \['user_id' => [int](../types/int.md), 'date' => [int](../types/int.md), 'photo' => [UserProfilePhoto](../types/UserProfilePhoto.md), 'previous' => [Bool](../types/Bool.md), \];
+
+***
+
[$updateUserStatus](../constructors/updateUserStatus.md) = \['user_id' => [int](../types/int.md), 'status' => [UserStatus](../types/UserStatus.md), \];
+
+***
+
[$updateUserTyping](../constructors/updateUserTyping.md) = \['user_id' => [int](../types/int.md), 'action' => [SendMessageAction](../types/SendMessageAction.md), \];
+
+***
+
[$updateWebPage](../constructors/updateWebPage.md) = \['webpage' => [WebPage](../types/WebPage.md), 'pts' => [int](../types/int.md), 'pts_count' => [int](../types/int.md), \];
+
+***
+
[$updates](../constructors/updates.md) = \['updates' => \[[Update](../types/Update.md)\], 'users' => \[[User](../types/User.md)\], 'chats' => \[[Chat](../types/Chat.md)\], 'date' => [int](../types/int.md), 'seq' => [int](../types/int.md), \];
+
+***
+
[$updatesCombined](../constructors/updatesCombined.md) = \['updates' => \[[Update](../types/Update.md)\], 'users' => \[[User](../types/User.md)\], 'chats' => \[[Chat](../types/Chat.md)\], 'date' => [int](../types/int.md), 'seq_start' => [int](../types/int.md), 'seq' => [int](../types/int.md), \];
+
+***
+
[$updatesTooLong](../constructors/updatesTooLong.md) = \[\];
+
+***
+
[$updates\_channelDifference](../constructors/updates_channelDifference.md) = \['final' => [Bool](../types/Bool.md), 'pts' => [int](../types/int.md), 'timeout' => [int](../types/int.md), 'new_messages' => \[[Message](../types/Message.md)\], 'other_updates' => \[[Update](../types/Update.md)\], 'chats' => \[[Chat](../types/Chat.md)\], 'users' => \[[User](../types/User.md)\], \];
+
+[$updates\_channelDifferenceEmpty](../constructors/updates_channelDifferenceEmpty.md) = \['final' => [Bool](../types/Bool.md), 'pts' => [int](../types/int.md), 'timeout' => [int](../types/int.md), \];
+
+[$updates\_channelDifferenceTooLong](../constructors/updates_channelDifferenceTooLong.md) = \['final' => [Bool](../types/Bool.md), 'pts' => [int](../types/int.md), 'timeout' => [int](../types/int.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), 'messages' => \[[Message](../types/Message.md)\], 'chats' => \[[Chat](../types/Chat.md)\], 'users' => \[[User](../types/User.md)\], \];
+
+[$updates\_difference](../constructors/updates_difference.md) = \['new_messages' => \[[Message](../types/Message.md)\], 'new_encrypted_messages' => \[[EncryptedMessage](../types/EncryptedMessage.md)\], 'other_updates' => \[[Update](../types/Update.md)\], 'chats' => \[[Chat](../types/Chat.md)\], 'users' => \[[User](../types/User.md)\], 'state' => [updates\_State](../types/updates_State.md), \];
+
+[$updates\_differenceEmpty](../constructors/updates_differenceEmpty.md) = \['date' => [int](../types/int.md), 'seq' => [int](../types/int.md), \];
+
+[$updates\_differenceSlice](../constructors/updates_differenceSlice.md) = \['new_messages' => \[[Message](../types/Message.md)\], 'new_encrypted_messages' => \[[EncryptedMessage](../types/EncryptedMessage.md)\], 'other_updates' => \[[Update](../types/Update.md)\], 'chats' => \[[Chat](../types/Chat.md)\], 'users' => \[[User](../types/User.md)\], 'intermediate_state' => [updates\_State](../types/updates_State.md), \];
+
+[$updates\_differenceTooLong](../constructors/updates_differenceTooLong.md) = \['pts' => [int](../types/int.md), \];
+
+[$updates\_state](../constructors/updates_state.md) = \['pts' => [int](../types/int.md), 'qts' => [int](../types/int.md), 'date' => [int](../types/int.md), 'seq' => [int](../types/int.md), 'unread_count' => [int](../types/int.md), \];
+
+***
+
[$upload\_file](../constructors/upload_file.md) = \['type' => [storage\_FileType](../types/storage_FileType.md), 'mtime' => [int](../types/int.md), 'bytes' => [bytes](../types/bytes.md), \];
+
+***
+
[$user](../constructors/user.md) = \['self' => [Bool](../types/Bool.md), 'contact' => [Bool](../types/Bool.md), 'mutual_contact' => [Bool](../types/Bool.md), 'deleted' => [Bool](../types/Bool.md), 'bot' => [Bool](../types/Bool.md), 'bot_chat_history' => [Bool](../types/Bool.md), 'bot_nochats' => [Bool](../types/Bool.md), 'verified' => [Bool](../types/Bool.md), 'restricted' => [Bool](../types/Bool.md), 'min' => [Bool](../types/Bool.md), 'bot_inline_geo' => [Bool](../types/Bool.md), 'id' => [int](../types/int.md), 'access_hash' => [long](../types/long.md), 'first_name' => [string](../types/string.md), 'last_name' => [string](../types/string.md), 'username' => [string](../types/string.md), 'phone' => [string](../types/string.md), 'photo' => [UserProfilePhoto](../types/UserProfilePhoto.md), 'status' => [UserStatus](../types/UserStatus.md), 'bot_info_version' => [int](../types/int.md), 'restriction_reason' => [string](../types/string.md), 'bot_inline_placeholder' => [string](../types/string.md), \];
+
+***
+
[$userEmpty](../constructors/userEmpty.md) = \['id' => [int](../types/int.md), \];
+
+***
+
[$userFull](../constructors/userFull.md) = \['blocked' => [Bool](../types/Bool.md), 'phone_calls_available' => [Bool](../types/Bool.md), 'user' => [User](../types/User.md), 'about' => [string](../types/string.md), 'link' => [contacts\_Link](../types/contacts_Link.md), 'profile_photo' => [Photo](../types/Photo.md), 'notify_settings' => [PeerNotifySettings](../types/PeerNotifySettings.md), 'bot_info' => [BotInfo](../types/BotInfo.md), 'common_chats_count' => [int](../types/int.md), \];
+
+***
+
[$userProfilePhoto](../constructors/userProfilePhoto.md) = \['photo_id' => [long](../types/long.md), 'photo_small' => [FileLocation](../types/FileLocation.md), 'photo_big' => [FileLocation](../types/FileLocation.md), \];
+
+***
+
[$userProfilePhotoEmpty](../constructors/userProfilePhotoEmpty.md) = \[\];
+
+***
+
[$userStatusEmpty](../constructors/userStatusEmpty.md) = \[\];
+
+***
+
[$userStatusLastMonth](../constructors/userStatusLastMonth.md) = \[\];
+
+***
+
[$userStatusLastWeek](../constructors/userStatusLastWeek.md) = \[\];
+
+***
+
[$userStatusOffline](../constructors/userStatusOffline.md) = \['was_online' => [int](../types/int.md), \];
+
+***
+
[$userStatusOnline](../constructors/userStatusOnline.md) = \['expires' => [int](../types/int.md), \];
+
+***
+
[$userStatusRecently](../constructors/userStatusRecently.md) = \[\];
+
+***
+
[$wallPaper](../constructors/wallPaper.md) = \['id' => [int](../types/int.md), 'title' => [string](../types/string.md), 'sizes' => \[[PhotoSize](../types/PhotoSize.md)\], 'color' => [int](../types/int.md), \];
+
+***
+
[$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), \];
+
+***
+
[$webPage](../constructors/webPage.md) = \['id' => [long](../types/long.md), 'url' => [string](../types/string.md), 'display_url' => [string](../types/string.md), 'hash' => [int](../types/int.md), 'type' => [string](../types/string.md), 'site_name' => [string](../types/string.md), 'title' => [string](../types/string.md), 'description' => [string](../types/string.md), 'photo' => [Photo](../types/Photo.md), 'embed_url' => [string](../types/string.md), 'embed_type' => [string](../types/string.md), 'embed_width' => [int](../types/int.md), 'embed_height' => [int](../types/int.md), 'duration' => [int](../types/int.md), 'author' => [string](../types/string.md), 'document' => [Document](../types/Document.md), 'cached_page' => [Page](../types/Page.md), \];
+
+***
+
[$webPageEmpty](../constructors/webPageEmpty.md) = \['id' => [long](../types/long.md), \];
+
+***
+
[$webPageNotModified](../constructors/webPageNotModified.md) = \[\];
+
+***
+
[$webPagePending](../constructors/webPagePending.md) = \['id' => [long](../types/long.md), 'date' => [int](../types/int.md), \];
+
diff --git a/old_docs/API_docs_v62/constructors/accountDaysTTL.md b/old_docs/API_docs_v62/constructors/accountDaysTTL.md
new file mode 100644
index 00000000..c58f2bd9
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/accountDaysTTL.md
@@ -0,0 +1,35 @@
+---
+title: accountDaysTTL
+description: accountDaysTTL attributes, type and example
+---
+## Constructor: accountDaysTTL
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|days|[int](../types/int.md) | Yes|
+
+
+
+### Type: [AccountDaysTTL](../types/AccountDaysTTL.md)
+
+
+### Example:
+
+```
+$accountDaysTTL = ['_' => 'accountDaysTTL', 'days' => int, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+accountDaysTTL={_='accountDaysTTL', days=int, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/account_authorizations.md b/old_docs/API_docs_v62/constructors/account_authorizations.md
new file mode 100644
index 00000000..f39a6b13
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/account_authorizations.md
@@ -0,0 +1,35 @@
+---
+title: account.authorizations
+description: account_authorizations attributes, type and example
+---
+## Constructor: account.authorizations
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|authorizations|Array of [Authorization](../types/Authorization.md) | Yes|
+
+
+
+### Type: [account\_Authorizations](../types/account_Authorizations.md)
+
+
+### Example:
+
+```
+$account_authorizations = ['_' => 'account.authorizations', 'authorizations' => [Authorization], ];
+```
+
+Or, if you're into Lua:
+
+
+```
+account_authorizations={_='account.authorizations', authorizations={Authorization}, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/account_noPassword.md b/old_docs/API_docs_v62/constructors/account_noPassword.md
new file mode 100644
index 00000000..16f98ae4
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/account_noPassword.md
@@ -0,0 +1,36 @@
+---
+title: account.noPassword
+description: account_noPassword attributes, type and example
+---
+## Constructor: account.noPassword
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|new\_salt|[bytes](../types/bytes.md) | Yes|
+|email\_unconfirmed\_pattern|[string](../types/string.md) | Yes|
+
+
+
+### Type: [account\_Password](../types/account_Password.md)
+
+
+### Example:
+
+```
+$account_noPassword = ['_' => 'account.noPassword', 'new_salt' => bytes, 'email_unconfirmed_pattern' => string, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+account_noPassword={_='account.noPassword', new_salt=bytes, email_unconfirmed_pattern=string, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/account_password.md b/old_docs/API_docs_v62/constructors/account_password.md
new file mode 100644
index 00000000..302b3a11
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/account_password.md
@@ -0,0 +1,39 @@
+---
+title: account.password
+description: account_password attributes, type and example
+---
+## Constructor: account.password
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|current\_salt|[bytes](../types/bytes.md) | Yes|
+|new\_salt|[bytes](../types/bytes.md) | Yes|
+|hint|[string](../types/string.md) | Yes|
+|has\_recovery|[Bool](../types/Bool.md) | Yes|
+|email\_unconfirmed\_pattern|[string](../types/string.md) | Yes|
+
+
+
+### Type: [account\_Password](../types/account_Password.md)
+
+
+### Example:
+
+```
+$account_password = ['_' => 'account.password', 'current_salt' => bytes, 'new_salt' => bytes, 'hint' => string, 'has_recovery' => Bool, 'email_unconfirmed_pattern' => string, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+account_password={_='account.password', current_salt=bytes, new_salt=bytes, hint=string, has_recovery=Bool, email_unconfirmed_pattern=string, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/account_passwordInputSettings.md b/old_docs/API_docs_v62/constructors/account_passwordInputSettings.md
new file mode 100644
index 00000000..8ad15fe4
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/account_passwordInputSettings.md
@@ -0,0 +1,38 @@
+---
+title: account.passwordInputSettings
+description: account_passwordInputSettings attributes, type and example
+---
+## Constructor: account.passwordInputSettings
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|new\_salt|[bytes](../types/bytes.md) | Optional|
+|new\_password\_hash|[bytes](../types/bytes.md) | Optional|
+|hint|[string](../types/string.md) | Optional|
+|email|[string](../types/string.md) | Optional|
+
+
+
+### Type: [account\_PasswordInputSettings](../types/account_PasswordInputSettings.md)
+
+
+### Example:
+
+```
+$account_passwordInputSettings = ['_' => 'account.passwordInputSettings', 'new_salt' => bytes, 'new_password_hash' => bytes, 'hint' => string, 'email' => string, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+account_passwordInputSettings={_='account.passwordInputSettings', new_salt=bytes, new_password_hash=bytes, hint=string, email=string, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/account_passwordSettings.md b/old_docs/API_docs_v62/constructors/account_passwordSettings.md
new file mode 100644
index 00000000..2f725660
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/account_passwordSettings.md
@@ -0,0 +1,35 @@
+---
+title: account.passwordSettings
+description: account_passwordSettings attributes, type and example
+---
+## Constructor: account.passwordSettings
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|email|[string](../types/string.md) | Yes|
+
+
+
+### Type: [account\_PasswordSettings](../types/account_PasswordSettings.md)
+
+
+### Example:
+
+```
+$account_passwordSettings = ['_' => 'account.passwordSettings', 'email' => string, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+account_passwordSettings={_='account.passwordSettings', email=string, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/account_privacyRules.md b/old_docs/API_docs_v62/constructors/account_privacyRules.md
new file mode 100644
index 00000000..d444e332
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/account_privacyRules.md
@@ -0,0 +1,36 @@
+---
+title: account.privacyRules
+description: account_privacyRules attributes, type and example
+---
+## Constructor: account.privacyRules
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|rules|Array of [PrivacyRule](../types/PrivacyRule.md) | Yes|
+|users|Array of [User](../types/User.md) | Yes|
+
+
+
+### Type: [account\_PrivacyRules](../types/account_PrivacyRules.md)
+
+
+### Example:
+
+```
+$account_privacyRules = ['_' => 'account.privacyRules', 'rules' => [PrivacyRule], 'users' => [User], ];
+```
+
+Or, if you're into Lua:
+
+
+```
+account_privacyRules={_='account.privacyRules', rules={PrivacyRule}, users={User}, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/auth_authorization.md b/old_docs/API_docs_v62/constructors/auth_authorization.md
new file mode 100644
index 00000000..a162abcd
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/auth_authorization.md
@@ -0,0 +1,36 @@
+---
+title: auth.authorization
+description: auth_authorization attributes, type and example
+---
+## Constructor: auth.authorization
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|tmp\_sessions|[int](../types/int.md) | Optional|
+|user|[User](../types/User.md) | Yes|
+
+
+
+### Type: [auth\_Authorization](../types/auth_Authorization.md)
+
+
+### Example:
+
+```
+$auth_authorization = ['_' => 'auth.authorization', 'tmp_sessions' => int, 'user' => User, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+auth_authorization={_='auth.authorization', tmp_sessions=int, user=User, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/auth_checkedPhone.md b/old_docs/API_docs_v62/constructors/auth_checkedPhone.md
new file mode 100644
index 00000000..7e2f35d4
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/auth_checkedPhone.md
@@ -0,0 +1,35 @@
+---
+title: auth.checkedPhone
+description: auth_checkedPhone attributes, type and example
+---
+## Constructor: auth.checkedPhone
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|phone\_registered|[Bool](../types/Bool.md) | Yes|
+
+
+
+### Type: [auth\_CheckedPhone](../types/auth_CheckedPhone.md)
+
+
+### Example:
+
+```
+$auth_checkedPhone = ['_' => 'auth.checkedPhone', 'phone_registered' => Bool, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+auth_checkedPhone={_='auth.checkedPhone', phone_registered=Bool, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/auth_codeTypeCall.md b/old_docs/API_docs_v62/constructors/auth_codeTypeCall.md
new file mode 100644
index 00000000..6ac151ad
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/auth_codeTypeCall.md
@@ -0,0 +1,30 @@
+---
+title: auth.codeTypeCall
+description: auth_codeTypeCall attributes, type and example
+---
+## Constructor: auth.codeTypeCall
+[Back to constructors index](index.md)
+
+
+
+
+
+
+### Type: [auth\_CodeType](../types/auth_CodeType.md)
+
+
+### Example:
+
+```
+$auth_codeTypeCall = ['_' => 'auth.codeTypeCall', ];
+```
+
+Or, if you're into Lua:
+
+
+```
+auth_codeTypeCall={_='auth.codeTypeCall', }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/auth_codeTypeFlashCall.md b/old_docs/API_docs_v62/constructors/auth_codeTypeFlashCall.md
new file mode 100644
index 00000000..a8c2bc05
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/auth_codeTypeFlashCall.md
@@ -0,0 +1,30 @@
+---
+title: auth.codeTypeFlashCall
+description: auth_codeTypeFlashCall attributes, type and example
+---
+## Constructor: auth.codeTypeFlashCall
+[Back to constructors index](index.md)
+
+
+
+
+
+
+### Type: [auth\_CodeType](../types/auth_CodeType.md)
+
+
+### Example:
+
+```
+$auth_codeTypeFlashCall = ['_' => 'auth.codeTypeFlashCall', ];
+```
+
+Or, if you're into Lua:
+
+
+```
+auth_codeTypeFlashCall={_='auth.codeTypeFlashCall', }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/auth_codeTypeSms.md b/old_docs/API_docs_v62/constructors/auth_codeTypeSms.md
new file mode 100644
index 00000000..aa7eccac
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/auth_codeTypeSms.md
@@ -0,0 +1,30 @@
+---
+title: auth.codeTypeSms
+description: auth_codeTypeSms attributes, type and example
+---
+## Constructor: auth.codeTypeSms
+[Back to constructors index](index.md)
+
+
+
+
+
+
+### Type: [auth\_CodeType](../types/auth_CodeType.md)
+
+
+### Example:
+
+```
+$auth_codeTypeSms = ['_' => 'auth.codeTypeSms', ];
+```
+
+Or, if you're into Lua:
+
+
+```
+auth_codeTypeSms={_='auth.codeTypeSms', }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/auth_exportedAuthorization.md b/old_docs/API_docs_v62/constructors/auth_exportedAuthorization.md
new file mode 100644
index 00000000..666b6f7a
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/auth_exportedAuthorization.md
@@ -0,0 +1,36 @@
+---
+title: auth.exportedAuthorization
+description: auth_exportedAuthorization attributes, type and example
+---
+## Constructor: auth.exportedAuthorization
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|id|[int](../types/int.md) | Yes|
+|bytes|[bytes](../types/bytes.md) | Yes|
+
+
+
+### Type: [auth\_ExportedAuthorization](../types/auth_ExportedAuthorization.md)
+
+
+### Example:
+
+```
+$auth_exportedAuthorization = ['_' => 'auth.exportedAuthorization', 'id' => int, 'bytes' => bytes, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+auth_exportedAuthorization={_='auth.exportedAuthorization', id=int, bytes=bytes, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/auth_passwordRecovery.md b/old_docs/API_docs_v62/constructors/auth_passwordRecovery.md
new file mode 100644
index 00000000..acfb7a82
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/auth_passwordRecovery.md
@@ -0,0 +1,35 @@
+---
+title: auth.passwordRecovery
+description: auth_passwordRecovery attributes, type and example
+---
+## Constructor: auth.passwordRecovery
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|email\_pattern|[string](../types/string.md) | Yes|
+
+
+
+### Type: [auth\_PasswordRecovery](../types/auth_PasswordRecovery.md)
+
+
+### Example:
+
+```
+$auth_passwordRecovery = ['_' => 'auth.passwordRecovery', 'email_pattern' => string, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+auth_passwordRecovery={_='auth.passwordRecovery', email_pattern=string, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/auth_sentCode.md b/old_docs/API_docs_v62/constructors/auth_sentCode.md
new file mode 100644
index 00000000..f3ac1809
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/auth_sentCode.md
@@ -0,0 +1,39 @@
+---
+title: auth.sentCode
+description: auth_sentCode attributes, type and example
+---
+## Constructor: auth.sentCode
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|phone\_registered|[Bool](../types/Bool.md) | Optional|
+|type|[auth\_SentCodeType](../types/auth_SentCodeType.md) | Yes|
+|phone\_code\_hash|[string](../types/string.md) | Yes|
+|next\_type|[auth\_CodeType](../types/auth_CodeType.md) | Optional|
+|timeout|[int](../types/int.md) | Optional|
+
+
+
+### Type: [auth\_SentCode](../types/auth_SentCode.md)
+
+
+### Example:
+
+```
+$auth_sentCode = ['_' => 'auth.sentCode', 'phone_registered' => Bool, 'type' => auth_SentCodeType, 'phone_code_hash' => string, 'next_type' => auth_CodeType, 'timeout' => int, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+auth_sentCode={_='auth.sentCode', phone_registered=Bool, type=auth_SentCodeType, phone_code_hash=string, next_type=auth_CodeType, timeout=int, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/auth_sentCodeTypeApp.md b/old_docs/API_docs_v62/constructors/auth_sentCodeTypeApp.md
new file mode 100644
index 00000000..84d05955
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/auth_sentCodeTypeApp.md
@@ -0,0 +1,35 @@
+---
+title: auth.sentCodeTypeApp
+description: auth_sentCodeTypeApp attributes, type and example
+---
+## Constructor: auth.sentCodeTypeApp
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|length|[int](../types/int.md) | Yes|
+
+
+
+### Type: [auth\_SentCodeType](../types/auth_SentCodeType.md)
+
+
+### Example:
+
+```
+$auth_sentCodeTypeApp = ['_' => 'auth.sentCodeTypeApp', 'length' => int, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+auth_sentCodeTypeApp={_='auth.sentCodeTypeApp', length=int, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/auth_sentCodeTypeCall.md b/old_docs/API_docs_v62/constructors/auth_sentCodeTypeCall.md
new file mode 100644
index 00000000..889cec01
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/auth_sentCodeTypeCall.md
@@ -0,0 +1,35 @@
+---
+title: auth.sentCodeTypeCall
+description: auth_sentCodeTypeCall attributes, type and example
+---
+## Constructor: auth.sentCodeTypeCall
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|length|[int](../types/int.md) | Yes|
+
+
+
+### Type: [auth\_SentCodeType](../types/auth_SentCodeType.md)
+
+
+### Example:
+
+```
+$auth_sentCodeTypeCall = ['_' => 'auth.sentCodeTypeCall', 'length' => int, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+auth_sentCodeTypeCall={_='auth.sentCodeTypeCall', length=int, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/auth_sentCodeTypeFlashCall.md b/old_docs/API_docs_v62/constructors/auth_sentCodeTypeFlashCall.md
new file mode 100644
index 00000000..f5ec0920
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/auth_sentCodeTypeFlashCall.md
@@ -0,0 +1,35 @@
+---
+title: auth.sentCodeTypeFlashCall
+description: auth_sentCodeTypeFlashCall attributes, type and example
+---
+## Constructor: auth.sentCodeTypeFlashCall
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|pattern|[string](../types/string.md) | Yes|
+
+
+
+### Type: [auth\_SentCodeType](../types/auth_SentCodeType.md)
+
+
+### Example:
+
+```
+$auth_sentCodeTypeFlashCall = ['_' => 'auth.sentCodeTypeFlashCall', 'pattern' => string, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+auth_sentCodeTypeFlashCall={_='auth.sentCodeTypeFlashCall', pattern=string, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/auth_sentCodeTypeSms.md b/old_docs/API_docs_v62/constructors/auth_sentCodeTypeSms.md
new file mode 100644
index 00000000..5c4075c1
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/auth_sentCodeTypeSms.md
@@ -0,0 +1,35 @@
+---
+title: auth.sentCodeTypeSms
+description: auth_sentCodeTypeSms attributes, type and example
+---
+## Constructor: auth.sentCodeTypeSms
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|length|[int](../types/int.md) | Yes|
+
+
+
+### Type: [auth\_SentCodeType](../types/auth_SentCodeType.md)
+
+
+### Example:
+
+```
+$auth_sentCodeTypeSms = ['_' => 'auth.sentCodeTypeSms', 'length' => int, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+auth_sentCodeTypeSms={_='auth.sentCodeTypeSms', length=int, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/authorization.md b/old_docs/API_docs_v62/constructors/authorization.md
new file mode 100644
index 00000000..ff341241
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/authorization.md
@@ -0,0 +1,46 @@
+---
+title: authorization
+description: authorization attributes, type and example
+---
+## Constructor: authorization
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|hash|[long](../types/long.md) | Yes|
+|device\_model|[string](../types/string.md) | Yes|
+|platform|[string](../types/string.md) | Yes|
+|system\_version|[string](../types/string.md) | Yes|
+|api\_id|[int](../types/int.md) | Yes|
+|app\_name|[string](../types/string.md) | Yes|
+|app\_version|[string](../types/string.md) | Yes|
+|date\_created|[int](../types/int.md) | Yes|
+|date\_active|[int](../types/int.md) | Yes|
+|ip|[string](../types/string.md) | Yes|
+|country|[string](../types/string.md) | Yes|
+|region|[string](../types/string.md) | Yes|
+
+
+
+### Type: [Authorization](../types/Authorization.md)
+
+
+### 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, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+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, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/boolFalse.md b/old_docs/API_docs_v62/constructors/boolFalse.md
new file mode 100644
index 00000000..3462a90f
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/boolFalse.md
@@ -0,0 +1,8 @@
+---
+title: boolFalse
+description: Represents a boolean with value equal to false
+---
+# boolFalse
+[Back to constructor index](index.md)
+
+ Represents a boolean with value equal to `false`.
\ No newline at end of file
diff --git a/old_docs/API_docs_v62/constructors/boolTrue.md b/old_docs/API_docs_v62/constructors/boolTrue.md
new file mode 100644
index 00000000..2b200e04
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/boolTrue.md
@@ -0,0 +1,8 @@
+---
+title: boolTrue
+description: Represents a boolean with value equal to true
+---
+# boolTrue
+[Back to constructor index](index.md)
+
+Represents a boolean with value equal to `true`.
\ No newline at end of file
diff --git a/old_docs/API_docs_v62/constructors/botCommand.md b/old_docs/API_docs_v62/constructors/botCommand.md
new file mode 100644
index 00000000..f7d22c96
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/botCommand.md
@@ -0,0 +1,36 @@
+---
+title: botCommand
+description: botCommand attributes, type and example
+---
+## Constructor: botCommand
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|command|[string](../types/string.md) | Yes|
+|description|[string](../types/string.md) | Yes|
+
+
+
+### Type: [BotCommand](../types/BotCommand.md)
+
+
+### Example:
+
+```
+$botCommand = ['_' => 'botCommand', 'command' => string, 'description' => string, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+botCommand={_='botCommand', command=string, description=string, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/botInfo.md b/old_docs/API_docs_v62/constructors/botInfo.md
new file mode 100644
index 00000000..0fce4bf8
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/botInfo.md
@@ -0,0 +1,37 @@
+---
+title: botInfo
+description: botInfo attributes, type and example
+---
+## Constructor: botInfo
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|user\_id|[int](../types/int.md) | Yes|
+|description|[string](../types/string.md) | Yes|
+|commands|Array of [BotCommand](../types/BotCommand.md) | Yes|
+
+
+
+### Type: [BotInfo](../types/BotInfo.md)
+
+
+### Example:
+
+```
+$botInfo = ['_' => 'botInfo', 'user_id' => int, 'description' => string, 'commands' => [BotCommand], ];
+```
+
+Or, if you're into Lua:
+
+
+```
+botInfo={_='botInfo', user_id=int, description=string, commands={BotCommand}, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/botInlineMediaResult.md b/old_docs/API_docs_v62/constructors/botInlineMediaResult.md
new file mode 100644
index 00000000..147b4774
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/botInlineMediaResult.md
@@ -0,0 +1,41 @@
+---
+title: botInlineMediaResult
+description: botInlineMediaResult attributes, type and example
+---
+## Constructor: botInlineMediaResult
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|id|[string](../types/string.md) | Yes|
+|type|[string](../types/string.md) | Yes|
+|photo|[Photo](../types/Photo.md) | Optional|
+|document|[Document](../types/Document.md) | Optional|
+|title|[string](../types/string.md) | Optional|
+|description|[string](../types/string.md) | Optional|
+|send\_message|[BotInlineMessage](../types/BotInlineMessage.md) | Yes|
+
+
+
+### Type: [BotInlineResult](../types/BotInlineResult.md)
+
+
+### Example:
+
+```
+$botInlineMediaResult = ['_' => 'botInlineMediaResult', 'id' => string, 'type' => string, 'photo' => Photo, 'document' => Document, 'title' => string, 'description' => string, 'send_message' => BotInlineMessage, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+botInlineMediaResult={_='botInlineMediaResult', id=string, type=string, photo=Photo, document=Document, title=string, description=string, send_message=BotInlineMessage, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/botInlineMessageMediaAuto.md b/old_docs/API_docs_v62/constructors/botInlineMessageMediaAuto.md
new file mode 100644
index 00000000..6ed2ffd9
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/botInlineMessageMediaAuto.md
@@ -0,0 +1,36 @@
+---
+title: botInlineMessageMediaAuto
+description: botInlineMessageMediaAuto attributes, type and example
+---
+## Constructor: botInlineMessageMediaAuto
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|caption|[string](../types/string.md) | Yes|
+|reply\_markup|[ReplyMarkup](../types/ReplyMarkup.md) | Optional|
+
+
+
+### Type: [BotInlineMessage](../types/BotInlineMessage.md)
+
+
+### Example:
+
+```
+$botInlineMessageMediaAuto = ['_' => 'botInlineMessageMediaAuto', 'caption' => string, 'reply_markup' => ReplyMarkup, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+botInlineMessageMediaAuto={_='botInlineMessageMediaAuto', caption=string, reply_markup=ReplyMarkup, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/botInlineMessageMediaContact.md b/old_docs/API_docs_v62/constructors/botInlineMessageMediaContact.md
new file mode 100644
index 00000000..6bdda386
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/botInlineMessageMediaContact.md
@@ -0,0 +1,38 @@
+---
+title: botInlineMessageMediaContact
+description: botInlineMessageMediaContact attributes, type and example
+---
+## Constructor: botInlineMessageMediaContact
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|phone\_number|[string](../types/string.md) | Yes|
+|first\_name|[string](../types/string.md) | Yes|
+|last\_name|[string](../types/string.md) | Yes|
+|reply\_markup|[ReplyMarkup](../types/ReplyMarkup.md) | Optional|
+
+
+
+### Type: [BotInlineMessage](../types/BotInlineMessage.md)
+
+
+### Example:
+
+```
+$botInlineMessageMediaContact = ['_' => 'botInlineMessageMediaContact', 'phone_number' => string, 'first_name' => string, 'last_name' => string, 'reply_markup' => ReplyMarkup, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+botInlineMessageMediaContact={_='botInlineMessageMediaContact', phone_number=string, first_name=string, last_name=string, reply_markup=ReplyMarkup, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/botInlineMessageMediaGeo.md b/old_docs/API_docs_v62/constructors/botInlineMessageMediaGeo.md
new file mode 100644
index 00000000..38b53228
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/botInlineMessageMediaGeo.md
@@ -0,0 +1,36 @@
+---
+title: botInlineMessageMediaGeo
+description: botInlineMessageMediaGeo attributes, type and example
+---
+## Constructor: botInlineMessageMediaGeo
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|geo|[GeoPoint](../types/GeoPoint.md) | Yes|
+|reply\_markup|[ReplyMarkup](../types/ReplyMarkup.md) | Optional|
+
+
+
+### Type: [BotInlineMessage](../types/BotInlineMessage.md)
+
+
+### Example:
+
+```
+$botInlineMessageMediaGeo = ['_' => 'botInlineMessageMediaGeo', 'geo' => GeoPoint, 'reply_markup' => ReplyMarkup, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+botInlineMessageMediaGeo={_='botInlineMessageMediaGeo', geo=GeoPoint, reply_markup=ReplyMarkup, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/botInlineMessageMediaVenue.md b/old_docs/API_docs_v62/constructors/botInlineMessageMediaVenue.md
new file mode 100644
index 00000000..39880cfc
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/botInlineMessageMediaVenue.md
@@ -0,0 +1,40 @@
+---
+title: botInlineMessageMediaVenue
+description: botInlineMessageMediaVenue attributes, type and example
+---
+## Constructor: botInlineMessageMediaVenue
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|geo|[GeoPoint](../types/GeoPoint.md) | Yes|
+|title|[string](../types/string.md) | Yes|
+|address|[string](../types/string.md) | Yes|
+|provider|[string](../types/string.md) | Yes|
+|venue\_id|[string](../types/string.md) | Yes|
+|reply\_markup|[ReplyMarkup](../types/ReplyMarkup.md) | Optional|
+
+
+
+### Type: [BotInlineMessage](../types/BotInlineMessage.md)
+
+
+### Example:
+
+```
+$botInlineMessageMediaVenue = ['_' => 'botInlineMessageMediaVenue', 'geo' => GeoPoint, 'title' => string, 'address' => string, 'provider' => string, 'venue_id' => string, 'reply_markup' => ReplyMarkup, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+botInlineMessageMediaVenue={_='botInlineMessageMediaVenue', geo=GeoPoint, title=string, address=string, provider=string, venue_id=string, reply_markup=ReplyMarkup, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/botInlineMessageText.md b/old_docs/API_docs_v62/constructors/botInlineMessageText.md
new file mode 100644
index 00000000..750ddf50
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/botInlineMessageText.md
@@ -0,0 +1,38 @@
+---
+title: botInlineMessageText
+description: botInlineMessageText attributes, type and example
+---
+## Constructor: botInlineMessageText
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|no\_webpage|[Bool](../types/Bool.md) | Optional|
+|message|[string](../types/string.md) | Yes|
+|entities|Array of [MessageEntity](../types/MessageEntity.md) | Optional|
+|reply\_markup|[ReplyMarkup](../types/ReplyMarkup.md) | Optional|
+
+
+
+### Type: [BotInlineMessage](../types/BotInlineMessage.md)
+
+
+### Example:
+
+```
+$botInlineMessageText = ['_' => 'botInlineMessageText', 'no_webpage' => Bool, 'message' => string, 'entities' => [MessageEntity], 'reply_markup' => ReplyMarkup, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+botInlineMessageText={_='botInlineMessageText', no_webpage=Bool, message=string, entities={MessageEntity}, reply_markup=ReplyMarkup, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/botInlineResult.md b/old_docs/API_docs_v62/constructors/botInlineResult.md
new file mode 100644
index 00000000..839edda1
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/botInlineResult.md
@@ -0,0 +1,46 @@
+---
+title: botInlineResult
+description: botInlineResult attributes, type and example
+---
+## Constructor: botInlineResult
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|id|[string](../types/string.md) | Yes|
+|type|[string](../types/string.md) | Yes|
+|title|[string](../types/string.md) | Optional|
+|description|[string](../types/string.md) | Optional|
+|url|[string](../types/string.md) | Optional|
+|thumb\_url|[string](../types/string.md) | Optional|
+|content\_url|[string](../types/string.md) | Optional|
+|content\_type|[string](../types/string.md) | Optional|
+|w|[int](../types/int.md) | Optional|
+|h|[int](../types/int.md) | Optional|
+|duration|[int](../types/int.md) | Optional|
+|send\_message|[BotInlineMessage](../types/BotInlineMessage.md) | Yes|
+
+
+
+### Type: [BotInlineResult](../types/BotInlineResult.md)
+
+
+### 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, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+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, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/channel.md b/old_docs/API_docs_v62/constructors/channel.md
new file mode 100644
index 00000000..1a1db52f
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/channel.md
@@ -0,0 +1,54 @@
+---
+title: channel
+description: channel attributes, type and example
+---
+## Constructor: channel
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|creator|[Bool](../types/Bool.md) | Optional|
+|kicked|[Bool](../types/Bool.md) | Optional|
+|left|[Bool](../types/Bool.md) | Optional|
+|editor|[Bool](../types/Bool.md) | Optional|
+|moderator|[Bool](../types/Bool.md) | Optional|
+|broadcast|[Bool](../types/Bool.md) | Optional|
+|verified|[Bool](../types/Bool.md) | Optional|
+|megagroup|[Bool](../types/Bool.md) | Optional|
+|restricted|[Bool](../types/Bool.md) | Optional|
+|democracy|[Bool](../types/Bool.md) | Optional|
+|signatures|[Bool](../types/Bool.md) | Optional|
+|min|[Bool](../types/Bool.md) | Optional|
+|id|[int](../types/int.md) | Yes|
+|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|
+|date|[int](../types/int.md) | Yes|
+|version|[int](../types/int.md) | Yes|
+|restriction\_reason|[string](../types/string.md) | Optional|
+
+
+
+### Type: [Chat](../types/Chat.md)
+
+
+### Example:
+
+```
+$channel = ['_' => 'channel', 'creator' => Bool, 'kicked' => Bool, 'left' => Bool, 'editor' => Bool, 'moderator' => Bool, 'broadcast' => Bool, 'verified' => Bool, 'megagroup' => Bool, 'restricted' => Bool, 'democracy' => Bool, 'signatures' => Bool, 'min' => Bool, 'id' => int, 'access_hash' => long, 'title' => string, 'username' => string, 'photo' => ChatPhoto, 'date' => int, 'version' => int, 'restriction_reason' => string, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+channel={_='channel', creator=Bool, kicked=Bool, left=Bool, editor=Bool, moderator=Bool, broadcast=Bool, verified=Bool, megagroup=Bool, restricted=Bool, democracy=Bool, signatures=Bool, min=Bool, id=int, access_hash=long, title=string, username=string, photo=ChatPhoto, date=int, version=int, restriction_reason=string, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/channelForbidden.md b/old_docs/API_docs_v62/constructors/channelForbidden.md
new file mode 100644
index 00000000..5522fd5c
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/channelForbidden.md
@@ -0,0 +1,39 @@
+---
+title: channelForbidden
+description: channelForbidden attributes, type and example
+---
+## Constructor: channelForbidden
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|broadcast|[Bool](../types/Bool.md) | Optional|
+|megagroup|[Bool](../types/Bool.md) | Optional|
+|id|[int](../types/int.md) | Yes|
+|access\_hash|[long](../types/long.md) | Yes|
+|title|[string](../types/string.md) | Yes|
+
+
+
+### Type: [Chat](../types/Chat.md)
+
+
+### Example:
+
+```
+$channelForbidden = ['_' => 'channelForbidden', 'broadcast' => Bool, 'megagroup' => Bool, 'id' => int, 'access_hash' => long, 'title' => string, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+channelForbidden={_='channelForbidden', broadcast=Bool, megagroup=Bool, id=int, access_hash=long, title=string, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/channelFull.md b/old_docs/API_docs_v62/constructors/channelFull.md
new file mode 100644
index 00000000..2b3387b7
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/channelFull.md
@@ -0,0 +1,51 @@
+---
+title: channelFull
+description: channelFull attributes, type and example
+---
+## Constructor: channelFull
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|can\_view\_participants|[Bool](../types/Bool.md) | Optional|
+|can\_set\_username|[Bool](../types/Bool.md) | Optional|
+|id|[int](../types/int.md) | Yes|
+|about|[string](../types/string.md) | Yes|
+|participants\_count|[int](../types/int.md) | Optional|
+|admins\_count|[int](../types/int.md) | Optional|
+|kicked\_count|[int](../types/int.md) | Optional|
+|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|
+|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|
+|migrated\_from\_max\_id|[int](../types/int.md) | Optional|
+|pinned\_msg\_id|[int](../types/int.md) | Optional|
+
+
+
+### Type: [ChatFull](../types/ChatFull.md)
+
+
+### Example:
+
+```
+$channelFull = ['_' => 'channelFull', 'can_view_participants' => Bool, 'can_set_username' => Bool, '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' => [BotInfo], 'migrated_from_chat_id' => int, 'migrated_from_max_id' => int, 'pinned_msg_id' => int, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+channelFull={_='channelFull', can_view_participants=Bool, can_set_username=Bool, 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={BotInfo}, migrated_from_chat_id=int, migrated_from_max_id=int, pinned_msg_id=int, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/channelMessagesFilter.md b/old_docs/API_docs_v62/constructors/channelMessagesFilter.md
new file mode 100644
index 00000000..b8b7725b
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/channelMessagesFilter.md
@@ -0,0 +1,36 @@
+---
+title: channelMessagesFilter
+description: channelMessagesFilter attributes, type and example
+---
+## Constructor: channelMessagesFilter
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|exclude\_new\_messages|[Bool](../types/Bool.md) | Optional|
+|ranges|Array of [MessageRange](../types/MessageRange.md) | Yes|
+
+
+
+### Type: [ChannelMessagesFilter](../types/ChannelMessagesFilter.md)
+
+
+### Example:
+
+```
+$channelMessagesFilter = ['_' => 'channelMessagesFilter', 'exclude_new_messages' => Bool, 'ranges' => [MessageRange], ];
+```
+
+Or, if you're into Lua:
+
+
+```
+channelMessagesFilter={_='channelMessagesFilter', exclude_new_messages=Bool, ranges={MessageRange}, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/channelMessagesFilterEmpty.md b/old_docs/API_docs_v62/constructors/channelMessagesFilterEmpty.md
new file mode 100644
index 00000000..b6428227
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/channelMessagesFilterEmpty.md
@@ -0,0 +1,30 @@
+---
+title: channelMessagesFilterEmpty
+description: channelMessagesFilterEmpty attributes, type and example
+---
+## Constructor: channelMessagesFilterEmpty
+[Back to constructors index](index.md)
+
+
+
+
+
+
+### Type: [ChannelMessagesFilter](../types/ChannelMessagesFilter.md)
+
+
+### Example:
+
+```
+$channelMessagesFilterEmpty = ['_' => 'channelMessagesFilterEmpty', ];
+```
+
+Or, if you're into Lua:
+
+
+```
+channelMessagesFilterEmpty={_='channelMessagesFilterEmpty', }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/channelParticipant.md b/old_docs/API_docs_v62/constructors/channelParticipant.md
new file mode 100644
index 00000000..3537cd1b
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/channelParticipant.md
@@ -0,0 +1,36 @@
+---
+title: channelParticipant
+description: channelParticipant attributes, type and example
+---
+## Constructor: channelParticipant
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|user\_id|[int](../types/int.md) | Yes|
+|date|[int](../types/int.md) | Yes|
+
+
+
+### Type: [ChannelParticipant](../types/ChannelParticipant.md)
+
+
+### Example:
+
+```
+$channelParticipant = ['_' => 'channelParticipant', 'user_id' => int, 'date' => int, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+channelParticipant={_='channelParticipant', user_id=int, date=int, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/channelParticipantCreator.md b/old_docs/API_docs_v62/constructors/channelParticipantCreator.md
new file mode 100644
index 00000000..9c8acd0c
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/channelParticipantCreator.md
@@ -0,0 +1,35 @@
+---
+title: channelParticipantCreator
+description: channelParticipantCreator attributes, type and example
+---
+## Constructor: channelParticipantCreator
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|user\_id|[int](../types/int.md) | Yes|
+
+
+
+### Type: [ChannelParticipant](../types/ChannelParticipant.md)
+
+
+### Example:
+
+```
+$channelParticipantCreator = ['_' => 'channelParticipantCreator', 'user_id' => int, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+channelParticipantCreator={_='channelParticipantCreator', user_id=int, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/channelParticipantEditor.md b/old_docs/API_docs_v62/constructors/channelParticipantEditor.md
new file mode 100644
index 00000000..3c866534
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/channelParticipantEditor.md
@@ -0,0 +1,37 @@
+---
+title: channelParticipantEditor
+description: channelParticipantEditor attributes, type and example
+---
+## Constructor: channelParticipantEditor
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|user\_id|[int](../types/int.md) | Yes|
+|inviter\_id|[int](../types/int.md) | Yes|
+|date|[int](../types/int.md) | Yes|
+
+
+
+### Type: [ChannelParticipant](../types/ChannelParticipant.md)
+
+
+### Example:
+
+```
+$channelParticipantEditor = ['_' => 'channelParticipantEditor', 'user_id' => int, 'inviter_id' => int, 'date' => int, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+channelParticipantEditor={_='channelParticipantEditor', user_id=int, inviter_id=int, date=int, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/channelParticipantKicked.md b/old_docs/API_docs_v62/constructors/channelParticipantKicked.md
new file mode 100644
index 00000000..362872f9
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/channelParticipantKicked.md
@@ -0,0 +1,37 @@
+---
+title: channelParticipantKicked
+description: channelParticipantKicked attributes, type and example
+---
+## Constructor: channelParticipantKicked
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|user\_id|[int](../types/int.md) | Yes|
+|kicked\_by|[int](../types/int.md) | Yes|
+|date|[int](../types/int.md) | Yes|
+
+
+
+### Type: [ChannelParticipant](../types/ChannelParticipant.md)
+
+
+### Example:
+
+```
+$channelParticipantKicked = ['_' => 'channelParticipantKicked', 'user_id' => int, 'kicked_by' => int, 'date' => int, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+channelParticipantKicked={_='channelParticipantKicked', user_id=int, kicked_by=int, date=int, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/channelParticipantModerator.md b/old_docs/API_docs_v62/constructors/channelParticipantModerator.md
new file mode 100644
index 00000000..ff9a7094
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/channelParticipantModerator.md
@@ -0,0 +1,37 @@
+---
+title: channelParticipantModerator
+description: channelParticipantModerator attributes, type and example
+---
+## Constructor: channelParticipantModerator
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|user\_id|[int](../types/int.md) | Yes|
+|inviter\_id|[int](../types/int.md) | Yes|
+|date|[int](../types/int.md) | Yes|
+
+
+
+### Type: [ChannelParticipant](../types/ChannelParticipant.md)
+
+
+### Example:
+
+```
+$channelParticipantModerator = ['_' => 'channelParticipantModerator', 'user_id' => int, 'inviter_id' => int, 'date' => int, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+channelParticipantModerator={_='channelParticipantModerator', user_id=int, inviter_id=int, date=int, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/channelParticipantSelf.md b/old_docs/API_docs_v62/constructors/channelParticipantSelf.md
new file mode 100644
index 00000000..91647137
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/channelParticipantSelf.md
@@ -0,0 +1,37 @@
+---
+title: channelParticipantSelf
+description: channelParticipantSelf attributes, type and example
+---
+## Constructor: channelParticipantSelf
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|user\_id|[int](../types/int.md) | Yes|
+|inviter\_id|[int](../types/int.md) | Yes|
+|date|[int](../types/int.md) | Yes|
+
+
+
+### Type: [ChannelParticipant](../types/ChannelParticipant.md)
+
+
+### Example:
+
+```
+$channelParticipantSelf = ['_' => 'channelParticipantSelf', 'user_id' => int, 'inviter_id' => int, 'date' => int, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+channelParticipantSelf={_='channelParticipantSelf', user_id=int, inviter_id=int, date=int, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/channelParticipantsAdmins.md b/old_docs/API_docs_v62/constructors/channelParticipantsAdmins.md
new file mode 100644
index 00000000..14b8cbe6
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/channelParticipantsAdmins.md
@@ -0,0 +1,30 @@
+---
+title: channelParticipantsAdmins
+description: channelParticipantsAdmins attributes, type and example
+---
+## Constructor: channelParticipantsAdmins
+[Back to constructors index](index.md)
+
+
+
+
+
+
+### Type: [ChannelParticipantsFilter](../types/ChannelParticipantsFilter.md)
+
+
+### Example:
+
+```
+$channelParticipantsAdmins = ['_' => 'channelParticipantsAdmins', ];
+```
+
+Or, if you're into Lua:
+
+
+```
+channelParticipantsAdmins={_='channelParticipantsAdmins', }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/channelParticipantsBots.md b/old_docs/API_docs_v62/constructors/channelParticipantsBots.md
new file mode 100644
index 00000000..24b68c95
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/channelParticipantsBots.md
@@ -0,0 +1,30 @@
+---
+title: channelParticipantsBots
+description: channelParticipantsBots attributes, type and example
+---
+## Constructor: channelParticipantsBots
+[Back to constructors index](index.md)
+
+
+
+
+
+
+### Type: [ChannelParticipantsFilter](../types/ChannelParticipantsFilter.md)
+
+
+### Example:
+
+```
+$channelParticipantsBots = ['_' => 'channelParticipantsBots', ];
+```
+
+Or, if you're into Lua:
+
+
+```
+channelParticipantsBots={_='channelParticipantsBots', }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/channelParticipantsKicked.md b/old_docs/API_docs_v62/constructors/channelParticipantsKicked.md
new file mode 100644
index 00000000..d7889060
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/channelParticipantsKicked.md
@@ -0,0 +1,30 @@
+---
+title: channelParticipantsKicked
+description: channelParticipantsKicked attributes, type and example
+---
+## Constructor: channelParticipantsKicked
+[Back to constructors index](index.md)
+
+
+
+
+
+
+### Type: [ChannelParticipantsFilter](../types/ChannelParticipantsFilter.md)
+
+
+### Example:
+
+```
+$channelParticipantsKicked = ['_' => 'channelParticipantsKicked', ];
+```
+
+Or, if you're into Lua:
+
+
+```
+channelParticipantsKicked={_='channelParticipantsKicked', }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/channelParticipantsRecent.md b/old_docs/API_docs_v62/constructors/channelParticipantsRecent.md
new file mode 100644
index 00000000..90945102
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/channelParticipantsRecent.md
@@ -0,0 +1,30 @@
+---
+title: channelParticipantsRecent
+description: channelParticipantsRecent attributes, type and example
+---
+## Constructor: channelParticipantsRecent
+[Back to constructors index](index.md)
+
+
+
+
+
+
+### Type: [ChannelParticipantsFilter](../types/ChannelParticipantsFilter.md)
+
+
+### Example:
+
+```
+$channelParticipantsRecent = ['_' => 'channelParticipantsRecent', ];
+```
+
+Or, if you're into Lua:
+
+
+```
+channelParticipantsRecent={_='channelParticipantsRecent', }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/channelRoleEditor.md b/old_docs/API_docs_v62/constructors/channelRoleEditor.md
new file mode 100644
index 00000000..103b7ae5
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/channelRoleEditor.md
@@ -0,0 +1,30 @@
+---
+title: channelRoleEditor
+description: channelRoleEditor attributes, type and example
+---
+## Constructor: channelRoleEditor
+[Back to constructors index](index.md)
+
+
+
+
+
+
+### Type: [ChannelParticipantRole](../types/ChannelParticipantRole.md)
+
+
+### Example:
+
+```
+$channelRoleEditor = ['_' => 'channelRoleEditor', ];
+```
+
+Or, if you're into Lua:
+
+
+```
+channelRoleEditor={_='channelRoleEditor', }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/channelRoleEmpty.md b/old_docs/API_docs_v62/constructors/channelRoleEmpty.md
new file mode 100644
index 00000000..b5a7b52c
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/channelRoleEmpty.md
@@ -0,0 +1,30 @@
+---
+title: channelRoleEmpty
+description: channelRoleEmpty attributes, type and example
+---
+## Constructor: channelRoleEmpty
+[Back to constructors index](index.md)
+
+
+
+
+
+
+### Type: [ChannelParticipantRole](../types/ChannelParticipantRole.md)
+
+
+### Example:
+
+```
+$channelRoleEmpty = ['_' => 'channelRoleEmpty', ];
+```
+
+Or, if you're into Lua:
+
+
+```
+channelRoleEmpty={_='channelRoleEmpty', }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/channelRoleModerator.md b/old_docs/API_docs_v62/constructors/channelRoleModerator.md
new file mode 100644
index 00000000..f3aaff68
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/channelRoleModerator.md
@@ -0,0 +1,30 @@
+---
+title: channelRoleModerator
+description: channelRoleModerator attributes, type and example
+---
+## Constructor: channelRoleModerator
+[Back to constructors index](index.md)
+
+
+
+
+
+
+### Type: [ChannelParticipantRole](../types/ChannelParticipantRole.md)
+
+
+### Example:
+
+```
+$channelRoleModerator = ['_' => 'channelRoleModerator', ];
+```
+
+Or, if you're into Lua:
+
+
+```
+channelRoleModerator={_='channelRoleModerator', }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/channels_channelParticipant.md b/old_docs/API_docs_v62/constructors/channels_channelParticipant.md
new file mode 100644
index 00000000..5e7631e9
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/channels_channelParticipant.md
@@ -0,0 +1,36 @@
+---
+title: channels.channelParticipant
+description: channels_channelParticipant attributes, type and example
+---
+## Constructor: channels.channelParticipant
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|participant|[ChannelParticipant](../types/ChannelParticipant.md) | Yes|
+|users|Array of [User](../types/User.md) | Yes|
+
+
+
+### Type: [channels\_ChannelParticipant](../types/channels_ChannelParticipant.md)
+
+
+### Example:
+
+```
+$channels_channelParticipant = ['_' => 'channels.channelParticipant', 'participant' => ChannelParticipant, 'users' => [User], ];
+```
+
+Or, if you're into Lua:
+
+
+```
+channels_channelParticipant={_='channels.channelParticipant', participant=ChannelParticipant, users={User}, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/channels_channelParticipants.md b/old_docs/API_docs_v62/constructors/channels_channelParticipants.md
new file mode 100644
index 00000000..7aaa507f
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/channels_channelParticipants.md
@@ -0,0 +1,37 @@
+---
+title: channels.channelParticipants
+description: channels_channelParticipants attributes, type and example
+---
+## Constructor: channels.channelParticipants
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|count|[int](../types/int.md) | Yes|
+|participants|Array of [ChannelParticipant](../types/ChannelParticipant.md) | Yes|
+|users|Array of [User](../types/User.md) | Yes|
+
+
+
+### Type: [channels\_ChannelParticipants](../types/channels_ChannelParticipants.md)
+
+
+### Example:
+
+```
+$channels_channelParticipants = ['_' => 'channels.channelParticipants', 'count' => int, 'participants' => [ChannelParticipant], 'users' => [User], ];
+```
+
+Or, if you're into Lua:
+
+
+```
+channels_channelParticipants={_='channels.channelParticipants', count=int, participants={ChannelParticipant}, users={User}, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/chat.md b/old_docs/API_docs_v62/constructors/chat.md
new file mode 100644
index 00000000..9bad67b3
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/chat.md
@@ -0,0 +1,47 @@
+---
+title: chat
+description: chat attributes, type and example
+---
+## Constructor: chat
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|creator|[Bool](../types/Bool.md) | Optional|
+|kicked|[Bool](../types/Bool.md) | Optional|
+|left|[Bool](../types/Bool.md) | Optional|
+|admins\_enabled|[Bool](../types/Bool.md) | Optional|
+|admin|[Bool](../types/Bool.md) | Optional|
+|deactivated|[Bool](../types/Bool.md) | Optional|
+|id|[int](../types/int.md) | Yes|
+|title|[string](../types/string.md) | Yes|
+|photo|[ChatPhoto](../types/ChatPhoto.md) | Yes|
+|participants\_count|[int](../types/int.md) | Yes|
+|date|[int](../types/int.md) | Yes|
+|version|[int](../types/int.md) | Yes|
+|migrated\_to|[InputChannel](../types/InputChannel.md) | Optional|
+
+
+
+### Type: [Chat](../types/Chat.md)
+
+
+### Example:
+
+```
+$chat = ['_' => 'chat', 'creator' => Bool, 'kicked' => Bool, 'left' => Bool, 'admins_enabled' => Bool, 'admin' => Bool, 'deactivated' => Bool, 'id' => int, 'title' => string, 'photo' => ChatPhoto, 'participants_count' => int, 'date' => int, 'version' => int, 'migrated_to' => InputChannel, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+chat={_='chat', creator=Bool, kicked=Bool, left=Bool, admins_enabled=Bool, admin=Bool, deactivated=Bool, id=int, title=string, photo=ChatPhoto, participants_count=int, date=int, version=int, migrated_to=InputChannel, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/chatEmpty.md b/old_docs/API_docs_v62/constructors/chatEmpty.md
new file mode 100644
index 00000000..5f0f36cd
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/chatEmpty.md
@@ -0,0 +1,35 @@
+---
+title: chatEmpty
+description: chatEmpty attributes, type and example
+---
+## Constructor: chatEmpty
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|id|[int](../types/int.md) | Yes|
+
+
+
+### Type: [Chat](../types/Chat.md)
+
+
+### Example:
+
+```
+$chatEmpty = ['_' => 'chatEmpty', 'id' => int, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+chatEmpty={_='chatEmpty', id=int, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/chatForbidden.md b/old_docs/API_docs_v62/constructors/chatForbidden.md
new file mode 100644
index 00000000..7e10a954
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/chatForbidden.md
@@ -0,0 +1,36 @@
+---
+title: chatForbidden
+description: chatForbidden attributes, type and example
+---
+## Constructor: chatForbidden
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|id|[int](../types/int.md) | Yes|
+|title|[string](../types/string.md) | Yes|
+
+
+
+### Type: [Chat](../types/Chat.md)
+
+
+### Example:
+
+```
+$chatForbidden = ['_' => 'chatForbidden', 'id' => int, 'title' => string, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+chatForbidden={_='chatForbidden', id=int, title=string, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/chatFull.md b/old_docs/API_docs_v62/constructors/chatFull.md
new file mode 100644
index 00000000..ffb74d98
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/chatFull.md
@@ -0,0 +1,40 @@
+---
+title: chatFull
+description: chatFull attributes, type and example
+---
+## Constructor: chatFull
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|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|
+|exported\_invite|[ExportedChatInvite](../types/ExportedChatInvite.md) | Yes|
+|bot\_info|Array of [BotInfo](../types/BotInfo.md) | Yes|
+
+
+
+### Type: [ChatFull](../types/ChatFull.md)
+
+
+### Example:
+
+```
+$chatFull = ['_' => 'chatFull', 'id' => int, 'participants' => ChatParticipants, 'chat_photo' => Photo, 'notify_settings' => PeerNotifySettings, 'exported_invite' => ExportedChatInvite, 'bot_info' => [BotInfo], ];
+```
+
+Or, if you're into Lua:
+
+
+```
+chatFull={_='chatFull', id=int, participants=ChatParticipants, chat_photo=Photo, notify_settings=PeerNotifySettings, exported_invite=ExportedChatInvite, bot_info={BotInfo}, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/chatInvite.md b/old_docs/API_docs_v62/constructors/chatInvite.md
new file mode 100644
index 00000000..7f23c6b9
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/chatInvite.md
@@ -0,0 +1,42 @@
+---
+title: chatInvite
+description: chatInvite attributes, type and example
+---
+## Constructor: chatInvite
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|channel|[Bool](../types/Bool.md) | Optional|
+|broadcast|[Bool](../types/Bool.md) | Optional|
+|public|[Bool](../types/Bool.md) | Optional|
+|megagroup|[Bool](../types/Bool.md) | Optional|
+|title|[string](../types/string.md) | Yes|
+|photo|[ChatPhoto](../types/ChatPhoto.md) | Yes|
+|participants\_count|[int](../types/int.md) | Yes|
+|participants|Array of [User](../types/User.md) | Optional|
+
+
+
+### Type: [ChatInvite](../types/ChatInvite.md)
+
+
+### Example:
+
+```
+$chatInvite = ['_' => 'chatInvite', 'channel' => Bool, 'broadcast' => Bool, 'public' => Bool, 'megagroup' => Bool, 'title' => string, 'photo' => ChatPhoto, 'participants_count' => int, 'participants' => [User], ];
+```
+
+Or, if you're into Lua:
+
+
+```
+chatInvite={_='chatInvite', channel=Bool, broadcast=Bool, public=Bool, megagroup=Bool, title=string, photo=ChatPhoto, participants_count=int, participants={User}, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/chatInviteAlready.md b/old_docs/API_docs_v62/constructors/chatInviteAlready.md
new file mode 100644
index 00000000..74a314d4
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/chatInviteAlready.md
@@ -0,0 +1,35 @@
+---
+title: chatInviteAlready
+description: chatInviteAlready attributes, type and example
+---
+## Constructor: chatInviteAlready
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|chat|[Chat](../types/Chat.md) | Yes|
+
+
+
+### Type: [ChatInvite](../types/ChatInvite.md)
+
+
+### Example:
+
+```
+$chatInviteAlready = ['_' => 'chatInviteAlready', 'chat' => Chat, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+chatInviteAlready={_='chatInviteAlready', chat=Chat, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/chatInviteEmpty.md b/old_docs/API_docs_v62/constructors/chatInviteEmpty.md
new file mode 100644
index 00000000..fa1f707e
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/chatInviteEmpty.md
@@ -0,0 +1,30 @@
+---
+title: chatInviteEmpty
+description: chatInviteEmpty attributes, type and example
+---
+## Constructor: chatInviteEmpty
+[Back to constructors index](index.md)
+
+
+
+
+
+
+### Type: [ExportedChatInvite](../types/ExportedChatInvite.md)
+
+
+### Example:
+
+```
+$chatInviteEmpty = ['_' => 'chatInviteEmpty', ];
+```
+
+Or, if you're into Lua:
+
+
+```
+chatInviteEmpty={_='chatInviteEmpty', }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/chatInviteExported.md b/old_docs/API_docs_v62/constructors/chatInviteExported.md
new file mode 100644
index 00000000..bcfcdf20
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/chatInviteExported.md
@@ -0,0 +1,35 @@
+---
+title: chatInviteExported
+description: chatInviteExported attributes, type and example
+---
+## Constructor: chatInviteExported
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|link|[string](../types/string.md) | Yes|
+
+
+
+### Type: [ExportedChatInvite](../types/ExportedChatInvite.md)
+
+
+### Example:
+
+```
+$chatInviteExported = ['_' => 'chatInviteExported', 'link' => string, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+chatInviteExported={_='chatInviteExported', link=string, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/chatParticipant.md b/old_docs/API_docs_v62/constructors/chatParticipant.md
new file mode 100644
index 00000000..8ef222fa
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/chatParticipant.md
@@ -0,0 +1,37 @@
+---
+title: chatParticipant
+description: chatParticipant attributes, type and example
+---
+## Constructor: chatParticipant
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|user\_id|[int](../types/int.md) | Yes|
+|inviter\_id|[int](../types/int.md) | Yes|
+|date|[int](../types/int.md) | Yes|
+
+
+
+### Type: [ChatParticipant](../types/ChatParticipant.md)
+
+
+### Example:
+
+```
+$chatParticipant = ['_' => 'chatParticipant', 'user_id' => int, 'inviter_id' => int, 'date' => int, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+chatParticipant={_='chatParticipant', user_id=int, inviter_id=int, date=int, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/chatParticipantAdmin.md b/old_docs/API_docs_v62/constructors/chatParticipantAdmin.md
new file mode 100644
index 00000000..6740c4a3
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/chatParticipantAdmin.md
@@ -0,0 +1,37 @@
+---
+title: chatParticipantAdmin
+description: chatParticipantAdmin attributes, type and example
+---
+## Constructor: chatParticipantAdmin
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|user\_id|[int](../types/int.md) | Yes|
+|inviter\_id|[int](../types/int.md) | Yes|
+|date|[int](../types/int.md) | Yes|
+
+
+
+### Type: [ChatParticipant](../types/ChatParticipant.md)
+
+
+### Example:
+
+```
+$chatParticipantAdmin = ['_' => 'chatParticipantAdmin', 'user_id' => int, 'inviter_id' => int, 'date' => int, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+chatParticipantAdmin={_='chatParticipantAdmin', user_id=int, inviter_id=int, date=int, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/chatParticipantCreator.md b/old_docs/API_docs_v62/constructors/chatParticipantCreator.md
new file mode 100644
index 00000000..b80542a7
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/chatParticipantCreator.md
@@ -0,0 +1,35 @@
+---
+title: chatParticipantCreator
+description: chatParticipantCreator attributes, type and example
+---
+## Constructor: chatParticipantCreator
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|user\_id|[int](../types/int.md) | Yes|
+
+
+
+### Type: [ChatParticipant](../types/ChatParticipant.md)
+
+
+### Example:
+
+```
+$chatParticipantCreator = ['_' => 'chatParticipantCreator', 'user_id' => int, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+chatParticipantCreator={_='chatParticipantCreator', user_id=int, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/chatParticipants.md b/old_docs/API_docs_v62/constructors/chatParticipants.md
new file mode 100644
index 00000000..2420f15e
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/chatParticipants.md
@@ -0,0 +1,37 @@
+---
+title: chatParticipants
+description: chatParticipants attributes, type and example
+---
+## Constructor: chatParticipants
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|chat\_id|[int](../types/int.md) | Yes|
+|participants|Array of [ChatParticipant](../types/ChatParticipant.md) | Yes|
+|version|[int](../types/int.md) | Yes|
+
+
+
+### Type: [ChatParticipants](../types/ChatParticipants.md)
+
+
+### Example:
+
+```
+$chatParticipants = ['_' => 'chatParticipants', 'chat_id' => int, 'participants' => [ChatParticipant], 'version' => int, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+chatParticipants={_='chatParticipants', chat_id=int, participants={ChatParticipant}, version=int, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/chatParticipantsForbidden.md b/old_docs/API_docs_v62/constructors/chatParticipantsForbidden.md
new file mode 100644
index 00000000..ab070665
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/chatParticipantsForbidden.md
@@ -0,0 +1,36 @@
+---
+title: chatParticipantsForbidden
+description: chatParticipantsForbidden attributes, type and example
+---
+## Constructor: chatParticipantsForbidden
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|chat\_id|[int](../types/int.md) | Yes|
+|self\_participant|[ChatParticipant](../types/ChatParticipant.md) | Optional|
+
+
+
+### Type: [ChatParticipants](../types/ChatParticipants.md)
+
+
+### Example:
+
+```
+$chatParticipantsForbidden = ['_' => 'chatParticipantsForbidden', 'chat_id' => int, 'self_participant' => ChatParticipant, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+chatParticipantsForbidden={_='chatParticipantsForbidden', chat_id=int, self_participant=ChatParticipant, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/chatPhoto.md b/old_docs/API_docs_v62/constructors/chatPhoto.md
new file mode 100644
index 00000000..2bacf5b2
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/chatPhoto.md
@@ -0,0 +1,36 @@
+---
+title: chatPhoto
+description: chatPhoto attributes, type and example
+---
+## Constructor: chatPhoto
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|photo\_small|[FileLocation](../types/FileLocation.md) | Yes|
+|photo\_big|[FileLocation](../types/FileLocation.md) | Yes|
+
+
+
+### Type: [ChatPhoto](../types/ChatPhoto.md)
+
+
+### Example:
+
+```
+$chatPhoto = ['_' => 'chatPhoto', 'photo_small' => FileLocation, 'photo_big' => FileLocation, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+chatPhoto={_='chatPhoto', photo_small=FileLocation, photo_big=FileLocation, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/chatPhotoEmpty.md b/old_docs/API_docs_v62/constructors/chatPhotoEmpty.md
new file mode 100644
index 00000000..9dc2ac04
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/chatPhotoEmpty.md
@@ -0,0 +1,30 @@
+---
+title: chatPhotoEmpty
+description: chatPhotoEmpty attributes, type and example
+---
+## Constructor: chatPhotoEmpty
+[Back to constructors index](index.md)
+
+
+
+
+
+
+### Type: [ChatPhoto](../types/ChatPhoto.md)
+
+
+### Example:
+
+```
+$chatPhotoEmpty = ['_' => 'chatPhotoEmpty', ];
+```
+
+Or, if you're into Lua:
+
+
+```
+chatPhotoEmpty={_='chatPhotoEmpty', }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/config.md b/old_docs/API_docs_v62/constructors/config.md
new file mode 100644
index 00000000..2aefb385
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/config.md
@@ -0,0 +1,63 @@
+---
+title: config
+description: config attributes, type and example
+---
+## Constructor: config
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|phonecalls\_enabled|[Bool](../types/Bool.md) | Optional|
+|date|[int](../types/int.md) | Yes|
+|expires|[int](../types/int.md) | Yes|
+|test\_mode|[Bool](../types/Bool.md) | Yes|
+|this\_dc|[int](../types/int.md) | Yes|
+|dc\_options|Array of [DcOption](../types/DcOption.md) | Yes|
+|chat\_size\_max|[int](../types/int.md) | Yes|
+|megagroup\_size\_max|[int](../types/int.md) | Yes|
+|forwarded\_count\_max|[int](../types/int.md) | Yes|
+|online\_update\_period\_ms|[int](../types/int.md) | Yes|
+|offline\_blur\_timeout\_ms|[int](../types/int.md) | Yes|
+|offline\_idle\_timeout\_ms|[int](../types/int.md) | Yes|
+|online\_cloud\_timeout\_ms|[int](../types/int.md) | Yes|
+|notify\_cloud\_delay\_ms|[int](../types/int.md) | Yes|
+|notify\_default\_delay\_ms|[int](../types/int.md) | Yes|
+|chat\_big\_size|[int](../types/int.md) | Yes|
+|push\_chat\_period\_ms|[int](../types/int.md) | Yes|
+|push\_chat\_limit|[int](../types/int.md) | Yes|
+|saved\_gifs\_limit|[int](../types/int.md) | Yes|
+|edit\_time\_limit|[int](../types/int.md) | Yes|
+|rating\_e\_decay|[int](../types/int.md) | Yes|
+|stickers\_recent\_limit|[int](../types/int.md) | Yes|
+|tmp\_sessions|[int](../types/int.md) | Optional|
+|pinned\_dialogs\_count\_max|[int](../types/int.md) | Yes|
+|call\_receive\_timeout\_ms|[int](../types/int.md) | Yes|
+|call\_ring\_timeout\_ms|[int](../types/int.md) | Yes|
+|call\_connect\_timeout\_ms|[int](../types/int.md) | Yes|
+|call\_packet\_timeout\_ms|[int](../types/int.md) | Yes|
+|disabled\_features|Array of [DisabledFeature](../types/DisabledFeature.md) | Yes|
+
+
+
+### Type: [Config](../types/Config.md)
+
+
+### Example:
+
+```
+$config = ['_' => 'config', 'phonecalls_enabled' => Bool, 'date' => int, 'expires' => int, 'test_mode' => Bool, 'this_dc' => int, 'dc_options' => [DcOption], '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, 'pinned_dialogs_count_max' => int, 'call_receive_timeout_ms' => int, 'call_ring_timeout_ms' => int, 'call_connect_timeout_ms' => int, 'call_packet_timeout_ms' => int, 'disabled_features' => [DisabledFeature], ];
+```
+
+Or, if you're into Lua:
+
+
+```
+config={_='config', phonecalls_enabled=Bool, date=int, expires=int, test_mode=Bool, this_dc=int, dc_options={DcOption}, 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, pinned_dialogs_count_max=int, call_receive_timeout_ms=int, call_ring_timeout_ms=int, call_connect_timeout_ms=int, call_packet_timeout_ms=int, disabled_features={DisabledFeature}, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/contact.md b/old_docs/API_docs_v62/constructors/contact.md
new file mode 100644
index 00000000..ebb48096
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/contact.md
@@ -0,0 +1,36 @@
+---
+title: contact
+description: contact attributes, type and example
+---
+## Constructor: contact
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|user\_id|[int](../types/int.md) | Yes|
+|mutual|[Bool](../types/Bool.md) | Yes|
+
+
+
+### Type: [Contact](../types/Contact.md)
+
+
+### Example:
+
+```
+$contact = ['_' => 'contact', 'user_id' => int, 'mutual' => Bool, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+contact={_='contact', user_id=int, mutual=Bool, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/contactBlocked.md b/old_docs/API_docs_v62/constructors/contactBlocked.md
new file mode 100644
index 00000000..24dc3a54
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/contactBlocked.md
@@ -0,0 +1,36 @@
+---
+title: contactBlocked
+description: contactBlocked attributes, type and example
+---
+## Constructor: contactBlocked
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|user\_id|[int](../types/int.md) | Yes|
+|date|[int](../types/int.md) | Yes|
+
+
+
+### Type: [ContactBlocked](../types/ContactBlocked.md)
+
+
+### Example:
+
+```
+$contactBlocked = ['_' => 'contactBlocked', 'user_id' => int, 'date' => int, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+contactBlocked={_='contactBlocked', user_id=int, date=int, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/contactLinkContact.md b/old_docs/API_docs_v62/constructors/contactLinkContact.md
new file mode 100644
index 00000000..d48661f1
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/contactLinkContact.md
@@ -0,0 +1,30 @@
+---
+title: contactLinkContact
+description: contactLinkContact attributes, type and example
+---
+## Constructor: contactLinkContact
+[Back to constructors index](index.md)
+
+
+
+
+
+
+### Type: [ContactLink](../types/ContactLink.md)
+
+
+### Example:
+
+```
+$contactLinkContact = ['_' => 'contactLinkContact', ];
+```
+
+Or, if you're into Lua:
+
+
+```
+contactLinkContact={_='contactLinkContact', }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/contactLinkHasPhone.md b/old_docs/API_docs_v62/constructors/contactLinkHasPhone.md
new file mode 100644
index 00000000..96403c29
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/contactLinkHasPhone.md
@@ -0,0 +1,30 @@
+---
+title: contactLinkHasPhone
+description: contactLinkHasPhone attributes, type and example
+---
+## Constructor: contactLinkHasPhone
+[Back to constructors index](index.md)
+
+
+
+
+
+
+### Type: [ContactLink](../types/ContactLink.md)
+
+
+### Example:
+
+```
+$contactLinkHasPhone = ['_' => 'contactLinkHasPhone', ];
+```
+
+Or, if you're into Lua:
+
+
+```
+contactLinkHasPhone={_='contactLinkHasPhone', }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/contactLinkNone.md b/old_docs/API_docs_v62/constructors/contactLinkNone.md
new file mode 100644
index 00000000..68bb4d3c
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/contactLinkNone.md
@@ -0,0 +1,30 @@
+---
+title: contactLinkNone
+description: contactLinkNone attributes, type and example
+---
+## Constructor: contactLinkNone
+[Back to constructors index](index.md)
+
+
+
+
+
+
+### Type: [ContactLink](../types/ContactLink.md)
+
+
+### Example:
+
+```
+$contactLinkNone = ['_' => 'contactLinkNone', ];
+```
+
+Or, if you're into Lua:
+
+
+```
+contactLinkNone={_='contactLinkNone', }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/contactLinkUnknown.md b/old_docs/API_docs_v62/constructors/contactLinkUnknown.md
new file mode 100644
index 00000000..b2f068a7
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/contactLinkUnknown.md
@@ -0,0 +1,30 @@
+---
+title: contactLinkUnknown
+description: contactLinkUnknown attributes, type and example
+---
+## Constructor: contactLinkUnknown
+[Back to constructors index](index.md)
+
+
+
+
+
+
+### Type: [ContactLink](../types/ContactLink.md)
+
+
+### Example:
+
+```
+$contactLinkUnknown = ['_' => 'contactLinkUnknown', ];
+```
+
+Or, if you're into Lua:
+
+
+```
+contactLinkUnknown={_='contactLinkUnknown', }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/contactStatus.md b/old_docs/API_docs_v62/constructors/contactStatus.md
new file mode 100644
index 00000000..6e376bcf
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/contactStatus.md
@@ -0,0 +1,36 @@
+---
+title: contactStatus
+description: contactStatus attributes, type and example
+---
+## Constructor: contactStatus
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|user\_id|[int](../types/int.md) | Yes|
+|status|[UserStatus](../types/UserStatus.md) | Yes|
+
+
+
+### Type: [ContactStatus](../types/ContactStatus.md)
+
+
+### Example:
+
+```
+$contactStatus = ['_' => 'contactStatus', 'user_id' => int, 'status' => UserStatus, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+contactStatus={_='contactStatus', user_id=int, status=UserStatus, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/contacts_blocked.md b/old_docs/API_docs_v62/constructors/contacts_blocked.md
new file mode 100644
index 00000000..0acedd4f
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/contacts_blocked.md
@@ -0,0 +1,36 @@
+---
+title: contacts.blocked
+description: contacts_blocked attributes, type and example
+---
+## Constructor: contacts.blocked
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|blocked|Array of [ContactBlocked](../types/ContactBlocked.md) | Yes|
+|users|Array of [User](../types/User.md) | Yes|
+
+
+
+### Type: [contacts\_Blocked](../types/contacts_Blocked.md)
+
+
+### Example:
+
+```
+$contacts_blocked = ['_' => 'contacts.blocked', 'blocked' => [ContactBlocked], 'users' => [User], ];
+```
+
+Or, if you're into Lua:
+
+
+```
+contacts_blocked={_='contacts.blocked', blocked={ContactBlocked}, users={User}, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/contacts_blockedSlice.md b/old_docs/API_docs_v62/constructors/contacts_blockedSlice.md
new file mode 100644
index 00000000..ecfa36a7
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/contacts_blockedSlice.md
@@ -0,0 +1,37 @@
+---
+title: contacts.blockedSlice
+description: contacts_blockedSlice attributes, type and example
+---
+## Constructor: contacts.blockedSlice
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|count|[int](../types/int.md) | Yes|
+|blocked|Array of [ContactBlocked](../types/ContactBlocked.md) | Yes|
+|users|Array of [User](../types/User.md) | Yes|
+
+
+
+### Type: [contacts\_Blocked](../types/contacts_Blocked.md)
+
+
+### Example:
+
+```
+$contacts_blockedSlice = ['_' => 'contacts.blockedSlice', 'count' => int, 'blocked' => [ContactBlocked], 'users' => [User], ];
+```
+
+Or, if you're into Lua:
+
+
+```
+contacts_blockedSlice={_='contacts.blockedSlice', count=int, blocked={ContactBlocked}, users={User}, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/contacts_contacts.md b/old_docs/API_docs_v62/constructors/contacts_contacts.md
new file mode 100644
index 00000000..71e164a5
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/contacts_contacts.md
@@ -0,0 +1,36 @@
+---
+title: contacts.contacts
+description: contacts_contacts attributes, type and example
+---
+## Constructor: contacts.contacts
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|contacts|Array of [Contact](../types/Contact.md) | Yes|
+|users|Array of [User](../types/User.md) | Yes|
+
+
+
+### Type: [contacts\_Contacts](../types/contacts_Contacts.md)
+
+
+### Example:
+
+```
+$contacts_contacts = ['_' => 'contacts.contacts', 'contacts' => [Contact], 'users' => [User], ];
+```
+
+Or, if you're into Lua:
+
+
+```
+contacts_contacts={_='contacts.contacts', contacts={Contact}, users={User}, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/contacts_contactsNotModified.md b/old_docs/API_docs_v62/constructors/contacts_contactsNotModified.md
new file mode 100644
index 00000000..f7a6bfe9
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/contacts_contactsNotModified.md
@@ -0,0 +1,30 @@
+---
+title: contacts.contactsNotModified
+description: contacts_contactsNotModified attributes, type and example
+---
+## Constructor: contacts.contactsNotModified
+[Back to constructors index](index.md)
+
+
+
+
+
+
+### Type: [contacts\_Contacts](../types/contacts_Contacts.md)
+
+
+### Example:
+
+```
+$contacts_contactsNotModified = ['_' => 'contacts.contactsNotModified', ];
+```
+
+Or, if you're into Lua:
+
+
+```
+contacts_contactsNotModified={_='contacts.contactsNotModified', }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/contacts_found.md b/old_docs/API_docs_v62/constructors/contacts_found.md
new file mode 100644
index 00000000..dd6cf5c3
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/contacts_found.md
@@ -0,0 +1,37 @@
+---
+title: contacts.found
+description: contacts_found attributes, type and example
+---
+## Constructor: contacts.found
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|results|Array of [Peer](../types/Peer.md) | Yes|
+|chats|Array of [Chat](../types/Chat.md) | Yes|
+|users|Array of [User](../types/User.md) | Yes|
+
+
+
+### Type: [contacts\_Found](../types/contacts_Found.md)
+
+
+### Example:
+
+```
+$contacts_found = ['_' => 'contacts.found', 'results' => [Peer], 'chats' => [Chat], 'users' => [User], ];
+```
+
+Or, if you're into Lua:
+
+
+```
+contacts_found={_='contacts.found', results={Peer}, chats={Chat}, users={User}, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/contacts_importedContacts.md b/old_docs/API_docs_v62/constructors/contacts_importedContacts.md
new file mode 100644
index 00000000..dd5f25b0
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/contacts_importedContacts.md
@@ -0,0 +1,37 @@
+---
+title: contacts.importedContacts
+description: contacts_importedContacts attributes, type and example
+---
+## Constructor: contacts.importedContacts
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|imported|Array of [ImportedContact](../types/ImportedContact.md) | Yes|
+|retry\_contacts|Array of [long](../types/long.md) | Yes|
+|users|Array of [User](../types/User.md) | Yes|
+
+
+
+### Type: [contacts\_ImportedContacts](../types/contacts_ImportedContacts.md)
+
+
+### Example:
+
+```
+$contacts_importedContacts = ['_' => 'contacts.importedContacts', 'imported' => [ImportedContact], 'retry_contacts' => [long], 'users' => [User], ];
+```
+
+Or, if you're into Lua:
+
+
+```
+contacts_importedContacts={_='contacts.importedContacts', imported={ImportedContact}, retry_contacts={long}, users={User}, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/contacts_link.md b/old_docs/API_docs_v62/constructors/contacts_link.md
new file mode 100644
index 00000000..9fe8b630
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/contacts_link.md
@@ -0,0 +1,37 @@
+---
+title: contacts.link
+description: contacts_link attributes, type and example
+---
+## Constructor: contacts.link
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|my\_link|[ContactLink](../types/ContactLink.md) | Yes|
+|foreign\_link|[ContactLink](../types/ContactLink.md) | Yes|
+|user|[User](../types/User.md) | Yes|
+
+
+
+### Type: [contacts\_Link](../types/contacts_Link.md)
+
+
+### Example:
+
+```
+$contacts_link = ['_' => 'contacts.link', 'my_link' => ContactLink, 'foreign_link' => ContactLink, 'user' => User, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+contacts_link={_='contacts.link', my_link=ContactLink, foreign_link=ContactLink, user=User, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/contacts_resolvedPeer.md b/old_docs/API_docs_v62/constructors/contacts_resolvedPeer.md
new file mode 100644
index 00000000..9b44a68c
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/contacts_resolvedPeer.md
@@ -0,0 +1,37 @@
+---
+title: contacts.resolvedPeer
+description: contacts_resolvedPeer attributes, type and example
+---
+## Constructor: contacts.resolvedPeer
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|peer|[Peer](../types/Peer.md) | Yes|
+|chats|Array of [Chat](../types/Chat.md) | Yes|
+|users|Array of [User](../types/User.md) | Yes|
+
+
+
+### Type: [contacts\_ResolvedPeer](../types/contacts_ResolvedPeer.md)
+
+
+### Example:
+
+```
+$contacts_resolvedPeer = ['_' => 'contacts.resolvedPeer', 'peer' => Peer, 'chats' => [Chat], 'users' => [User], ];
+```
+
+Or, if you're into Lua:
+
+
+```
+contacts_resolvedPeer={_='contacts.resolvedPeer', peer=Peer, chats={Chat}, users={User}, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/contacts_topPeers.md b/old_docs/API_docs_v62/constructors/contacts_topPeers.md
new file mode 100644
index 00000000..0ef10578
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/contacts_topPeers.md
@@ -0,0 +1,37 @@
+---
+title: contacts.topPeers
+description: contacts_topPeers attributes, type and example
+---
+## Constructor: contacts.topPeers
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|categories|Array of [TopPeerCategoryPeers](../types/TopPeerCategoryPeers.md) | Yes|
+|chats|Array of [Chat](../types/Chat.md) | Yes|
+|users|Array of [User](../types/User.md) | Yes|
+
+
+
+### Type: [contacts\_TopPeers](../types/contacts_TopPeers.md)
+
+
+### Example:
+
+```
+$contacts_topPeers = ['_' => 'contacts.topPeers', 'categories' => [TopPeerCategoryPeers], 'chats' => [Chat], 'users' => [User], ];
+```
+
+Or, if you're into Lua:
+
+
+```
+contacts_topPeers={_='contacts.topPeers', categories={TopPeerCategoryPeers}, chats={Chat}, users={User}, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/contacts_topPeersNotModified.md b/old_docs/API_docs_v62/constructors/contacts_topPeersNotModified.md
new file mode 100644
index 00000000..9ab95116
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/contacts_topPeersNotModified.md
@@ -0,0 +1,30 @@
+---
+title: contacts.topPeersNotModified
+description: contacts_topPeersNotModified attributes, type and example
+---
+## Constructor: contacts.topPeersNotModified
+[Back to constructors index](index.md)
+
+
+
+
+
+
+### Type: [contacts\_TopPeers](../types/contacts_TopPeers.md)
+
+
+### Example:
+
+```
+$contacts_topPeersNotModified = ['_' => 'contacts.topPeersNotModified', ];
+```
+
+Or, if you're into Lua:
+
+
+```
+contacts_topPeersNotModified={_='contacts.topPeersNotModified', }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/dcOption.md b/old_docs/API_docs_v62/constructors/dcOption.md
new file mode 100644
index 00000000..c05fcca1
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/dcOption.md
@@ -0,0 +1,40 @@
+---
+title: dcOption
+description: dcOption attributes, type and example
+---
+## Constructor: dcOption
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|ipv6|[Bool](../types/Bool.md) | Optional|
+|media\_only|[Bool](../types/Bool.md) | Optional|
+|tcpo\_only|[Bool](../types/Bool.md) | Optional|
+|id|[int](../types/int.md) | Yes|
+|ip\_address|[string](../types/string.md) | Yes|
+|port|[int](../types/int.md) | Yes|
+
+
+
+### Type: [DcOption](../types/DcOption.md)
+
+
+### Example:
+
+```
+$dcOption = ['_' => 'dcOption', 'ipv6' => Bool, 'media_only' => Bool, 'tcpo_only' => Bool, 'id' => int, 'ip_address' => string, 'port' => int, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+dcOption={_='dcOption', ipv6=Bool, media_only=Bool, tcpo_only=Bool, id=int, ip_address=string, port=int, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/destroy_auth_key_fail.md b/old_docs/API_docs_v62/constructors/destroy_auth_key_fail.md
new file mode 100644
index 00000000..b34c9ed3
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/destroy_auth_key_fail.md
@@ -0,0 +1,30 @@
+---
+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', ];
+```
+
+Or, if you're into Lua:
+
+
+```
+destroy_auth_key_fail={_='destroy_auth_key_fail', }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/destroy_auth_key_none.md b/old_docs/API_docs_v62/constructors/destroy_auth_key_none.md
new file mode 100644
index 00000000..bbaf778a
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/destroy_auth_key_none.md
@@ -0,0 +1,30 @@
+---
+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', ];
+```
+
+Or, if you're into Lua:
+
+
+```
+destroy_auth_key_none={_='destroy_auth_key_none', }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/destroy_auth_key_ok.md b/old_docs/API_docs_v62/constructors/destroy_auth_key_ok.md
new file mode 100644
index 00000000..e9038ea9
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/destroy_auth_key_ok.md
@@ -0,0 +1,30 @@
+---
+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', ];
+```
+
+Or, if you're into Lua:
+
+
+```
+destroy_auth_key_ok={_='destroy_auth_key_ok', }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/dialog.md b/old_docs/API_docs_v62/constructors/dialog.md
new file mode 100644
index 00000000..5309a2be
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/dialog.md
@@ -0,0 +1,43 @@
+---
+title: dialog
+description: dialog attributes, type and example
+---
+## Constructor: dialog
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|pinned|[Bool](../types/Bool.md) | Optional|
+|peer|[Peer](../types/Peer.md) | Yes|
+|top\_message|[int](../types/int.md) | Yes|
+|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|
+|notify\_settings|[PeerNotifySettings](../types/PeerNotifySettings.md) | Yes|
+|pts|[int](../types/int.md) | Optional|
+|draft|[DraftMessage](../types/DraftMessage.md) | Optional|
+
+
+
+### Type: [Dialog](../types/Dialog.md)
+
+
+### Example:
+
+```
+$dialog = ['_' => 'dialog', 'pinned' => Bool, '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, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+dialog={_='dialog', pinned=Bool, 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, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/disabledFeature.md b/old_docs/API_docs_v62/constructors/disabledFeature.md
new file mode 100644
index 00000000..0bfa4ec5
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/disabledFeature.md
@@ -0,0 +1,36 @@
+---
+title: disabledFeature
+description: disabledFeature attributes, type and example
+---
+## Constructor: disabledFeature
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|feature|[string](../types/string.md) | Yes|
+|description|[string](../types/string.md) | Yes|
+
+
+
+### Type: [DisabledFeature](../types/DisabledFeature.md)
+
+
+### Example:
+
+```
+$disabledFeature = ['_' => 'disabledFeature', 'feature' => string, 'description' => string, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+disabledFeature={_='disabledFeature', feature=string, description=string, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/document.md b/old_docs/API_docs_v62/constructors/document.md
new file mode 100644
index 00000000..5921896e
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/document.md
@@ -0,0 +1,43 @@
+---
+title: document
+description: document attributes, type and example
+---
+## Constructor: document
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|id|[long](../types/long.md) | Yes|
+|access\_hash|[long](../types/long.md) | Yes|
+|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|
+|dc\_id|[int](../types/int.md) | Yes|
+|version|[int](../types/int.md) | Yes|
+|attributes|Array of [DocumentAttribute](../types/DocumentAttribute.md) | Yes|
+
+
+
+### Type: [Document](../types/Document.md)
+
+
+### Example:
+
+```
+$document = ['_' => 'document', 'id' => long, 'access_hash' => long, 'date' => int, 'mime_type' => string, 'size' => int, 'thumb' => PhotoSize, 'dc_id' => int, 'version' => int, 'attributes' => [DocumentAttribute], ];
+```
+
+Or, if you're into Lua:
+
+
+```
+document={_='document', id=long, access_hash=long, date=int, mime_type=string, size=int, thumb=PhotoSize, dc_id=int, version=int, attributes={DocumentAttribute}, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/documentAttributeAnimated.md b/old_docs/API_docs_v62/constructors/documentAttributeAnimated.md
new file mode 100644
index 00000000..3376520b
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/documentAttributeAnimated.md
@@ -0,0 +1,30 @@
+---
+title: documentAttributeAnimated
+description: documentAttributeAnimated attributes, type and example
+---
+## Constructor: documentAttributeAnimated
+[Back to constructors index](index.md)
+
+
+
+
+
+
+### Type: [DocumentAttribute](../types/DocumentAttribute.md)
+
+
+### Example:
+
+```
+$documentAttributeAnimated = ['_' => 'documentAttributeAnimated', ];
+```
+
+Or, if you're into Lua:
+
+
+```
+documentAttributeAnimated={_='documentAttributeAnimated', }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/documentAttributeAudio.md b/old_docs/API_docs_v62/constructors/documentAttributeAudio.md
new file mode 100644
index 00000000..83ba2eb9
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/documentAttributeAudio.md
@@ -0,0 +1,39 @@
+---
+title: documentAttributeAudio
+description: documentAttributeAudio attributes, type and example
+---
+## Constructor: documentAttributeAudio
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|voice|[Bool](../types/Bool.md) | Optional|
+|duration|[int](../types/int.md) | Yes|
+|title|[string](../types/string.md) | Optional|
+|performer|[string](../types/string.md) | Optional|
+|waveform|[bytes](../types/bytes.md) | Optional|
+
+
+
+### Type: [DocumentAttribute](../types/DocumentAttribute.md)
+
+
+### Example:
+
+```
+$documentAttributeAudio = ['_' => 'documentAttributeAudio', 'voice' => Bool, 'duration' => int, 'title' => string, 'performer' => string, 'waveform' => bytes, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+documentAttributeAudio={_='documentAttributeAudio', voice=Bool, duration=int, title=string, performer=string, waveform=bytes, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/documentAttributeFilename.md b/old_docs/API_docs_v62/constructors/documentAttributeFilename.md
new file mode 100644
index 00000000..aaa29bb2
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/documentAttributeFilename.md
@@ -0,0 +1,35 @@
+---
+title: documentAttributeFilename
+description: documentAttributeFilename attributes, type and example
+---
+## Constructor: documentAttributeFilename
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|file\_name|[string](../types/string.md) | Yes|
+
+
+
+### Type: [DocumentAttribute](../types/DocumentAttribute.md)
+
+
+### Example:
+
+```
+$documentAttributeFilename = ['_' => 'documentAttributeFilename', 'file_name' => string, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+documentAttributeFilename={_='documentAttributeFilename', file_name=string, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/documentAttributeHasStickers.md b/old_docs/API_docs_v62/constructors/documentAttributeHasStickers.md
new file mode 100644
index 00000000..5345d27d
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/documentAttributeHasStickers.md
@@ -0,0 +1,30 @@
+---
+title: documentAttributeHasStickers
+description: documentAttributeHasStickers attributes, type and example
+---
+## Constructor: documentAttributeHasStickers
+[Back to constructors index](index.md)
+
+
+
+
+
+
+### Type: [DocumentAttribute](../types/DocumentAttribute.md)
+
+
+### Example:
+
+```
+$documentAttributeHasStickers = ['_' => 'documentAttributeHasStickers', ];
+```
+
+Or, if you're into Lua:
+
+
+```
+documentAttributeHasStickers={_='documentAttributeHasStickers', }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/documentAttributeImageSize.md b/old_docs/API_docs_v62/constructors/documentAttributeImageSize.md
new file mode 100644
index 00000000..51e7f257
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/documentAttributeImageSize.md
@@ -0,0 +1,36 @@
+---
+title: documentAttributeImageSize
+description: documentAttributeImageSize attributes, type and example
+---
+## Constructor: documentAttributeImageSize
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|w|[int](../types/int.md) | Yes|
+|h|[int](../types/int.md) | Yes|
+
+
+
+### Type: [DocumentAttribute](../types/DocumentAttribute.md)
+
+
+### Example:
+
+```
+$documentAttributeImageSize = ['_' => 'documentAttributeImageSize', 'w' => int, 'h' => int, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+documentAttributeImageSize={_='documentAttributeImageSize', w=int, h=int, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/documentAttributeSticker.md b/old_docs/API_docs_v62/constructors/documentAttributeSticker.md
new file mode 100644
index 00000000..746b6fd0
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/documentAttributeSticker.md
@@ -0,0 +1,38 @@
+---
+title: documentAttributeSticker
+description: documentAttributeSticker attributes, type and example
+---
+## Constructor: documentAttributeSticker
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|mask|[Bool](../types/Bool.md) | Optional|
+|alt|[string](../types/string.md) | Yes|
+|stickerset|[InputStickerSet](../types/InputStickerSet.md) | Yes|
+|mask\_coords|[MaskCoords](../types/MaskCoords.md) | Optional|
+
+
+
+### Type: [DocumentAttribute](../types/DocumentAttribute.md)
+
+
+### Example:
+
+```
+$documentAttributeSticker = ['_' => 'documentAttributeSticker', 'mask' => Bool, 'alt' => string, 'stickerset' => InputStickerSet, 'mask_coords' => MaskCoords, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+documentAttributeSticker={_='documentAttributeSticker', mask=Bool, alt=string, stickerset=InputStickerSet, mask_coords=MaskCoords, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/documentAttributeVideo.md b/old_docs/API_docs_v62/constructors/documentAttributeVideo.md
new file mode 100644
index 00000000..b9f06676
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/documentAttributeVideo.md
@@ -0,0 +1,37 @@
+---
+title: documentAttributeVideo
+description: documentAttributeVideo attributes, type and example
+---
+## Constructor: documentAttributeVideo
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|duration|[int](../types/int.md) | Yes|
+|w|[int](../types/int.md) | Yes|
+|h|[int](../types/int.md) | Yes|
+
+
+
+### Type: [DocumentAttribute](../types/DocumentAttribute.md)
+
+
+### Example:
+
+```
+$documentAttributeVideo = ['_' => 'documentAttributeVideo', 'duration' => int, 'w' => int, 'h' => int, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+documentAttributeVideo={_='documentAttributeVideo', duration=int, w=int, h=int, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/documentEmpty.md b/old_docs/API_docs_v62/constructors/documentEmpty.md
new file mode 100644
index 00000000..055686a6
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/documentEmpty.md
@@ -0,0 +1,35 @@
+---
+title: documentEmpty
+description: documentEmpty attributes, type and example
+---
+## Constructor: documentEmpty
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|id|[long](../types/long.md) | Yes|
+
+
+
+### Type: [Document](../types/Document.md)
+
+
+### Example:
+
+```
+$documentEmpty = ['_' => 'documentEmpty', 'id' => long, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+documentEmpty={_='documentEmpty', id=long, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/draftMessage.md b/old_docs/API_docs_v62/constructors/draftMessage.md
new file mode 100644
index 00000000..9cbeec53
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/draftMessage.md
@@ -0,0 +1,39 @@
+---
+title: draftMessage
+description: draftMessage attributes, type and example
+---
+## Constructor: draftMessage
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|no\_webpage|[Bool](../types/Bool.md) | Optional|
+|reply\_to\_msg\_id|[int](../types/int.md) | Optional|
+|message|[string](../types/string.md) | Yes|
+|entities|Array of [MessageEntity](../types/MessageEntity.md) | Optional|
+|date|[int](../types/int.md) | Yes|
+
+
+
+### Type: [DraftMessage](../types/DraftMessage.md)
+
+
+### Example:
+
+```
+$draftMessage = ['_' => 'draftMessage', 'no_webpage' => Bool, 'reply_to_msg_id' => int, 'message' => string, 'entities' => [MessageEntity], 'date' => int, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+draftMessage={_='draftMessage', no_webpage=Bool, reply_to_msg_id=int, message=string, entities={MessageEntity}, date=int, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/draftMessageEmpty.md b/old_docs/API_docs_v62/constructors/draftMessageEmpty.md
new file mode 100644
index 00000000..0ddfc989
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/draftMessageEmpty.md
@@ -0,0 +1,30 @@
+---
+title: draftMessageEmpty
+description: draftMessageEmpty attributes, type and example
+---
+## Constructor: draftMessageEmpty
+[Back to constructors index](index.md)
+
+
+
+
+
+
+### Type: [DraftMessage](../types/DraftMessage.md)
+
+
+### Example:
+
+```
+$draftMessageEmpty = ['_' => 'draftMessageEmpty', ];
+```
+
+Or, if you're into Lua:
+
+
+```
+draftMessageEmpty={_='draftMessageEmpty', }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/encryptedChat.md b/old_docs/API_docs_v62/constructors/encryptedChat.md
new file mode 100644
index 00000000..e9becf4c
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/encryptedChat.md
@@ -0,0 +1,41 @@
+---
+title: encryptedChat
+description: encryptedChat attributes, type and example
+---
+## Constructor: encryptedChat
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|id|[int](../types/int.md) | Yes|
+|access\_hash|[long](../types/long.md) | Yes|
+|date|[int](../types/int.md) | Yes|
+|admin\_id|[int](../types/int.md) | Yes|
+|participant\_id|[int](../types/int.md) | Yes|
+|g\_a\_or\_b|[bytes](../types/bytes.md) | Yes|
+|key\_fingerprint|[long](../types/long.md) | Yes|
+
+
+
+### Type: [EncryptedChat](../types/EncryptedChat.md)
+
+
+### Example:
+
+```
+$encryptedChat = ['_' => 'encryptedChat', 'id' => int, 'access_hash' => long, 'date' => int, 'admin_id' => int, 'participant_id' => int, 'g_a_or_b' => bytes, 'key_fingerprint' => long, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+encryptedChat={_='encryptedChat', id=int, access_hash=long, date=int, admin_id=int, participant_id=int, g_a_or_b=bytes, key_fingerprint=long, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/encryptedChatDiscarded.md b/old_docs/API_docs_v62/constructors/encryptedChatDiscarded.md
new file mode 100644
index 00000000..96b61875
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/encryptedChatDiscarded.md
@@ -0,0 +1,35 @@
+---
+title: encryptedChatDiscarded
+description: encryptedChatDiscarded attributes, type and example
+---
+## Constructor: encryptedChatDiscarded
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|id|[int](../types/int.md) | Yes|
+
+
+
+### Type: [EncryptedChat](../types/EncryptedChat.md)
+
+
+### Example:
+
+```
+$encryptedChatDiscarded = ['_' => 'encryptedChatDiscarded', 'id' => int, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+encryptedChatDiscarded={_='encryptedChatDiscarded', id=int, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/encryptedChatEmpty.md b/old_docs/API_docs_v62/constructors/encryptedChatEmpty.md
new file mode 100644
index 00000000..5f8af52c
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/encryptedChatEmpty.md
@@ -0,0 +1,35 @@
+---
+title: encryptedChatEmpty
+description: encryptedChatEmpty attributes, type and example
+---
+## Constructor: encryptedChatEmpty
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|id|[int](../types/int.md) | Yes|
+
+
+
+### Type: [EncryptedChat](../types/EncryptedChat.md)
+
+
+### Example:
+
+```
+$encryptedChatEmpty = ['_' => 'encryptedChatEmpty', 'id' => int, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+encryptedChatEmpty={_='encryptedChatEmpty', id=int, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/encryptedChatRequested.md b/old_docs/API_docs_v62/constructors/encryptedChatRequested.md
new file mode 100644
index 00000000..1266153a
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/encryptedChatRequested.md
@@ -0,0 +1,40 @@
+---
+title: encryptedChatRequested
+description: encryptedChatRequested attributes, type and example
+---
+## Constructor: encryptedChatRequested
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|id|[int](../types/int.md) | Yes|
+|access\_hash|[long](../types/long.md) | Yes|
+|date|[int](../types/int.md) | Yes|
+|admin\_id|[int](../types/int.md) | Yes|
+|participant\_id|[int](../types/int.md) | Yes|
+|g\_a|[bytes](../types/bytes.md) | Yes|
+
+
+
+### Type: [EncryptedChat](../types/EncryptedChat.md)
+
+
+### Example:
+
+```
+$encryptedChatRequested = ['_' => 'encryptedChatRequested', 'id' => int, 'access_hash' => long, 'date' => int, 'admin_id' => int, 'participant_id' => int, 'g_a' => bytes, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+encryptedChatRequested={_='encryptedChatRequested', id=int, access_hash=long, date=int, admin_id=int, participant_id=int, g_a=bytes, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/encryptedChatWaiting.md b/old_docs/API_docs_v62/constructors/encryptedChatWaiting.md
new file mode 100644
index 00000000..ea1f138a
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/encryptedChatWaiting.md
@@ -0,0 +1,39 @@
+---
+title: encryptedChatWaiting
+description: encryptedChatWaiting attributes, type and example
+---
+## Constructor: encryptedChatWaiting
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|id|[int](../types/int.md) | Yes|
+|access\_hash|[long](../types/long.md) | Yes|
+|date|[int](../types/int.md) | Yes|
+|admin\_id|[int](../types/int.md) | Yes|
+|participant\_id|[int](../types/int.md) | Yes|
+
+
+
+### Type: [EncryptedChat](../types/EncryptedChat.md)
+
+
+### Example:
+
+```
+$encryptedChatWaiting = ['_' => 'encryptedChatWaiting', 'id' => int, 'access_hash' => long, 'date' => int, 'admin_id' => int, 'participant_id' => int, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+encryptedChatWaiting={_='encryptedChatWaiting', id=int, access_hash=long, date=int, admin_id=int, participant_id=int, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/encryptedFile.md b/old_docs/API_docs_v62/constructors/encryptedFile.md
new file mode 100644
index 00000000..e42efea7
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/encryptedFile.md
@@ -0,0 +1,39 @@
+---
+title: encryptedFile
+description: encryptedFile attributes, type and example
+---
+## Constructor: encryptedFile
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|id|[long](../types/long.md) | Yes|
+|access\_hash|[long](../types/long.md) | Yes|
+|size|[int](../types/int.md) | Yes|
+|dc\_id|[int](../types/int.md) | Yes|
+|key\_fingerprint|[int](../types/int.md) | Yes|
+
+
+
+### Type: [EncryptedFile](../types/EncryptedFile.md)
+
+
+### Example:
+
+```
+$encryptedFile = ['_' => 'encryptedFile', 'id' => long, 'access_hash' => long, 'size' => int, 'dc_id' => int, 'key_fingerprint' => int, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+encryptedFile={_='encryptedFile', id=long, access_hash=long, size=int, dc_id=int, key_fingerprint=int, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/encryptedFileEmpty.md b/old_docs/API_docs_v62/constructors/encryptedFileEmpty.md
new file mode 100644
index 00000000..7fe1cb13
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/encryptedFileEmpty.md
@@ -0,0 +1,30 @@
+---
+title: encryptedFileEmpty
+description: encryptedFileEmpty attributes, type and example
+---
+## Constructor: encryptedFileEmpty
+[Back to constructors index](index.md)
+
+
+
+
+
+
+### Type: [EncryptedFile](../types/EncryptedFile.md)
+
+
+### Example:
+
+```
+$encryptedFileEmpty = ['_' => 'encryptedFileEmpty', ];
+```
+
+Or, if you're into Lua:
+
+
+```
+encryptedFileEmpty={_='encryptedFileEmpty', }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/encryptedMessage.md b/old_docs/API_docs_v62/constructors/encryptedMessage.md
new file mode 100644
index 00000000..0fc34326
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/encryptedMessage.md
@@ -0,0 +1,38 @@
+---
+title: encryptedMessage
+description: encryptedMessage attributes, type and example
+---
+## Constructor: encryptedMessage
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|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|
+
+
+
+### Type: [EncryptedMessage](../types/EncryptedMessage.md)
+
+
+### Example:
+
+```
+$encryptedMessage = ['_' => 'encryptedMessage', 'chat_id' => int, 'date' => int, 'decrypted_message' => DecryptedMessage, 'file' => EncryptedFile, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+encryptedMessage={_='encryptedMessage', chat_id=int, date=int, decrypted_message=DecryptedMessage, file=EncryptedFile, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/encryptedMessageService.md b/old_docs/API_docs_v62/constructors/encryptedMessageService.md
new file mode 100644
index 00000000..9691aa65
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/encryptedMessageService.md
@@ -0,0 +1,37 @@
+---
+title: encryptedMessageService
+description: encryptedMessageService attributes, type and example
+---
+## Constructor: encryptedMessageService
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|chat\_id|[int](../types/int.md) | Yes|
+|date|[int](../types/int.md) | Yes|
+|decrypted\_message|[DecryptedMessage](../types/DecryptedMessage.md) | Yes|
+
+
+
+### Type: [EncryptedMessage](../types/EncryptedMessage.md)
+
+
+### Example:
+
+```
+$encryptedMessageService = ['_' => 'encryptedMessageService', 'chat_id' => int, 'date' => int, 'decrypted_message' => DecryptedMessage, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+encryptedMessageService={_='encryptedMessageService', chat_id=int, date=int, decrypted_message=DecryptedMessage, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/error.md b/old_docs/API_docs_v62/constructors/error.md
new file mode 100644
index 00000000..2031cf25
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/error.md
@@ -0,0 +1,36 @@
+---
+title: error
+description: error attributes, type and example
+---
+## Constructor: error
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|code|[int](../types/int.md) | Yes|
+|text|[string](../types/string.md) | Yes|
+
+
+
+### Type: [Error](../types/Error.md)
+
+
+### Example:
+
+```
+$error = ['_' => 'error', 'code' => int, 'text' => string, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+error={_='error', code=int, text=string, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/exportedMessageLink.md b/old_docs/API_docs_v62/constructors/exportedMessageLink.md
new file mode 100644
index 00000000..d151e98e
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/exportedMessageLink.md
@@ -0,0 +1,35 @@
+---
+title: exportedMessageLink
+description: exportedMessageLink attributes, type and example
+---
+## Constructor: exportedMessageLink
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|link|[string](../types/string.md) | Yes|
+
+
+
+### Type: [ExportedMessageLink](../types/ExportedMessageLink.md)
+
+
+### Example:
+
+```
+$exportedMessageLink = ['_' => 'exportedMessageLink', 'link' => string, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+exportedMessageLink={_='exportedMessageLink', link=string, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/fileLocation.md b/old_docs/API_docs_v62/constructors/fileLocation.md
new file mode 100644
index 00000000..f3e82649
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/fileLocation.md
@@ -0,0 +1,38 @@
+---
+title: fileLocation
+description: fileLocation attributes, type and example
+---
+## Constructor: fileLocation
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|dc\_id|[int](../types/int.md) | Yes|
+|volume\_id|[long](../types/long.md) | Yes|
+|local\_id|[int](../types/int.md) | Yes|
+|secret|[long](../types/long.md) | Yes|
+
+
+
+### Type: [FileLocation](../types/FileLocation.md)
+
+
+### Example:
+
+```
+$fileLocation = ['_' => 'fileLocation', 'dc_id' => int, 'volume_id' => long, 'local_id' => int, 'secret' => long, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+fileLocation={_='fileLocation', dc_id=int, volume_id=long, local_id=int, secret=long, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/fileLocationUnavailable.md b/old_docs/API_docs_v62/constructors/fileLocationUnavailable.md
new file mode 100644
index 00000000..52c5b231
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/fileLocationUnavailable.md
@@ -0,0 +1,37 @@
+---
+title: fileLocationUnavailable
+description: fileLocationUnavailable attributes, type and example
+---
+## Constructor: fileLocationUnavailable
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|volume\_id|[long](../types/long.md) | Yes|
+|local\_id|[int](../types/int.md) | Yes|
+|secret|[long](../types/long.md) | Yes|
+
+
+
+### Type: [FileLocation](../types/FileLocation.md)
+
+
+### Example:
+
+```
+$fileLocationUnavailable = ['_' => 'fileLocationUnavailable', 'volume_id' => long, 'local_id' => int, 'secret' => long, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+fileLocationUnavailable={_='fileLocationUnavailable', volume_id=long, local_id=int, secret=long, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/foundGif.md b/old_docs/API_docs_v62/constructors/foundGif.md
new file mode 100644
index 00000000..e241eabe
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/foundGif.md
@@ -0,0 +1,40 @@
+---
+title: foundGif
+description: foundGif attributes, type and example
+---
+## Constructor: foundGif
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|url|[string](../types/string.md) | Yes|
+|thumb\_url|[string](../types/string.md) | Yes|
+|content\_url|[string](../types/string.md) | Yes|
+|content\_type|[string](../types/string.md) | Yes|
+|w|[int](../types/int.md) | Yes|
+|h|[int](../types/int.md) | Yes|
+
+
+
+### Type: [FoundGif](../types/FoundGif.md)
+
+
+### Example:
+
+```
+$foundGif = ['_' => 'foundGif', 'url' => string, 'thumb_url' => string, 'content_url' => string, 'content_type' => string, 'w' => int, 'h' => int, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+foundGif={_='foundGif', url=string, thumb_url=string, content_url=string, content_type=string, w=int, h=int, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/foundGifCached.md b/old_docs/API_docs_v62/constructors/foundGifCached.md
new file mode 100644
index 00000000..f73c07df
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/foundGifCached.md
@@ -0,0 +1,37 @@
+---
+title: foundGifCached
+description: foundGifCached attributes, type and example
+---
+## Constructor: foundGifCached
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|url|[string](../types/string.md) | Yes|
+|photo|[Photo](../types/Photo.md) | Yes|
+|document|[Document](../types/Document.md) | Yes|
+
+
+
+### Type: [FoundGif](../types/FoundGif.md)
+
+
+### Example:
+
+```
+$foundGifCached = ['_' => 'foundGifCached', 'url' => string, 'photo' => Photo, 'document' => Document, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+foundGifCached={_='foundGifCached', url=string, photo=Photo, document=Document, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/game.md b/old_docs/API_docs_v62/constructors/game.md
new file mode 100644
index 00000000..c3aa155d
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/game.md
@@ -0,0 +1,41 @@
+---
+title: game
+description: game attributes, type and example
+---
+## Constructor: game
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|id|[long](../types/long.md) | Yes|
+|access\_hash|[long](../types/long.md) | Yes|
+|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|
+|document|[Document](../types/Document.md) | Optional|
+
+
+
+### Type: [Game](../types/Game.md)
+
+
+### Example:
+
+```
+$game = ['_' => 'game', 'id' => long, 'access_hash' => long, 'short_name' => string, 'title' => string, 'description' => string, 'photo' => Photo, 'document' => Document, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+game={_='game', id=long, access_hash=long, short_name=string, title=string, description=string, photo=Photo, document=Document, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/geoPoint.md b/old_docs/API_docs_v62/constructors/geoPoint.md
new file mode 100644
index 00000000..744d6de7
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/geoPoint.md
@@ -0,0 +1,36 @@
+---
+title: geoPoint
+description: geoPoint attributes, type and example
+---
+## Constructor: geoPoint
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|long|[double](../types/double.md) | Yes|
+|lat|[double](../types/double.md) | Yes|
+
+
+
+### Type: [GeoPoint](../types/GeoPoint.md)
+
+
+### Example:
+
+```
+$geoPoint = ['_' => 'geoPoint', 'long' => double, 'lat' => double, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+geoPoint={_='geoPoint', long=double, lat=double, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/geoPointEmpty.md b/old_docs/API_docs_v62/constructors/geoPointEmpty.md
new file mode 100644
index 00000000..572b9c8e
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/geoPointEmpty.md
@@ -0,0 +1,30 @@
+---
+title: geoPointEmpty
+description: geoPointEmpty attributes, type and example
+---
+## Constructor: geoPointEmpty
+[Back to constructors index](index.md)
+
+
+
+
+
+
+### Type: [GeoPoint](../types/GeoPoint.md)
+
+
+### Example:
+
+```
+$geoPointEmpty = ['_' => 'geoPointEmpty', ];
+```
+
+Or, if you're into Lua:
+
+
+```
+geoPointEmpty={_='geoPointEmpty', }
+
+```
+
+
diff --git a/docs/API_docs/constructors/help_appChangelog.md b/old_docs/API_docs_v62/constructors/help_appChangelog.md
similarity index 100%
rename from docs/API_docs/constructors/help_appChangelog.md
rename to old_docs/API_docs_v62/constructors/help_appChangelog.md
diff --git a/docs/API_docs/constructors/help_appChangelogEmpty.md b/old_docs/API_docs_v62/constructors/help_appChangelogEmpty.md
similarity index 100%
rename from docs/API_docs/constructors/help_appChangelogEmpty.md
rename to old_docs/API_docs_v62/constructors/help_appChangelogEmpty.md
diff --git a/old_docs/API_docs_v62/constructors/help_appUpdate.md b/old_docs/API_docs_v62/constructors/help_appUpdate.md
new file mode 100644
index 00000000..3e3e1205
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/help_appUpdate.md
@@ -0,0 +1,38 @@
+---
+title: help.appUpdate
+description: help_appUpdate attributes, type and example
+---
+## Constructor: help.appUpdate
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|id|[int](../types/int.md) | Yes|
+|critical|[Bool](../types/Bool.md) | Yes|
+|url|[string](../types/string.md) | Yes|
+|text|[string](../types/string.md) | Yes|
+
+
+
+### Type: [help\_AppUpdate](../types/help_AppUpdate.md)
+
+
+### Example:
+
+```
+$help_appUpdate = ['_' => 'help.appUpdate', 'id' => int, 'critical' => Bool, 'url' => string, 'text' => string, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+help_appUpdate={_='help.appUpdate', id=int, critical=Bool, url=string, text=string, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/help_inviteText.md b/old_docs/API_docs_v62/constructors/help_inviteText.md
new file mode 100644
index 00000000..d91d4db8
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/help_inviteText.md
@@ -0,0 +1,35 @@
+---
+title: help.inviteText
+description: help_inviteText attributes, type and example
+---
+## Constructor: help.inviteText
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|message|[string](../types/string.md) | Yes|
+
+
+
+### Type: [help\_InviteText](../types/help_InviteText.md)
+
+
+### Example:
+
+```
+$help_inviteText = ['_' => 'help.inviteText', 'message' => string, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+help_inviteText={_='help.inviteText', message=string, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/help_noAppUpdate.md b/old_docs/API_docs_v62/constructors/help_noAppUpdate.md
new file mode 100644
index 00000000..d310dbf4
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/help_noAppUpdate.md
@@ -0,0 +1,30 @@
+---
+title: help.noAppUpdate
+description: help_noAppUpdate attributes, type and example
+---
+## Constructor: help.noAppUpdate
+[Back to constructors index](index.md)
+
+
+
+
+
+
+### Type: [help\_AppUpdate](../types/help_AppUpdate.md)
+
+
+### Example:
+
+```
+$help_noAppUpdate = ['_' => 'help.noAppUpdate', ];
+```
+
+Or, if you're into Lua:
+
+
+```
+help_noAppUpdate={_='help.noAppUpdate', }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/help_support.md b/old_docs/API_docs_v62/constructors/help_support.md
new file mode 100644
index 00000000..09fe7a48
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/help_support.md
@@ -0,0 +1,36 @@
+---
+title: help.support
+description: help_support attributes, type and example
+---
+## Constructor: help.support
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|phone\_number|[string](../types/string.md) | Yes|
+|user|[User](../types/User.md) | Yes|
+
+
+
+### Type: [help\_Support](../types/help_Support.md)
+
+
+### Example:
+
+```
+$help_support = ['_' => 'help.support', 'phone_number' => string, 'user' => User, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+help_support={_='help.support', phone_number=string, user=User, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/help_termsOfService.md b/old_docs/API_docs_v62/constructors/help_termsOfService.md
new file mode 100644
index 00000000..a945b971
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/help_termsOfService.md
@@ -0,0 +1,35 @@
+---
+title: help.termsOfService
+description: help_termsOfService attributes, type and example
+---
+## Constructor: help.termsOfService
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|text|[string](../types/string.md) | Yes|
+
+
+
+### Type: [help\_TermsOfService](../types/help_TermsOfService.md)
+
+
+### Example:
+
+```
+$help_termsOfService = ['_' => 'help.termsOfService', 'text' => string, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+help_termsOfService={_='help.termsOfService', text=string, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/highScore.md b/old_docs/API_docs_v62/constructors/highScore.md
new file mode 100644
index 00000000..27b8ec02
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/highScore.md
@@ -0,0 +1,37 @@
+---
+title: highScore
+description: highScore attributes, type and example
+---
+## Constructor: highScore
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|pos|[int](../types/int.md) | Yes|
+|user\_id|[int](../types/int.md) | Yes|
+|score|[int](../types/int.md) | Yes|
+
+
+
+### Type: [HighScore](../types/HighScore.md)
+
+
+### Example:
+
+```
+$highScore = ['_' => 'highScore', 'pos' => int, 'user_id' => int, 'score' => int, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+highScore={_='highScore', pos=int, user_id=int, score=int, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/importedContact.md b/old_docs/API_docs_v62/constructors/importedContact.md
new file mode 100644
index 00000000..3a69c9a2
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/importedContact.md
@@ -0,0 +1,36 @@
+---
+title: importedContact
+description: importedContact attributes, type and example
+---
+## Constructor: importedContact
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|user\_id|[int](../types/int.md) | Yes|
+|client\_id|[long](../types/long.md) | Yes|
+
+
+
+### Type: [ImportedContact](../types/ImportedContact.md)
+
+
+### Example:
+
+```
+$importedContact = ['_' => 'importedContact', 'user_id' => int, 'client_id' => long, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+importedContact={_='importedContact', user_id=int, client_id=long, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/inlineBotSwitchPM.md b/old_docs/API_docs_v62/constructors/inlineBotSwitchPM.md
new file mode 100644
index 00000000..41ca65ac
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/inlineBotSwitchPM.md
@@ -0,0 +1,36 @@
+---
+title: inlineBotSwitchPM
+description: inlineBotSwitchPM attributes, type and example
+---
+## Constructor: inlineBotSwitchPM
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|text|[string](../types/string.md) | Yes|
+|start\_param|[string](../types/string.md) | Yes|
+
+
+
+### Type: [InlineBotSwitchPM](../types/InlineBotSwitchPM.md)
+
+
+### Example:
+
+```
+$inlineBotSwitchPM = ['_' => 'inlineBotSwitchPM', 'text' => string, 'start_param' => string, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+inlineBotSwitchPM={_='inlineBotSwitchPM', text=string, start_param=string, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/inputAppEvent.md b/old_docs/API_docs_v62/constructors/inputAppEvent.md
new file mode 100644
index 00000000..a038c19d
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/inputAppEvent.md
@@ -0,0 +1,38 @@
+---
+title: inputAppEvent
+description: inputAppEvent attributes, type and example
+---
+## Constructor: inputAppEvent
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|time|[double](../types/double.md) | Yes|
+|type|[string](../types/string.md) | Yes|
+|peer|[long](../types/long.md) | Yes|
+|data|[string](../types/string.md) | Yes|
+
+
+
+### Type: [InputAppEvent](../types/InputAppEvent.md)
+
+
+### Example:
+
+```
+$inputAppEvent = ['_' => 'inputAppEvent', 'time' => double, 'type' => string, 'peer' => long, 'data' => string, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+inputAppEvent={_='inputAppEvent', time=double, type=string, peer=long, data=string, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/inputBotInlineMessageGame.md b/old_docs/API_docs_v62/constructors/inputBotInlineMessageGame.md
new file mode 100644
index 00000000..9db76c92
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/inputBotInlineMessageGame.md
@@ -0,0 +1,35 @@
+---
+title: inputBotInlineMessageGame
+description: inputBotInlineMessageGame attributes, type and example
+---
+## Constructor: inputBotInlineMessageGame
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|reply\_markup|[ReplyMarkup](../types/ReplyMarkup.md) | Optional|
+
+
+
+### Type: [InputBotInlineMessage](../types/InputBotInlineMessage.md)
+
+
+### Example:
+
+```
+$inputBotInlineMessageGame = ['_' => 'inputBotInlineMessageGame', 'reply_markup' => ReplyMarkup, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+inputBotInlineMessageGame={_='inputBotInlineMessageGame', reply_markup=ReplyMarkup, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/inputBotInlineMessageID.md b/old_docs/API_docs_v62/constructors/inputBotInlineMessageID.md
new file mode 100644
index 00000000..0d8d3f9e
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/inputBotInlineMessageID.md
@@ -0,0 +1,37 @@
+---
+title: inputBotInlineMessageID
+description: inputBotInlineMessageID attributes, type and example
+---
+## Constructor: inputBotInlineMessageID
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|dc\_id|[int](../types/int.md) | Yes|
+|id|[long](../types/long.md) | Yes|
+|access\_hash|[long](../types/long.md) | Yes|
+
+
+
+### Type: [InputBotInlineMessageID](../types/InputBotInlineMessageID.md)
+
+
+### Example:
+
+```
+$inputBotInlineMessageID = ['_' => 'inputBotInlineMessageID', 'dc_id' => int, 'id' => long, 'access_hash' => long, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+inputBotInlineMessageID={_='inputBotInlineMessageID', dc_id=int, id=long, access_hash=long, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/inputBotInlineMessageMediaAuto.md b/old_docs/API_docs_v62/constructors/inputBotInlineMessageMediaAuto.md
new file mode 100644
index 00000000..52449dff
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/inputBotInlineMessageMediaAuto.md
@@ -0,0 +1,36 @@
+---
+title: inputBotInlineMessageMediaAuto
+description: inputBotInlineMessageMediaAuto attributes, type and example
+---
+## Constructor: inputBotInlineMessageMediaAuto
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|caption|[string](../types/string.md) | Yes|
+|reply\_markup|[ReplyMarkup](../types/ReplyMarkup.md) | Optional|
+
+
+
+### Type: [InputBotInlineMessage](../types/InputBotInlineMessage.md)
+
+
+### Example:
+
+```
+$inputBotInlineMessageMediaAuto = ['_' => 'inputBotInlineMessageMediaAuto', 'caption' => string, 'reply_markup' => ReplyMarkup, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+inputBotInlineMessageMediaAuto={_='inputBotInlineMessageMediaAuto', caption=string, reply_markup=ReplyMarkup, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/inputBotInlineMessageMediaContact.md b/old_docs/API_docs_v62/constructors/inputBotInlineMessageMediaContact.md
new file mode 100644
index 00000000..fdab869d
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/inputBotInlineMessageMediaContact.md
@@ -0,0 +1,38 @@
+---
+title: inputBotInlineMessageMediaContact
+description: inputBotInlineMessageMediaContact attributes, type and example
+---
+## Constructor: inputBotInlineMessageMediaContact
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|phone\_number|[string](../types/string.md) | Yes|
+|first\_name|[string](../types/string.md) | Yes|
+|last\_name|[string](../types/string.md) | Yes|
+|reply\_markup|[ReplyMarkup](../types/ReplyMarkup.md) | Optional|
+
+
+
+### Type: [InputBotInlineMessage](../types/InputBotInlineMessage.md)
+
+
+### Example:
+
+```
+$inputBotInlineMessageMediaContact = ['_' => 'inputBotInlineMessageMediaContact', 'phone_number' => string, 'first_name' => string, 'last_name' => string, 'reply_markup' => ReplyMarkup, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+inputBotInlineMessageMediaContact={_='inputBotInlineMessageMediaContact', phone_number=string, first_name=string, last_name=string, reply_markup=ReplyMarkup, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/inputBotInlineMessageMediaGeo.md b/old_docs/API_docs_v62/constructors/inputBotInlineMessageMediaGeo.md
new file mode 100644
index 00000000..1b741cfc
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/inputBotInlineMessageMediaGeo.md
@@ -0,0 +1,36 @@
+---
+title: inputBotInlineMessageMediaGeo
+description: inputBotInlineMessageMediaGeo attributes, type and example
+---
+## Constructor: inputBotInlineMessageMediaGeo
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|geo\_point|[InputGeoPoint](../types/InputGeoPoint.md) | Yes|
+|reply\_markup|[ReplyMarkup](../types/ReplyMarkup.md) | Optional|
+
+
+
+### Type: [InputBotInlineMessage](../types/InputBotInlineMessage.md)
+
+
+### Example:
+
+```
+$inputBotInlineMessageMediaGeo = ['_' => 'inputBotInlineMessageMediaGeo', 'geo_point' => InputGeoPoint, 'reply_markup' => ReplyMarkup, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+inputBotInlineMessageMediaGeo={_='inputBotInlineMessageMediaGeo', geo_point=InputGeoPoint, reply_markup=ReplyMarkup, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/inputBotInlineMessageMediaVenue.md b/old_docs/API_docs_v62/constructors/inputBotInlineMessageMediaVenue.md
new file mode 100644
index 00000000..ddd2eba5
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/inputBotInlineMessageMediaVenue.md
@@ -0,0 +1,40 @@
+---
+title: inputBotInlineMessageMediaVenue
+description: inputBotInlineMessageMediaVenue attributes, type and example
+---
+## Constructor: inputBotInlineMessageMediaVenue
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|geo\_point|[InputGeoPoint](../types/InputGeoPoint.md) | Yes|
+|title|[string](../types/string.md) | Yes|
+|address|[string](../types/string.md) | Yes|
+|provider|[string](../types/string.md) | Yes|
+|venue\_id|[string](../types/string.md) | Yes|
+|reply\_markup|[ReplyMarkup](../types/ReplyMarkup.md) | Optional|
+
+
+
+### Type: [InputBotInlineMessage](../types/InputBotInlineMessage.md)
+
+
+### Example:
+
+```
+$inputBotInlineMessageMediaVenue = ['_' => 'inputBotInlineMessageMediaVenue', 'geo_point' => InputGeoPoint, 'title' => string, 'address' => string, 'provider' => string, 'venue_id' => string, 'reply_markup' => ReplyMarkup, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+inputBotInlineMessageMediaVenue={_='inputBotInlineMessageMediaVenue', geo_point=InputGeoPoint, title=string, address=string, provider=string, venue_id=string, reply_markup=ReplyMarkup, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/inputBotInlineMessageText.md b/old_docs/API_docs_v62/constructors/inputBotInlineMessageText.md
new file mode 100644
index 00000000..6d751de2
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/inputBotInlineMessageText.md
@@ -0,0 +1,38 @@
+---
+title: inputBotInlineMessageText
+description: inputBotInlineMessageText attributes, type and example
+---
+## Constructor: inputBotInlineMessageText
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|no\_webpage|[Bool](../types/Bool.md) | Optional|
+|message|[string](../types/string.md) | Yes|
+|entities|Array of [MessageEntity](../types/MessageEntity.md) | Optional|
+|reply\_markup|[ReplyMarkup](../types/ReplyMarkup.md) | Optional|
+
+
+
+### Type: [InputBotInlineMessage](../types/InputBotInlineMessage.md)
+
+
+### Example:
+
+```
+$inputBotInlineMessageText = ['_' => 'inputBotInlineMessageText', 'no_webpage' => Bool, 'message' => string, 'entities' => [MessageEntity], 'reply_markup' => ReplyMarkup, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+inputBotInlineMessageText={_='inputBotInlineMessageText', no_webpage=Bool, message=string, entities={MessageEntity}, reply_markup=ReplyMarkup, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/inputBotInlineResult.md b/old_docs/API_docs_v62/constructors/inputBotInlineResult.md
new file mode 100644
index 00000000..9ff31ee5
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/inputBotInlineResult.md
@@ -0,0 +1,46 @@
+---
+title: inputBotInlineResult
+description: inputBotInlineResult attributes, type and example
+---
+## Constructor: inputBotInlineResult
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|id|[string](../types/string.md) | Yes|
+|type|[string](../types/string.md) | Yes|
+|title|[string](../types/string.md) | Optional|
+|description|[string](../types/string.md) | Optional|
+|url|[string](../types/string.md) | Optional|
+|thumb\_url|[string](../types/string.md) | Optional|
+|content\_url|[string](../types/string.md) | Optional|
+|content\_type|[string](../types/string.md) | Optional|
+|w|[int](../types/int.md) | Optional|
+|h|[int](../types/int.md) | Optional|
+|duration|[int](../types/int.md) | Optional|
+|send\_message|[InputBotInlineMessage](../types/InputBotInlineMessage.md) | Yes|
+
+
+
+### Type: [InputBotInlineResult](../types/InputBotInlineResult.md)
+
+
+### Example:
+
+```
+$inputBotInlineResult = ['_' => 'inputBotInlineResult', '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' => InputBotInlineMessage, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+inputBotInlineResult={_='inputBotInlineResult', 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=InputBotInlineMessage, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/inputBotInlineResultDocument.md b/old_docs/API_docs_v62/constructors/inputBotInlineResultDocument.md
new file mode 100644
index 00000000..a5d9c466
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/inputBotInlineResultDocument.md
@@ -0,0 +1,40 @@
+---
+title: inputBotInlineResultDocument
+description: inputBotInlineResultDocument attributes, type and example
+---
+## Constructor: inputBotInlineResultDocument
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|id|[string](../types/string.md) | Yes|
+|type|[string](../types/string.md) | Yes|
+|title|[string](../types/string.md) | Optional|
+|description|[string](../types/string.md) | Optional|
+|document|[InputDocument](../types/InputDocument.md) | Yes|
+|send\_message|[InputBotInlineMessage](../types/InputBotInlineMessage.md) | Yes|
+
+
+
+### Type: [InputBotInlineResult](../types/InputBotInlineResult.md)
+
+
+### Example:
+
+```
+$inputBotInlineResultDocument = ['_' => 'inputBotInlineResultDocument', 'id' => string, 'type' => string, 'title' => string, 'description' => string, 'document' => InputDocument, 'send_message' => InputBotInlineMessage, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+inputBotInlineResultDocument={_='inputBotInlineResultDocument', id=string, type=string, title=string, description=string, document=InputDocument, send_message=InputBotInlineMessage, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/inputBotInlineResultGame.md b/old_docs/API_docs_v62/constructors/inputBotInlineResultGame.md
new file mode 100644
index 00000000..0d5f96a7
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/inputBotInlineResultGame.md
@@ -0,0 +1,37 @@
+---
+title: inputBotInlineResultGame
+description: inputBotInlineResultGame attributes, type and example
+---
+## Constructor: inputBotInlineResultGame
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|id|[string](../types/string.md) | Yes|
+|short\_name|[string](../types/string.md) | Yes|
+|send\_message|[InputBotInlineMessage](../types/InputBotInlineMessage.md) | Yes|
+
+
+
+### Type: [InputBotInlineResult](../types/InputBotInlineResult.md)
+
+
+### Example:
+
+```
+$inputBotInlineResultGame = ['_' => 'inputBotInlineResultGame', 'id' => string, 'short_name' => string, 'send_message' => InputBotInlineMessage, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+inputBotInlineResultGame={_='inputBotInlineResultGame', id=string, short_name=string, send_message=InputBotInlineMessage, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/inputBotInlineResultPhoto.md b/old_docs/API_docs_v62/constructors/inputBotInlineResultPhoto.md
new file mode 100644
index 00000000..ca2c6b7a
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/inputBotInlineResultPhoto.md
@@ -0,0 +1,38 @@
+---
+title: inputBotInlineResultPhoto
+description: inputBotInlineResultPhoto attributes, type and example
+---
+## Constructor: inputBotInlineResultPhoto
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|id|[string](../types/string.md) | Yes|
+|type|[string](../types/string.md) | Yes|
+|photo|[InputPhoto](../types/InputPhoto.md) | Yes|
+|send\_message|[InputBotInlineMessage](../types/InputBotInlineMessage.md) | Yes|
+
+
+
+### Type: [InputBotInlineResult](../types/InputBotInlineResult.md)
+
+
+### Example:
+
+```
+$inputBotInlineResultPhoto = ['_' => 'inputBotInlineResultPhoto', 'id' => string, 'type' => string, 'photo' => InputPhoto, 'send_message' => InputBotInlineMessage, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+inputBotInlineResultPhoto={_='inputBotInlineResultPhoto', id=string, type=string, photo=InputPhoto, send_message=InputBotInlineMessage, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/inputChannel.md b/old_docs/API_docs_v62/constructors/inputChannel.md
new file mode 100644
index 00000000..a3f9af67
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/inputChannel.md
@@ -0,0 +1,36 @@
+---
+title: inputChannel
+description: inputChannel attributes, type and example
+---
+## Constructor: inputChannel
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|channel\_id|[int](../types/int.md) | Yes|
+|access\_hash|[long](../types/long.md) | Yes|
+
+
+
+### Type: [InputChannel](../types/InputChannel.md)
+
+
+### Example:
+
+```
+$inputChannel = ['_' => 'inputChannel', 'channel_id' => int, 'access_hash' => long, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+inputChannel={_='inputChannel', channel_id=int, access_hash=long, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/inputChannelEmpty.md b/old_docs/API_docs_v62/constructors/inputChannelEmpty.md
new file mode 100644
index 00000000..6b5c6f43
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/inputChannelEmpty.md
@@ -0,0 +1,30 @@
+---
+title: inputChannelEmpty
+description: inputChannelEmpty attributes, type and example
+---
+## Constructor: inputChannelEmpty
+[Back to constructors index](index.md)
+
+
+
+
+
+
+### Type: [InputChannel](../types/InputChannel.md)
+
+
+### Example:
+
+```
+$inputChannelEmpty = ['_' => 'inputChannelEmpty', ];
+```
+
+Or, if you're into Lua:
+
+
+```
+inputChannelEmpty={_='inputChannelEmpty', }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/inputChatPhoto.md b/old_docs/API_docs_v62/constructors/inputChatPhoto.md
new file mode 100644
index 00000000..8d46e6c3
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/inputChatPhoto.md
@@ -0,0 +1,35 @@
+---
+title: inputChatPhoto
+description: inputChatPhoto attributes, type and example
+---
+## Constructor: inputChatPhoto
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|id|[InputPhoto](../types/InputPhoto.md) | Yes|
+
+
+
+### Type: [InputChatPhoto](../types/InputChatPhoto.md)
+
+
+### Example:
+
+```
+$inputChatPhoto = ['_' => 'inputChatPhoto', 'id' => InputPhoto, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+inputChatPhoto={_='inputChatPhoto', id=InputPhoto, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/inputChatPhotoEmpty.md b/old_docs/API_docs_v62/constructors/inputChatPhotoEmpty.md
new file mode 100644
index 00000000..9b95ad79
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/inputChatPhotoEmpty.md
@@ -0,0 +1,30 @@
+---
+title: inputChatPhotoEmpty
+description: inputChatPhotoEmpty attributes, type and example
+---
+## Constructor: inputChatPhotoEmpty
+[Back to constructors index](index.md)
+
+
+
+
+
+
+### Type: [InputChatPhoto](../types/InputChatPhoto.md)
+
+
+### Example:
+
+```
+$inputChatPhotoEmpty = ['_' => 'inputChatPhotoEmpty', ];
+```
+
+Or, if you're into Lua:
+
+
+```
+inputChatPhotoEmpty={_='inputChatPhotoEmpty', }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/inputChatUploadedPhoto.md b/old_docs/API_docs_v62/constructors/inputChatUploadedPhoto.md
new file mode 100644
index 00000000..eec015d4
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/inputChatUploadedPhoto.md
@@ -0,0 +1,35 @@
+---
+title: inputChatUploadedPhoto
+description: inputChatUploadedPhoto attributes, type and example
+---
+## Constructor: inputChatUploadedPhoto
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|file|[InputFile](../types/InputFile.md) | Yes|
+
+
+
+### Type: [InputChatPhoto](../types/InputChatPhoto.md)
+
+
+### Example:
+
+```
+$inputChatUploadedPhoto = ['_' => 'inputChatUploadedPhoto', 'file' => InputFile, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+inputChatUploadedPhoto={_='inputChatUploadedPhoto', file=InputFile, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/inputDocument.md b/old_docs/API_docs_v62/constructors/inputDocument.md
new file mode 100644
index 00000000..7ccf55b0
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/inputDocument.md
@@ -0,0 +1,36 @@
+---
+title: inputDocument
+description: inputDocument attributes, type and example
+---
+## Constructor: inputDocument
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|id|[long](../types/long.md) | Yes|
+|access\_hash|[long](../types/long.md) | Yes|
+
+
+
+### Type: [InputDocument](../types/InputDocument.md)
+
+
+### Example:
+
+```
+$inputDocument = ['_' => 'inputDocument', 'id' => long, 'access_hash' => long, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+inputDocument={_='inputDocument', id=long, access_hash=long, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/inputDocumentEmpty.md b/old_docs/API_docs_v62/constructors/inputDocumentEmpty.md
new file mode 100644
index 00000000..db5f4d84
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/inputDocumentEmpty.md
@@ -0,0 +1,30 @@
+---
+title: inputDocumentEmpty
+description: inputDocumentEmpty attributes, type and example
+---
+## Constructor: inputDocumentEmpty
+[Back to constructors index](index.md)
+
+
+
+
+
+
+### Type: [InputDocument](../types/InputDocument.md)
+
+
+### Example:
+
+```
+$inputDocumentEmpty = ['_' => 'inputDocumentEmpty', ];
+```
+
+Or, if you're into Lua:
+
+
+```
+inputDocumentEmpty={_='inputDocumentEmpty', }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/inputDocumentFileLocation.md b/old_docs/API_docs_v62/constructors/inputDocumentFileLocation.md
new file mode 100644
index 00000000..41e520bb
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/inputDocumentFileLocation.md
@@ -0,0 +1,37 @@
+---
+title: inputDocumentFileLocation
+description: inputDocumentFileLocation attributes, type and example
+---
+## Constructor: inputDocumentFileLocation
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|id|[long](../types/long.md) | Yes|
+|access\_hash|[long](../types/long.md) | Yes|
+|version|[int](../types/int.md) | Yes|
+
+
+
+### Type: [InputFileLocation](../types/InputFileLocation.md)
+
+
+### Example:
+
+```
+$inputDocumentFileLocation = ['_' => 'inputDocumentFileLocation', 'id' => long, 'access_hash' => long, 'version' => int, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+inputDocumentFileLocation={_='inputDocumentFileLocation', id=long, access_hash=long, version=int, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/inputEncryptedChat.md b/old_docs/API_docs_v62/constructors/inputEncryptedChat.md
new file mode 100644
index 00000000..f04168ed
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/inputEncryptedChat.md
@@ -0,0 +1,36 @@
+---
+title: inputEncryptedChat
+description: inputEncryptedChat attributes, type and example
+---
+## Constructor: inputEncryptedChat
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|chat\_id|[int](../types/int.md) | Yes|
+|access\_hash|[long](../types/long.md) | Yes|
+
+
+
+### Type: [InputEncryptedChat](../types/InputEncryptedChat.md)
+
+
+### Example:
+
+```
+$inputEncryptedChat = ['_' => 'inputEncryptedChat', 'chat_id' => int, 'access_hash' => long, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+inputEncryptedChat={_='inputEncryptedChat', chat_id=int, access_hash=long, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/inputEncryptedFile.md b/old_docs/API_docs_v62/constructors/inputEncryptedFile.md
new file mode 100644
index 00000000..15da7f17
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/inputEncryptedFile.md
@@ -0,0 +1,36 @@
+---
+title: inputEncryptedFile
+description: inputEncryptedFile attributes, type and example
+---
+## Constructor: inputEncryptedFile
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|id|[long](../types/long.md) | Yes|
+|access\_hash|[long](../types/long.md) | Yes|
+
+
+
+### Type: [InputEncryptedFile](../types/InputEncryptedFile.md)
+
+
+### Example:
+
+```
+$inputEncryptedFile = ['_' => 'inputEncryptedFile', 'id' => long, 'access_hash' => long, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+inputEncryptedFile={_='inputEncryptedFile', id=long, access_hash=long, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/inputEncryptedFileBigUploaded.md b/old_docs/API_docs_v62/constructors/inputEncryptedFileBigUploaded.md
new file mode 100644
index 00000000..bb813e34
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/inputEncryptedFileBigUploaded.md
@@ -0,0 +1,37 @@
+---
+title: inputEncryptedFileBigUploaded
+description: inputEncryptedFileBigUploaded attributes, type and example
+---
+## Constructor: inputEncryptedFileBigUploaded
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|id|[long](../types/long.md) | Yes|
+|parts|[int](../types/int.md) | Yes|
+|key\_fingerprint|[int](../types/int.md) | Yes|
+
+
+
+### Type: [InputEncryptedFile](../types/InputEncryptedFile.md)
+
+
+### Example:
+
+```
+$inputEncryptedFileBigUploaded = ['_' => 'inputEncryptedFileBigUploaded', 'id' => long, 'parts' => int, 'key_fingerprint' => int, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+inputEncryptedFileBigUploaded={_='inputEncryptedFileBigUploaded', id=long, parts=int, key_fingerprint=int, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/inputEncryptedFileEmpty.md b/old_docs/API_docs_v62/constructors/inputEncryptedFileEmpty.md
new file mode 100644
index 00000000..dffa37b3
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/inputEncryptedFileEmpty.md
@@ -0,0 +1,30 @@
+---
+title: inputEncryptedFileEmpty
+description: inputEncryptedFileEmpty attributes, type and example
+---
+## Constructor: inputEncryptedFileEmpty
+[Back to constructors index](index.md)
+
+
+
+
+
+
+### Type: [InputEncryptedFile](../types/InputEncryptedFile.md)
+
+
+### Example:
+
+```
+$inputEncryptedFileEmpty = ['_' => 'inputEncryptedFileEmpty', ];
+```
+
+Or, if you're into Lua:
+
+
+```
+inputEncryptedFileEmpty={_='inputEncryptedFileEmpty', }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/inputEncryptedFileLocation.md b/old_docs/API_docs_v62/constructors/inputEncryptedFileLocation.md
new file mode 100644
index 00000000..e47645f5
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/inputEncryptedFileLocation.md
@@ -0,0 +1,36 @@
+---
+title: inputEncryptedFileLocation
+description: inputEncryptedFileLocation attributes, type and example
+---
+## Constructor: inputEncryptedFileLocation
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|id|[long](../types/long.md) | Yes|
+|access\_hash|[long](../types/long.md) | Yes|
+
+
+
+### Type: [InputFileLocation](../types/InputFileLocation.md)
+
+
+### Example:
+
+```
+$inputEncryptedFileLocation = ['_' => 'inputEncryptedFileLocation', 'id' => long, 'access_hash' => long, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+inputEncryptedFileLocation={_='inputEncryptedFileLocation', id=long, access_hash=long, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/inputEncryptedFileUploaded.md b/old_docs/API_docs_v62/constructors/inputEncryptedFileUploaded.md
new file mode 100644
index 00000000..70b61949
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/inputEncryptedFileUploaded.md
@@ -0,0 +1,38 @@
+---
+title: inputEncryptedFileUploaded
+description: inputEncryptedFileUploaded attributes, type and example
+---
+## Constructor: inputEncryptedFileUploaded
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|id|[long](../types/long.md) | Yes|
+|parts|[int](../types/int.md) | Yes|
+|md5\_checksum|[string](../types/string.md) | Yes|
+|key\_fingerprint|[int](../types/int.md) | Yes|
+
+
+
+### Type: [InputEncryptedFile](../types/InputEncryptedFile.md)
+
+
+### Example:
+
+```
+$inputEncryptedFileUploaded = ['_' => 'inputEncryptedFileUploaded', 'id' => long, 'parts' => int, 'md5_checksum' => string, 'key_fingerprint' => int, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+inputEncryptedFileUploaded={_='inputEncryptedFileUploaded', id=long, parts=int, md5_checksum=string, key_fingerprint=int, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/inputFile.md b/old_docs/API_docs_v62/constructors/inputFile.md
new file mode 100644
index 00000000..281c829d
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/inputFile.md
@@ -0,0 +1,38 @@
+---
+title: inputFile
+description: inputFile attributes, type and example
+---
+## Constructor: inputFile
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|id|[long](../types/long.md) | Yes|
+|parts|[int](../types/int.md) | Yes|
+|name|[string](../types/string.md) | Yes|
+|md5\_checksum|[string](../types/string.md) | Yes|
+
+
+
+### Type: [InputFile](../types/InputFile.md)
+
+
+### Example:
+
+```
+$inputFile = ['_' => 'inputFile', 'id' => long, 'parts' => int, 'name' => string, 'md5_checksum' => string, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+inputFile={_='inputFile', id=long, parts=int, name=string, md5_checksum=string, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/inputFileBig.md b/old_docs/API_docs_v62/constructors/inputFileBig.md
new file mode 100644
index 00000000..9d74e451
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/inputFileBig.md
@@ -0,0 +1,37 @@
+---
+title: inputFileBig
+description: inputFileBig attributes, type and example
+---
+## Constructor: inputFileBig
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|id|[long](../types/long.md) | Yes|
+|parts|[int](../types/int.md) | Yes|
+|name|[string](../types/string.md) | Yes|
+
+
+
+### Type: [InputFile](../types/InputFile.md)
+
+
+### Example:
+
+```
+$inputFileBig = ['_' => 'inputFileBig', 'id' => long, 'parts' => int, 'name' => string, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+inputFileBig={_='inputFileBig', id=long, parts=int, name=string, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/inputFileLocation.md b/old_docs/API_docs_v62/constructors/inputFileLocation.md
new file mode 100644
index 00000000..baa0b7dc
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/inputFileLocation.md
@@ -0,0 +1,37 @@
+---
+title: inputFileLocation
+description: inputFileLocation attributes, type and example
+---
+## Constructor: inputFileLocation
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|volume\_id|[long](../types/long.md) | Yes|
+|local\_id|[int](../types/int.md) | Yes|
+|secret|[long](../types/long.md) | Yes|
+
+
+
+### Type: [InputFileLocation](../types/InputFileLocation.md)
+
+
+### Example:
+
+```
+$inputFileLocation = ['_' => 'inputFileLocation', 'volume_id' => long, 'local_id' => int, 'secret' => long, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+inputFileLocation={_='inputFileLocation', volume_id=long, local_id=int, secret=long, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/inputGameID.md b/old_docs/API_docs_v62/constructors/inputGameID.md
new file mode 100644
index 00000000..287e2543
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/inputGameID.md
@@ -0,0 +1,36 @@
+---
+title: inputGameID
+description: inputGameID attributes, type and example
+---
+## Constructor: inputGameID
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|id|[long](../types/long.md) | Yes|
+|access\_hash|[long](../types/long.md) | Yes|
+
+
+
+### Type: [InputGame](../types/InputGame.md)
+
+
+### Example:
+
+```
+$inputGameID = ['_' => 'inputGameID', 'id' => long, 'access_hash' => long, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+inputGameID={_='inputGameID', id=long, access_hash=long, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/inputGameShortName.md b/old_docs/API_docs_v62/constructors/inputGameShortName.md
new file mode 100644
index 00000000..eaad7dd7
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/inputGameShortName.md
@@ -0,0 +1,36 @@
+---
+title: inputGameShortName
+description: inputGameShortName attributes, type and example
+---
+## Constructor: inputGameShortName
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|bot\_id|[InputUser](../types/InputUser.md) | Yes|
+|short\_name|[string](../types/string.md) | Yes|
+
+
+
+### Type: [InputGame](../types/InputGame.md)
+
+
+### Example:
+
+```
+$inputGameShortName = ['_' => 'inputGameShortName', 'bot_id' => InputUser, 'short_name' => string, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+inputGameShortName={_='inputGameShortName', bot_id=InputUser, short_name=string, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/inputGeoPoint.md b/old_docs/API_docs_v62/constructors/inputGeoPoint.md
new file mode 100644
index 00000000..e28d6b1a
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/inputGeoPoint.md
@@ -0,0 +1,36 @@
+---
+title: inputGeoPoint
+description: inputGeoPoint attributes, type and example
+---
+## Constructor: inputGeoPoint
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|lat|[double](../types/double.md) | Yes|
+|long|[double](../types/double.md) | Yes|
+
+
+
+### Type: [InputGeoPoint](../types/InputGeoPoint.md)
+
+
+### Example:
+
+```
+$inputGeoPoint = ['_' => 'inputGeoPoint', 'lat' => double, 'long' => double, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+inputGeoPoint={_='inputGeoPoint', lat=double, long=double, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/inputGeoPointEmpty.md b/old_docs/API_docs_v62/constructors/inputGeoPointEmpty.md
new file mode 100644
index 00000000..76a458dd
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/inputGeoPointEmpty.md
@@ -0,0 +1,30 @@
+---
+title: inputGeoPointEmpty
+description: inputGeoPointEmpty attributes, type and example
+---
+## Constructor: inputGeoPointEmpty
+[Back to constructors index](index.md)
+
+
+
+
+
+
+### Type: [InputGeoPoint](../types/InputGeoPoint.md)
+
+
+### Example:
+
+```
+$inputGeoPointEmpty = ['_' => 'inputGeoPointEmpty', ];
+```
+
+Or, if you're into Lua:
+
+
+```
+inputGeoPointEmpty={_='inputGeoPointEmpty', }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/inputMediaContact.md b/old_docs/API_docs_v62/constructors/inputMediaContact.md
new file mode 100644
index 00000000..2c028355
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/inputMediaContact.md
@@ -0,0 +1,37 @@
+---
+title: inputMediaContact
+description: inputMediaContact attributes, type and example
+---
+## Constructor: inputMediaContact
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|phone\_number|[string](../types/string.md) | Yes|
+|first\_name|[string](../types/string.md) | Yes|
+|last\_name|[string](../types/string.md) | Yes|
+
+
+
+### Type: [InputMedia](../types/InputMedia.md)
+
+
+### Example:
+
+```
+$inputMediaContact = ['_' => 'inputMediaContact', 'phone_number' => string, 'first_name' => string, 'last_name' => string, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+inputMediaContact={_='inputMediaContact', phone_number=string, first_name=string, last_name=string, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/inputMediaDocument.md b/old_docs/API_docs_v62/constructors/inputMediaDocument.md
new file mode 100644
index 00000000..1959cc4e
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/inputMediaDocument.md
@@ -0,0 +1,36 @@
+---
+title: inputMediaDocument
+description: inputMediaDocument attributes, type and example
+---
+## Constructor: inputMediaDocument
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|id|[InputDocument](../types/InputDocument.md) | Yes|
+|caption|[string](../types/string.md) | Yes|
+
+
+
+### Type: [InputMedia](../types/InputMedia.md)
+
+
+### Example:
+
+```
+$inputMediaDocument = ['_' => 'inputMediaDocument', 'id' => InputDocument, 'caption' => string, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+inputMediaDocument={_='inputMediaDocument', id=InputDocument, caption=string, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/inputMediaDocumentExternal.md b/old_docs/API_docs_v62/constructors/inputMediaDocumentExternal.md
new file mode 100644
index 00000000..a56856ec
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/inputMediaDocumentExternal.md
@@ -0,0 +1,36 @@
+---
+title: inputMediaDocumentExternal
+description: inputMediaDocumentExternal attributes, type and example
+---
+## Constructor: inputMediaDocumentExternal
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|url|[string](../types/string.md) | Yes|
+|caption|[string](../types/string.md) | Yes|
+
+
+
+### Type: [InputMedia](../types/InputMedia.md)
+
+
+### Example:
+
+```
+$inputMediaDocumentExternal = ['_' => 'inputMediaDocumentExternal', 'url' => string, 'caption' => string, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+inputMediaDocumentExternal={_='inputMediaDocumentExternal', url=string, caption=string, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/inputMediaEmpty.md b/old_docs/API_docs_v62/constructors/inputMediaEmpty.md
new file mode 100644
index 00000000..e0252d56
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/inputMediaEmpty.md
@@ -0,0 +1,30 @@
+---
+title: inputMediaEmpty
+description: inputMediaEmpty attributes, type and example
+---
+## Constructor: inputMediaEmpty
+[Back to constructors index](index.md)
+
+
+
+
+
+
+### Type: [InputMedia](../types/InputMedia.md)
+
+
+### Example:
+
+```
+$inputMediaEmpty = ['_' => 'inputMediaEmpty', ];
+```
+
+Or, if you're into Lua:
+
+
+```
+inputMediaEmpty={_='inputMediaEmpty', }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/inputMediaGame.md b/old_docs/API_docs_v62/constructors/inputMediaGame.md
new file mode 100644
index 00000000..91b7bc9a
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/inputMediaGame.md
@@ -0,0 +1,35 @@
+---
+title: inputMediaGame
+description: inputMediaGame attributes, type and example
+---
+## Constructor: inputMediaGame
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|id|[InputGame](../types/InputGame.md) | Yes|
+
+
+
+### Type: [InputMedia](../types/InputMedia.md)
+
+
+### Example:
+
+```
+$inputMediaGame = ['_' => 'inputMediaGame', 'id' => InputGame, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+inputMediaGame={_='inputMediaGame', id=InputGame, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/inputMediaGeoPoint.md b/old_docs/API_docs_v62/constructors/inputMediaGeoPoint.md
new file mode 100644
index 00000000..c6b002a0
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/inputMediaGeoPoint.md
@@ -0,0 +1,35 @@
+---
+title: inputMediaGeoPoint
+description: inputMediaGeoPoint attributes, type and example
+---
+## Constructor: inputMediaGeoPoint
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|geo\_point|[InputGeoPoint](../types/InputGeoPoint.md) | Yes|
+
+
+
+### Type: [InputMedia](../types/InputMedia.md)
+
+
+### Example:
+
+```
+$inputMediaGeoPoint = ['_' => 'inputMediaGeoPoint', 'geo_point' => InputGeoPoint, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+inputMediaGeoPoint={_='inputMediaGeoPoint', geo_point=InputGeoPoint, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/inputMediaGifExternal.md b/old_docs/API_docs_v62/constructors/inputMediaGifExternal.md
new file mode 100644
index 00000000..af227d69
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/inputMediaGifExternal.md
@@ -0,0 +1,36 @@
+---
+title: inputMediaGifExternal
+description: inputMediaGifExternal attributes, type and example
+---
+## Constructor: inputMediaGifExternal
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|url|[string](../types/string.md) | Yes|
+|q|[string](../types/string.md) | Yes|
+
+
+
+### Type: [InputMedia](../types/InputMedia.md)
+
+
+### Example:
+
+```
+$inputMediaGifExternal = ['_' => 'inputMediaGifExternal', 'url' => string, 'q' => string, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+inputMediaGifExternal={_='inputMediaGifExternal', url=string, q=string, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/inputMediaPhoto.md b/old_docs/API_docs_v62/constructors/inputMediaPhoto.md
new file mode 100644
index 00000000..819f929c
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/inputMediaPhoto.md
@@ -0,0 +1,36 @@
+---
+title: inputMediaPhoto
+description: inputMediaPhoto attributes, type and example
+---
+## Constructor: inputMediaPhoto
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|id|[InputPhoto](../types/InputPhoto.md) | Yes|
+|caption|[string](../types/string.md) | Yes|
+
+
+
+### Type: [InputMedia](../types/InputMedia.md)
+
+
+### Example:
+
+```
+$inputMediaPhoto = ['_' => 'inputMediaPhoto', 'id' => InputPhoto, 'caption' => string, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+inputMediaPhoto={_='inputMediaPhoto', id=InputPhoto, caption=string, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/inputMediaPhotoExternal.md b/old_docs/API_docs_v62/constructors/inputMediaPhotoExternal.md
new file mode 100644
index 00000000..b8115970
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/inputMediaPhotoExternal.md
@@ -0,0 +1,36 @@
+---
+title: inputMediaPhotoExternal
+description: inputMediaPhotoExternal attributes, type and example
+---
+## Constructor: inputMediaPhotoExternal
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|url|[string](../types/string.md) | Yes|
+|caption|[string](../types/string.md) | Yes|
+
+
+
+### Type: [InputMedia](../types/InputMedia.md)
+
+
+### Example:
+
+```
+$inputMediaPhotoExternal = ['_' => 'inputMediaPhotoExternal', 'url' => string, 'caption' => string, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+inputMediaPhotoExternal={_='inputMediaPhotoExternal', url=string, caption=string, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/inputMediaUploadedDocument.md b/old_docs/API_docs_v62/constructors/inputMediaUploadedDocument.md
new file mode 100644
index 00000000..7a74f1d6
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/inputMediaUploadedDocument.md
@@ -0,0 +1,39 @@
+---
+title: inputMediaUploadedDocument
+description: inputMediaUploadedDocument attributes, type and example
+---
+## Constructor: inputMediaUploadedDocument
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|file|[InputFile](../types/InputFile.md) | Yes|
+|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|
+
+
+
+### Type: [InputMedia](../types/InputMedia.md)
+
+
+### Example:
+
+```
+$inputMediaUploadedDocument = ['_' => 'inputMediaUploadedDocument', 'file' => InputFile, 'mime_type' => string, 'attributes' => [DocumentAttribute], 'caption' => string, 'stickers' => [InputDocument], ];
+```
+
+Or, if you're into Lua:
+
+
+```
+inputMediaUploadedDocument={_='inputMediaUploadedDocument', file=InputFile, mime_type=string, attributes={DocumentAttribute}, caption=string, stickers={InputDocument}, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/inputMediaUploadedPhoto.md b/old_docs/API_docs_v62/constructors/inputMediaUploadedPhoto.md
new file mode 100644
index 00000000..338e998b
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/inputMediaUploadedPhoto.md
@@ -0,0 +1,37 @@
+---
+title: inputMediaUploadedPhoto
+description: inputMediaUploadedPhoto attributes, type and example
+---
+## Constructor: inputMediaUploadedPhoto
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|file|[InputFile](../types/InputFile.md) | Yes|
+|caption|[string](../types/string.md) | Yes|
+|stickers|Array of [InputDocument](../types/InputDocument.md) | Optional|
+
+
+
+### Type: [InputMedia](../types/InputMedia.md)
+
+
+### Example:
+
+```
+$inputMediaUploadedPhoto = ['_' => 'inputMediaUploadedPhoto', 'file' => InputFile, 'caption' => string, 'stickers' => [InputDocument], ];
+```
+
+Or, if you're into Lua:
+
+
+```
+inputMediaUploadedPhoto={_='inputMediaUploadedPhoto', file=InputFile, caption=string, stickers={InputDocument}, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/inputMediaUploadedThumbDocument.md b/old_docs/API_docs_v62/constructors/inputMediaUploadedThumbDocument.md
new file mode 100644
index 00000000..2e08e76d
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/inputMediaUploadedThumbDocument.md
@@ -0,0 +1,40 @@
+---
+title: inputMediaUploadedThumbDocument
+description: inputMediaUploadedThumbDocument attributes, type and example
+---
+## Constructor: inputMediaUploadedThumbDocument
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|file|[InputFile](../types/InputFile.md) | Yes|
+|thumb|[InputFile](../types/InputFile.md) | Yes|
+|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|
+
+
+
+### Type: [InputMedia](../types/InputMedia.md)
+
+
+### Example:
+
+```
+$inputMediaUploadedThumbDocument = ['_' => 'inputMediaUploadedThumbDocument', 'file' => InputFile, 'thumb' => InputFile, 'mime_type' => string, 'attributes' => [DocumentAttribute], 'caption' => string, 'stickers' => [InputDocument], ];
+```
+
+Or, if you're into Lua:
+
+
+```
+inputMediaUploadedThumbDocument={_='inputMediaUploadedThumbDocument', file=InputFile, thumb=InputFile, mime_type=string, attributes={DocumentAttribute}, caption=string, stickers={InputDocument}, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/inputMediaVenue.md b/old_docs/API_docs_v62/constructors/inputMediaVenue.md
new file mode 100644
index 00000000..c77325a1
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/inputMediaVenue.md
@@ -0,0 +1,39 @@
+---
+title: inputMediaVenue
+description: inputMediaVenue attributes, type and example
+---
+## Constructor: inputMediaVenue
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|geo\_point|[InputGeoPoint](../types/InputGeoPoint.md) | Yes|
+|title|[string](../types/string.md) | Yes|
+|address|[string](../types/string.md) | Yes|
+|provider|[string](../types/string.md) | Yes|
+|venue\_id|[string](../types/string.md) | Yes|
+
+
+
+### Type: [InputMedia](../types/InputMedia.md)
+
+
+### Example:
+
+```
+$inputMediaVenue = ['_' => 'inputMediaVenue', 'geo_point' => InputGeoPoint, 'title' => string, 'address' => string, 'provider' => string, 'venue_id' => string, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+inputMediaVenue={_='inputMediaVenue', geo_point=InputGeoPoint, title=string, address=string, provider=string, venue_id=string, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/inputMessageEntityMentionName.md b/old_docs/API_docs_v62/constructors/inputMessageEntityMentionName.md
new file mode 100644
index 00000000..ba7132d5
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/inputMessageEntityMentionName.md
@@ -0,0 +1,37 @@
+---
+title: inputMessageEntityMentionName
+description: inputMessageEntityMentionName attributes, type and example
+---
+## Constructor: inputMessageEntityMentionName
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|offset|[int](../types/int.md) | Yes|
+|length|[int](../types/int.md) | Yes|
+|user\_id|[InputUser](../types/InputUser.md) | Yes|
+
+
+
+### Type: [MessageEntity](../types/MessageEntity.md)
+
+
+### Example:
+
+```
+$inputMessageEntityMentionName = ['_' => 'inputMessageEntityMentionName', 'offset' => int, 'length' => int, 'user_id' => InputUser, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+inputMessageEntityMentionName={_='inputMessageEntityMentionName', offset=int, length=int, user_id=InputUser, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/inputMessagesFilterChatPhotos.md b/old_docs/API_docs_v62/constructors/inputMessagesFilterChatPhotos.md
new file mode 100644
index 00000000..06e4b6ed
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/inputMessagesFilterChatPhotos.md
@@ -0,0 +1,30 @@
+---
+title: inputMessagesFilterChatPhotos
+description: inputMessagesFilterChatPhotos attributes, type and example
+---
+## Constructor: inputMessagesFilterChatPhotos
+[Back to constructors index](index.md)
+
+
+
+
+
+
+### Type: [MessagesFilter](../types/MessagesFilter.md)
+
+
+### Example:
+
+```
+$inputMessagesFilterChatPhotos = ['_' => 'inputMessagesFilterChatPhotos', ];
+```
+
+Or, if you're into Lua:
+
+
+```
+inputMessagesFilterChatPhotos={_='inputMessagesFilterChatPhotos', }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/inputMessagesFilterDocument.md b/old_docs/API_docs_v62/constructors/inputMessagesFilterDocument.md
new file mode 100644
index 00000000..382611ae
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/inputMessagesFilterDocument.md
@@ -0,0 +1,30 @@
+---
+title: inputMessagesFilterDocument
+description: inputMessagesFilterDocument attributes, type and example
+---
+## Constructor: inputMessagesFilterDocument
+[Back to constructors index](index.md)
+
+
+
+
+
+
+### Type: [MessagesFilter](../types/MessagesFilter.md)
+
+
+### Example:
+
+```
+$inputMessagesFilterDocument = ['_' => 'inputMessagesFilterDocument', ];
+```
+
+Or, if you're into Lua:
+
+
+```
+inputMessagesFilterDocument={_='inputMessagesFilterDocument', }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/inputMessagesFilterEmpty.md b/old_docs/API_docs_v62/constructors/inputMessagesFilterEmpty.md
new file mode 100644
index 00000000..ce464663
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/inputMessagesFilterEmpty.md
@@ -0,0 +1,30 @@
+---
+title: inputMessagesFilterEmpty
+description: inputMessagesFilterEmpty attributes, type and example
+---
+## Constructor: inputMessagesFilterEmpty
+[Back to constructors index](index.md)
+
+
+
+
+
+
+### Type: [MessagesFilter](../types/MessagesFilter.md)
+
+
+### Example:
+
+```
+$inputMessagesFilterEmpty = ['_' => 'inputMessagesFilterEmpty', ];
+```
+
+Or, if you're into Lua:
+
+
+```
+inputMessagesFilterEmpty={_='inputMessagesFilterEmpty', }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/inputMessagesFilterGif.md b/old_docs/API_docs_v62/constructors/inputMessagesFilterGif.md
new file mode 100644
index 00000000..02da8091
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/inputMessagesFilterGif.md
@@ -0,0 +1,30 @@
+---
+title: inputMessagesFilterGif
+description: inputMessagesFilterGif attributes, type and example
+---
+## Constructor: inputMessagesFilterGif
+[Back to constructors index](index.md)
+
+
+
+
+
+
+### Type: [MessagesFilter](../types/MessagesFilter.md)
+
+
+### Example:
+
+```
+$inputMessagesFilterGif = ['_' => 'inputMessagesFilterGif', ];
+```
+
+Or, if you're into Lua:
+
+
+```
+inputMessagesFilterGif={_='inputMessagesFilterGif', }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/inputMessagesFilterMusic.md b/old_docs/API_docs_v62/constructors/inputMessagesFilterMusic.md
new file mode 100644
index 00000000..2b211ca0
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/inputMessagesFilterMusic.md
@@ -0,0 +1,30 @@
+---
+title: inputMessagesFilterMusic
+description: inputMessagesFilterMusic attributes, type and example
+---
+## Constructor: inputMessagesFilterMusic
+[Back to constructors index](index.md)
+
+
+
+
+
+
+### Type: [MessagesFilter](../types/MessagesFilter.md)
+
+
+### Example:
+
+```
+$inputMessagesFilterMusic = ['_' => 'inputMessagesFilterMusic', ];
+```
+
+Or, if you're into Lua:
+
+
+```
+inputMessagesFilterMusic={_='inputMessagesFilterMusic', }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/inputMessagesFilterPhoneCalls.md b/old_docs/API_docs_v62/constructors/inputMessagesFilterPhoneCalls.md
new file mode 100644
index 00000000..e9193dc8
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/inputMessagesFilterPhoneCalls.md
@@ -0,0 +1,35 @@
+---
+title: inputMessagesFilterPhoneCalls
+description: inputMessagesFilterPhoneCalls attributes, type and example
+---
+## Constructor: inputMessagesFilterPhoneCalls
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|missed|[Bool](../types/Bool.md) | Optional|
+
+
+
+### Type: [MessagesFilter](../types/MessagesFilter.md)
+
+
+### Example:
+
+```
+$inputMessagesFilterPhoneCalls = ['_' => 'inputMessagesFilterPhoneCalls', 'missed' => Bool, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+inputMessagesFilterPhoneCalls={_='inputMessagesFilterPhoneCalls', missed=Bool, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/inputMessagesFilterPhotoVideo.md b/old_docs/API_docs_v62/constructors/inputMessagesFilterPhotoVideo.md
new file mode 100644
index 00000000..6ab8dd77
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/inputMessagesFilterPhotoVideo.md
@@ -0,0 +1,30 @@
+---
+title: inputMessagesFilterPhotoVideo
+description: inputMessagesFilterPhotoVideo attributes, type and example
+---
+## Constructor: inputMessagesFilterPhotoVideo
+[Back to constructors index](index.md)
+
+
+
+
+
+
+### Type: [MessagesFilter](../types/MessagesFilter.md)
+
+
+### Example:
+
+```
+$inputMessagesFilterPhotoVideo = ['_' => 'inputMessagesFilterPhotoVideo', ];
+```
+
+Or, if you're into Lua:
+
+
+```
+inputMessagesFilterPhotoVideo={_='inputMessagesFilterPhotoVideo', }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/inputMessagesFilterPhotoVideoDocuments.md b/old_docs/API_docs_v62/constructors/inputMessagesFilterPhotoVideoDocuments.md
new file mode 100644
index 00000000..855efce0
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/inputMessagesFilterPhotoVideoDocuments.md
@@ -0,0 +1,30 @@
+---
+title: inputMessagesFilterPhotoVideoDocuments
+description: inputMessagesFilterPhotoVideoDocuments attributes, type and example
+---
+## Constructor: inputMessagesFilterPhotoVideoDocuments
+[Back to constructors index](index.md)
+
+
+
+
+
+
+### Type: [MessagesFilter](../types/MessagesFilter.md)
+
+
+### Example:
+
+```
+$inputMessagesFilterPhotoVideoDocuments = ['_' => 'inputMessagesFilterPhotoVideoDocuments', ];
+```
+
+Or, if you're into Lua:
+
+
+```
+inputMessagesFilterPhotoVideoDocuments={_='inputMessagesFilterPhotoVideoDocuments', }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/inputMessagesFilterPhotos.md b/old_docs/API_docs_v62/constructors/inputMessagesFilterPhotos.md
new file mode 100644
index 00000000..7e59ad4a
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/inputMessagesFilterPhotos.md
@@ -0,0 +1,30 @@
+---
+title: inputMessagesFilterPhotos
+description: inputMessagesFilterPhotos attributes, type and example
+---
+## Constructor: inputMessagesFilterPhotos
+[Back to constructors index](index.md)
+
+
+
+
+
+
+### Type: [MessagesFilter](../types/MessagesFilter.md)
+
+
+### Example:
+
+```
+$inputMessagesFilterPhotos = ['_' => 'inputMessagesFilterPhotos', ];
+```
+
+Or, if you're into Lua:
+
+
+```
+inputMessagesFilterPhotos={_='inputMessagesFilterPhotos', }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/inputMessagesFilterUrl.md b/old_docs/API_docs_v62/constructors/inputMessagesFilterUrl.md
new file mode 100644
index 00000000..9437a92e
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/inputMessagesFilterUrl.md
@@ -0,0 +1,30 @@
+---
+title: inputMessagesFilterUrl
+description: inputMessagesFilterUrl attributes, type and example
+---
+## Constructor: inputMessagesFilterUrl
+[Back to constructors index](index.md)
+
+
+
+
+
+
+### Type: [MessagesFilter](../types/MessagesFilter.md)
+
+
+### Example:
+
+```
+$inputMessagesFilterUrl = ['_' => 'inputMessagesFilterUrl', ];
+```
+
+Or, if you're into Lua:
+
+
+```
+inputMessagesFilterUrl={_='inputMessagesFilterUrl', }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/inputMessagesFilterVideo.md b/old_docs/API_docs_v62/constructors/inputMessagesFilterVideo.md
new file mode 100644
index 00000000..2b363ab9
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/inputMessagesFilterVideo.md
@@ -0,0 +1,30 @@
+---
+title: inputMessagesFilterVideo
+description: inputMessagesFilterVideo attributes, type and example
+---
+## Constructor: inputMessagesFilterVideo
+[Back to constructors index](index.md)
+
+
+
+
+
+
+### Type: [MessagesFilter](../types/MessagesFilter.md)
+
+
+### Example:
+
+```
+$inputMessagesFilterVideo = ['_' => 'inputMessagesFilterVideo', ];
+```
+
+Or, if you're into Lua:
+
+
+```
+inputMessagesFilterVideo={_='inputMessagesFilterVideo', }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/inputMessagesFilterVoice.md b/old_docs/API_docs_v62/constructors/inputMessagesFilterVoice.md
new file mode 100644
index 00000000..1318e465
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/inputMessagesFilterVoice.md
@@ -0,0 +1,30 @@
+---
+title: inputMessagesFilterVoice
+description: inputMessagesFilterVoice attributes, type and example
+---
+## Constructor: inputMessagesFilterVoice
+[Back to constructors index](index.md)
+
+
+
+
+
+
+### Type: [MessagesFilter](../types/MessagesFilter.md)
+
+
+### Example:
+
+```
+$inputMessagesFilterVoice = ['_' => 'inputMessagesFilterVoice', ];
+```
+
+Or, if you're into Lua:
+
+
+```
+inputMessagesFilterVoice={_='inputMessagesFilterVoice', }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/inputNotifyAll.md b/old_docs/API_docs_v62/constructors/inputNotifyAll.md
new file mode 100644
index 00000000..7f633eda
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/inputNotifyAll.md
@@ -0,0 +1,30 @@
+---
+title: inputNotifyAll
+description: inputNotifyAll attributes, type and example
+---
+## Constructor: inputNotifyAll
+[Back to constructors index](index.md)
+
+
+
+
+
+
+### Type: [InputNotifyPeer](../types/InputNotifyPeer.md)
+
+
+### Example:
+
+```
+$inputNotifyAll = ['_' => 'inputNotifyAll', ];
+```
+
+Or, if you're into Lua:
+
+
+```
+inputNotifyAll={_='inputNotifyAll', }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/inputNotifyChats.md b/old_docs/API_docs_v62/constructors/inputNotifyChats.md
new file mode 100644
index 00000000..f3f3de28
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/inputNotifyChats.md
@@ -0,0 +1,30 @@
+---
+title: inputNotifyChats
+description: inputNotifyChats attributes, type and example
+---
+## Constructor: inputNotifyChats
+[Back to constructors index](index.md)
+
+
+
+
+
+
+### Type: [InputNotifyPeer](../types/InputNotifyPeer.md)
+
+
+### Example:
+
+```
+$inputNotifyChats = ['_' => 'inputNotifyChats', ];
+```
+
+Or, if you're into Lua:
+
+
+```
+inputNotifyChats={_='inputNotifyChats', }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/inputNotifyPeer.md b/old_docs/API_docs_v62/constructors/inputNotifyPeer.md
new file mode 100644
index 00000000..5db2d649
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/inputNotifyPeer.md
@@ -0,0 +1,35 @@
+---
+title: inputNotifyPeer
+description: inputNotifyPeer attributes, type and example
+---
+## Constructor: inputNotifyPeer
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|peer|[InputPeer](../types/InputPeer.md) | Yes|
+
+
+
+### Type: [InputNotifyPeer](../types/InputNotifyPeer.md)
+
+
+### Example:
+
+```
+$inputNotifyPeer = ['_' => 'inputNotifyPeer', 'peer' => InputPeer, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+inputNotifyPeer={_='inputNotifyPeer', peer=InputPeer, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/inputNotifyUsers.md b/old_docs/API_docs_v62/constructors/inputNotifyUsers.md
new file mode 100644
index 00000000..ca9f23bf
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/inputNotifyUsers.md
@@ -0,0 +1,30 @@
+---
+title: inputNotifyUsers
+description: inputNotifyUsers attributes, type and example
+---
+## Constructor: inputNotifyUsers
+[Back to constructors index](index.md)
+
+
+
+
+
+
+### Type: [InputNotifyPeer](../types/InputNotifyPeer.md)
+
+
+### Example:
+
+```
+$inputNotifyUsers = ['_' => 'inputNotifyUsers', ];
+```
+
+Or, if you're into Lua:
+
+
+```
+inputNotifyUsers={_='inputNotifyUsers', }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/inputPeerChannel.md b/old_docs/API_docs_v62/constructors/inputPeerChannel.md
new file mode 100644
index 00000000..5d17d6d5
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/inputPeerChannel.md
@@ -0,0 +1,36 @@
+---
+title: inputPeerChannel
+description: inputPeerChannel attributes, type and example
+---
+## Constructor: inputPeerChannel
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|channel\_id|[int](../types/int.md) | Yes|
+|access\_hash|[long](../types/long.md) | Yes|
+
+
+
+### Type: [InputPeer](../types/InputPeer.md)
+
+
+### Example:
+
+```
+$inputPeerChannel = ['_' => 'inputPeerChannel', 'channel_id' => int, 'access_hash' => long, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+inputPeerChannel={_='inputPeerChannel', channel_id=int, access_hash=long, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/inputPeerChat.md b/old_docs/API_docs_v62/constructors/inputPeerChat.md
new file mode 100644
index 00000000..b5820605
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/inputPeerChat.md
@@ -0,0 +1,35 @@
+---
+title: inputPeerChat
+description: inputPeerChat attributes, type and example
+---
+## Constructor: inputPeerChat
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|chat\_id|[int](../types/int.md) | Yes|
+
+
+
+### Type: [InputPeer](../types/InputPeer.md)
+
+
+### Example:
+
+```
+$inputPeerChat = ['_' => 'inputPeerChat', 'chat_id' => int, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+inputPeerChat={_='inputPeerChat', chat_id=int, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/inputPeerEmpty.md b/old_docs/API_docs_v62/constructors/inputPeerEmpty.md
new file mode 100644
index 00000000..49716134
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/inputPeerEmpty.md
@@ -0,0 +1,30 @@
+---
+title: inputPeerEmpty
+description: inputPeerEmpty attributes, type and example
+---
+## Constructor: inputPeerEmpty
+[Back to constructors index](index.md)
+
+
+
+
+
+
+### Type: [InputPeer](../types/InputPeer.md)
+
+
+### Example:
+
+```
+$inputPeerEmpty = ['_' => 'inputPeerEmpty', ];
+```
+
+Or, if you're into Lua:
+
+
+```
+inputPeerEmpty={_='inputPeerEmpty', }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/inputPeerNotifyEventsAll.md b/old_docs/API_docs_v62/constructors/inputPeerNotifyEventsAll.md
new file mode 100644
index 00000000..80f1bdc7
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/inputPeerNotifyEventsAll.md
@@ -0,0 +1,30 @@
+---
+title: inputPeerNotifyEventsAll
+description: inputPeerNotifyEventsAll attributes, type and example
+---
+## Constructor: inputPeerNotifyEventsAll
+[Back to constructors index](index.md)
+
+
+
+
+
+
+### Type: [InputPeerNotifyEvents](../types/InputPeerNotifyEvents.md)
+
+
+### Example:
+
+```
+$inputPeerNotifyEventsAll = ['_' => 'inputPeerNotifyEventsAll', ];
+```
+
+Or, if you're into Lua:
+
+
+```
+inputPeerNotifyEventsAll={_='inputPeerNotifyEventsAll', }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/inputPeerNotifyEventsEmpty.md b/old_docs/API_docs_v62/constructors/inputPeerNotifyEventsEmpty.md
new file mode 100644
index 00000000..5493e87e
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/inputPeerNotifyEventsEmpty.md
@@ -0,0 +1,30 @@
+---
+title: inputPeerNotifyEventsEmpty
+description: inputPeerNotifyEventsEmpty attributes, type and example
+---
+## Constructor: inputPeerNotifyEventsEmpty
+[Back to constructors index](index.md)
+
+
+
+
+
+
+### Type: [InputPeerNotifyEvents](../types/InputPeerNotifyEvents.md)
+
+
+### Example:
+
+```
+$inputPeerNotifyEventsEmpty = ['_' => 'inputPeerNotifyEventsEmpty', ];
+```
+
+Or, if you're into Lua:
+
+
+```
+inputPeerNotifyEventsEmpty={_='inputPeerNotifyEventsEmpty', }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/inputPeerNotifySettings.md b/old_docs/API_docs_v62/constructors/inputPeerNotifySettings.md
new file mode 100644
index 00000000..d8db7388
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/inputPeerNotifySettings.md
@@ -0,0 +1,38 @@
+---
+title: inputPeerNotifySettings
+description: inputPeerNotifySettings attributes, type and example
+---
+## Constructor: inputPeerNotifySettings
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|show\_previews|[Bool](../types/Bool.md) | Optional|
+|silent|[Bool](../types/Bool.md) | Optional|
+|mute\_until|[int](../types/int.md) | Yes|
+|sound|[string](../types/string.md) | Yes|
+
+
+
+### Type: [InputPeerNotifySettings](../types/InputPeerNotifySettings.md)
+
+
+### Example:
+
+```
+$inputPeerNotifySettings = ['_' => 'inputPeerNotifySettings', 'show_previews' => Bool, 'silent' => Bool, 'mute_until' => int, 'sound' => string, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+inputPeerNotifySettings={_='inputPeerNotifySettings', show_previews=Bool, silent=Bool, mute_until=int, sound=string, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/inputPeerSelf.md b/old_docs/API_docs_v62/constructors/inputPeerSelf.md
new file mode 100644
index 00000000..906f09f1
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/inputPeerSelf.md
@@ -0,0 +1,30 @@
+---
+title: inputPeerSelf
+description: inputPeerSelf attributes, type and example
+---
+## Constructor: inputPeerSelf
+[Back to constructors index](index.md)
+
+
+
+
+
+
+### Type: [InputPeer](../types/InputPeer.md)
+
+
+### Example:
+
+```
+$inputPeerSelf = ['_' => 'inputPeerSelf', ];
+```
+
+Or, if you're into Lua:
+
+
+```
+inputPeerSelf={_='inputPeerSelf', }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/inputPeerUser.md b/old_docs/API_docs_v62/constructors/inputPeerUser.md
new file mode 100644
index 00000000..75f0adfa
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/inputPeerUser.md
@@ -0,0 +1,36 @@
+---
+title: inputPeerUser
+description: inputPeerUser attributes, type and example
+---
+## Constructor: inputPeerUser
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|user\_id|[int](../types/int.md) | Yes|
+|access\_hash|[long](../types/long.md) | Yes|
+
+
+
+### Type: [InputPeer](../types/InputPeer.md)
+
+
+### Example:
+
+```
+$inputPeerUser = ['_' => 'inputPeerUser', 'user_id' => int, 'access_hash' => long, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+inputPeerUser={_='inputPeerUser', user_id=int, access_hash=long, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/inputPhoneCall.md b/old_docs/API_docs_v62/constructors/inputPhoneCall.md
new file mode 100644
index 00000000..6f2c73f5
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/inputPhoneCall.md
@@ -0,0 +1,36 @@
+---
+title: inputPhoneCall
+description: inputPhoneCall attributes, type and example
+---
+## Constructor: inputPhoneCall
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|id|[long](../types/long.md) | Yes|
+|access\_hash|[long](../types/long.md) | Yes|
+
+
+
+### Type: [InputPhoneCall](../types/InputPhoneCall.md)
+
+
+### Example:
+
+```
+$inputPhoneCall = ['_' => 'inputPhoneCall', 'id' => long, 'access_hash' => long, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+inputPhoneCall={_='inputPhoneCall', id=long, access_hash=long, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/inputPhoneContact.md b/old_docs/API_docs_v62/constructors/inputPhoneContact.md
new file mode 100644
index 00000000..9431033f
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/inputPhoneContact.md
@@ -0,0 +1,38 @@
+---
+title: inputPhoneContact
+description: inputPhoneContact attributes, type and example
+---
+## Constructor: inputPhoneContact
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|client\_id|[long](../types/long.md) | Yes|
+|phone|[string](../types/string.md) | Yes|
+|first\_name|[string](../types/string.md) | Yes|
+|last\_name|[string](../types/string.md) | Yes|
+
+
+
+### Type: [InputContact](../types/InputContact.md)
+
+
+### Example:
+
+```
+$inputPhoneContact = ['_' => 'inputPhoneContact', 'client_id' => long, 'phone' => string, 'first_name' => string, 'last_name' => string, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+inputPhoneContact={_='inputPhoneContact', client_id=long, phone=string, first_name=string, last_name=string, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/inputPhoto.md b/old_docs/API_docs_v62/constructors/inputPhoto.md
new file mode 100644
index 00000000..f04d733d
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/inputPhoto.md
@@ -0,0 +1,36 @@
+---
+title: inputPhoto
+description: inputPhoto attributes, type and example
+---
+## Constructor: inputPhoto
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|id|[long](../types/long.md) | Yes|
+|access\_hash|[long](../types/long.md) | Yes|
+
+
+
+### Type: [InputPhoto](../types/InputPhoto.md)
+
+
+### Example:
+
+```
+$inputPhoto = ['_' => 'inputPhoto', 'id' => long, 'access_hash' => long, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+inputPhoto={_='inputPhoto', id=long, access_hash=long, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/inputPhotoEmpty.md b/old_docs/API_docs_v62/constructors/inputPhotoEmpty.md
new file mode 100644
index 00000000..3b4d6ae3
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/inputPhotoEmpty.md
@@ -0,0 +1,30 @@
+---
+title: inputPhotoEmpty
+description: inputPhotoEmpty attributes, type and example
+---
+## Constructor: inputPhotoEmpty
+[Back to constructors index](index.md)
+
+
+
+
+
+
+### Type: [InputPhoto](../types/InputPhoto.md)
+
+
+### Example:
+
+```
+$inputPhotoEmpty = ['_' => 'inputPhotoEmpty', ];
+```
+
+Or, if you're into Lua:
+
+
+```
+inputPhotoEmpty={_='inputPhotoEmpty', }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/inputPrivacyKeyChatInvite.md b/old_docs/API_docs_v62/constructors/inputPrivacyKeyChatInvite.md
new file mode 100644
index 00000000..43210930
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/inputPrivacyKeyChatInvite.md
@@ -0,0 +1,30 @@
+---
+title: inputPrivacyKeyChatInvite
+description: inputPrivacyKeyChatInvite attributes, type and example
+---
+## Constructor: inputPrivacyKeyChatInvite
+[Back to constructors index](index.md)
+
+
+
+
+
+
+### Type: [InputPrivacyKey](../types/InputPrivacyKey.md)
+
+
+### Example:
+
+```
+$inputPrivacyKeyChatInvite = ['_' => 'inputPrivacyKeyChatInvite', ];
+```
+
+Or, if you're into Lua:
+
+
+```
+inputPrivacyKeyChatInvite={_='inputPrivacyKeyChatInvite', }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/inputPrivacyKeyPhoneCall.md b/old_docs/API_docs_v62/constructors/inputPrivacyKeyPhoneCall.md
new file mode 100644
index 00000000..fdfe3360
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/inputPrivacyKeyPhoneCall.md
@@ -0,0 +1,30 @@
+---
+title: inputPrivacyKeyPhoneCall
+description: inputPrivacyKeyPhoneCall attributes, type and example
+---
+## Constructor: inputPrivacyKeyPhoneCall
+[Back to constructors index](index.md)
+
+
+
+
+
+
+### Type: [InputPrivacyKey](../types/InputPrivacyKey.md)
+
+
+### Example:
+
+```
+$inputPrivacyKeyPhoneCall = ['_' => 'inputPrivacyKeyPhoneCall', ];
+```
+
+Or, if you're into Lua:
+
+
+```
+inputPrivacyKeyPhoneCall={_='inputPrivacyKeyPhoneCall', }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/inputPrivacyKeyStatusTimestamp.md b/old_docs/API_docs_v62/constructors/inputPrivacyKeyStatusTimestamp.md
new file mode 100644
index 00000000..e6c033be
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/inputPrivacyKeyStatusTimestamp.md
@@ -0,0 +1,30 @@
+---
+title: inputPrivacyKeyStatusTimestamp
+description: inputPrivacyKeyStatusTimestamp attributes, type and example
+---
+## Constructor: inputPrivacyKeyStatusTimestamp
+[Back to constructors index](index.md)
+
+
+
+
+
+
+### Type: [InputPrivacyKey](../types/InputPrivacyKey.md)
+
+
+### Example:
+
+```
+$inputPrivacyKeyStatusTimestamp = ['_' => 'inputPrivacyKeyStatusTimestamp', ];
+```
+
+Or, if you're into Lua:
+
+
+```
+inputPrivacyKeyStatusTimestamp={_='inputPrivacyKeyStatusTimestamp', }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/inputPrivacyValueAllowAll.md b/old_docs/API_docs_v62/constructors/inputPrivacyValueAllowAll.md
new file mode 100644
index 00000000..31b018f5
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/inputPrivacyValueAllowAll.md
@@ -0,0 +1,30 @@
+---
+title: inputPrivacyValueAllowAll
+description: inputPrivacyValueAllowAll attributes, type and example
+---
+## Constructor: inputPrivacyValueAllowAll
+[Back to constructors index](index.md)
+
+
+
+
+
+
+### Type: [InputPrivacyRule](../types/InputPrivacyRule.md)
+
+
+### Example:
+
+```
+$inputPrivacyValueAllowAll = ['_' => 'inputPrivacyValueAllowAll', ];
+```
+
+Or, if you're into Lua:
+
+
+```
+inputPrivacyValueAllowAll={_='inputPrivacyValueAllowAll', }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/inputPrivacyValueAllowContacts.md b/old_docs/API_docs_v62/constructors/inputPrivacyValueAllowContacts.md
new file mode 100644
index 00000000..507888a3
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/inputPrivacyValueAllowContacts.md
@@ -0,0 +1,30 @@
+---
+title: inputPrivacyValueAllowContacts
+description: inputPrivacyValueAllowContacts attributes, type and example
+---
+## Constructor: inputPrivacyValueAllowContacts
+[Back to constructors index](index.md)
+
+
+
+
+
+
+### Type: [InputPrivacyRule](../types/InputPrivacyRule.md)
+
+
+### Example:
+
+```
+$inputPrivacyValueAllowContacts = ['_' => 'inputPrivacyValueAllowContacts', ];
+```
+
+Or, if you're into Lua:
+
+
+```
+inputPrivacyValueAllowContacts={_='inputPrivacyValueAllowContacts', }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/inputPrivacyValueAllowUsers.md b/old_docs/API_docs_v62/constructors/inputPrivacyValueAllowUsers.md
new file mode 100644
index 00000000..34eabc0c
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/inputPrivacyValueAllowUsers.md
@@ -0,0 +1,35 @@
+---
+title: inputPrivacyValueAllowUsers
+description: inputPrivacyValueAllowUsers attributes, type and example
+---
+## Constructor: inputPrivacyValueAllowUsers
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|users|Array of [InputUser](../types/InputUser.md) | Yes|
+
+
+
+### Type: [InputPrivacyRule](../types/InputPrivacyRule.md)
+
+
+### Example:
+
+```
+$inputPrivacyValueAllowUsers = ['_' => 'inputPrivacyValueAllowUsers', 'users' => [InputUser], ];
+```
+
+Or, if you're into Lua:
+
+
+```
+inputPrivacyValueAllowUsers={_='inputPrivacyValueAllowUsers', users={InputUser}, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/inputPrivacyValueDisallowAll.md b/old_docs/API_docs_v62/constructors/inputPrivacyValueDisallowAll.md
new file mode 100644
index 00000000..2a8b965d
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/inputPrivacyValueDisallowAll.md
@@ -0,0 +1,30 @@
+---
+title: inputPrivacyValueDisallowAll
+description: inputPrivacyValueDisallowAll attributes, type and example
+---
+## Constructor: inputPrivacyValueDisallowAll
+[Back to constructors index](index.md)
+
+
+
+
+
+
+### Type: [InputPrivacyRule](../types/InputPrivacyRule.md)
+
+
+### Example:
+
+```
+$inputPrivacyValueDisallowAll = ['_' => 'inputPrivacyValueDisallowAll', ];
+```
+
+Or, if you're into Lua:
+
+
+```
+inputPrivacyValueDisallowAll={_='inputPrivacyValueDisallowAll', }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/inputPrivacyValueDisallowContacts.md b/old_docs/API_docs_v62/constructors/inputPrivacyValueDisallowContacts.md
new file mode 100644
index 00000000..ed089416
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/inputPrivacyValueDisallowContacts.md
@@ -0,0 +1,30 @@
+---
+title: inputPrivacyValueDisallowContacts
+description: inputPrivacyValueDisallowContacts attributes, type and example
+---
+## Constructor: inputPrivacyValueDisallowContacts
+[Back to constructors index](index.md)
+
+
+
+
+
+
+### Type: [InputPrivacyRule](../types/InputPrivacyRule.md)
+
+
+### Example:
+
+```
+$inputPrivacyValueDisallowContacts = ['_' => 'inputPrivacyValueDisallowContacts', ];
+```
+
+Or, if you're into Lua:
+
+
+```
+inputPrivacyValueDisallowContacts={_='inputPrivacyValueDisallowContacts', }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/inputPrivacyValueDisallowUsers.md b/old_docs/API_docs_v62/constructors/inputPrivacyValueDisallowUsers.md
new file mode 100644
index 00000000..51e8fe37
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/inputPrivacyValueDisallowUsers.md
@@ -0,0 +1,35 @@
+---
+title: inputPrivacyValueDisallowUsers
+description: inputPrivacyValueDisallowUsers attributes, type and example
+---
+## Constructor: inputPrivacyValueDisallowUsers
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|users|Array of [InputUser](../types/InputUser.md) | Yes|
+
+
+
+### Type: [InputPrivacyRule](../types/InputPrivacyRule.md)
+
+
+### Example:
+
+```
+$inputPrivacyValueDisallowUsers = ['_' => 'inputPrivacyValueDisallowUsers', 'users' => [InputUser], ];
+```
+
+Or, if you're into Lua:
+
+
+```
+inputPrivacyValueDisallowUsers={_='inputPrivacyValueDisallowUsers', users={InputUser}, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/inputReportReasonOther.md b/old_docs/API_docs_v62/constructors/inputReportReasonOther.md
new file mode 100644
index 00000000..547711c4
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/inputReportReasonOther.md
@@ -0,0 +1,35 @@
+---
+title: inputReportReasonOther
+description: inputReportReasonOther attributes, type and example
+---
+## Constructor: inputReportReasonOther
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|text|[string](../types/string.md) | Yes|
+
+
+
+### Type: [ReportReason](../types/ReportReason.md)
+
+
+### Example:
+
+```
+$inputReportReasonOther = ['_' => 'inputReportReasonOther', 'text' => string, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+inputReportReasonOther={_='inputReportReasonOther', text=string, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/inputReportReasonPornography.md b/old_docs/API_docs_v62/constructors/inputReportReasonPornography.md
new file mode 100644
index 00000000..f73c6f4d
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/inputReportReasonPornography.md
@@ -0,0 +1,30 @@
+---
+title: inputReportReasonPornography
+description: inputReportReasonPornography attributes, type and example
+---
+## Constructor: inputReportReasonPornography
+[Back to constructors index](index.md)
+
+
+
+
+
+
+### Type: [ReportReason](../types/ReportReason.md)
+
+
+### Example:
+
+```
+$inputReportReasonPornography = ['_' => 'inputReportReasonPornography', ];
+```
+
+Or, if you're into Lua:
+
+
+```
+inputReportReasonPornography={_='inputReportReasonPornography', }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/inputReportReasonSpam.md b/old_docs/API_docs_v62/constructors/inputReportReasonSpam.md
new file mode 100644
index 00000000..ea2a9257
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/inputReportReasonSpam.md
@@ -0,0 +1,30 @@
+---
+title: inputReportReasonSpam
+description: inputReportReasonSpam attributes, type and example
+---
+## Constructor: inputReportReasonSpam
+[Back to constructors index](index.md)
+
+
+
+
+
+
+### Type: [ReportReason](../types/ReportReason.md)
+
+
+### Example:
+
+```
+$inputReportReasonSpam = ['_' => 'inputReportReasonSpam', ];
+```
+
+Or, if you're into Lua:
+
+
+```
+inputReportReasonSpam={_='inputReportReasonSpam', }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/inputReportReasonViolence.md b/old_docs/API_docs_v62/constructors/inputReportReasonViolence.md
new file mode 100644
index 00000000..18a2ba4c
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/inputReportReasonViolence.md
@@ -0,0 +1,30 @@
+---
+title: inputReportReasonViolence
+description: inputReportReasonViolence attributes, type and example
+---
+## Constructor: inputReportReasonViolence
+[Back to constructors index](index.md)
+
+
+
+
+
+
+### Type: [ReportReason](../types/ReportReason.md)
+
+
+### Example:
+
+```
+$inputReportReasonViolence = ['_' => 'inputReportReasonViolence', ];
+```
+
+Or, if you're into Lua:
+
+
+```
+inputReportReasonViolence={_='inputReportReasonViolence', }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/inputStickerSetEmpty.md b/old_docs/API_docs_v62/constructors/inputStickerSetEmpty.md
new file mode 100644
index 00000000..e99e3da0
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/inputStickerSetEmpty.md
@@ -0,0 +1,30 @@
+---
+title: inputStickerSetEmpty
+description: inputStickerSetEmpty attributes, type and example
+---
+## Constructor: inputStickerSetEmpty
+[Back to constructors index](index.md)
+
+
+
+
+
+
+### Type: [InputStickerSet](../types/InputStickerSet.md)
+
+
+### Example:
+
+```
+$inputStickerSetEmpty = ['_' => 'inputStickerSetEmpty', ];
+```
+
+Or, if you're into Lua:
+
+
+```
+inputStickerSetEmpty={_='inputStickerSetEmpty', }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/inputStickerSetID.md b/old_docs/API_docs_v62/constructors/inputStickerSetID.md
new file mode 100644
index 00000000..088bd7fe
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/inputStickerSetID.md
@@ -0,0 +1,36 @@
+---
+title: inputStickerSetID
+description: inputStickerSetID attributes, type and example
+---
+## Constructor: inputStickerSetID
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|id|[long](../types/long.md) | Yes|
+|access\_hash|[long](../types/long.md) | Yes|
+
+
+
+### Type: [InputStickerSet](../types/InputStickerSet.md)
+
+
+### Example:
+
+```
+$inputStickerSetID = ['_' => 'inputStickerSetID', 'id' => long, 'access_hash' => long, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+inputStickerSetID={_='inputStickerSetID', id=long, access_hash=long, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/inputStickerSetShortName.md b/old_docs/API_docs_v62/constructors/inputStickerSetShortName.md
new file mode 100644
index 00000000..f3c5434e
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/inputStickerSetShortName.md
@@ -0,0 +1,35 @@
+---
+title: inputStickerSetShortName
+description: inputStickerSetShortName attributes, type and example
+---
+## Constructor: inputStickerSetShortName
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|short\_name|[string](../types/string.md) | Yes|
+
+
+
+### Type: [InputStickerSet](../types/InputStickerSet.md)
+
+
+### Example:
+
+```
+$inputStickerSetShortName = ['_' => 'inputStickerSetShortName', 'short_name' => string, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+inputStickerSetShortName={_='inputStickerSetShortName', short_name=string, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/inputStickeredMediaDocument.md b/old_docs/API_docs_v62/constructors/inputStickeredMediaDocument.md
new file mode 100644
index 00000000..59ce4e3e
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/inputStickeredMediaDocument.md
@@ -0,0 +1,35 @@
+---
+title: inputStickeredMediaDocument
+description: inputStickeredMediaDocument attributes, type and example
+---
+## Constructor: inputStickeredMediaDocument
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|id|[InputDocument](../types/InputDocument.md) | Yes|
+
+
+
+### Type: [InputStickeredMedia](../types/InputStickeredMedia.md)
+
+
+### Example:
+
+```
+$inputStickeredMediaDocument = ['_' => 'inputStickeredMediaDocument', 'id' => InputDocument, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+inputStickeredMediaDocument={_='inputStickeredMediaDocument', id=InputDocument, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/inputStickeredMediaPhoto.md b/old_docs/API_docs_v62/constructors/inputStickeredMediaPhoto.md
new file mode 100644
index 00000000..e48fb0e3
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/inputStickeredMediaPhoto.md
@@ -0,0 +1,35 @@
+---
+title: inputStickeredMediaPhoto
+description: inputStickeredMediaPhoto attributes, type and example
+---
+## Constructor: inputStickeredMediaPhoto
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|id|[InputPhoto](../types/InputPhoto.md) | Yes|
+
+
+
+### Type: [InputStickeredMedia](../types/InputStickeredMedia.md)
+
+
+### Example:
+
+```
+$inputStickeredMediaPhoto = ['_' => 'inputStickeredMediaPhoto', 'id' => InputPhoto, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+inputStickeredMediaPhoto={_='inputStickeredMediaPhoto', id=InputPhoto, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/inputUser.md b/old_docs/API_docs_v62/constructors/inputUser.md
new file mode 100644
index 00000000..75444b15
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/inputUser.md
@@ -0,0 +1,36 @@
+---
+title: inputUser
+description: inputUser attributes, type and example
+---
+## Constructor: inputUser
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|user\_id|[int](../types/int.md) | Yes|
+|access\_hash|[long](../types/long.md) | Yes|
+
+
+
+### Type: [InputUser](../types/InputUser.md)
+
+
+### Example:
+
+```
+$inputUser = ['_' => 'inputUser', 'user_id' => int, 'access_hash' => long, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+inputUser={_='inputUser', user_id=int, access_hash=long, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/inputUserEmpty.md b/old_docs/API_docs_v62/constructors/inputUserEmpty.md
new file mode 100644
index 00000000..2ccdc606
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/inputUserEmpty.md
@@ -0,0 +1,30 @@
+---
+title: inputUserEmpty
+description: inputUserEmpty attributes, type and example
+---
+## Constructor: inputUserEmpty
+[Back to constructors index](index.md)
+
+
+
+
+
+
+### Type: [InputUser](../types/InputUser.md)
+
+
+### Example:
+
+```
+$inputUserEmpty = ['_' => 'inputUserEmpty', ];
+```
+
+Or, if you're into Lua:
+
+
+```
+inputUserEmpty={_='inputUserEmpty', }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/inputUserSelf.md b/old_docs/API_docs_v62/constructors/inputUserSelf.md
new file mode 100644
index 00000000..ec5e805e
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/inputUserSelf.md
@@ -0,0 +1,30 @@
+---
+title: inputUserSelf
+description: inputUserSelf attributes, type and example
+---
+## Constructor: inputUserSelf
+[Back to constructors index](index.md)
+
+
+
+
+
+
+### Type: [InputUser](../types/InputUser.md)
+
+
+### Example:
+
+```
+$inputUserSelf = ['_' => 'inputUserSelf', ];
+```
+
+Or, if you're into Lua:
+
+
+```
+inputUserSelf={_='inputUserSelf', }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/keyboardButton.md b/old_docs/API_docs_v62/constructors/keyboardButton.md
new file mode 100644
index 00000000..ffa31c66
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/keyboardButton.md
@@ -0,0 +1,35 @@
+---
+title: keyboardButton
+description: keyboardButton attributes, type and example
+---
+## Constructor: keyboardButton
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|text|[string](../types/string.md) | Yes|
+
+
+
+### Type: [KeyboardButton](../types/KeyboardButton.md)
+
+
+### Example:
+
+```
+$keyboardButton = ['_' => 'keyboardButton', 'text' => string, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+keyboardButton={_='keyboardButton', text=string, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/keyboardButtonCallback.md b/old_docs/API_docs_v62/constructors/keyboardButtonCallback.md
new file mode 100644
index 00000000..1fe8571c
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/keyboardButtonCallback.md
@@ -0,0 +1,36 @@
+---
+title: keyboardButtonCallback
+description: keyboardButtonCallback attributes, type and example
+---
+## Constructor: keyboardButtonCallback
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|text|[string](../types/string.md) | Yes|
+|data|[bytes](../types/bytes.md) | Yes|
+
+
+
+### Type: [KeyboardButton](../types/KeyboardButton.md)
+
+
+### Example:
+
+```
+$keyboardButtonCallback = ['_' => 'keyboardButtonCallback', 'text' => string, 'data' => bytes, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+keyboardButtonCallback={_='keyboardButtonCallback', text=string, data=bytes, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/keyboardButtonGame.md b/old_docs/API_docs_v62/constructors/keyboardButtonGame.md
new file mode 100644
index 00000000..170831e1
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/keyboardButtonGame.md
@@ -0,0 +1,35 @@
+---
+title: keyboardButtonGame
+description: keyboardButtonGame attributes, type and example
+---
+## Constructor: keyboardButtonGame
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|text|[string](../types/string.md) | Yes|
+
+
+
+### Type: [KeyboardButton](../types/KeyboardButton.md)
+
+
+### Example:
+
+```
+$keyboardButtonGame = ['_' => 'keyboardButtonGame', 'text' => string, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+keyboardButtonGame={_='keyboardButtonGame', text=string, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/keyboardButtonRequestGeoLocation.md b/old_docs/API_docs_v62/constructors/keyboardButtonRequestGeoLocation.md
new file mode 100644
index 00000000..05cfd3cb
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/keyboardButtonRequestGeoLocation.md
@@ -0,0 +1,35 @@
+---
+title: keyboardButtonRequestGeoLocation
+description: keyboardButtonRequestGeoLocation attributes, type and example
+---
+## Constructor: keyboardButtonRequestGeoLocation
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|text|[string](../types/string.md) | Yes|
+
+
+
+### Type: [KeyboardButton](../types/KeyboardButton.md)
+
+
+### Example:
+
+```
+$keyboardButtonRequestGeoLocation = ['_' => 'keyboardButtonRequestGeoLocation', 'text' => string, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+keyboardButtonRequestGeoLocation={_='keyboardButtonRequestGeoLocation', text=string, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/keyboardButtonRequestPhone.md b/old_docs/API_docs_v62/constructors/keyboardButtonRequestPhone.md
new file mode 100644
index 00000000..cbff4adb
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/keyboardButtonRequestPhone.md
@@ -0,0 +1,35 @@
+---
+title: keyboardButtonRequestPhone
+description: keyboardButtonRequestPhone attributes, type and example
+---
+## Constructor: keyboardButtonRequestPhone
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|text|[string](../types/string.md) | Yes|
+
+
+
+### Type: [KeyboardButton](../types/KeyboardButton.md)
+
+
+### Example:
+
+```
+$keyboardButtonRequestPhone = ['_' => 'keyboardButtonRequestPhone', 'text' => string, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+keyboardButtonRequestPhone={_='keyboardButtonRequestPhone', text=string, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/keyboardButtonRow.md b/old_docs/API_docs_v62/constructors/keyboardButtonRow.md
new file mode 100644
index 00000000..febe977c
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/keyboardButtonRow.md
@@ -0,0 +1,35 @@
+---
+title: keyboardButtonRow
+description: keyboardButtonRow attributes, type and example
+---
+## Constructor: keyboardButtonRow
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|buttons|Array of [KeyboardButton](../types/KeyboardButton.md) | Yes|
+
+
+
+### Type: [KeyboardButtonRow](../types/KeyboardButtonRow.md)
+
+
+### Example:
+
+```
+$keyboardButtonRow = ['_' => 'keyboardButtonRow', 'buttons' => [KeyboardButton], ];
+```
+
+Or, if you're into Lua:
+
+
+```
+keyboardButtonRow={_='keyboardButtonRow', buttons={KeyboardButton}, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/keyboardButtonSwitchInline.md b/old_docs/API_docs_v62/constructors/keyboardButtonSwitchInline.md
new file mode 100644
index 00000000..d93e0087
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/keyboardButtonSwitchInline.md
@@ -0,0 +1,37 @@
+---
+title: keyboardButtonSwitchInline
+description: keyboardButtonSwitchInline attributes, type and example
+---
+## Constructor: keyboardButtonSwitchInline
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|same\_peer|[Bool](../types/Bool.md) | Optional|
+|text|[string](../types/string.md) | Yes|
+|query|[string](../types/string.md) | Yes|
+
+
+
+### Type: [KeyboardButton](../types/KeyboardButton.md)
+
+
+### Example:
+
+```
+$keyboardButtonSwitchInline = ['_' => 'keyboardButtonSwitchInline', 'same_peer' => Bool, 'text' => string, 'query' => string, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+keyboardButtonSwitchInline={_='keyboardButtonSwitchInline', same_peer=Bool, text=string, query=string, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/keyboardButtonUrl.md b/old_docs/API_docs_v62/constructors/keyboardButtonUrl.md
new file mode 100644
index 00000000..a6411824
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/keyboardButtonUrl.md
@@ -0,0 +1,36 @@
+---
+title: keyboardButtonUrl
+description: keyboardButtonUrl attributes, type and example
+---
+## Constructor: keyboardButtonUrl
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|text|[string](../types/string.md) | Yes|
+|url|[string](../types/string.md) | Yes|
+
+
+
+### Type: [KeyboardButton](../types/KeyboardButton.md)
+
+
+### Example:
+
+```
+$keyboardButtonUrl = ['_' => 'keyboardButtonUrl', 'text' => string, 'url' => string, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+keyboardButtonUrl={_='keyboardButtonUrl', text=string, url=string, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/maskCoords.md b/old_docs/API_docs_v62/constructors/maskCoords.md
new file mode 100644
index 00000000..a0779629
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/maskCoords.md
@@ -0,0 +1,38 @@
+---
+title: maskCoords
+description: maskCoords attributes, type and example
+---
+## Constructor: maskCoords
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|n|[int](../types/int.md) | Yes|
+|x|[double](../types/double.md) | Yes|
+|y|[double](../types/double.md) | Yes|
+|zoom|[double](../types/double.md) | Yes|
+
+
+
+### Type: [MaskCoords](../types/MaskCoords.md)
+
+
+### Example:
+
+```
+$maskCoords = ['_' => 'maskCoords', 'n' => int, 'x' => double, 'y' => double, 'zoom' => double, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+maskCoords={_='maskCoords', n=int, x=double, y=double, zoom=double, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/message.md b/old_docs/API_docs_v62/constructors/message.md
new file mode 100644
index 00000000..8ecae9bf
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/message.md
@@ -0,0 +1,52 @@
+---
+title: message
+description: message attributes, type and example
+---
+## Constructor: message
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|out|[Bool](../types/Bool.md) | Optional|
+|mentioned|[Bool](../types/Bool.md) | Optional|
+|media\_unread|[Bool](../types/Bool.md) | Optional|
+|silent|[Bool](../types/Bool.md) | Optional|
+|post|[Bool](../types/Bool.md) | Optional|
+|id|[int](../types/int.md) | Yes|
+|from\_id|[int](../types/int.md) | Optional|
+|to\_id|[Peer](../types/Peer.md) | Yes|
+|fwd\_from|[MessageFwdHeader](../types/MessageFwdHeader.md) | Optional|
+|via\_bot\_id|[int](../types/int.md) | Optional|
+|reply\_to\_msg\_id|[int](../types/int.md) | Optional|
+|date|[int](../types/int.md) | Yes|
+|message|[string](../types/string.md) | Yes|
+|media|[MessageMedia](../types/MessageMedia.md) | Optional|
+|reply\_markup|[ReplyMarkup](../types/ReplyMarkup.md) | Optional|
+|entities|Array of [MessageEntity](../types/MessageEntity.md) | Optional|
+|views|[int](../types/int.md) | Optional|
+|edit\_date|[int](../types/int.md) | Optional|
+
+
+
+### Type: [Message](../types/Message.md)
+
+
+### Example:
+
+```
+$message = ['_' => 'message', 'out' => Bool, 'mentioned' => Bool, 'media_unread' => Bool, 'silent' => Bool, 'post' => Bool, 'id' => int, 'from_id' => int, 'to_id' => Peer, 'fwd_from' => MessageFwdHeader, 'via_bot_id' => int, 'reply_to_msg_id' => int, 'date' => int, 'message' => string, 'media' => MessageMedia, 'reply_markup' => ReplyMarkup, 'entities' => [MessageEntity], 'views' => int, 'edit_date' => int, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+message={_='message', out=Bool, mentioned=Bool, media_unread=Bool, silent=Bool, post=Bool, id=int, from_id=int, to_id=Peer, fwd_from=MessageFwdHeader, via_bot_id=int, reply_to_msg_id=int, date=int, message=string, media=MessageMedia, reply_markup=ReplyMarkup, entities={MessageEntity}, views=int, edit_date=int, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/messageActionChannelCreate.md b/old_docs/API_docs_v62/constructors/messageActionChannelCreate.md
new file mode 100644
index 00000000..42a87538
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/messageActionChannelCreate.md
@@ -0,0 +1,35 @@
+---
+title: messageActionChannelCreate
+description: messageActionChannelCreate attributes, type and example
+---
+## Constructor: messageActionChannelCreate
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|title|[string](../types/string.md) | Yes|
+
+
+
+### Type: [MessageAction](../types/MessageAction.md)
+
+
+### Example:
+
+```
+$messageActionChannelCreate = ['_' => 'messageActionChannelCreate', 'title' => string, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+messageActionChannelCreate={_='messageActionChannelCreate', title=string, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/messageActionChannelMigrateFrom.md b/old_docs/API_docs_v62/constructors/messageActionChannelMigrateFrom.md
new file mode 100644
index 00000000..d15c0bf3
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/messageActionChannelMigrateFrom.md
@@ -0,0 +1,36 @@
+---
+title: messageActionChannelMigrateFrom
+description: messageActionChannelMigrateFrom attributes, type and example
+---
+## Constructor: messageActionChannelMigrateFrom
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|title|[string](../types/string.md) | Yes|
+|chat\_id|[int](../types/int.md) | Yes|
+
+
+
+### Type: [MessageAction](../types/MessageAction.md)
+
+
+### Example:
+
+```
+$messageActionChannelMigrateFrom = ['_' => 'messageActionChannelMigrateFrom', 'title' => string, 'chat_id' => int, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+messageActionChannelMigrateFrom={_='messageActionChannelMigrateFrom', title=string, chat_id=int, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/messageActionChatAddUser.md b/old_docs/API_docs_v62/constructors/messageActionChatAddUser.md
new file mode 100644
index 00000000..135e16de
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/messageActionChatAddUser.md
@@ -0,0 +1,35 @@
+---
+title: messageActionChatAddUser
+description: messageActionChatAddUser attributes, type and example
+---
+## Constructor: messageActionChatAddUser
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|users|Array of [int](../types/int.md) | Yes|
+
+
+
+### Type: [MessageAction](../types/MessageAction.md)
+
+
+### Example:
+
+```
+$messageActionChatAddUser = ['_' => 'messageActionChatAddUser', 'users' => [int], ];
+```
+
+Or, if you're into Lua:
+
+
+```
+messageActionChatAddUser={_='messageActionChatAddUser', users={int}, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/messageActionChatCreate.md b/old_docs/API_docs_v62/constructors/messageActionChatCreate.md
new file mode 100644
index 00000000..cd3cb420
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/messageActionChatCreate.md
@@ -0,0 +1,36 @@
+---
+title: messageActionChatCreate
+description: messageActionChatCreate attributes, type and example
+---
+## Constructor: messageActionChatCreate
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|title|[string](../types/string.md) | Yes|
+|users|Array of [int](../types/int.md) | Yes|
+
+
+
+### Type: [MessageAction](../types/MessageAction.md)
+
+
+### Example:
+
+```
+$messageActionChatCreate = ['_' => 'messageActionChatCreate', 'title' => string, 'users' => [int], ];
+```
+
+Or, if you're into Lua:
+
+
+```
+messageActionChatCreate={_='messageActionChatCreate', title=string, users={int}, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/messageActionChatDeletePhoto.md b/old_docs/API_docs_v62/constructors/messageActionChatDeletePhoto.md
new file mode 100644
index 00000000..f9511de3
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/messageActionChatDeletePhoto.md
@@ -0,0 +1,30 @@
+---
+title: messageActionChatDeletePhoto
+description: messageActionChatDeletePhoto attributes, type and example
+---
+## Constructor: messageActionChatDeletePhoto
+[Back to constructors index](index.md)
+
+
+
+
+
+
+### Type: [MessageAction](../types/MessageAction.md)
+
+
+### Example:
+
+```
+$messageActionChatDeletePhoto = ['_' => 'messageActionChatDeletePhoto', ];
+```
+
+Or, if you're into Lua:
+
+
+```
+messageActionChatDeletePhoto={_='messageActionChatDeletePhoto', }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/messageActionChatDeleteUser.md b/old_docs/API_docs_v62/constructors/messageActionChatDeleteUser.md
new file mode 100644
index 00000000..790024f3
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/messageActionChatDeleteUser.md
@@ -0,0 +1,35 @@
+---
+title: messageActionChatDeleteUser
+description: messageActionChatDeleteUser attributes, type and example
+---
+## Constructor: messageActionChatDeleteUser
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|user\_id|[int](../types/int.md) | Yes|
+
+
+
+### Type: [MessageAction](../types/MessageAction.md)
+
+
+### Example:
+
+```
+$messageActionChatDeleteUser = ['_' => 'messageActionChatDeleteUser', 'user_id' => int, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+messageActionChatDeleteUser={_='messageActionChatDeleteUser', user_id=int, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/messageActionChatEditPhoto.md b/old_docs/API_docs_v62/constructors/messageActionChatEditPhoto.md
new file mode 100644
index 00000000..4e77eb37
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/messageActionChatEditPhoto.md
@@ -0,0 +1,35 @@
+---
+title: messageActionChatEditPhoto
+description: messageActionChatEditPhoto attributes, type and example
+---
+## Constructor: messageActionChatEditPhoto
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|photo|[Photo](../types/Photo.md) | Yes|
+
+
+
+### Type: [MessageAction](../types/MessageAction.md)
+
+
+### Example:
+
+```
+$messageActionChatEditPhoto = ['_' => 'messageActionChatEditPhoto', 'photo' => Photo, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+messageActionChatEditPhoto={_='messageActionChatEditPhoto', photo=Photo, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/messageActionChatEditTitle.md b/old_docs/API_docs_v62/constructors/messageActionChatEditTitle.md
new file mode 100644
index 00000000..bba73a29
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/messageActionChatEditTitle.md
@@ -0,0 +1,35 @@
+---
+title: messageActionChatEditTitle
+description: messageActionChatEditTitle attributes, type and example
+---
+## Constructor: messageActionChatEditTitle
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|title|[string](../types/string.md) | Yes|
+
+
+
+### Type: [MessageAction](../types/MessageAction.md)
+
+
+### Example:
+
+```
+$messageActionChatEditTitle = ['_' => 'messageActionChatEditTitle', 'title' => string, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+messageActionChatEditTitle={_='messageActionChatEditTitle', title=string, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/messageActionChatJoinedByLink.md b/old_docs/API_docs_v62/constructors/messageActionChatJoinedByLink.md
new file mode 100644
index 00000000..f536f643
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/messageActionChatJoinedByLink.md
@@ -0,0 +1,35 @@
+---
+title: messageActionChatJoinedByLink
+description: messageActionChatJoinedByLink attributes, type and example
+---
+## Constructor: messageActionChatJoinedByLink
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|inviter\_id|[int](../types/int.md) | Yes|
+
+
+
+### Type: [MessageAction](../types/MessageAction.md)
+
+
+### Example:
+
+```
+$messageActionChatJoinedByLink = ['_' => 'messageActionChatJoinedByLink', 'inviter_id' => int, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+messageActionChatJoinedByLink={_='messageActionChatJoinedByLink', inviter_id=int, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/messageActionChatMigrateTo.md b/old_docs/API_docs_v62/constructors/messageActionChatMigrateTo.md
new file mode 100644
index 00000000..fda20a24
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/messageActionChatMigrateTo.md
@@ -0,0 +1,35 @@
+---
+title: messageActionChatMigrateTo
+description: messageActionChatMigrateTo attributes, type and example
+---
+## Constructor: messageActionChatMigrateTo
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|channel\_id|[int](../types/int.md) | Yes|
+
+
+
+### Type: [MessageAction](../types/MessageAction.md)
+
+
+### Example:
+
+```
+$messageActionChatMigrateTo = ['_' => 'messageActionChatMigrateTo', 'channel_id' => int, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+messageActionChatMigrateTo={_='messageActionChatMigrateTo', channel_id=int, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/messageActionEmpty.md b/old_docs/API_docs_v62/constructors/messageActionEmpty.md
new file mode 100644
index 00000000..fb3254c8
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/messageActionEmpty.md
@@ -0,0 +1,30 @@
+---
+title: messageActionEmpty
+description: messageActionEmpty attributes, type and example
+---
+## Constructor: messageActionEmpty
+[Back to constructors index](index.md)
+
+
+
+
+
+
+### Type: [MessageAction](../types/MessageAction.md)
+
+
+### Example:
+
+```
+$messageActionEmpty = ['_' => 'messageActionEmpty', ];
+```
+
+Or, if you're into Lua:
+
+
+```
+messageActionEmpty={_='messageActionEmpty', }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/messageActionGameScore.md b/old_docs/API_docs_v62/constructors/messageActionGameScore.md
new file mode 100644
index 00000000..b94e0cf5
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/messageActionGameScore.md
@@ -0,0 +1,36 @@
+---
+title: messageActionGameScore
+description: messageActionGameScore attributes, type and example
+---
+## Constructor: messageActionGameScore
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|game\_id|[long](../types/long.md) | Yes|
+|score|[int](../types/int.md) | Yes|
+
+
+
+### Type: [MessageAction](../types/MessageAction.md)
+
+
+### Example:
+
+```
+$messageActionGameScore = ['_' => 'messageActionGameScore', 'game_id' => long, 'score' => int, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+messageActionGameScore={_='messageActionGameScore', game_id=long, score=int, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/messageActionHistoryClear.md b/old_docs/API_docs_v62/constructors/messageActionHistoryClear.md
new file mode 100644
index 00000000..02160753
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/messageActionHistoryClear.md
@@ -0,0 +1,30 @@
+---
+title: messageActionHistoryClear
+description: messageActionHistoryClear attributes, type and example
+---
+## Constructor: messageActionHistoryClear
+[Back to constructors index](index.md)
+
+
+
+
+
+
+### Type: [MessageAction](../types/MessageAction.md)
+
+
+### Example:
+
+```
+$messageActionHistoryClear = ['_' => 'messageActionHistoryClear', ];
+```
+
+Or, if you're into Lua:
+
+
+```
+messageActionHistoryClear={_='messageActionHistoryClear', }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/messageActionPhoneCall.md b/old_docs/API_docs_v62/constructors/messageActionPhoneCall.md
new file mode 100644
index 00000000..ca360e23
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/messageActionPhoneCall.md
@@ -0,0 +1,37 @@
+---
+title: messageActionPhoneCall
+description: messageActionPhoneCall attributes, type and example
+---
+## Constructor: messageActionPhoneCall
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|call\_id|[long](../types/long.md) | Yes|
+|reason|[PhoneCallDiscardReason](../types/PhoneCallDiscardReason.md) | Optional|
+|duration|[int](../types/int.md) | Optional|
+
+
+
+### Type: [MessageAction](../types/MessageAction.md)
+
+
+### Example:
+
+```
+$messageActionPhoneCall = ['_' => 'messageActionPhoneCall', 'call_id' => long, 'reason' => PhoneCallDiscardReason, 'duration' => int, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+messageActionPhoneCall={_='messageActionPhoneCall', call_id=long, reason=PhoneCallDiscardReason, duration=int, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/messageActionPinMessage.md b/old_docs/API_docs_v62/constructors/messageActionPinMessage.md
new file mode 100644
index 00000000..05443bcc
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/messageActionPinMessage.md
@@ -0,0 +1,30 @@
+---
+title: messageActionPinMessage
+description: messageActionPinMessage attributes, type and example
+---
+## Constructor: messageActionPinMessage
+[Back to constructors index](index.md)
+
+
+
+
+
+
+### Type: [MessageAction](../types/MessageAction.md)
+
+
+### Example:
+
+```
+$messageActionPinMessage = ['_' => 'messageActionPinMessage', ];
+```
+
+Or, if you're into Lua:
+
+
+```
+messageActionPinMessage={_='messageActionPinMessage', }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/messageEmpty.md b/old_docs/API_docs_v62/constructors/messageEmpty.md
new file mode 100644
index 00000000..2a350fb7
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/messageEmpty.md
@@ -0,0 +1,35 @@
+---
+title: messageEmpty
+description: messageEmpty attributes, type and example
+---
+## Constructor: messageEmpty
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|id|[int](../types/int.md) | Yes|
+
+
+
+### Type: [Message](../types/Message.md)
+
+
+### Example:
+
+```
+$messageEmpty = ['_' => 'messageEmpty', 'id' => int, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+messageEmpty={_='messageEmpty', id=int, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/messageEntityBold.md b/old_docs/API_docs_v62/constructors/messageEntityBold.md
new file mode 100644
index 00000000..97a5c661
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/messageEntityBold.md
@@ -0,0 +1,36 @@
+---
+title: messageEntityBold
+description: messageEntityBold attributes, type and example
+---
+## Constructor: messageEntityBold
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|offset|[int](../types/int.md) | Yes|
+|length|[int](../types/int.md) | Yes|
+
+
+
+### Type: [MessageEntity](../types/MessageEntity.md)
+
+
+### Example:
+
+```
+$messageEntityBold = ['_' => 'messageEntityBold', 'offset' => int, 'length' => int, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+messageEntityBold={_='messageEntityBold', offset=int, length=int, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/messageEntityBotCommand.md b/old_docs/API_docs_v62/constructors/messageEntityBotCommand.md
new file mode 100644
index 00000000..46af8f67
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/messageEntityBotCommand.md
@@ -0,0 +1,36 @@
+---
+title: messageEntityBotCommand
+description: messageEntityBotCommand attributes, type and example
+---
+## Constructor: messageEntityBotCommand
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|offset|[int](../types/int.md) | Yes|
+|length|[int](../types/int.md) | Yes|
+
+
+
+### Type: [MessageEntity](../types/MessageEntity.md)
+
+
+### Example:
+
+```
+$messageEntityBotCommand = ['_' => 'messageEntityBotCommand', 'offset' => int, 'length' => int, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+messageEntityBotCommand={_='messageEntityBotCommand', offset=int, length=int, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/messageEntityCode.md b/old_docs/API_docs_v62/constructors/messageEntityCode.md
new file mode 100644
index 00000000..603a18f2
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/messageEntityCode.md
@@ -0,0 +1,36 @@
+---
+title: messageEntityCode
+description: messageEntityCode attributes, type and example
+---
+## Constructor: messageEntityCode
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|offset|[int](../types/int.md) | Yes|
+|length|[int](../types/int.md) | Yes|
+
+
+
+### Type: [MessageEntity](../types/MessageEntity.md)
+
+
+### Example:
+
+```
+$messageEntityCode = ['_' => 'messageEntityCode', 'offset' => int, 'length' => int, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+messageEntityCode={_='messageEntityCode', offset=int, length=int, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/messageEntityEmail.md b/old_docs/API_docs_v62/constructors/messageEntityEmail.md
new file mode 100644
index 00000000..b7c1800a
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/messageEntityEmail.md
@@ -0,0 +1,36 @@
+---
+title: messageEntityEmail
+description: messageEntityEmail attributes, type and example
+---
+## Constructor: messageEntityEmail
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|offset|[int](../types/int.md) | Yes|
+|length|[int](../types/int.md) | Yes|
+
+
+
+### Type: [MessageEntity](../types/MessageEntity.md)
+
+
+### Example:
+
+```
+$messageEntityEmail = ['_' => 'messageEntityEmail', 'offset' => int, 'length' => int, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+messageEntityEmail={_='messageEntityEmail', offset=int, length=int, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/messageEntityHashtag.md b/old_docs/API_docs_v62/constructors/messageEntityHashtag.md
new file mode 100644
index 00000000..8d871e2c
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/messageEntityHashtag.md
@@ -0,0 +1,36 @@
+---
+title: messageEntityHashtag
+description: messageEntityHashtag attributes, type and example
+---
+## Constructor: messageEntityHashtag
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|offset|[int](../types/int.md) | Yes|
+|length|[int](../types/int.md) | Yes|
+
+
+
+### Type: [MessageEntity](../types/MessageEntity.md)
+
+
+### Example:
+
+```
+$messageEntityHashtag = ['_' => 'messageEntityHashtag', 'offset' => int, 'length' => int, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+messageEntityHashtag={_='messageEntityHashtag', offset=int, length=int, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/messageEntityItalic.md b/old_docs/API_docs_v62/constructors/messageEntityItalic.md
new file mode 100644
index 00000000..a0351996
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/messageEntityItalic.md
@@ -0,0 +1,36 @@
+---
+title: messageEntityItalic
+description: messageEntityItalic attributes, type and example
+---
+## Constructor: messageEntityItalic
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|offset|[int](../types/int.md) | Yes|
+|length|[int](../types/int.md) | Yes|
+
+
+
+### Type: [MessageEntity](../types/MessageEntity.md)
+
+
+### Example:
+
+```
+$messageEntityItalic = ['_' => 'messageEntityItalic', 'offset' => int, 'length' => int, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+messageEntityItalic={_='messageEntityItalic', offset=int, length=int, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/messageEntityMention.md b/old_docs/API_docs_v62/constructors/messageEntityMention.md
new file mode 100644
index 00000000..4ca567a1
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/messageEntityMention.md
@@ -0,0 +1,36 @@
+---
+title: messageEntityMention
+description: messageEntityMention attributes, type and example
+---
+## Constructor: messageEntityMention
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|offset|[int](../types/int.md) | Yes|
+|length|[int](../types/int.md) | Yes|
+
+
+
+### Type: [MessageEntity](../types/MessageEntity.md)
+
+
+### Example:
+
+```
+$messageEntityMention = ['_' => 'messageEntityMention', 'offset' => int, 'length' => int, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+messageEntityMention={_='messageEntityMention', offset=int, length=int, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/messageEntityMentionName.md b/old_docs/API_docs_v62/constructors/messageEntityMentionName.md
new file mode 100644
index 00000000..7d3947db
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/messageEntityMentionName.md
@@ -0,0 +1,37 @@
+---
+title: messageEntityMentionName
+description: messageEntityMentionName attributes, type and example
+---
+## Constructor: messageEntityMentionName
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|offset|[int](../types/int.md) | Yes|
+|length|[int](../types/int.md) | Yes|
+|user\_id|[int](../types/int.md) | Yes|
+
+
+
+### Type: [MessageEntity](../types/MessageEntity.md)
+
+
+### Example:
+
+```
+$messageEntityMentionName = ['_' => 'messageEntityMentionName', 'offset' => int, 'length' => int, 'user_id' => int, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+messageEntityMentionName={_='messageEntityMentionName', offset=int, length=int, user_id=int, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/messageEntityPre.md b/old_docs/API_docs_v62/constructors/messageEntityPre.md
new file mode 100644
index 00000000..77d8863c
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/messageEntityPre.md
@@ -0,0 +1,37 @@
+---
+title: messageEntityPre
+description: messageEntityPre attributes, type and example
+---
+## Constructor: messageEntityPre
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|offset|[int](../types/int.md) | Yes|
+|length|[int](../types/int.md) | Yes|
+|language|[string](../types/string.md) | Yes|
+
+
+
+### Type: [MessageEntity](../types/MessageEntity.md)
+
+
+### Example:
+
+```
+$messageEntityPre = ['_' => 'messageEntityPre', 'offset' => int, 'length' => int, 'language' => string, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+messageEntityPre={_='messageEntityPre', offset=int, length=int, language=string, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/messageEntityTextUrl.md b/old_docs/API_docs_v62/constructors/messageEntityTextUrl.md
new file mode 100644
index 00000000..d7d7bbad
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/messageEntityTextUrl.md
@@ -0,0 +1,37 @@
+---
+title: messageEntityTextUrl
+description: messageEntityTextUrl attributes, type and example
+---
+## Constructor: messageEntityTextUrl
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|offset|[int](../types/int.md) | Yes|
+|length|[int](../types/int.md) | Yes|
+|url|[string](../types/string.md) | Yes|
+
+
+
+### Type: [MessageEntity](../types/MessageEntity.md)
+
+
+### Example:
+
+```
+$messageEntityTextUrl = ['_' => 'messageEntityTextUrl', 'offset' => int, 'length' => int, 'url' => string, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+messageEntityTextUrl={_='messageEntityTextUrl', offset=int, length=int, url=string, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/messageEntityUnknown.md b/old_docs/API_docs_v62/constructors/messageEntityUnknown.md
new file mode 100644
index 00000000..b9b2242f
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/messageEntityUnknown.md
@@ -0,0 +1,36 @@
+---
+title: messageEntityUnknown
+description: messageEntityUnknown attributes, type and example
+---
+## Constructor: messageEntityUnknown
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|offset|[int](../types/int.md) | Yes|
+|length|[int](../types/int.md) | Yes|
+
+
+
+### Type: [MessageEntity](../types/MessageEntity.md)
+
+
+### Example:
+
+```
+$messageEntityUnknown = ['_' => 'messageEntityUnknown', 'offset' => int, 'length' => int, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+messageEntityUnknown={_='messageEntityUnknown', offset=int, length=int, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/messageEntityUrl.md b/old_docs/API_docs_v62/constructors/messageEntityUrl.md
new file mode 100644
index 00000000..de4e36e1
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/messageEntityUrl.md
@@ -0,0 +1,36 @@
+---
+title: messageEntityUrl
+description: messageEntityUrl attributes, type and example
+---
+## Constructor: messageEntityUrl
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|offset|[int](../types/int.md) | Yes|
+|length|[int](../types/int.md) | Yes|
+
+
+
+### Type: [MessageEntity](../types/MessageEntity.md)
+
+
+### Example:
+
+```
+$messageEntityUrl = ['_' => 'messageEntityUrl', 'offset' => int, 'length' => int, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+messageEntityUrl={_='messageEntityUrl', offset=int, length=int, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/messageFwdHeader.md b/old_docs/API_docs_v62/constructors/messageFwdHeader.md
new file mode 100644
index 00000000..80baa30c
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/messageFwdHeader.md
@@ -0,0 +1,38 @@
+---
+title: messageFwdHeader
+description: messageFwdHeader attributes, type and example
+---
+## Constructor: messageFwdHeader
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|from\_id|[int](../types/int.md) | Optional|
+|date|[int](../types/int.md) | Yes|
+|channel\_id|[int](../types/int.md) | Optional|
+|channel\_post|[int](../types/int.md) | Optional|
+
+
+
+### Type: [MessageFwdHeader](../types/MessageFwdHeader.md)
+
+
+### Example:
+
+```
+$messageFwdHeader = ['_' => 'messageFwdHeader', 'from_id' => int, 'date' => int, 'channel_id' => int, 'channel_post' => int, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+messageFwdHeader={_='messageFwdHeader', from_id=int, date=int, channel_id=int, channel_post=int, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/messageMediaContact.md b/old_docs/API_docs_v62/constructors/messageMediaContact.md
new file mode 100644
index 00000000..3df06195
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/messageMediaContact.md
@@ -0,0 +1,38 @@
+---
+title: messageMediaContact
+description: messageMediaContact attributes, type and example
+---
+## Constructor: messageMediaContact
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|phone\_number|[string](../types/string.md) | Yes|
+|first\_name|[string](../types/string.md) | Yes|
+|last\_name|[string](../types/string.md) | Yes|
+|user\_id|[int](../types/int.md) | Yes|
+
+
+
+### Type: [MessageMedia](../types/MessageMedia.md)
+
+
+### Example:
+
+```
+$messageMediaContact = ['_' => 'messageMediaContact', 'phone_number' => string, 'first_name' => string, 'last_name' => string, 'user_id' => int, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+messageMediaContact={_='messageMediaContact', phone_number=string, first_name=string, last_name=string, user_id=int, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/messageMediaDocument.md b/old_docs/API_docs_v62/constructors/messageMediaDocument.md
new file mode 100644
index 00000000..66a67150
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/messageMediaDocument.md
@@ -0,0 +1,36 @@
+---
+title: messageMediaDocument
+description: messageMediaDocument attributes, type and example
+---
+## Constructor: messageMediaDocument
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|document|[Document](../types/Document.md) | Yes|
+|caption|[string](../types/string.md) | Yes|
+
+
+
+### Type: [MessageMedia](../types/MessageMedia.md)
+
+
+### Example:
+
+```
+$messageMediaDocument = ['_' => 'messageMediaDocument', 'document' => Document, 'caption' => string, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+messageMediaDocument={_='messageMediaDocument', document=Document, caption=string, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/messageMediaEmpty.md b/old_docs/API_docs_v62/constructors/messageMediaEmpty.md
new file mode 100644
index 00000000..df98ab77
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/messageMediaEmpty.md
@@ -0,0 +1,30 @@
+---
+title: messageMediaEmpty
+description: messageMediaEmpty attributes, type and example
+---
+## Constructor: messageMediaEmpty
+[Back to constructors index](index.md)
+
+
+
+
+
+
+### Type: [MessageMedia](../types/MessageMedia.md)
+
+
+### Example:
+
+```
+$messageMediaEmpty = ['_' => 'messageMediaEmpty', ];
+```
+
+Or, if you're into Lua:
+
+
+```
+messageMediaEmpty={_='messageMediaEmpty', }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/messageMediaGame.md b/old_docs/API_docs_v62/constructors/messageMediaGame.md
new file mode 100644
index 00000000..7a5e9dbc
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/messageMediaGame.md
@@ -0,0 +1,35 @@
+---
+title: messageMediaGame
+description: messageMediaGame attributes, type and example
+---
+## Constructor: messageMediaGame
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|game|[Game](../types/Game.md) | Yes|
+
+
+
+### Type: [MessageMedia](../types/MessageMedia.md)
+
+
+### Example:
+
+```
+$messageMediaGame = ['_' => 'messageMediaGame', 'game' => Game, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+messageMediaGame={_='messageMediaGame', game=Game, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/messageMediaGeo.md b/old_docs/API_docs_v62/constructors/messageMediaGeo.md
new file mode 100644
index 00000000..ec44cfbd
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/messageMediaGeo.md
@@ -0,0 +1,35 @@
+---
+title: messageMediaGeo
+description: messageMediaGeo attributes, type and example
+---
+## Constructor: messageMediaGeo
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|geo|[GeoPoint](../types/GeoPoint.md) | Yes|
+
+
+
+### Type: [MessageMedia](../types/MessageMedia.md)
+
+
+### Example:
+
+```
+$messageMediaGeo = ['_' => 'messageMediaGeo', 'geo' => GeoPoint, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+messageMediaGeo={_='messageMediaGeo', geo=GeoPoint, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/messageMediaPhoto.md b/old_docs/API_docs_v62/constructors/messageMediaPhoto.md
new file mode 100644
index 00000000..db9beda5
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/messageMediaPhoto.md
@@ -0,0 +1,36 @@
+---
+title: messageMediaPhoto
+description: messageMediaPhoto attributes, type and example
+---
+## Constructor: messageMediaPhoto
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|photo|[Photo](../types/Photo.md) | Yes|
+|caption|[string](../types/string.md) | Yes|
+
+
+
+### Type: [MessageMedia](../types/MessageMedia.md)
+
+
+### Example:
+
+```
+$messageMediaPhoto = ['_' => 'messageMediaPhoto', 'photo' => Photo, 'caption' => string, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+messageMediaPhoto={_='messageMediaPhoto', photo=Photo, caption=string, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/messageMediaUnsupported.md b/old_docs/API_docs_v62/constructors/messageMediaUnsupported.md
new file mode 100644
index 00000000..ee5e2118
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/messageMediaUnsupported.md
@@ -0,0 +1,30 @@
+---
+title: messageMediaUnsupported
+description: messageMediaUnsupported attributes, type and example
+---
+## Constructor: messageMediaUnsupported
+[Back to constructors index](index.md)
+
+
+
+
+
+
+### Type: [MessageMedia](../types/MessageMedia.md)
+
+
+### Example:
+
+```
+$messageMediaUnsupported = ['_' => 'messageMediaUnsupported', ];
+```
+
+Or, if you're into Lua:
+
+
+```
+messageMediaUnsupported={_='messageMediaUnsupported', }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/messageMediaVenue.md b/old_docs/API_docs_v62/constructors/messageMediaVenue.md
new file mode 100644
index 00000000..19c512ff
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/messageMediaVenue.md
@@ -0,0 +1,39 @@
+---
+title: messageMediaVenue
+description: messageMediaVenue attributes, type and example
+---
+## Constructor: messageMediaVenue
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|geo|[GeoPoint](../types/GeoPoint.md) | Yes|
+|title|[string](../types/string.md) | Yes|
+|address|[string](../types/string.md) | Yes|
+|provider|[string](../types/string.md) | Yes|
+|venue\_id|[string](../types/string.md) | Yes|
+
+
+
+### Type: [MessageMedia](../types/MessageMedia.md)
+
+
+### Example:
+
+```
+$messageMediaVenue = ['_' => 'messageMediaVenue', 'geo' => GeoPoint, 'title' => string, 'address' => string, 'provider' => string, 'venue_id' => string, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+messageMediaVenue={_='messageMediaVenue', geo=GeoPoint, title=string, address=string, provider=string, venue_id=string, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/messageMediaWebPage.md b/old_docs/API_docs_v62/constructors/messageMediaWebPage.md
new file mode 100644
index 00000000..d021a2f3
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/messageMediaWebPage.md
@@ -0,0 +1,35 @@
+---
+title: messageMediaWebPage
+description: messageMediaWebPage attributes, type and example
+---
+## Constructor: messageMediaWebPage
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|webpage|[WebPage](../types/WebPage.md) | Yes|
+
+
+
+### Type: [MessageMedia](../types/MessageMedia.md)
+
+
+### Example:
+
+```
+$messageMediaWebPage = ['_' => 'messageMediaWebPage', 'webpage' => WebPage, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+messageMediaWebPage={_='messageMediaWebPage', webpage=WebPage, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/messageRange.md b/old_docs/API_docs_v62/constructors/messageRange.md
new file mode 100644
index 00000000..e1afc793
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/messageRange.md
@@ -0,0 +1,36 @@
+---
+title: messageRange
+description: messageRange attributes, type and example
+---
+## Constructor: messageRange
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|min\_id|[int](../types/int.md) | Yes|
+|max\_id|[int](../types/int.md) | Yes|
+
+
+
+### Type: [MessageRange](../types/MessageRange.md)
+
+
+### Example:
+
+```
+$messageRange = ['_' => 'messageRange', 'min_id' => int, 'max_id' => int, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+messageRange={_='messageRange', min_id=int, max_id=int, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/messageService.md b/old_docs/API_docs_v62/constructors/messageService.md
new file mode 100644
index 00000000..2b2990c5
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/messageService.md
@@ -0,0 +1,45 @@
+---
+title: messageService
+description: messageService attributes, type and example
+---
+## Constructor: messageService
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|out|[Bool](../types/Bool.md) | Optional|
+|mentioned|[Bool](../types/Bool.md) | Optional|
+|media\_unread|[Bool](../types/Bool.md) | Optional|
+|silent|[Bool](../types/Bool.md) | Optional|
+|post|[Bool](../types/Bool.md) | Optional|
+|id|[int](../types/int.md) | Yes|
+|from\_id|[int](../types/int.md) | Optional|
+|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|
+
+
+
+### Type: [Message](../types/Message.md)
+
+
+### Example:
+
+```
+$messageService = ['_' => 'messageService', 'out' => Bool, 'mentioned' => Bool, 'media_unread' => Bool, 'silent' => Bool, 'post' => Bool, 'id' => int, 'from_id' => int, 'to_id' => Peer, 'reply_to_msg_id' => int, 'date' => int, 'action' => MessageAction, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+messageService={_='messageService', out=Bool, mentioned=Bool, media_unread=Bool, silent=Bool, post=Bool, id=int, from_id=int, to_id=Peer, reply_to_msg_id=int, date=int, action=MessageAction, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/messages_affectedHistory.md b/old_docs/API_docs_v62/constructors/messages_affectedHistory.md
new file mode 100644
index 00000000..7f52fd88
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/messages_affectedHistory.md
@@ -0,0 +1,37 @@
+---
+title: messages.affectedHistory
+description: messages_affectedHistory attributes, type and example
+---
+## Constructor: messages.affectedHistory
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|pts|[int](../types/int.md) | Yes|
+|pts\_count|[int](../types/int.md) | Yes|
+|offset|[int](../types/int.md) | Yes|
+
+
+
+### Type: [messages\_AffectedHistory](../types/messages_AffectedHistory.md)
+
+
+### Example:
+
+```
+$messages_affectedHistory = ['_' => 'messages.affectedHistory', 'pts' => int, 'pts_count' => int, 'offset' => int, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+messages_affectedHistory={_='messages.affectedHistory', pts=int, pts_count=int, offset=int, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/messages_affectedMessages.md b/old_docs/API_docs_v62/constructors/messages_affectedMessages.md
new file mode 100644
index 00000000..3fa14928
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/messages_affectedMessages.md
@@ -0,0 +1,36 @@
+---
+title: messages.affectedMessages
+description: messages_affectedMessages attributes, type and example
+---
+## Constructor: messages.affectedMessages
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|pts|[int](../types/int.md) | Yes|
+|pts\_count|[int](../types/int.md) | Yes|
+
+
+
+### Type: [messages\_AffectedMessages](../types/messages_AffectedMessages.md)
+
+
+### Example:
+
+```
+$messages_affectedMessages = ['_' => 'messages.affectedMessages', 'pts' => int, 'pts_count' => int, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+messages_affectedMessages={_='messages.affectedMessages', pts=int, pts_count=int, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/messages_allStickers.md b/old_docs/API_docs_v62/constructors/messages_allStickers.md
new file mode 100644
index 00000000..7a5fe6af
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/messages_allStickers.md
@@ -0,0 +1,36 @@
+---
+title: messages.allStickers
+description: messages_allStickers attributes, type and example
+---
+## Constructor: messages.allStickers
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|hash|[int](../types/int.md) | Yes|
+|sets|Array of [StickerSet](../types/StickerSet.md) | Yes|
+
+
+
+### Type: [messages\_AllStickers](../types/messages_AllStickers.md)
+
+
+### Example:
+
+```
+$messages_allStickers = ['_' => 'messages.allStickers', 'hash' => int, 'sets' => [StickerSet], ];
+```
+
+Or, if you're into Lua:
+
+
+```
+messages_allStickers={_='messages.allStickers', hash=int, sets={StickerSet}, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/messages_allStickersNotModified.md b/old_docs/API_docs_v62/constructors/messages_allStickersNotModified.md
new file mode 100644
index 00000000..ca09d862
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/messages_allStickersNotModified.md
@@ -0,0 +1,30 @@
+---
+title: messages.allStickersNotModified
+description: messages_allStickersNotModified attributes, type and example
+---
+## Constructor: messages.allStickersNotModified
+[Back to constructors index](index.md)
+
+
+
+
+
+
+### Type: [messages\_AllStickers](../types/messages_AllStickers.md)
+
+
+### Example:
+
+```
+$messages_allStickersNotModified = ['_' => 'messages.allStickersNotModified', ];
+```
+
+Or, if you're into Lua:
+
+
+```
+messages_allStickersNotModified={_='messages.allStickersNotModified', }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/messages_archivedStickers.md b/old_docs/API_docs_v62/constructors/messages_archivedStickers.md
new file mode 100644
index 00000000..c04ebb81
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/messages_archivedStickers.md
@@ -0,0 +1,36 @@
+---
+title: messages.archivedStickers
+description: messages_archivedStickers attributes, type and example
+---
+## Constructor: messages.archivedStickers
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|count|[int](../types/int.md) | Yes|
+|sets|Array of [StickerSetCovered](../types/StickerSetCovered.md) | Yes|
+
+
+
+### Type: [messages\_ArchivedStickers](../types/messages_ArchivedStickers.md)
+
+
+### Example:
+
+```
+$messages_archivedStickers = ['_' => 'messages.archivedStickers', 'count' => int, 'sets' => [StickerSetCovered], ];
+```
+
+Or, if you're into Lua:
+
+
+```
+messages_archivedStickers={_='messages.archivedStickers', count=int, sets={StickerSetCovered}, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/messages_botCallbackAnswer.md b/old_docs/API_docs_v62/constructors/messages_botCallbackAnswer.md
new file mode 100644
index 00000000..122fed81
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/messages_botCallbackAnswer.md
@@ -0,0 +1,39 @@
+---
+title: messages.botCallbackAnswer
+description: messages_botCallbackAnswer attributes, type and example
+---
+## Constructor: messages.botCallbackAnswer
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|alert|[Bool](../types/Bool.md) | Optional|
+|has\_url|[Bool](../types/Bool.md) | Optional|
+|message|[string](../types/string.md) | Optional|
+|url|[string](../types/string.md) | Optional|
+|cache\_time|[int](../types/int.md) | Yes|
+
+
+
+### Type: [messages\_BotCallbackAnswer](../types/messages_BotCallbackAnswer.md)
+
+
+### Example:
+
+```
+$messages_botCallbackAnswer = ['_' => 'messages.botCallbackAnswer', 'alert' => Bool, 'has_url' => Bool, 'message' => string, 'url' => string, 'cache_time' => int, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+messages_botCallbackAnswer={_='messages.botCallbackAnswer', alert=Bool, has_url=Bool, message=string, url=string, cache_time=int, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/messages_botResults.md b/old_docs/API_docs_v62/constructors/messages_botResults.md
new file mode 100644
index 00000000..4b893535
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/messages_botResults.md
@@ -0,0 +1,40 @@
+---
+title: messages.botResults
+description: messages_botResults attributes, type and example
+---
+## Constructor: messages.botResults
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|gallery|[Bool](../types/Bool.md) | Optional|
+|query\_id|[long](../types/long.md) | Yes|
+|next\_offset|[string](../types/string.md) | Optional|
+|switch\_pm|[InlineBotSwitchPM](../types/InlineBotSwitchPM.md) | Optional|
+|results|Array of [BotInlineResult](../types/BotInlineResult.md) | Yes|
+|cache\_time|[int](../types/int.md) | Yes|
+
+
+
+### Type: [messages\_BotResults](../types/messages_BotResults.md)
+
+
+### Example:
+
+```
+$messages_botResults = ['_' => 'messages.botResults', 'gallery' => Bool, 'query_id' => long, 'next_offset' => string, 'switch_pm' => InlineBotSwitchPM, 'results' => [BotInlineResult], 'cache_time' => int, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+messages_botResults={_='messages.botResults', gallery=Bool, query_id=long, next_offset=string, switch_pm=InlineBotSwitchPM, results={BotInlineResult}, cache_time=int, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/messages_channelMessages.md b/old_docs/API_docs_v62/constructors/messages_channelMessages.md
new file mode 100644
index 00000000..e1e8ab16
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/messages_channelMessages.md
@@ -0,0 +1,39 @@
+---
+title: messages.channelMessages
+description: messages_channelMessages attributes, type and example
+---
+## Constructor: messages.channelMessages
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|pts|[int](../types/int.md) | Yes|
+|count|[int](../types/int.md) | Yes|
+|messages|Array of [Message](../types/Message.md) | Yes|
+|chats|Array of [Chat](../types/Chat.md) | Yes|
+|users|Array of [User](../types/User.md) | Yes|
+
+
+
+### Type: [messages\_Messages](../types/messages_Messages.md)
+
+
+### Example:
+
+```
+$messages_channelMessages = ['_' => 'messages.channelMessages', 'pts' => int, 'count' => int, 'messages' => [Message], 'chats' => [Chat], 'users' => [User], ];
+```
+
+Or, if you're into Lua:
+
+
+```
+messages_channelMessages={_='messages.channelMessages', pts=int, count=int, messages={Message}, chats={Chat}, users={User}, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/messages_chatFull.md b/old_docs/API_docs_v62/constructors/messages_chatFull.md
new file mode 100644
index 00000000..86a0c549
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/messages_chatFull.md
@@ -0,0 +1,37 @@
+---
+title: messages.chatFull
+description: messages_chatFull attributes, type and example
+---
+## Constructor: messages.chatFull
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|full\_chat|[ChatFull](../types/ChatFull.md) | Yes|
+|chats|Array of [Chat](../types/Chat.md) | Yes|
+|users|Array of [User](../types/User.md) | Yes|
+
+
+
+### Type: [messages\_ChatFull](../types/messages_ChatFull.md)
+
+
+### Example:
+
+```
+$messages_chatFull = ['_' => 'messages.chatFull', 'full_chat' => ChatFull, 'chats' => [Chat], 'users' => [User], ];
+```
+
+Or, if you're into Lua:
+
+
+```
+messages_chatFull={_='messages.chatFull', full_chat=ChatFull, chats={Chat}, users={User}, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/messages_chats.md b/old_docs/API_docs_v62/constructors/messages_chats.md
new file mode 100644
index 00000000..604c630d
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/messages_chats.md
@@ -0,0 +1,35 @@
+---
+title: messages.chats
+description: messages_chats attributes, type and example
+---
+## Constructor: messages.chats
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|chats|Array of [Chat](../types/Chat.md) | Yes|
+
+
+
+### Type: [messages\_Chats](../types/messages_Chats.md)
+
+
+### Example:
+
+```
+$messages_chats = ['_' => 'messages.chats', 'chats' => [Chat], ];
+```
+
+Or, if you're into Lua:
+
+
+```
+messages_chats={_='messages.chats', chats={Chat}, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/messages_chatsSlice.md b/old_docs/API_docs_v62/constructors/messages_chatsSlice.md
new file mode 100644
index 00000000..a9ad638d
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/messages_chatsSlice.md
@@ -0,0 +1,36 @@
+---
+title: messages.chatsSlice
+description: messages_chatsSlice attributes, type and example
+---
+## Constructor: messages.chatsSlice
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|count|[int](../types/int.md) | Yes|
+|chats|Array of [Chat](../types/Chat.md) | Yes|
+
+
+
+### Type: [messages\_Chats](../types/messages_Chats.md)
+
+
+### Example:
+
+```
+$messages_chatsSlice = ['_' => 'messages.chatsSlice', 'count' => int, 'chats' => [Chat], ];
+```
+
+Or, if you're into Lua:
+
+
+```
+messages_chatsSlice={_='messages.chatsSlice', count=int, chats={Chat}, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/messages_dhConfig.md b/old_docs/API_docs_v62/constructors/messages_dhConfig.md
new file mode 100644
index 00000000..331b7ce0
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/messages_dhConfig.md
@@ -0,0 +1,38 @@
+---
+title: messages.dhConfig
+description: messages_dhConfig attributes, type and example
+---
+## Constructor: messages.dhConfig
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|g|[int](../types/int.md) | Yes|
+|p|[bytes](../types/bytes.md) | Yes|
+|version|[int](../types/int.md) | Yes|
+|random|[bytes](../types/bytes.md) | Yes|
+
+
+
+### Type: [messages\_DhConfig](../types/messages_DhConfig.md)
+
+
+### Example:
+
+```
+$messages_dhConfig = ['_' => 'messages.dhConfig', 'g' => int, 'p' => bytes, 'version' => int, 'random' => bytes, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+messages_dhConfig={_='messages.dhConfig', g=int, p=bytes, version=int, random=bytes, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/messages_dhConfigNotModified.md b/old_docs/API_docs_v62/constructors/messages_dhConfigNotModified.md
new file mode 100644
index 00000000..6b59c98f
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/messages_dhConfigNotModified.md
@@ -0,0 +1,35 @@
+---
+title: messages.dhConfigNotModified
+description: messages_dhConfigNotModified attributes, type and example
+---
+## Constructor: messages.dhConfigNotModified
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|random|[bytes](../types/bytes.md) | Yes|
+
+
+
+### Type: [messages\_DhConfig](../types/messages_DhConfig.md)
+
+
+### Example:
+
+```
+$messages_dhConfigNotModified = ['_' => 'messages.dhConfigNotModified', 'random' => bytes, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+messages_dhConfigNotModified={_='messages.dhConfigNotModified', random=bytes, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/messages_dialogs.md b/old_docs/API_docs_v62/constructors/messages_dialogs.md
new file mode 100644
index 00000000..a90d56d1
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/messages_dialogs.md
@@ -0,0 +1,38 @@
+---
+title: messages.dialogs
+description: messages_dialogs attributes, type and example
+---
+## Constructor: messages.dialogs
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|dialogs|Array of [Dialog](../types/Dialog.md) | Yes|
+|messages|Array of [Message](../types/Message.md) | Yes|
+|chats|Array of [Chat](../types/Chat.md) | Yes|
+|users|Array of [User](../types/User.md) | Yes|
+
+
+
+### Type: [messages\_Dialogs](../types/messages_Dialogs.md)
+
+
+### Example:
+
+```
+$messages_dialogs = ['_' => 'messages.dialogs', 'dialogs' => [Dialog], 'messages' => [Message], 'chats' => [Chat], 'users' => [User], ];
+```
+
+Or, if you're into Lua:
+
+
+```
+messages_dialogs={_='messages.dialogs', dialogs={Dialog}, messages={Message}, chats={Chat}, users={User}, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/messages_dialogsSlice.md b/old_docs/API_docs_v62/constructors/messages_dialogsSlice.md
new file mode 100644
index 00000000..4e9899be
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/messages_dialogsSlice.md
@@ -0,0 +1,39 @@
+---
+title: messages.dialogsSlice
+description: messages_dialogsSlice attributes, type and example
+---
+## Constructor: messages.dialogsSlice
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|count|[int](../types/int.md) | Yes|
+|dialogs|Array of [Dialog](../types/Dialog.md) | Yes|
+|messages|Array of [Message](../types/Message.md) | Yes|
+|chats|Array of [Chat](../types/Chat.md) | Yes|
+|users|Array of [User](../types/User.md) | Yes|
+
+
+
+### Type: [messages\_Dialogs](../types/messages_Dialogs.md)
+
+
+### Example:
+
+```
+$messages_dialogsSlice = ['_' => 'messages.dialogsSlice', 'count' => int, 'dialogs' => [Dialog], 'messages' => [Message], 'chats' => [Chat], 'users' => [User], ];
+```
+
+Or, if you're into Lua:
+
+
+```
+messages_dialogsSlice={_='messages.dialogsSlice', count=int, dialogs={Dialog}, messages={Message}, chats={Chat}, users={User}, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/messages_featuredStickers.md b/old_docs/API_docs_v62/constructors/messages_featuredStickers.md
new file mode 100644
index 00000000..c4884d2e
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/messages_featuredStickers.md
@@ -0,0 +1,37 @@
+---
+title: messages.featuredStickers
+description: messages_featuredStickers attributes, type and example
+---
+## Constructor: messages.featuredStickers
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|hash|[int](../types/int.md) | Yes|
+|sets|Array of [StickerSetCovered](../types/StickerSetCovered.md) | Yes|
+|unread|Array of [long](../types/long.md) | Yes|
+
+
+
+### Type: [messages\_FeaturedStickers](../types/messages_FeaturedStickers.md)
+
+
+### Example:
+
+```
+$messages_featuredStickers = ['_' => 'messages.featuredStickers', 'hash' => int, 'sets' => [StickerSetCovered], 'unread' => [long], ];
+```
+
+Or, if you're into Lua:
+
+
+```
+messages_featuredStickers={_='messages.featuredStickers', hash=int, sets={StickerSetCovered}, unread={long}, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/messages_featuredStickersNotModified.md b/old_docs/API_docs_v62/constructors/messages_featuredStickersNotModified.md
new file mode 100644
index 00000000..45036248
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/messages_featuredStickersNotModified.md
@@ -0,0 +1,30 @@
+---
+title: messages.featuredStickersNotModified
+description: messages_featuredStickersNotModified attributes, type and example
+---
+## Constructor: messages.featuredStickersNotModified
+[Back to constructors index](index.md)
+
+
+
+
+
+
+### Type: [messages\_FeaturedStickers](../types/messages_FeaturedStickers.md)
+
+
+### Example:
+
+```
+$messages_featuredStickersNotModified = ['_' => 'messages.featuredStickersNotModified', ];
+```
+
+Or, if you're into Lua:
+
+
+```
+messages_featuredStickersNotModified={_='messages.featuredStickersNotModified', }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/messages_foundGifs.md b/old_docs/API_docs_v62/constructors/messages_foundGifs.md
new file mode 100644
index 00000000..5db1a1db
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/messages_foundGifs.md
@@ -0,0 +1,36 @@
+---
+title: messages.foundGifs
+description: messages_foundGifs attributes, type and example
+---
+## Constructor: messages.foundGifs
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|next\_offset|[int](../types/int.md) | Yes|
+|results|Array of [FoundGif](../types/FoundGif.md) | Yes|
+
+
+
+### Type: [messages\_FoundGifs](../types/messages_FoundGifs.md)
+
+
+### Example:
+
+```
+$messages_foundGifs = ['_' => 'messages.foundGifs', 'next_offset' => int, 'results' => [FoundGif], ];
+```
+
+Or, if you're into Lua:
+
+
+```
+messages_foundGifs={_='messages.foundGifs', next_offset=int, results={FoundGif}, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/messages_highScores.md b/old_docs/API_docs_v62/constructors/messages_highScores.md
new file mode 100644
index 00000000..989bb2a3
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/messages_highScores.md
@@ -0,0 +1,36 @@
+---
+title: messages.highScores
+description: messages_highScores attributes, type and example
+---
+## Constructor: messages.highScores
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|scores|Array of [HighScore](../types/HighScore.md) | Yes|
+|users|Array of [User](../types/User.md) | Yes|
+
+
+
+### Type: [messages\_HighScores](../types/messages_HighScores.md)
+
+
+### Example:
+
+```
+$messages_highScores = ['_' => 'messages.highScores', 'scores' => [HighScore], 'users' => [User], ];
+```
+
+Or, if you're into Lua:
+
+
+```
+messages_highScores={_='messages.highScores', scores={HighScore}, users={User}, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/messages_messageEditData.md b/old_docs/API_docs_v62/constructors/messages_messageEditData.md
new file mode 100644
index 00000000..84fede7d
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/messages_messageEditData.md
@@ -0,0 +1,35 @@
+---
+title: messages.messageEditData
+description: messages_messageEditData attributes, type and example
+---
+## Constructor: messages.messageEditData
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|caption|[Bool](../types/Bool.md) | Optional|
+
+
+
+### Type: [messages\_MessageEditData](../types/messages_MessageEditData.md)
+
+
+### Example:
+
+```
+$messages_messageEditData = ['_' => 'messages.messageEditData', 'caption' => Bool, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+messages_messageEditData={_='messages.messageEditData', caption=Bool, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/messages_messages.md b/old_docs/API_docs_v62/constructors/messages_messages.md
new file mode 100644
index 00000000..8957af56
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/messages_messages.md
@@ -0,0 +1,37 @@
+---
+title: messages.messages
+description: messages_messages attributes, type and example
+---
+## Constructor: messages.messages
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|messages|Array of [Message](../types/Message.md) | Yes|
+|chats|Array of [Chat](../types/Chat.md) | Yes|
+|users|Array of [User](../types/User.md) | Yes|
+
+
+
+### Type: [messages\_Messages](../types/messages_Messages.md)
+
+
+### Example:
+
+```
+$messages_messages = ['_' => 'messages.messages', 'messages' => [Message], 'chats' => [Chat], 'users' => [User], ];
+```
+
+Or, if you're into Lua:
+
+
+```
+messages_messages={_='messages.messages', messages={Message}, chats={Chat}, users={User}, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/messages_messagesSlice.md b/old_docs/API_docs_v62/constructors/messages_messagesSlice.md
new file mode 100644
index 00000000..32bf05dd
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/messages_messagesSlice.md
@@ -0,0 +1,38 @@
+---
+title: messages.messagesSlice
+description: messages_messagesSlice attributes, type and example
+---
+## Constructor: messages.messagesSlice
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|count|[int](../types/int.md) | Yes|
+|messages|Array of [Message](../types/Message.md) | Yes|
+|chats|Array of [Chat](../types/Chat.md) | Yes|
+|users|Array of [User](../types/User.md) | Yes|
+
+
+
+### Type: [messages\_Messages](../types/messages_Messages.md)
+
+
+### Example:
+
+```
+$messages_messagesSlice = ['_' => 'messages.messagesSlice', 'count' => int, 'messages' => [Message], 'chats' => [Chat], 'users' => [User], ];
+```
+
+Or, if you're into Lua:
+
+
+```
+messages_messagesSlice={_='messages.messagesSlice', count=int, messages={Message}, chats={Chat}, users={User}, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/messages_peerDialogs.md b/old_docs/API_docs_v62/constructors/messages_peerDialogs.md
new file mode 100644
index 00000000..3f6ba7b2
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/messages_peerDialogs.md
@@ -0,0 +1,39 @@
+---
+title: messages.peerDialogs
+description: messages_peerDialogs attributes, type and example
+---
+## Constructor: messages.peerDialogs
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|dialogs|Array of [Dialog](../types/Dialog.md) | Yes|
+|messages|Array of [Message](../types/Message.md) | Yes|
+|chats|Array of [Chat](../types/Chat.md) | Yes|
+|users|Array of [User](../types/User.md) | Yes|
+|state|[updates\_State](../types/updates_State.md) | Yes|
+
+
+
+### Type: [messages\_PeerDialogs](../types/messages_PeerDialogs.md)
+
+
+### Example:
+
+```
+$messages_peerDialogs = ['_' => 'messages.peerDialogs', 'dialogs' => [Dialog], 'messages' => [Message], 'chats' => [Chat], 'users' => [User], 'state' => updates_State, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+messages_peerDialogs={_='messages.peerDialogs', dialogs={Dialog}, messages={Message}, chats={Chat}, users={User}, state=updates_State, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/messages_recentStickers.md b/old_docs/API_docs_v62/constructors/messages_recentStickers.md
new file mode 100644
index 00000000..ec13359e
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/messages_recentStickers.md
@@ -0,0 +1,36 @@
+---
+title: messages.recentStickers
+description: messages_recentStickers attributes, type and example
+---
+## Constructor: messages.recentStickers
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|hash|[int](../types/int.md) | Yes|
+|stickers|Array of [Document](../types/Document.md) | Yes|
+
+
+
+### Type: [messages\_RecentStickers](../types/messages_RecentStickers.md)
+
+
+### Example:
+
+```
+$messages_recentStickers = ['_' => 'messages.recentStickers', 'hash' => int, 'stickers' => [Document], ];
+```
+
+Or, if you're into Lua:
+
+
+```
+messages_recentStickers={_='messages.recentStickers', hash=int, stickers={Document}, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/messages_recentStickersNotModified.md b/old_docs/API_docs_v62/constructors/messages_recentStickersNotModified.md
new file mode 100644
index 00000000..fd4553c8
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/messages_recentStickersNotModified.md
@@ -0,0 +1,30 @@
+---
+title: messages.recentStickersNotModified
+description: messages_recentStickersNotModified attributes, type and example
+---
+## Constructor: messages.recentStickersNotModified
+[Back to constructors index](index.md)
+
+
+
+
+
+
+### Type: [messages\_RecentStickers](../types/messages_RecentStickers.md)
+
+
+### Example:
+
+```
+$messages_recentStickersNotModified = ['_' => 'messages.recentStickersNotModified', ];
+```
+
+Or, if you're into Lua:
+
+
+```
+messages_recentStickersNotModified={_='messages.recentStickersNotModified', }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/messages_savedGifs.md b/old_docs/API_docs_v62/constructors/messages_savedGifs.md
new file mode 100644
index 00000000..dfcab426
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/messages_savedGifs.md
@@ -0,0 +1,36 @@
+---
+title: messages.savedGifs
+description: messages_savedGifs attributes, type and example
+---
+## Constructor: messages.savedGifs
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|hash|[int](../types/int.md) | Yes|
+|gifs|Array of [Document](../types/Document.md) | Yes|
+
+
+
+### Type: [messages\_SavedGifs](../types/messages_SavedGifs.md)
+
+
+### Example:
+
+```
+$messages_savedGifs = ['_' => 'messages.savedGifs', 'hash' => int, 'gifs' => [Document], ];
+```
+
+Or, if you're into Lua:
+
+
+```
+messages_savedGifs={_='messages.savedGifs', hash=int, gifs={Document}, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/messages_savedGifsNotModified.md b/old_docs/API_docs_v62/constructors/messages_savedGifsNotModified.md
new file mode 100644
index 00000000..78292bdb
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/messages_savedGifsNotModified.md
@@ -0,0 +1,30 @@
+---
+title: messages.savedGifsNotModified
+description: messages_savedGifsNotModified attributes, type and example
+---
+## Constructor: messages.savedGifsNotModified
+[Back to constructors index](index.md)
+
+
+
+
+
+
+### Type: [messages\_SavedGifs](../types/messages_SavedGifs.md)
+
+
+### Example:
+
+```
+$messages_savedGifsNotModified = ['_' => 'messages.savedGifsNotModified', ];
+```
+
+Or, if you're into Lua:
+
+
+```
+messages_savedGifsNotModified={_='messages.savedGifsNotModified', }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/messages_sentEncryptedFile.md b/old_docs/API_docs_v62/constructors/messages_sentEncryptedFile.md
new file mode 100644
index 00000000..d554d0e5
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/messages_sentEncryptedFile.md
@@ -0,0 +1,36 @@
+---
+title: messages.sentEncryptedFile
+description: messages_sentEncryptedFile attributes, type and example
+---
+## Constructor: messages.sentEncryptedFile
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|date|[int](../types/int.md) | Yes|
+|file|[EncryptedFile](../types/EncryptedFile.md) | Yes|
+
+
+
+### Type: [messages\_SentEncryptedMessage](../types/messages_SentEncryptedMessage.md)
+
+
+### Example:
+
+```
+$messages_sentEncryptedFile = ['_' => 'messages.sentEncryptedFile', 'date' => int, 'file' => EncryptedFile, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+messages_sentEncryptedFile={_='messages.sentEncryptedFile', date=int, file=EncryptedFile, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/messages_sentEncryptedMessage.md b/old_docs/API_docs_v62/constructors/messages_sentEncryptedMessage.md
new file mode 100644
index 00000000..4e5755f9
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/messages_sentEncryptedMessage.md
@@ -0,0 +1,35 @@
+---
+title: messages.sentEncryptedMessage
+description: messages_sentEncryptedMessage attributes, type and example
+---
+## Constructor: messages.sentEncryptedMessage
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|date|[int](../types/int.md) | Yes|
+
+
+
+### Type: [messages\_SentEncryptedMessage](../types/messages_SentEncryptedMessage.md)
+
+
+### Example:
+
+```
+$messages_sentEncryptedMessage = ['_' => 'messages.sentEncryptedMessage', 'date' => int, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+messages_sentEncryptedMessage={_='messages.sentEncryptedMessage', date=int, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/messages_stickerSet.md b/old_docs/API_docs_v62/constructors/messages_stickerSet.md
new file mode 100644
index 00000000..7df69d4f
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/messages_stickerSet.md
@@ -0,0 +1,37 @@
+---
+title: messages.stickerSet
+description: messages_stickerSet attributes, type and example
+---
+## Constructor: messages.stickerSet
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|set|[StickerSet](../types/StickerSet.md) | Yes|
+|packs|Array of [StickerPack](../types/StickerPack.md) | Yes|
+|documents|Array of [Document](../types/Document.md) | Yes|
+
+
+
+### Type: [messages\_StickerSet](../types/messages_StickerSet.md)
+
+
+### Example:
+
+```
+$messages_stickerSet = ['_' => 'messages.stickerSet', 'set' => StickerSet, 'packs' => [StickerPack], 'documents' => [Document], ];
+```
+
+Or, if you're into Lua:
+
+
+```
+messages_stickerSet={_='messages.stickerSet', set=StickerSet, packs={StickerPack}, documents={Document}, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/messages_stickerSetInstallResultArchive.md b/old_docs/API_docs_v62/constructors/messages_stickerSetInstallResultArchive.md
new file mode 100644
index 00000000..92b2c31e
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/messages_stickerSetInstallResultArchive.md
@@ -0,0 +1,35 @@
+---
+title: messages.stickerSetInstallResultArchive
+description: messages_stickerSetInstallResultArchive attributes, type and example
+---
+## Constructor: messages.stickerSetInstallResultArchive
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|sets|Array of [StickerSetCovered](../types/StickerSetCovered.md) | Yes|
+
+
+
+### Type: [messages\_StickerSetInstallResult](../types/messages_StickerSetInstallResult.md)
+
+
+### Example:
+
+```
+$messages_stickerSetInstallResultArchive = ['_' => 'messages.stickerSetInstallResultArchive', 'sets' => [StickerSetCovered], ];
+```
+
+Or, if you're into Lua:
+
+
+```
+messages_stickerSetInstallResultArchive={_='messages.stickerSetInstallResultArchive', sets={StickerSetCovered}, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/messages_stickerSetInstallResultSuccess.md b/old_docs/API_docs_v62/constructors/messages_stickerSetInstallResultSuccess.md
new file mode 100644
index 00000000..c3d79b4f
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/messages_stickerSetInstallResultSuccess.md
@@ -0,0 +1,30 @@
+---
+title: messages.stickerSetInstallResultSuccess
+description: messages_stickerSetInstallResultSuccess attributes, type and example
+---
+## Constructor: messages.stickerSetInstallResultSuccess
+[Back to constructors index](index.md)
+
+
+
+
+
+
+### Type: [messages\_StickerSetInstallResult](../types/messages_StickerSetInstallResult.md)
+
+
+### Example:
+
+```
+$messages_stickerSetInstallResultSuccess = ['_' => 'messages.stickerSetInstallResultSuccess', ];
+```
+
+Or, if you're into Lua:
+
+
+```
+messages_stickerSetInstallResultSuccess={_='messages.stickerSetInstallResultSuccess', }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/messages_stickers.md b/old_docs/API_docs_v62/constructors/messages_stickers.md
new file mode 100644
index 00000000..cda5dad8
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/messages_stickers.md
@@ -0,0 +1,36 @@
+---
+title: messages.stickers
+description: messages_stickers attributes, type and example
+---
+## Constructor: messages.stickers
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|hash|[string](../types/string.md) | Yes|
+|stickers|Array of [Document](../types/Document.md) | Yes|
+
+
+
+### Type: [messages\_Stickers](../types/messages_Stickers.md)
+
+
+### Example:
+
+```
+$messages_stickers = ['_' => 'messages.stickers', 'hash' => string, 'stickers' => [Document], ];
+```
+
+Or, if you're into Lua:
+
+
+```
+messages_stickers={_='messages.stickers', hash=string, stickers={Document}, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/messages_stickersNotModified.md b/old_docs/API_docs_v62/constructors/messages_stickersNotModified.md
new file mode 100644
index 00000000..f2fd1740
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/messages_stickersNotModified.md
@@ -0,0 +1,30 @@
+---
+title: messages.stickersNotModified
+description: messages_stickersNotModified attributes, type and example
+---
+## Constructor: messages.stickersNotModified
+[Back to constructors index](index.md)
+
+
+
+
+
+
+### Type: [messages\_Stickers](../types/messages_Stickers.md)
+
+
+### Example:
+
+```
+$messages_stickersNotModified = ['_' => 'messages.stickersNotModified', ];
+```
+
+Or, if you're into Lua:
+
+
+```
+messages_stickersNotModified={_='messages.stickersNotModified', }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/nearestDc.md b/old_docs/API_docs_v62/constructors/nearestDc.md
new file mode 100644
index 00000000..7f56bf89
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/nearestDc.md
@@ -0,0 +1,37 @@
+---
+title: nearestDc
+description: nearestDc attributes, type and example
+---
+## Constructor: nearestDc
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|country|[string](../types/string.md) | Yes|
+|this\_dc|[int](../types/int.md) | Yes|
+|nearest\_dc|[int](../types/int.md) | Yes|
+
+
+
+### Type: [NearestDc](../types/NearestDc.md)
+
+
+### Example:
+
+```
+$nearestDc = ['_' => 'nearestDc', 'country' => string, 'this_dc' => int, 'nearest_dc' => int, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+nearestDc={_='nearestDc', country=string, this_dc=int, nearest_dc=int, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/notifyAll.md b/old_docs/API_docs_v62/constructors/notifyAll.md
new file mode 100644
index 00000000..5c470510
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/notifyAll.md
@@ -0,0 +1,30 @@
+---
+title: notifyAll
+description: notifyAll attributes, type and example
+---
+## Constructor: notifyAll
+[Back to constructors index](index.md)
+
+
+
+
+
+
+### Type: [NotifyPeer](../types/NotifyPeer.md)
+
+
+### Example:
+
+```
+$notifyAll = ['_' => 'notifyAll', ];
+```
+
+Or, if you're into Lua:
+
+
+```
+notifyAll={_='notifyAll', }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/notifyChats.md b/old_docs/API_docs_v62/constructors/notifyChats.md
new file mode 100644
index 00000000..0883b12a
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/notifyChats.md
@@ -0,0 +1,30 @@
+---
+title: notifyChats
+description: notifyChats attributes, type and example
+---
+## Constructor: notifyChats
+[Back to constructors index](index.md)
+
+
+
+
+
+
+### Type: [NotifyPeer](../types/NotifyPeer.md)
+
+
+### Example:
+
+```
+$notifyChats = ['_' => 'notifyChats', ];
+```
+
+Or, if you're into Lua:
+
+
+```
+notifyChats={_='notifyChats', }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/notifyPeer.md b/old_docs/API_docs_v62/constructors/notifyPeer.md
new file mode 100644
index 00000000..33d7628f
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/notifyPeer.md
@@ -0,0 +1,35 @@
+---
+title: notifyPeer
+description: notifyPeer attributes, type and example
+---
+## Constructor: notifyPeer
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|peer|[Peer](../types/Peer.md) | Yes|
+
+
+
+### Type: [NotifyPeer](../types/NotifyPeer.md)
+
+
+### Example:
+
+```
+$notifyPeer = ['_' => 'notifyPeer', 'peer' => Peer, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+notifyPeer={_='notifyPeer', peer=Peer, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/notifyUsers.md b/old_docs/API_docs_v62/constructors/notifyUsers.md
new file mode 100644
index 00000000..06b21b7d
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/notifyUsers.md
@@ -0,0 +1,30 @@
+---
+title: notifyUsers
+description: notifyUsers attributes, type and example
+---
+## Constructor: notifyUsers
+[Back to constructors index](index.md)
+
+
+
+
+
+
+### Type: [NotifyPeer](../types/NotifyPeer.md)
+
+
+### Example:
+
+```
+$notifyUsers = ['_' => 'notifyUsers', ];
+```
+
+Or, if you're into Lua:
+
+
+```
+notifyUsers={_='notifyUsers', }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/null.md b/old_docs/API_docs_v62/constructors/null.md
new file mode 100644
index 00000000..e8f4db17
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/null.md
@@ -0,0 +1,8 @@
+---
+title: null
+description: Represents a null value
+---
+# null
+[Back to constructor index](index.md)
+
+Represents a `null` value.
\ No newline at end of file
diff --git a/old_docs/API_docs_v62/constructors/pageBlockAnchor.md b/old_docs/API_docs_v62/constructors/pageBlockAnchor.md
new file mode 100644
index 00000000..b5f2dda9
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/pageBlockAnchor.md
@@ -0,0 +1,35 @@
+---
+title: pageBlockAnchor
+description: pageBlockAnchor attributes, type and example
+---
+## Constructor: pageBlockAnchor
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|name|[string](../types/string.md) | Yes|
+
+
+
+### Type: [PageBlock](../types/PageBlock.md)
+
+
+### Example:
+
+```
+$pageBlockAnchor = ['_' => 'pageBlockAnchor', 'name' => string, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+pageBlockAnchor={_='pageBlockAnchor', name=string, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/pageBlockAuthorDate.md b/old_docs/API_docs_v62/constructors/pageBlockAuthorDate.md
new file mode 100644
index 00000000..3fe84037
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/pageBlockAuthorDate.md
@@ -0,0 +1,36 @@
+---
+title: pageBlockAuthorDate
+description: pageBlockAuthorDate attributes, type and example
+---
+## Constructor: pageBlockAuthorDate
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|author|[RichText](../types/RichText.md) | Yes|
+|published\_date|[int](../types/int.md) | Yes|
+
+
+
+### Type: [PageBlock](../types/PageBlock.md)
+
+
+### Example:
+
+```
+$pageBlockAuthorDate = ['_' => 'pageBlockAuthorDate', 'author' => RichText, 'published_date' => int, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+pageBlockAuthorDate={_='pageBlockAuthorDate', author=RichText, published_date=int, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/pageBlockBlockquote.md b/old_docs/API_docs_v62/constructors/pageBlockBlockquote.md
new file mode 100644
index 00000000..d020e7d4
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/pageBlockBlockquote.md
@@ -0,0 +1,36 @@
+---
+title: pageBlockBlockquote
+description: pageBlockBlockquote attributes, type and example
+---
+## Constructor: pageBlockBlockquote
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|text|[RichText](../types/RichText.md) | Yes|
+|caption|[RichText](../types/RichText.md) | Yes|
+
+
+
+### Type: [PageBlock](../types/PageBlock.md)
+
+
+### Example:
+
+```
+$pageBlockBlockquote = ['_' => 'pageBlockBlockquote', 'text' => RichText, 'caption' => RichText, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+pageBlockBlockquote={_='pageBlockBlockquote', text=RichText, caption=RichText, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/pageBlockCollage.md b/old_docs/API_docs_v62/constructors/pageBlockCollage.md
new file mode 100644
index 00000000..74c40f44
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/pageBlockCollage.md
@@ -0,0 +1,36 @@
+---
+title: pageBlockCollage
+description: pageBlockCollage attributes, type and example
+---
+## Constructor: pageBlockCollage
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|items|Array of [PageBlock](../types/PageBlock.md) | Yes|
+|caption|[RichText](../types/RichText.md) | Yes|
+
+
+
+### Type: [PageBlock](../types/PageBlock.md)
+
+
+### Example:
+
+```
+$pageBlockCollage = ['_' => 'pageBlockCollage', 'items' => [PageBlock], 'caption' => RichText, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+pageBlockCollage={_='pageBlockCollage', items={PageBlock}, caption=RichText, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/pageBlockCover.md b/old_docs/API_docs_v62/constructors/pageBlockCover.md
new file mode 100644
index 00000000..9ae62342
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/pageBlockCover.md
@@ -0,0 +1,35 @@
+---
+title: pageBlockCover
+description: pageBlockCover attributes, type and example
+---
+## Constructor: pageBlockCover
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|cover|[PageBlock](../types/PageBlock.md) | Yes|
+
+
+
+### Type: [PageBlock](../types/PageBlock.md)
+
+
+### Example:
+
+```
+$pageBlockCover = ['_' => 'pageBlockCover', 'cover' => PageBlock, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+pageBlockCover={_='pageBlockCover', cover=PageBlock, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/pageBlockDivider.md b/old_docs/API_docs_v62/constructors/pageBlockDivider.md
new file mode 100644
index 00000000..81b90d28
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/pageBlockDivider.md
@@ -0,0 +1,30 @@
+---
+title: pageBlockDivider
+description: pageBlockDivider attributes, type and example
+---
+## Constructor: pageBlockDivider
+[Back to constructors index](index.md)
+
+
+
+
+
+
+### Type: [PageBlock](../types/PageBlock.md)
+
+
+### Example:
+
+```
+$pageBlockDivider = ['_' => 'pageBlockDivider', ];
+```
+
+Or, if you're into Lua:
+
+
+```
+pageBlockDivider={_='pageBlockDivider', }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/pageBlockEmbed.md b/old_docs/API_docs_v62/constructors/pageBlockEmbed.md
new file mode 100644
index 00000000..1b0887b7
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/pageBlockEmbed.md
@@ -0,0 +1,42 @@
+---
+title: pageBlockEmbed
+description: pageBlockEmbed attributes, type and example
+---
+## Constructor: pageBlockEmbed
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|full\_width|[Bool](../types/Bool.md) | Optional|
+|allow\_scrolling|[Bool](../types/Bool.md) | Optional|
+|url|[string](../types/string.md) | Optional|
+|html|[string](../types/string.md) | Optional|
+|poster\_photo\_id|[long](../types/long.md) | Optional|
+|w|[int](../types/int.md) | Yes|
+|h|[int](../types/int.md) | Yes|
+|caption|[RichText](../types/RichText.md) | Yes|
+
+
+
+### Type: [PageBlock](../types/PageBlock.md)
+
+
+### Example:
+
+```
+$pageBlockEmbed = ['_' => 'pageBlockEmbed', 'full_width' => Bool, 'allow_scrolling' => Bool, 'url' => string, 'html' => string, 'poster_photo_id' => long, 'w' => int, 'h' => int, 'caption' => RichText, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+pageBlockEmbed={_='pageBlockEmbed', full_width=Bool, allow_scrolling=Bool, url=string, html=string, poster_photo_id=long, w=int, h=int, caption=RichText, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/pageBlockEmbedPost.md b/old_docs/API_docs_v62/constructors/pageBlockEmbedPost.md
new file mode 100644
index 00000000..8edfb4a1
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/pageBlockEmbedPost.md
@@ -0,0 +1,41 @@
+---
+title: pageBlockEmbedPost
+description: pageBlockEmbedPost attributes, type and example
+---
+## Constructor: pageBlockEmbedPost
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|url|[string](../types/string.md) | Yes|
+|webpage\_id|[long](../types/long.md) | Yes|
+|author\_photo\_id|[long](../types/long.md) | Yes|
+|author|[string](../types/string.md) | Yes|
+|date|[int](../types/int.md) | Yes|
+|blocks|Array of [PageBlock](../types/PageBlock.md) | Yes|
+|caption|[RichText](../types/RichText.md) | Yes|
+
+
+
+### Type: [PageBlock](../types/PageBlock.md)
+
+
+### Example:
+
+```
+$pageBlockEmbedPost = ['_' => 'pageBlockEmbedPost', 'url' => string, 'webpage_id' => long, 'author_photo_id' => long, 'author' => string, 'date' => int, 'blocks' => [PageBlock], 'caption' => RichText, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+pageBlockEmbedPost={_='pageBlockEmbedPost', url=string, webpage_id=long, author_photo_id=long, author=string, date=int, blocks={PageBlock}, caption=RichText, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/pageBlockFooter.md b/old_docs/API_docs_v62/constructors/pageBlockFooter.md
new file mode 100644
index 00000000..94bc6666
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/pageBlockFooter.md
@@ -0,0 +1,35 @@
+---
+title: pageBlockFooter
+description: pageBlockFooter attributes, type and example
+---
+## Constructor: pageBlockFooter
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|text|[RichText](../types/RichText.md) | Yes|
+
+
+
+### Type: [PageBlock](../types/PageBlock.md)
+
+
+### Example:
+
+```
+$pageBlockFooter = ['_' => 'pageBlockFooter', 'text' => RichText, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+pageBlockFooter={_='pageBlockFooter', text=RichText, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/pageBlockHeader.md b/old_docs/API_docs_v62/constructors/pageBlockHeader.md
new file mode 100644
index 00000000..ed536e6e
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/pageBlockHeader.md
@@ -0,0 +1,35 @@
+---
+title: pageBlockHeader
+description: pageBlockHeader attributes, type and example
+---
+## Constructor: pageBlockHeader
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|text|[RichText](../types/RichText.md) | Yes|
+
+
+
+### Type: [PageBlock](../types/PageBlock.md)
+
+
+### Example:
+
+```
+$pageBlockHeader = ['_' => 'pageBlockHeader', 'text' => RichText, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+pageBlockHeader={_='pageBlockHeader', text=RichText, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/pageBlockList.md b/old_docs/API_docs_v62/constructors/pageBlockList.md
new file mode 100644
index 00000000..4797dbcb
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/pageBlockList.md
@@ -0,0 +1,36 @@
+---
+title: pageBlockList
+description: pageBlockList attributes, type and example
+---
+## Constructor: pageBlockList
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|ordered|[Bool](../types/Bool.md) | Yes|
+|items|Array of [RichText](../types/RichText.md) | Yes|
+
+
+
+### Type: [PageBlock](../types/PageBlock.md)
+
+
+### Example:
+
+```
+$pageBlockList = ['_' => 'pageBlockList', 'ordered' => Bool, 'items' => [RichText], ];
+```
+
+Or, if you're into Lua:
+
+
+```
+pageBlockList={_='pageBlockList', ordered=Bool, items={RichText}, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/pageBlockParagraph.md b/old_docs/API_docs_v62/constructors/pageBlockParagraph.md
new file mode 100644
index 00000000..4a8b62fd
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/pageBlockParagraph.md
@@ -0,0 +1,35 @@
+---
+title: pageBlockParagraph
+description: pageBlockParagraph attributes, type and example
+---
+## Constructor: pageBlockParagraph
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|text|[RichText](../types/RichText.md) | Yes|
+
+
+
+### Type: [PageBlock](../types/PageBlock.md)
+
+
+### Example:
+
+```
+$pageBlockParagraph = ['_' => 'pageBlockParagraph', 'text' => RichText, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+pageBlockParagraph={_='pageBlockParagraph', text=RichText, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/pageBlockPhoto.md b/old_docs/API_docs_v62/constructors/pageBlockPhoto.md
new file mode 100644
index 00000000..3deea303
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/pageBlockPhoto.md
@@ -0,0 +1,36 @@
+---
+title: pageBlockPhoto
+description: pageBlockPhoto attributes, type and example
+---
+## Constructor: pageBlockPhoto
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|photo\_id|[long](../types/long.md) | Yes|
+|caption|[RichText](../types/RichText.md) | Yes|
+
+
+
+### Type: [PageBlock](../types/PageBlock.md)
+
+
+### Example:
+
+```
+$pageBlockPhoto = ['_' => 'pageBlockPhoto', 'photo_id' => long, 'caption' => RichText, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+pageBlockPhoto={_='pageBlockPhoto', photo_id=long, caption=RichText, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/pageBlockPreformatted.md b/old_docs/API_docs_v62/constructors/pageBlockPreformatted.md
new file mode 100644
index 00000000..38747e45
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/pageBlockPreformatted.md
@@ -0,0 +1,36 @@
+---
+title: pageBlockPreformatted
+description: pageBlockPreformatted attributes, type and example
+---
+## Constructor: pageBlockPreformatted
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|text|[RichText](../types/RichText.md) | Yes|
+|language|[string](../types/string.md) | Yes|
+
+
+
+### Type: [PageBlock](../types/PageBlock.md)
+
+
+### Example:
+
+```
+$pageBlockPreformatted = ['_' => 'pageBlockPreformatted', 'text' => RichText, 'language' => string, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+pageBlockPreformatted={_='pageBlockPreformatted', text=RichText, language=string, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/pageBlockPullquote.md b/old_docs/API_docs_v62/constructors/pageBlockPullquote.md
new file mode 100644
index 00000000..85a8ceed
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/pageBlockPullquote.md
@@ -0,0 +1,36 @@
+---
+title: pageBlockPullquote
+description: pageBlockPullquote attributes, type and example
+---
+## Constructor: pageBlockPullquote
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|text|[RichText](../types/RichText.md) | Yes|
+|caption|[RichText](../types/RichText.md) | Yes|
+
+
+
+### Type: [PageBlock](../types/PageBlock.md)
+
+
+### Example:
+
+```
+$pageBlockPullquote = ['_' => 'pageBlockPullquote', 'text' => RichText, 'caption' => RichText, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+pageBlockPullquote={_='pageBlockPullquote', text=RichText, caption=RichText, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/pageBlockSlideshow.md b/old_docs/API_docs_v62/constructors/pageBlockSlideshow.md
new file mode 100644
index 00000000..c71f0e90
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/pageBlockSlideshow.md
@@ -0,0 +1,36 @@
+---
+title: pageBlockSlideshow
+description: pageBlockSlideshow attributes, type and example
+---
+## Constructor: pageBlockSlideshow
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|items|Array of [PageBlock](../types/PageBlock.md) | Yes|
+|caption|[RichText](../types/RichText.md) | Yes|
+
+
+
+### Type: [PageBlock](../types/PageBlock.md)
+
+
+### Example:
+
+```
+$pageBlockSlideshow = ['_' => 'pageBlockSlideshow', 'items' => [PageBlock], 'caption' => RichText, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+pageBlockSlideshow={_='pageBlockSlideshow', items={PageBlock}, caption=RichText, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/pageBlockSubheader.md b/old_docs/API_docs_v62/constructors/pageBlockSubheader.md
new file mode 100644
index 00000000..495b6196
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/pageBlockSubheader.md
@@ -0,0 +1,35 @@
+---
+title: pageBlockSubheader
+description: pageBlockSubheader attributes, type and example
+---
+## Constructor: pageBlockSubheader
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|text|[RichText](../types/RichText.md) | Yes|
+
+
+
+### Type: [PageBlock](../types/PageBlock.md)
+
+
+### Example:
+
+```
+$pageBlockSubheader = ['_' => 'pageBlockSubheader', 'text' => RichText, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+pageBlockSubheader={_='pageBlockSubheader', text=RichText, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/pageBlockSubtitle.md b/old_docs/API_docs_v62/constructors/pageBlockSubtitle.md
new file mode 100644
index 00000000..cc359365
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/pageBlockSubtitle.md
@@ -0,0 +1,35 @@
+---
+title: pageBlockSubtitle
+description: pageBlockSubtitle attributes, type and example
+---
+## Constructor: pageBlockSubtitle
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|text|[RichText](../types/RichText.md) | Yes|
+
+
+
+### Type: [PageBlock](../types/PageBlock.md)
+
+
+### Example:
+
+```
+$pageBlockSubtitle = ['_' => 'pageBlockSubtitle', 'text' => RichText, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+pageBlockSubtitle={_='pageBlockSubtitle', text=RichText, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/pageBlockTitle.md b/old_docs/API_docs_v62/constructors/pageBlockTitle.md
new file mode 100644
index 00000000..cd3cc8e3
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/pageBlockTitle.md
@@ -0,0 +1,35 @@
+---
+title: pageBlockTitle
+description: pageBlockTitle attributes, type and example
+---
+## Constructor: pageBlockTitle
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|text|[RichText](../types/RichText.md) | Yes|
+
+
+
+### Type: [PageBlock](../types/PageBlock.md)
+
+
+### Example:
+
+```
+$pageBlockTitle = ['_' => 'pageBlockTitle', 'text' => RichText, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+pageBlockTitle={_='pageBlockTitle', text=RichText, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/pageBlockUnsupported.md b/old_docs/API_docs_v62/constructors/pageBlockUnsupported.md
new file mode 100644
index 00000000..59275dda
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/pageBlockUnsupported.md
@@ -0,0 +1,30 @@
+---
+title: pageBlockUnsupported
+description: pageBlockUnsupported attributes, type and example
+---
+## Constructor: pageBlockUnsupported
+[Back to constructors index](index.md)
+
+
+
+
+
+
+### Type: [PageBlock](../types/PageBlock.md)
+
+
+### Example:
+
+```
+$pageBlockUnsupported = ['_' => 'pageBlockUnsupported', ];
+```
+
+Or, if you're into Lua:
+
+
+```
+pageBlockUnsupported={_='pageBlockUnsupported', }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/pageBlockVideo.md b/old_docs/API_docs_v62/constructors/pageBlockVideo.md
new file mode 100644
index 00000000..73379377
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/pageBlockVideo.md
@@ -0,0 +1,38 @@
+---
+title: pageBlockVideo
+description: pageBlockVideo attributes, type and example
+---
+## Constructor: pageBlockVideo
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|autoplay|[Bool](../types/Bool.md) | Optional|
+|loop|[Bool](../types/Bool.md) | Optional|
+|video\_id|[long](../types/long.md) | Yes|
+|caption|[RichText](../types/RichText.md) | Yes|
+
+
+
+### Type: [PageBlock](../types/PageBlock.md)
+
+
+### Example:
+
+```
+$pageBlockVideo = ['_' => 'pageBlockVideo', 'autoplay' => Bool, 'loop' => Bool, 'video_id' => long, 'caption' => RichText, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+pageBlockVideo={_='pageBlockVideo', autoplay=Bool, loop=Bool, video_id=long, caption=RichText, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/pageFull.md b/old_docs/API_docs_v62/constructors/pageFull.md
new file mode 100644
index 00000000..a7fe0800
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/pageFull.md
@@ -0,0 +1,37 @@
+---
+title: pageFull
+description: pageFull attributes, type and example
+---
+## Constructor: pageFull
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|blocks|Array of [PageBlock](../types/PageBlock.md) | Yes|
+|photos|Array of [Photo](../types/Photo.md) | Yes|
+|videos|Array of [Document](../types/Document.md) | Yes|
+
+
+
+### Type: [Page](../types/Page.md)
+
+
+### Example:
+
+```
+$pageFull = ['_' => 'pageFull', 'blocks' => [PageBlock], 'photos' => [Photo], 'videos' => [Document], ];
+```
+
+Or, if you're into Lua:
+
+
+```
+pageFull={_='pageFull', blocks={PageBlock}, photos={Photo}, videos={Document}, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/pagePart.md b/old_docs/API_docs_v62/constructors/pagePart.md
new file mode 100644
index 00000000..9558bcd4
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/pagePart.md
@@ -0,0 +1,37 @@
+---
+title: pagePart
+description: pagePart attributes, type and example
+---
+## Constructor: pagePart
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|blocks|Array of [PageBlock](../types/PageBlock.md) | Yes|
+|photos|Array of [Photo](../types/Photo.md) | Yes|
+|videos|Array of [Document](../types/Document.md) | Yes|
+
+
+
+### Type: [Page](../types/Page.md)
+
+
+### Example:
+
+```
+$pagePart = ['_' => 'pagePart', 'blocks' => [PageBlock], 'photos' => [Photo], 'videos' => [Document], ];
+```
+
+Or, if you're into Lua:
+
+
+```
+pagePart={_='pagePart', blocks={PageBlock}, photos={Photo}, videos={Document}, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/peerChannel.md b/old_docs/API_docs_v62/constructors/peerChannel.md
new file mode 100644
index 00000000..c6cf229f
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/peerChannel.md
@@ -0,0 +1,35 @@
+---
+title: peerChannel
+description: peerChannel attributes, type and example
+---
+## Constructor: peerChannel
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|channel\_id|[int](../types/int.md) | Yes|
+
+
+
+### Type: [Peer](../types/Peer.md)
+
+
+### Example:
+
+```
+$peerChannel = ['_' => 'peerChannel', 'channel_id' => int, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+peerChannel={_='peerChannel', channel_id=int, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/peerChat.md b/old_docs/API_docs_v62/constructors/peerChat.md
new file mode 100644
index 00000000..91e2ab47
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/peerChat.md
@@ -0,0 +1,35 @@
+---
+title: peerChat
+description: peerChat attributes, type and example
+---
+## Constructor: peerChat
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|chat\_id|[int](../types/int.md) | Yes|
+
+
+
+### Type: [Peer](../types/Peer.md)
+
+
+### Example:
+
+```
+$peerChat = ['_' => 'peerChat', 'chat_id' => int, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+peerChat={_='peerChat', chat_id=int, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/peerNotifyEventsAll.md b/old_docs/API_docs_v62/constructors/peerNotifyEventsAll.md
new file mode 100644
index 00000000..a0e6f187
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/peerNotifyEventsAll.md
@@ -0,0 +1,30 @@
+---
+title: peerNotifyEventsAll
+description: peerNotifyEventsAll attributes, type and example
+---
+## Constructor: peerNotifyEventsAll
+[Back to constructors index](index.md)
+
+
+
+
+
+
+### Type: [PeerNotifyEvents](../types/PeerNotifyEvents.md)
+
+
+### Example:
+
+```
+$peerNotifyEventsAll = ['_' => 'peerNotifyEventsAll', ];
+```
+
+Or, if you're into Lua:
+
+
+```
+peerNotifyEventsAll={_='peerNotifyEventsAll', }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/peerNotifyEventsEmpty.md b/old_docs/API_docs_v62/constructors/peerNotifyEventsEmpty.md
new file mode 100644
index 00000000..eb3b830a
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/peerNotifyEventsEmpty.md
@@ -0,0 +1,30 @@
+---
+title: peerNotifyEventsEmpty
+description: peerNotifyEventsEmpty attributes, type and example
+---
+## Constructor: peerNotifyEventsEmpty
+[Back to constructors index](index.md)
+
+
+
+
+
+
+### Type: [PeerNotifyEvents](../types/PeerNotifyEvents.md)
+
+
+### Example:
+
+```
+$peerNotifyEventsEmpty = ['_' => 'peerNotifyEventsEmpty', ];
+```
+
+Or, if you're into Lua:
+
+
+```
+peerNotifyEventsEmpty={_='peerNotifyEventsEmpty', }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/peerNotifySettings.md b/old_docs/API_docs_v62/constructors/peerNotifySettings.md
new file mode 100644
index 00000000..6c2d984e
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/peerNotifySettings.md
@@ -0,0 +1,38 @@
+---
+title: peerNotifySettings
+description: peerNotifySettings attributes, type and example
+---
+## Constructor: peerNotifySettings
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|show\_previews|[Bool](../types/Bool.md) | Optional|
+|silent|[Bool](../types/Bool.md) | Optional|
+|mute\_until|[int](../types/int.md) | Yes|
+|sound|[string](../types/string.md) | Yes|
+
+
+
+### Type: [PeerNotifySettings](../types/PeerNotifySettings.md)
+
+
+### Example:
+
+```
+$peerNotifySettings = ['_' => 'peerNotifySettings', 'show_previews' => Bool, 'silent' => Bool, 'mute_until' => int, 'sound' => string, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+peerNotifySettings={_='peerNotifySettings', show_previews=Bool, silent=Bool, mute_until=int, sound=string, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/peerNotifySettingsEmpty.md b/old_docs/API_docs_v62/constructors/peerNotifySettingsEmpty.md
new file mode 100644
index 00000000..a5511547
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/peerNotifySettingsEmpty.md
@@ -0,0 +1,30 @@
+---
+title: peerNotifySettingsEmpty
+description: peerNotifySettingsEmpty attributes, type and example
+---
+## Constructor: peerNotifySettingsEmpty
+[Back to constructors index](index.md)
+
+
+
+
+
+
+### Type: [PeerNotifySettings](../types/PeerNotifySettings.md)
+
+
+### Example:
+
+```
+$peerNotifySettingsEmpty = ['_' => 'peerNotifySettingsEmpty', ];
+```
+
+Or, if you're into Lua:
+
+
+```
+peerNotifySettingsEmpty={_='peerNotifySettingsEmpty', }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/peerSettings.md b/old_docs/API_docs_v62/constructors/peerSettings.md
new file mode 100644
index 00000000..0169488e
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/peerSettings.md
@@ -0,0 +1,35 @@
+---
+title: peerSettings
+description: peerSettings attributes, type and example
+---
+## Constructor: peerSettings
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|report\_spam|[Bool](../types/Bool.md) | Optional|
+
+
+
+### Type: [PeerSettings](../types/PeerSettings.md)
+
+
+### Example:
+
+```
+$peerSettings = ['_' => 'peerSettings', 'report_spam' => Bool, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+peerSettings={_='peerSettings', report_spam=Bool, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/peerUser.md b/old_docs/API_docs_v62/constructors/peerUser.md
new file mode 100644
index 00000000..9e5ed214
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/peerUser.md
@@ -0,0 +1,35 @@
+---
+title: peerUser
+description: peerUser attributes, type and example
+---
+## Constructor: peerUser
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|user\_id|[int](../types/int.md) | Yes|
+
+
+
+### Type: [Peer](../types/Peer.md)
+
+
+### Example:
+
+```
+$peerUser = ['_' => 'peerUser', 'user_id' => int, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+peerUser={_='peerUser', user_id=int, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/phoneCall.md b/old_docs/API_docs_v62/constructors/phoneCall.md
new file mode 100644
index 00000000..50513213
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/phoneCall.md
@@ -0,0 +1,45 @@
+---
+title: phoneCall
+description: phoneCall attributes, type and example
+---
+## Constructor: phoneCall
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|id|[long](../types/long.md) | Yes|
+|access\_hash|[long](../types/long.md) | Yes|
+|date|[int](../types/int.md) | Yes|
+|admin\_id|[int](../types/int.md) | Yes|
+|participant\_id|[int](../types/int.md) | Yes|
+|g\_a\_or\_b|[bytes](../types/bytes.md) | Yes|
+|key\_fingerprint|[long](../types/long.md) | Yes|
+|protocol|[PhoneCallProtocol](../types/PhoneCallProtocol.md) | Yes|
+|connection|[PhoneConnection](../types/PhoneConnection.md) | Yes|
+|alternative\_connections|Array of [PhoneConnection](../types/PhoneConnection.md) | Yes|
+|start\_date|[int](../types/int.md) | Yes|
+
+
+
+### Type: [PhoneCall](../types/PhoneCall.md)
+
+
+### Example:
+
+```
+$phoneCall = ['_' => 'phoneCall', 'id' => long, 'access_hash' => long, 'date' => int, 'admin_id' => int, 'participant_id' => int, 'g_a_or_b' => bytes, 'key_fingerprint' => long, 'protocol' => PhoneCallProtocol, 'connection' => PhoneConnection, 'alternative_connections' => [PhoneConnection], 'start_date' => int, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+phoneCall={_='phoneCall', id=long, access_hash=long, date=int, admin_id=int, participant_id=int, g_a_or_b=bytes, key_fingerprint=long, protocol=PhoneCallProtocol, connection=PhoneConnection, alternative_connections={PhoneConnection}, start_date=int, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/phoneCallDiscardReasonBusy.md b/old_docs/API_docs_v62/constructors/phoneCallDiscardReasonBusy.md
new file mode 100644
index 00000000..d0cb60c4
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/phoneCallDiscardReasonBusy.md
@@ -0,0 +1,30 @@
+---
+title: phoneCallDiscardReasonBusy
+description: phoneCallDiscardReasonBusy attributes, type and example
+---
+## Constructor: phoneCallDiscardReasonBusy
+[Back to constructors index](index.md)
+
+
+
+
+
+
+### Type: [PhoneCallDiscardReason](../types/PhoneCallDiscardReason.md)
+
+
+### Example:
+
+```
+$phoneCallDiscardReasonBusy = ['_' => 'phoneCallDiscardReasonBusy', ];
+```
+
+Or, if you're into Lua:
+
+
+```
+phoneCallDiscardReasonBusy={_='phoneCallDiscardReasonBusy', }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/phoneCallDiscardReasonDisconnect.md b/old_docs/API_docs_v62/constructors/phoneCallDiscardReasonDisconnect.md
new file mode 100644
index 00000000..ce63efbe
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/phoneCallDiscardReasonDisconnect.md
@@ -0,0 +1,30 @@
+---
+title: phoneCallDiscardReasonDisconnect
+description: phoneCallDiscardReasonDisconnect attributes, type and example
+---
+## Constructor: phoneCallDiscardReasonDisconnect
+[Back to constructors index](index.md)
+
+
+
+
+
+
+### Type: [PhoneCallDiscardReason](../types/PhoneCallDiscardReason.md)
+
+
+### Example:
+
+```
+$phoneCallDiscardReasonDisconnect = ['_' => 'phoneCallDiscardReasonDisconnect', ];
+```
+
+Or, if you're into Lua:
+
+
+```
+phoneCallDiscardReasonDisconnect={_='phoneCallDiscardReasonDisconnect', }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/phoneCallDiscardReasonHangup.md b/old_docs/API_docs_v62/constructors/phoneCallDiscardReasonHangup.md
new file mode 100644
index 00000000..40841d73
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/phoneCallDiscardReasonHangup.md
@@ -0,0 +1,30 @@
+---
+title: phoneCallDiscardReasonHangup
+description: phoneCallDiscardReasonHangup attributes, type and example
+---
+## Constructor: phoneCallDiscardReasonHangup
+[Back to constructors index](index.md)
+
+
+
+
+
+
+### Type: [PhoneCallDiscardReason](../types/PhoneCallDiscardReason.md)
+
+
+### Example:
+
+```
+$phoneCallDiscardReasonHangup = ['_' => 'phoneCallDiscardReasonHangup', ];
+```
+
+Or, if you're into Lua:
+
+
+```
+phoneCallDiscardReasonHangup={_='phoneCallDiscardReasonHangup', }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/phoneCallDiscardReasonMissed.md b/old_docs/API_docs_v62/constructors/phoneCallDiscardReasonMissed.md
new file mode 100644
index 00000000..04ea3fa0
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/phoneCallDiscardReasonMissed.md
@@ -0,0 +1,30 @@
+---
+title: phoneCallDiscardReasonMissed
+description: phoneCallDiscardReasonMissed attributes, type and example
+---
+## Constructor: phoneCallDiscardReasonMissed
+[Back to constructors index](index.md)
+
+
+
+
+
+
+### Type: [PhoneCallDiscardReason](../types/PhoneCallDiscardReason.md)
+
+
+### Example:
+
+```
+$phoneCallDiscardReasonMissed = ['_' => 'phoneCallDiscardReasonMissed', ];
+```
+
+Or, if you're into Lua:
+
+
+```
+phoneCallDiscardReasonMissed={_='phoneCallDiscardReasonMissed', }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/phoneCallDiscarded.md b/old_docs/API_docs_v62/constructors/phoneCallDiscarded.md
new file mode 100644
index 00000000..7da87c12
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/phoneCallDiscarded.md
@@ -0,0 +1,37 @@
+---
+title: phoneCallDiscarded
+description: phoneCallDiscarded attributes, type and example
+---
+## Constructor: phoneCallDiscarded
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|id|[long](../types/long.md) | Yes|
+|reason|[PhoneCallDiscardReason](../types/PhoneCallDiscardReason.md) | Optional|
+|duration|[int](../types/int.md) | Optional|
+
+
+
+### Type: [PhoneCall](../types/PhoneCall.md)
+
+
+### Example:
+
+```
+$phoneCallDiscarded = ['_' => 'phoneCallDiscarded', 'id' => long, 'reason' => PhoneCallDiscardReason, 'duration' => int, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+phoneCallDiscarded={_='phoneCallDiscarded', id=long, reason=PhoneCallDiscardReason, duration=int, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/phoneCallEmpty.md b/old_docs/API_docs_v62/constructors/phoneCallEmpty.md
new file mode 100644
index 00000000..a3cade57
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/phoneCallEmpty.md
@@ -0,0 +1,35 @@
+---
+title: phoneCallEmpty
+description: phoneCallEmpty attributes, type and example
+---
+## Constructor: phoneCallEmpty
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|id|[long](../types/long.md) | Yes|
+
+
+
+### Type: [PhoneCall](../types/PhoneCall.md)
+
+
+### Example:
+
+```
+$phoneCallEmpty = ['_' => 'phoneCallEmpty', 'id' => long, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+phoneCallEmpty={_='phoneCallEmpty', id=long, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/phoneCallProtocol.md b/old_docs/API_docs_v62/constructors/phoneCallProtocol.md
new file mode 100644
index 00000000..f69b1a5f
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/phoneCallProtocol.md
@@ -0,0 +1,38 @@
+---
+title: phoneCallProtocol
+description: phoneCallProtocol attributes, type and example
+---
+## Constructor: phoneCallProtocol
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|udp\_p2p|[Bool](../types/Bool.md) | Optional|
+|udp\_reflector|[Bool](../types/Bool.md) | Optional|
+|min\_layer|[int](../types/int.md) | Yes|
+|max\_layer|[int](../types/int.md) | Yes|
+
+
+
+### Type: [PhoneCallProtocol](../types/PhoneCallProtocol.md)
+
+
+### Example:
+
+```
+$phoneCallProtocol = ['_' => 'phoneCallProtocol', 'udp_p2p' => Bool, 'udp_reflector' => Bool, 'min_layer' => int, 'max_layer' => int, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+phoneCallProtocol={_='phoneCallProtocol', udp_p2p=Bool, udp_reflector=Bool, min_layer=int, max_layer=int, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/phoneCallRequested.md b/old_docs/API_docs_v62/constructors/phoneCallRequested.md
new file mode 100644
index 00000000..ed4c242d
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/phoneCallRequested.md
@@ -0,0 +1,41 @@
+---
+title: phoneCallRequested
+description: phoneCallRequested attributes, type and example
+---
+## Constructor: phoneCallRequested
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|id|[long](../types/long.md) | Yes|
+|access\_hash|[long](../types/long.md) | Yes|
+|date|[int](../types/int.md) | Yes|
+|admin\_id|[int](../types/int.md) | Yes|
+|participant\_id|[int](../types/int.md) | Yes|
+|g\_a|[bytes](../types/bytes.md) | Yes|
+|protocol|[PhoneCallProtocol](../types/PhoneCallProtocol.md) | Yes|
+
+
+
+### Type: [PhoneCall](../types/PhoneCall.md)
+
+
+### Example:
+
+```
+$phoneCallRequested = ['_' => 'phoneCallRequested', 'id' => long, 'access_hash' => long, 'date' => int, 'admin_id' => int, 'participant_id' => int, 'g_a' => bytes, 'protocol' => PhoneCallProtocol, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+phoneCallRequested={_='phoneCallRequested', id=long, access_hash=long, date=int, admin_id=int, participant_id=int, g_a=bytes, protocol=PhoneCallProtocol, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/phoneCallWaiting.md b/old_docs/API_docs_v62/constructors/phoneCallWaiting.md
new file mode 100644
index 00000000..577dcd51
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/phoneCallWaiting.md
@@ -0,0 +1,41 @@
+---
+title: phoneCallWaiting
+description: phoneCallWaiting attributes, type and example
+---
+## Constructor: phoneCallWaiting
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|id|[long](../types/long.md) | Yes|
+|access\_hash|[long](../types/long.md) | Yes|
+|date|[int](../types/int.md) | Yes|
+|admin\_id|[int](../types/int.md) | Yes|
+|participant\_id|[int](../types/int.md) | Yes|
+|protocol|[PhoneCallProtocol](../types/PhoneCallProtocol.md) | Yes|
+|receive\_date|[int](../types/int.md) | Optional|
+
+
+
+### Type: [PhoneCall](../types/PhoneCall.md)
+
+
+### Example:
+
+```
+$phoneCallWaiting = ['_' => 'phoneCallWaiting', 'id' => long, 'access_hash' => long, 'date' => int, 'admin_id' => int, 'participant_id' => int, 'protocol' => PhoneCallProtocol, 'receive_date' => int, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+phoneCallWaiting={_='phoneCallWaiting', id=long, access_hash=long, date=int, admin_id=int, participant_id=int, protocol=PhoneCallProtocol, receive_date=int, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/phoneConnection.md b/old_docs/API_docs_v62/constructors/phoneConnection.md
new file mode 100644
index 00000000..730d3019
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/phoneConnection.md
@@ -0,0 +1,39 @@
+---
+title: phoneConnection
+description: phoneConnection attributes, type and example
+---
+## Constructor: phoneConnection
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|id|[long](../types/long.md) | Yes|
+|ip|[string](../types/string.md) | Yes|
+|ipv6|[string](../types/string.md) | Yes|
+|port|[int](../types/int.md) | Yes|
+|peer\_tag|[bytes](../types/bytes.md) | Yes|
+
+
+
+### Type: [PhoneConnection](../types/PhoneConnection.md)
+
+
+### Example:
+
+```
+$phoneConnection = ['_' => 'phoneConnection', 'id' => long, 'ip' => string, 'ipv6' => string, 'port' => int, 'peer_tag' => bytes, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+phoneConnection={_='phoneConnection', id=long, ip=string, ipv6=string, port=int, peer_tag=bytes, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/phone_phoneCall.md b/old_docs/API_docs_v62/constructors/phone_phoneCall.md
new file mode 100644
index 00000000..bb789601
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/phone_phoneCall.md
@@ -0,0 +1,36 @@
+---
+title: phone.phoneCall
+description: phone_phoneCall attributes, type and example
+---
+## Constructor: phone.phoneCall
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|phone\_call|[PhoneCall](../types/PhoneCall.md) | Yes|
+|users|Array of [User](../types/User.md) | Yes|
+
+
+
+### Type: [phone\_PhoneCall](../types/phone_PhoneCall.md)
+
+
+### Example:
+
+```
+$phone_phoneCall = ['_' => 'phone.phoneCall', 'phone_call' => PhoneCall, 'users' => [User], ];
+```
+
+Or, if you're into Lua:
+
+
+```
+phone_phoneCall={_='phone.phoneCall', phone_call=PhoneCall, users={User}, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/photo.md b/old_docs/API_docs_v62/constructors/photo.md
new file mode 100644
index 00000000..3ce8cc62
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/photo.md
@@ -0,0 +1,39 @@
+---
+title: photo
+description: photo attributes, type and example
+---
+## Constructor: photo
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|has\_stickers|[Bool](../types/Bool.md) | Optional|
+|id|[long](../types/long.md) | Yes|
+|access\_hash|[long](../types/long.md) | Yes|
+|date|[int](../types/int.md) | Yes|
+|sizes|Array of [PhotoSize](../types/PhotoSize.md) | Yes|
+
+
+
+### Type: [Photo](../types/Photo.md)
+
+
+### Example:
+
+```
+$photo = ['_' => 'photo', 'has_stickers' => Bool, 'id' => long, 'access_hash' => long, 'date' => int, 'sizes' => [PhotoSize], ];
+```
+
+Or, if you're into Lua:
+
+
+```
+photo={_='photo', has_stickers=Bool, id=long, access_hash=long, date=int, sizes={PhotoSize}, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/photoCachedSize.md b/old_docs/API_docs_v62/constructors/photoCachedSize.md
new file mode 100644
index 00000000..21580b27
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/photoCachedSize.md
@@ -0,0 +1,39 @@
+---
+title: photoCachedSize
+description: photoCachedSize attributes, type and example
+---
+## Constructor: photoCachedSize
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|type|[string](../types/string.md) | Yes|
+|location|[FileLocation](../types/FileLocation.md) | Yes|
+|w|[int](../types/int.md) | Yes|
+|h|[int](../types/int.md) | Yes|
+|bytes|[bytes](../types/bytes.md) | Yes|
+
+
+
+### Type: [PhotoSize](../types/PhotoSize.md)
+
+
+### Example:
+
+```
+$photoCachedSize = ['_' => 'photoCachedSize', 'type' => string, 'location' => FileLocation, 'w' => int, 'h' => int, 'bytes' => bytes, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+photoCachedSize={_='photoCachedSize', type=string, location=FileLocation, w=int, h=int, bytes=bytes, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/photoEmpty.md b/old_docs/API_docs_v62/constructors/photoEmpty.md
new file mode 100644
index 00000000..668a64f4
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/photoEmpty.md
@@ -0,0 +1,35 @@
+---
+title: photoEmpty
+description: photoEmpty attributes, type and example
+---
+## Constructor: photoEmpty
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|id|[long](../types/long.md) | Yes|
+
+
+
+### Type: [Photo](../types/Photo.md)
+
+
+### Example:
+
+```
+$photoEmpty = ['_' => 'photoEmpty', 'id' => long, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+photoEmpty={_='photoEmpty', id=long, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/photoSize.md b/old_docs/API_docs_v62/constructors/photoSize.md
new file mode 100644
index 00000000..8e328967
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/photoSize.md
@@ -0,0 +1,39 @@
+---
+title: photoSize
+description: photoSize attributes, type and example
+---
+## Constructor: photoSize
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|type|[string](../types/string.md) | Yes|
+|location|[FileLocation](../types/FileLocation.md) | Yes|
+|w|[int](../types/int.md) | Yes|
+|h|[int](../types/int.md) | Yes|
+|size|[int](../types/int.md) | Yes|
+
+
+
+### Type: [PhotoSize](../types/PhotoSize.md)
+
+
+### Example:
+
+```
+$photoSize = ['_' => 'photoSize', 'type' => string, 'location' => FileLocation, 'w' => int, 'h' => int, 'size' => int, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+photoSize={_='photoSize', type=string, location=FileLocation, w=int, h=int, size=int, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/photoSizeEmpty.md b/old_docs/API_docs_v62/constructors/photoSizeEmpty.md
new file mode 100644
index 00000000..f6923fca
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/photoSizeEmpty.md
@@ -0,0 +1,35 @@
+---
+title: photoSizeEmpty
+description: photoSizeEmpty attributes, type and example
+---
+## Constructor: photoSizeEmpty
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|type|[string](../types/string.md) | Yes|
+
+
+
+### Type: [PhotoSize](../types/PhotoSize.md)
+
+
+### Example:
+
+```
+$photoSizeEmpty = ['_' => 'photoSizeEmpty', 'type' => string, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+photoSizeEmpty={_='photoSizeEmpty', type=string, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/photos_photo.md b/old_docs/API_docs_v62/constructors/photos_photo.md
new file mode 100644
index 00000000..f4d5c195
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/photos_photo.md
@@ -0,0 +1,36 @@
+---
+title: photos.photo
+description: photos_photo attributes, type and example
+---
+## Constructor: photos.photo
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|photo|[Photo](../types/Photo.md) | Yes|
+|users|Array of [User](../types/User.md) | Yes|
+
+
+
+### Type: [photos\_Photo](../types/photos_Photo.md)
+
+
+### Example:
+
+```
+$photos_photo = ['_' => 'photos.photo', 'photo' => Photo, 'users' => [User], ];
+```
+
+Or, if you're into Lua:
+
+
+```
+photos_photo={_='photos.photo', photo=Photo, users={User}, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/photos_photos.md b/old_docs/API_docs_v62/constructors/photos_photos.md
new file mode 100644
index 00000000..4afe247e
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/photos_photos.md
@@ -0,0 +1,36 @@
+---
+title: photos.photos
+description: photos_photos attributes, type and example
+---
+## Constructor: photos.photos
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|photos|Array of [Photo](../types/Photo.md) | Yes|
+|users|Array of [User](../types/User.md) | Yes|
+
+
+
+### Type: [photos\_Photos](../types/photos_Photos.md)
+
+
+### Example:
+
+```
+$photos_photos = ['_' => 'photos.photos', 'photos' => [Photo], 'users' => [User], ];
+```
+
+Or, if you're into Lua:
+
+
+```
+photos_photos={_='photos.photos', photos={Photo}, users={User}, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/photos_photosSlice.md b/old_docs/API_docs_v62/constructors/photos_photosSlice.md
new file mode 100644
index 00000000..800db2d9
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/photos_photosSlice.md
@@ -0,0 +1,37 @@
+---
+title: photos.photosSlice
+description: photos_photosSlice attributes, type and example
+---
+## Constructor: photos.photosSlice
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|count|[int](../types/int.md) | Yes|
+|photos|Array of [Photo](../types/Photo.md) | Yes|
+|users|Array of [User](../types/User.md) | Yes|
+
+
+
+### Type: [photos\_Photos](../types/photos_Photos.md)
+
+
+### Example:
+
+```
+$photos_photosSlice = ['_' => 'photos.photosSlice', 'count' => int, 'photos' => [Photo], 'users' => [User], ];
+```
+
+Or, if you're into Lua:
+
+
+```
+photos_photosSlice={_='photos.photosSlice', count=int, photos={Photo}, users={User}, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/privacyKeyChatInvite.md b/old_docs/API_docs_v62/constructors/privacyKeyChatInvite.md
new file mode 100644
index 00000000..ad4a35e7
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/privacyKeyChatInvite.md
@@ -0,0 +1,30 @@
+---
+title: privacyKeyChatInvite
+description: privacyKeyChatInvite attributes, type and example
+---
+## Constructor: privacyKeyChatInvite
+[Back to constructors index](index.md)
+
+
+
+
+
+
+### Type: [PrivacyKey](../types/PrivacyKey.md)
+
+
+### Example:
+
+```
+$privacyKeyChatInvite = ['_' => 'privacyKeyChatInvite', ];
+```
+
+Or, if you're into Lua:
+
+
+```
+privacyKeyChatInvite={_='privacyKeyChatInvite', }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/privacyKeyPhoneCall.md b/old_docs/API_docs_v62/constructors/privacyKeyPhoneCall.md
new file mode 100644
index 00000000..fc78bf34
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/privacyKeyPhoneCall.md
@@ -0,0 +1,30 @@
+---
+title: privacyKeyPhoneCall
+description: privacyKeyPhoneCall attributes, type and example
+---
+## Constructor: privacyKeyPhoneCall
+[Back to constructors index](index.md)
+
+
+
+
+
+
+### Type: [PrivacyKey](../types/PrivacyKey.md)
+
+
+### Example:
+
+```
+$privacyKeyPhoneCall = ['_' => 'privacyKeyPhoneCall', ];
+```
+
+Or, if you're into Lua:
+
+
+```
+privacyKeyPhoneCall={_='privacyKeyPhoneCall', }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/privacyKeyStatusTimestamp.md b/old_docs/API_docs_v62/constructors/privacyKeyStatusTimestamp.md
new file mode 100644
index 00000000..912abe67
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/privacyKeyStatusTimestamp.md
@@ -0,0 +1,30 @@
+---
+title: privacyKeyStatusTimestamp
+description: privacyKeyStatusTimestamp attributes, type and example
+---
+## Constructor: privacyKeyStatusTimestamp
+[Back to constructors index](index.md)
+
+
+
+
+
+
+### Type: [PrivacyKey](../types/PrivacyKey.md)
+
+
+### Example:
+
+```
+$privacyKeyStatusTimestamp = ['_' => 'privacyKeyStatusTimestamp', ];
+```
+
+Or, if you're into Lua:
+
+
+```
+privacyKeyStatusTimestamp={_='privacyKeyStatusTimestamp', }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/privacyValueAllowAll.md b/old_docs/API_docs_v62/constructors/privacyValueAllowAll.md
new file mode 100644
index 00000000..7c199ef1
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/privacyValueAllowAll.md
@@ -0,0 +1,30 @@
+---
+title: privacyValueAllowAll
+description: privacyValueAllowAll attributes, type and example
+---
+## Constructor: privacyValueAllowAll
+[Back to constructors index](index.md)
+
+
+
+
+
+
+### Type: [PrivacyRule](../types/PrivacyRule.md)
+
+
+### Example:
+
+```
+$privacyValueAllowAll = ['_' => 'privacyValueAllowAll', ];
+```
+
+Or, if you're into Lua:
+
+
+```
+privacyValueAllowAll={_='privacyValueAllowAll', }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/privacyValueAllowContacts.md b/old_docs/API_docs_v62/constructors/privacyValueAllowContacts.md
new file mode 100644
index 00000000..9e2b4997
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/privacyValueAllowContacts.md
@@ -0,0 +1,30 @@
+---
+title: privacyValueAllowContacts
+description: privacyValueAllowContacts attributes, type and example
+---
+## Constructor: privacyValueAllowContacts
+[Back to constructors index](index.md)
+
+
+
+
+
+
+### Type: [PrivacyRule](../types/PrivacyRule.md)
+
+
+### Example:
+
+```
+$privacyValueAllowContacts = ['_' => 'privacyValueAllowContacts', ];
+```
+
+Or, if you're into Lua:
+
+
+```
+privacyValueAllowContacts={_='privacyValueAllowContacts', }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/privacyValueAllowUsers.md b/old_docs/API_docs_v62/constructors/privacyValueAllowUsers.md
new file mode 100644
index 00000000..d060cf3a
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/privacyValueAllowUsers.md
@@ -0,0 +1,35 @@
+---
+title: privacyValueAllowUsers
+description: privacyValueAllowUsers attributes, type and example
+---
+## Constructor: privacyValueAllowUsers
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|users|Array of [int](../types/int.md) | Yes|
+
+
+
+### Type: [PrivacyRule](../types/PrivacyRule.md)
+
+
+### Example:
+
+```
+$privacyValueAllowUsers = ['_' => 'privacyValueAllowUsers', 'users' => [int], ];
+```
+
+Or, if you're into Lua:
+
+
+```
+privacyValueAllowUsers={_='privacyValueAllowUsers', users={int}, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/privacyValueDisallowAll.md b/old_docs/API_docs_v62/constructors/privacyValueDisallowAll.md
new file mode 100644
index 00000000..1a2c53c6
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/privacyValueDisallowAll.md
@@ -0,0 +1,30 @@
+---
+title: privacyValueDisallowAll
+description: privacyValueDisallowAll attributes, type and example
+---
+## Constructor: privacyValueDisallowAll
+[Back to constructors index](index.md)
+
+
+
+
+
+
+### Type: [PrivacyRule](../types/PrivacyRule.md)
+
+
+### Example:
+
+```
+$privacyValueDisallowAll = ['_' => 'privacyValueDisallowAll', ];
+```
+
+Or, if you're into Lua:
+
+
+```
+privacyValueDisallowAll={_='privacyValueDisallowAll', }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/privacyValueDisallowContacts.md b/old_docs/API_docs_v62/constructors/privacyValueDisallowContacts.md
new file mode 100644
index 00000000..c752907a
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/privacyValueDisallowContacts.md
@@ -0,0 +1,30 @@
+---
+title: privacyValueDisallowContacts
+description: privacyValueDisallowContacts attributes, type and example
+---
+## Constructor: privacyValueDisallowContacts
+[Back to constructors index](index.md)
+
+
+
+
+
+
+### Type: [PrivacyRule](../types/PrivacyRule.md)
+
+
+### Example:
+
+```
+$privacyValueDisallowContacts = ['_' => 'privacyValueDisallowContacts', ];
+```
+
+Or, if you're into Lua:
+
+
+```
+privacyValueDisallowContacts={_='privacyValueDisallowContacts', }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/privacyValueDisallowUsers.md b/old_docs/API_docs_v62/constructors/privacyValueDisallowUsers.md
new file mode 100644
index 00000000..fa091a75
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/privacyValueDisallowUsers.md
@@ -0,0 +1,35 @@
+---
+title: privacyValueDisallowUsers
+description: privacyValueDisallowUsers attributes, type and example
+---
+## Constructor: privacyValueDisallowUsers
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|users|Array of [int](../types/int.md) | Yes|
+
+
+
+### Type: [PrivacyRule](../types/PrivacyRule.md)
+
+
+### Example:
+
+```
+$privacyValueDisallowUsers = ['_' => 'privacyValueDisallowUsers', 'users' => [int], ];
+```
+
+Or, if you're into Lua:
+
+
+```
+privacyValueDisallowUsers={_='privacyValueDisallowUsers', users={int}, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/receivedNotifyMessage.md b/old_docs/API_docs_v62/constructors/receivedNotifyMessage.md
new file mode 100644
index 00000000..3a03f349
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/receivedNotifyMessage.md
@@ -0,0 +1,35 @@
+---
+title: receivedNotifyMessage
+description: receivedNotifyMessage attributes, type and example
+---
+## Constructor: receivedNotifyMessage
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|id|[int](../types/int.md) | Yes|
+
+
+
+### Type: [ReceivedNotifyMessage](../types/ReceivedNotifyMessage.md)
+
+
+### Example:
+
+```
+$receivedNotifyMessage = ['_' => 'receivedNotifyMessage', 'id' => int, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+receivedNotifyMessage={_='receivedNotifyMessage', id=int, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/replyInlineMarkup.md b/old_docs/API_docs_v62/constructors/replyInlineMarkup.md
new file mode 100644
index 00000000..4bc5d372
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/replyInlineMarkup.md
@@ -0,0 +1,35 @@
+---
+title: replyInlineMarkup
+description: replyInlineMarkup attributes, type and example
+---
+## Constructor: replyInlineMarkup
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|rows|Array of [KeyboardButtonRow](../types/KeyboardButtonRow.md) | Yes|
+
+
+
+### Type: [ReplyMarkup](../types/ReplyMarkup.md)
+
+
+### Example:
+
+```
+$replyInlineMarkup = ['_' => 'replyInlineMarkup', 'rows' => [KeyboardButtonRow], ];
+```
+
+Or, if you're into Lua:
+
+
+```
+replyInlineMarkup={_='replyInlineMarkup', rows={KeyboardButtonRow}, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/replyKeyboardForceReply.md b/old_docs/API_docs_v62/constructors/replyKeyboardForceReply.md
new file mode 100644
index 00000000..4f319506
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/replyKeyboardForceReply.md
@@ -0,0 +1,36 @@
+---
+title: replyKeyboardForceReply
+description: replyKeyboardForceReply attributes, type and example
+---
+## Constructor: replyKeyboardForceReply
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|single\_use|[Bool](../types/Bool.md) | Optional|
+|selective|[Bool](../types/Bool.md) | Optional|
+
+
+
+### Type: [ReplyMarkup](../types/ReplyMarkup.md)
+
+
+### Example:
+
+```
+$replyKeyboardForceReply = ['_' => 'replyKeyboardForceReply', 'single_use' => Bool, 'selective' => Bool, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+replyKeyboardForceReply={_='replyKeyboardForceReply', single_use=Bool, selective=Bool, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/replyKeyboardHide.md b/old_docs/API_docs_v62/constructors/replyKeyboardHide.md
new file mode 100644
index 00000000..56faa8dd
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/replyKeyboardHide.md
@@ -0,0 +1,35 @@
+---
+title: replyKeyboardHide
+description: replyKeyboardHide attributes, type and example
+---
+## Constructor: replyKeyboardHide
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|selective|[Bool](../types/Bool.md) | Optional|
+
+
+
+### Type: [ReplyMarkup](../types/ReplyMarkup.md)
+
+
+### Example:
+
+```
+$replyKeyboardHide = ['_' => 'replyKeyboardHide', 'selective' => Bool, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+replyKeyboardHide={_='replyKeyboardHide', selective=Bool, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/replyKeyboardMarkup.md b/old_docs/API_docs_v62/constructors/replyKeyboardMarkup.md
new file mode 100644
index 00000000..3cebc41f
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/replyKeyboardMarkup.md
@@ -0,0 +1,38 @@
+---
+title: replyKeyboardMarkup
+description: replyKeyboardMarkup attributes, type and example
+---
+## Constructor: replyKeyboardMarkup
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|resize|[Bool](../types/Bool.md) | Optional|
+|single\_use|[Bool](../types/Bool.md) | Optional|
+|selective|[Bool](../types/Bool.md) | Optional|
+|rows|Array of [KeyboardButtonRow](../types/KeyboardButtonRow.md) | Yes|
+
+
+
+### Type: [ReplyMarkup](../types/ReplyMarkup.md)
+
+
+### Example:
+
+```
+$replyKeyboardMarkup = ['_' => 'replyKeyboardMarkup', 'resize' => Bool, 'single_use' => Bool, 'selective' => Bool, 'rows' => [KeyboardButtonRow], ];
+```
+
+Or, if you're into Lua:
+
+
+```
+replyKeyboardMarkup={_='replyKeyboardMarkup', resize=Bool, single_use=Bool, selective=Bool, rows={KeyboardButtonRow}, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/sendMessageCancelAction.md b/old_docs/API_docs_v62/constructors/sendMessageCancelAction.md
new file mode 100644
index 00000000..7305433b
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/sendMessageCancelAction.md
@@ -0,0 +1,30 @@
+---
+title: sendMessageCancelAction
+description: sendMessageCancelAction attributes, type and example
+---
+## Constructor: sendMessageCancelAction
+[Back to constructors index](index.md)
+
+
+
+
+
+
+### Type: [SendMessageAction](../types/SendMessageAction.md)
+
+
+### Example:
+
+```
+$sendMessageCancelAction = ['_' => 'sendMessageCancelAction', ];
+```
+
+Or, if you're into Lua:
+
+
+```
+sendMessageCancelAction={_='sendMessageCancelAction', }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/sendMessageChooseContactAction.md b/old_docs/API_docs_v62/constructors/sendMessageChooseContactAction.md
new file mode 100644
index 00000000..2505a555
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/sendMessageChooseContactAction.md
@@ -0,0 +1,30 @@
+---
+title: sendMessageChooseContactAction
+description: sendMessageChooseContactAction attributes, type and example
+---
+## Constructor: sendMessageChooseContactAction
+[Back to constructors index](index.md)
+
+
+
+
+
+
+### Type: [SendMessageAction](../types/SendMessageAction.md)
+
+
+### Example:
+
+```
+$sendMessageChooseContactAction = ['_' => 'sendMessageChooseContactAction', ];
+```
+
+Or, if you're into Lua:
+
+
+```
+sendMessageChooseContactAction={_='sendMessageChooseContactAction', }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/sendMessageGamePlayAction.md b/old_docs/API_docs_v62/constructors/sendMessageGamePlayAction.md
new file mode 100644
index 00000000..9d1c7e57
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/sendMessageGamePlayAction.md
@@ -0,0 +1,30 @@
+---
+title: sendMessageGamePlayAction
+description: sendMessageGamePlayAction attributes, type and example
+---
+## Constructor: sendMessageGamePlayAction
+[Back to constructors index](index.md)
+
+
+
+
+
+
+### Type: [SendMessageAction](../types/SendMessageAction.md)
+
+
+### Example:
+
+```
+$sendMessageGamePlayAction = ['_' => 'sendMessageGamePlayAction', ];
+```
+
+Or, if you're into Lua:
+
+
+```
+sendMessageGamePlayAction={_='sendMessageGamePlayAction', }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/sendMessageGeoLocationAction.md b/old_docs/API_docs_v62/constructors/sendMessageGeoLocationAction.md
new file mode 100644
index 00000000..adca3e35
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/sendMessageGeoLocationAction.md
@@ -0,0 +1,30 @@
+---
+title: sendMessageGeoLocationAction
+description: sendMessageGeoLocationAction attributes, type and example
+---
+## Constructor: sendMessageGeoLocationAction
+[Back to constructors index](index.md)
+
+
+
+
+
+
+### Type: [SendMessageAction](../types/SendMessageAction.md)
+
+
+### Example:
+
+```
+$sendMessageGeoLocationAction = ['_' => 'sendMessageGeoLocationAction', ];
+```
+
+Or, if you're into Lua:
+
+
+```
+sendMessageGeoLocationAction={_='sendMessageGeoLocationAction', }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/sendMessageRecordAudioAction.md b/old_docs/API_docs_v62/constructors/sendMessageRecordAudioAction.md
new file mode 100644
index 00000000..fd177dee
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/sendMessageRecordAudioAction.md
@@ -0,0 +1,30 @@
+---
+title: sendMessageRecordAudioAction
+description: sendMessageRecordAudioAction attributes, type and example
+---
+## Constructor: sendMessageRecordAudioAction
+[Back to constructors index](index.md)
+
+
+
+
+
+
+### Type: [SendMessageAction](../types/SendMessageAction.md)
+
+
+### Example:
+
+```
+$sendMessageRecordAudioAction = ['_' => 'sendMessageRecordAudioAction', ];
+```
+
+Or, if you're into Lua:
+
+
+```
+sendMessageRecordAudioAction={_='sendMessageRecordAudioAction', }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/sendMessageRecordVideoAction.md b/old_docs/API_docs_v62/constructors/sendMessageRecordVideoAction.md
new file mode 100644
index 00000000..8baca1e0
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/sendMessageRecordVideoAction.md
@@ -0,0 +1,30 @@
+---
+title: sendMessageRecordVideoAction
+description: sendMessageRecordVideoAction attributes, type and example
+---
+## Constructor: sendMessageRecordVideoAction
+[Back to constructors index](index.md)
+
+
+
+
+
+
+### Type: [SendMessageAction](../types/SendMessageAction.md)
+
+
+### Example:
+
+```
+$sendMessageRecordVideoAction = ['_' => 'sendMessageRecordVideoAction', ];
+```
+
+Or, if you're into Lua:
+
+
+```
+sendMessageRecordVideoAction={_='sendMessageRecordVideoAction', }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/sendMessageTypingAction.md b/old_docs/API_docs_v62/constructors/sendMessageTypingAction.md
new file mode 100644
index 00000000..a8794cad
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/sendMessageTypingAction.md
@@ -0,0 +1,30 @@
+---
+title: sendMessageTypingAction
+description: sendMessageTypingAction attributes, type and example
+---
+## Constructor: sendMessageTypingAction
+[Back to constructors index](index.md)
+
+
+
+
+
+
+### Type: [SendMessageAction](../types/SendMessageAction.md)
+
+
+### Example:
+
+```
+$sendMessageTypingAction = ['_' => 'sendMessageTypingAction', ];
+```
+
+Or, if you're into Lua:
+
+
+```
+sendMessageTypingAction={_='sendMessageTypingAction', }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/sendMessageUploadAudioAction.md b/old_docs/API_docs_v62/constructors/sendMessageUploadAudioAction.md
new file mode 100644
index 00000000..da90a13e
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/sendMessageUploadAudioAction.md
@@ -0,0 +1,35 @@
+---
+title: sendMessageUploadAudioAction
+description: sendMessageUploadAudioAction attributes, type and example
+---
+## Constructor: sendMessageUploadAudioAction
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|progress|[int](../types/int.md) | Yes|
+
+
+
+### Type: [SendMessageAction](../types/SendMessageAction.md)
+
+
+### Example:
+
+```
+$sendMessageUploadAudioAction = ['_' => 'sendMessageUploadAudioAction', 'progress' => int, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+sendMessageUploadAudioAction={_='sendMessageUploadAudioAction', progress=int, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/sendMessageUploadDocumentAction.md b/old_docs/API_docs_v62/constructors/sendMessageUploadDocumentAction.md
new file mode 100644
index 00000000..92379577
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/sendMessageUploadDocumentAction.md
@@ -0,0 +1,35 @@
+---
+title: sendMessageUploadDocumentAction
+description: sendMessageUploadDocumentAction attributes, type and example
+---
+## Constructor: sendMessageUploadDocumentAction
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|progress|[int](../types/int.md) | Yes|
+
+
+
+### Type: [SendMessageAction](../types/SendMessageAction.md)
+
+
+### Example:
+
+```
+$sendMessageUploadDocumentAction = ['_' => 'sendMessageUploadDocumentAction', 'progress' => int, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+sendMessageUploadDocumentAction={_='sendMessageUploadDocumentAction', progress=int, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/sendMessageUploadPhotoAction.md b/old_docs/API_docs_v62/constructors/sendMessageUploadPhotoAction.md
new file mode 100644
index 00000000..8c4e8ccb
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/sendMessageUploadPhotoAction.md
@@ -0,0 +1,35 @@
+---
+title: sendMessageUploadPhotoAction
+description: sendMessageUploadPhotoAction attributes, type and example
+---
+## Constructor: sendMessageUploadPhotoAction
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|progress|[int](../types/int.md) | Yes|
+
+
+
+### Type: [SendMessageAction](../types/SendMessageAction.md)
+
+
+### Example:
+
+```
+$sendMessageUploadPhotoAction = ['_' => 'sendMessageUploadPhotoAction', 'progress' => int, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+sendMessageUploadPhotoAction={_='sendMessageUploadPhotoAction', progress=int, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/sendMessageUploadVideoAction.md b/old_docs/API_docs_v62/constructors/sendMessageUploadVideoAction.md
new file mode 100644
index 00000000..1b7c138c
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/sendMessageUploadVideoAction.md
@@ -0,0 +1,35 @@
+---
+title: sendMessageUploadVideoAction
+description: sendMessageUploadVideoAction attributes, type and example
+---
+## Constructor: sendMessageUploadVideoAction
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|progress|[int](../types/int.md) | Yes|
+
+
+
+### Type: [SendMessageAction](../types/SendMessageAction.md)
+
+
+### Example:
+
+```
+$sendMessageUploadVideoAction = ['_' => 'sendMessageUploadVideoAction', 'progress' => int, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+sendMessageUploadVideoAction={_='sendMessageUploadVideoAction', progress=int, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/stickerPack.md b/old_docs/API_docs_v62/constructors/stickerPack.md
new file mode 100644
index 00000000..426bb248
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/stickerPack.md
@@ -0,0 +1,36 @@
+---
+title: stickerPack
+description: stickerPack attributes, type and example
+---
+## Constructor: stickerPack
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|emoticon|[string](../types/string.md) | Yes|
+|documents|Array of [long](../types/long.md) | Yes|
+
+
+
+### Type: [StickerPack](../types/StickerPack.md)
+
+
+### Example:
+
+```
+$stickerPack = ['_' => 'stickerPack', 'emoticon' => string, 'documents' => [long], ];
+```
+
+Or, if you're into Lua:
+
+
+```
+stickerPack={_='stickerPack', emoticon=string, documents={long}, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/stickerSet.md b/old_docs/API_docs_v62/constructors/stickerSet.md
new file mode 100644
index 00000000..183cd048
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/stickerSet.md
@@ -0,0 +1,44 @@
+---
+title: stickerSet
+description: stickerSet attributes, type and example
+---
+## Constructor: stickerSet
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|installed|[Bool](../types/Bool.md) | Optional|
+|archived|[Bool](../types/Bool.md) | Optional|
+|official|[Bool](../types/Bool.md) | Optional|
+|masks|[Bool](../types/Bool.md) | Optional|
+|id|[long](../types/long.md) | Yes|
+|access\_hash|[long](../types/long.md) | Yes|
+|title|[string](../types/string.md) | Yes|
+|short\_name|[string](../types/string.md) | Yes|
+|count|[int](../types/int.md) | Yes|
+|hash|[int](../types/int.md) | Yes|
+
+
+
+### Type: [StickerSet](../types/StickerSet.md)
+
+
+### Example:
+
+```
+$stickerSet = ['_' => 'stickerSet', 'installed' => Bool, 'archived' => Bool, 'official' => Bool, 'masks' => Bool, 'id' => long, 'access_hash' => long, 'title' => string, 'short_name' => string, 'count' => int, 'hash' => int, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+stickerSet={_='stickerSet', installed=Bool, archived=Bool, official=Bool, masks=Bool, id=long, access_hash=long, title=string, short_name=string, count=int, hash=int, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/stickerSetCovered.md b/old_docs/API_docs_v62/constructors/stickerSetCovered.md
new file mode 100644
index 00000000..db800fff
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/stickerSetCovered.md
@@ -0,0 +1,36 @@
+---
+title: stickerSetCovered
+description: stickerSetCovered attributes, type and example
+---
+## Constructor: stickerSetCovered
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|set|[StickerSet](../types/StickerSet.md) | Yes|
+|cover|[Document](../types/Document.md) | Yes|
+
+
+
+### Type: [StickerSetCovered](../types/StickerSetCovered.md)
+
+
+### Example:
+
+```
+$stickerSetCovered = ['_' => 'stickerSetCovered', 'set' => StickerSet, 'cover' => Document, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+stickerSetCovered={_='stickerSetCovered', set=StickerSet, cover=Document, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/stickerSetMultiCovered.md b/old_docs/API_docs_v62/constructors/stickerSetMultiCovered.md
new file mode 100644
index 00000000..78ed7ea0
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/stickerSetMultiCovered.md
@@ -0,0 +1,36 @@
+---
+title: stickerSetMultiCovered
+description: stickerSetMultiCovered attributes, type and example
+---
+## Constructor: stickerSetMultiCovered
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|set|[StickerSet](../types/StickerSet.md) | Yes|
+|covers|Array of [Document](../types/Document.md) | Yes|
+
+
+
+### Type: [StickerSetCovered](../types/StickerSetCovered.md)
+
+
+### Example:
+
+```
+$stickerSetMultiCovered = ['_' => 'stickerSetMultiCovered', 'set' => StickerSet, 'covers' => [Document], ];
+```
+
+Or, if you're into Lua:
+
+
+```
+stickerSetMultiCovered={_='stickerSetMultiCovered', set=StickerSet, covers={Document}, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/storage_fileGif.md b/old_docs/API_docs_v62/constructors/storage_fileGif.md
new file mode 100644
index 00000000..5e8258f5
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/storage_fileGif.md
@@ -0,0 +1,30 @@
+---
+title: storage.fileGif
+description: storage_fileGif attributes, type and example
+---
+## Constructor: storage.fileGif
+[Back to constructors index](index.md)
+
+
+
+
+
+
+### Type: [storage\_FileType](../types/storage_FileType.md)
+
+
+### Example:
+
+```
+$storage_fileGif = ['_' => 'storage.fileGif', ];
+```
+
+Or, if you're into Lua:
+
+
+```
+storage_fileGif={_='storage.fileGif', }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/storage_fileJpeg.md b/old_docs/API_docs_v62/constructors/storage_fileJpeg.md
new file mode 100644
index 00000000..4b47bd46
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/storage_fileJpeg.md
@@ -0,0 +1,30 @@
+---
+title: storage.fileJpeg
+description: storage_fileJpeg attributes, type and example
+---
+## Constructor: storage.fileJpeg
+[Back to constructors index](index.md)
+
+
+
+
+
+
+### Type: [storage\_FileType](../types/storage_FileType.md)
+
+
+### Example:
+
+```
+$storage_fileJpeg = ['_' => 'storage.fileJpeg', ];
+```
+
+Or, if you're into Lua:
+
+
+```
+storage_fileJpeg={_='storage.fileJpeg', }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/storage_fileMov.md b/old_docs/API_docs_v62/constructors/storage_fileMov.md
new file mode 100644
index 00000000..97538ded
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/storage_fileMov.md
@@ -0,0 +1,30 @@
+---
+title: storage.fileMov
+description: storage_fileMov attributes, type and example
+---
+## Constructor: storage.fileMov
+[Back to constructors index](index.md)
+
+
+
+
+
+
+### Type: [storage\_FileType](../types/storage_FileType.md)
+
+
+### Example:
+
+```
+$storage_fileMov = ['_' => 'storage.fileMov', ];
+```
+
+Or, if you're into Lua:
+
+
+```
+storage_fileMov={_='storage.fileMov', }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/storage_fileMp3.md b/old_docs/API_docs_v62/constructors/storage_fileMp3.md
new file mode 100644
index 00000000..d786437f
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/storage_fileMp3.md
@@ -0,0 +1,30 @@
+---
+title: storage.fileMp3
+description: storage_fileMp3 attributes, type and example
+---
+## Constructor: storage.fileMp3
+[Back to constructors index](index.md)
+
+
+
+
+
+
+### Type: [storage\_FileType](../types/storage_FileType.md)
+
+
+### Example:
+
+```
+$storage_fileMp3 = ['_' => 'storage.fileMp3', ];
+```
+
+Or, if you're into Lua:
+
+
+```
+storage_fileMp3={_='storage.fileMp3', }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/storage_fileMp4.md b/old_docs/API_docs_v62/constructors/storage_fileMp4.md
new file mode 100644
index 00000000..4c1ba1a6
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/storage_fileMp4.md
@@ -0,0 +1,30 @@
+---
+title: storage.fileMp4
+description: storage_fileMp4 attributes, type and example
+---
+## Constructor: storage.fileMp4
+[Back to constructors index](index.md)
+
+
+
+
+
+
+### Type: [storage\_FileType](../types/storage_FileType.md)
+
+
+### Example:
+
+```
+$storage_fileMp4 = ['_' => 'storage.fileMp4', ];
+```
+
+Or, if you're into Lua:
+
+
+```
+storage_fileMp4={_='storage.fileMp4', }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/storage_filePartial.md b/old_docs/API_docs_v62/constructors/storage_filePartial.md
new file mode 100644
index 00000000..8211f130
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/storage_filePartial.md
@@ -0,0 +1,30 @@
+---
+title: storage.filePartial
+description: storage_filePartial attributes, type and example
+---
+## Constructor: storage.filePartial
+[Back to constructors index](index.md)
+
+
+
+
+
+
+### Type: [storage\_FileType](../types/storage_FileType.md)
+
+
+### Example:
+
+```
+$storage_filePartial = ['_' => 'storage.filePartial', ];
+```
+
+Or, if you're into Lua:
+
+
+```
+storage_filePartial={_='storage.filePartial', }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/storage_filePdf.md b/old_docs/API_docs_v62/constructors/storage_filePdf.md
new file mode 100644
index 00000000..35de04e9
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/storage_filePdf.md
@@ -0,0 +1,30 @@
+---
+title: storage.filePdf
+description: storage_filePdf attributes, type and example
+---
+## Constructor: storage.filePdf
+[Back to constructors index](index.md)
+
+
+
+
+
+
+### Type: [storage\_FileType](../types/storage_FileType.md)
+
+
+### Example:
+
+```
+$storage_filePdf = ['_' => 'storage.filePdf', ];
+```
+
+Or, if you're into Lua:
+
+
+```
+storage_filePdf={_='storage.filePdf', }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/storage_filePng.md b/old_docs/API_docs_v62/constructors/storage_filePng.md
new file mode 100644
index 00000000..72c71ab4
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/storage_filePng.md
@@ -0,0 +1,30 @@
+---
+title: storage.filePng
+description: storage_filePng attributes, type and example
+---
+## Constructor: storage.filePng
+[Back to constructors index](index.md)
+
+
+
+
+
+
+### Type: [storage\_FileType](../types/storage_FileType.md)
+
+
+### Example:
+
+```
+$storage_filePng = ['_' => 'storage.filePng', ];
+```
+
+Or, if you're into Lua:
+
+
+```
+storage_filePng={_='storage.filePng', }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/storage_fileUnknown.md b/old_docs/API_docs_v62/constructors/storage_fileUnknown.md
new file mode 100644
index 00000000..e56b9d06
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/storage_fileUnknown.md
@@ -0,0 +1,30 @@
+---
+title: storage.fileUnknown
+description: storage_fileUnknown attributes, type and example
+---
+## Constructor: storage.fileUnknown
+[Back to constructors index](index.md)
+
+
+
+
+
+
+### Type: [storage\_FileType](../types/storage_FileType.md)
+
+
+### Example:
+
+```
+$storage_fileUnknown = ['_' => 'storage.fileUnknown', ];
+```
+
+Or, if you're into Lua:
+
+
+```
+storage_fileUnknown={_='storage.fileUnknown', }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/storage_fileWebp.md b/old_docs/API_docs_v62/constructors/storage_fileWebp.md
new file mode 100644
index 00000000..637ef45a
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/storage_fileWebp.md
@@ -0,0 +1,30 @@
+---
+title: storage.fileWebp
+description: storage_fileWebp attributes, type and example
+---
+## Constructor: storage.fileWebp
+[Back to constructors index](index.md)
+
+
+
+
+
+
+### Type: [storage\_FileType](../types/storage_FileType.md)
+
+
+### Example:
+
+```
+$storage_fileWebp = ['_' => 'storage.fileWebp', ];
+```
+
+Or, if you're into Lua:
+
+
+```
+storage_fileWebp={_='storage.fileWebp', }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/textBold.md b/old_docs/API_docs_v62/constructors/textBold.md
new file mode 100644
index 00000000..5ecdceee
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/textBold.md
@@ -0,0 +1,35 @@
+---
+title: textBold
+description: textBold attributes, type and example
+---
+## Constructor: textBold
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|text|[RichText](../types/RichText.md) | Yes|
+
+
+
+### Type: [RichText](../types/RichText.md)
+
+
+### Example:
+
+```
+$textBold = ['_' => 'textBold', 'text' => RichText, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+textBold={_='textBold', text=RichText, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/textConcat.md b/old_docs/API_docs_v62/constructors/textConcat.md
new file mode 100644
index 00000000..a32a7403
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/textConcat.md
@@ -0,0 +1,35 @@
+---
+title: textConcat
+description: textConcat attributes, type and example
+---
+## Constructor: textConcat
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|texts|Array of [RichText](../types/RichText.md) | Yes|
+
+
+
+### Type: [RichText](../types/RichText.md)
+
+
+### Example:
+
+```
+$textConcat = ['_' => 'textConcat', 'texts' => [RichText], ];
+```
+
+Or, if you're into Lua:
+
+
+```
+textConcat={_='textConcat', texts={RichText}, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/textEmail.md b/old_docs/API_docs_v62/constructors/textEmail.md
new file mode 100644
index 00000000..666b9708
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/textEmail.md
@@ -0,0 +1,36 @@
+---
+title: textEmail
+description: textEmail attributes, type and example
+---
+## Constructor: textEmail
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|text|[RichText](../types/RichText.md) | Yes|
+|email|[string](../types/string.md) | Yes|
+
+
+
+### Type: [RichText](../types/RichText.md)
+
+
+### Example:
+
+```
+$textEmail = ['_' => 'textEmail', 'text' => RichText, 'email' => string, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+textEmail={_='textEmail', text=RichText, email=string, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/textEmpty.md b/old_docs/API_docs_v62/constructors/textEmpty.md
new file mode 100644
index 00000000..f583a5ad
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/textEmpty.md
@@ -0,0 +1,30 @@
+---
+title: textEmpty
+description: textEmpty attributes, type and example
+---
+## Constructor: textEmpty
+[Back to constructors index](index.md)
+
+
+
+
+
+
+### Type: [RichText](../types/RichText.md)
+
+
+### Example:
+
+```
+$textEmpty = ['_' => 'textEmpty', ];
+```
+
+Or, if you're into Lua:
+
+
+```
+textEmpty={_='textEmpty', }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/textFixed.md b/old_docs/API_docs_v62/constructors/textFixed.md
new file mode 100644
index 00000000..44c06b65
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/textFixed.md
@@ -0,0 +1,35 @@
+---
+title: textFixed
+description: textFixed attributes, type and example
+---
+## Constructor: textFixed
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|text|[RichText](../types/RichText.md) | Yes|
+
+
+
+### Type: [RichText](../types/RichText.md)
+
+
+### Example:
+
+```
+$textFixed = ['_' => 'textFixed', 'text' => RichText, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+textFixed={_='textFixed', text=RichText, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/textItalic.md b/old_docs/API_docs_v62/constructors/textItalic.md
new file mode 100644
index 00000000..738aa112
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/textItalic.md
@@ -0,0 +1,35 @@
+---
+title: textItalic
+description: textItalic attributes, type and example
+---
+## Constructor: textItalic
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|text|[RichText](../types/RichText.md) | Yes|
+
+
+
+### Type: [RichText](../types/RichText.md)
+
+
+### Example:
+
+```
+$textItalic = ['_' => 'textItalic', 'text' => RichText, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+textItalic={_='textItalic', text=RichText, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/textPlain.md b/old_docs/API_docs_v62/constructors/textPlain.md
new file mode 100644
index 00000000..30d8e9e7
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/textPlain.md
@@ -0,0 +1,35 @@
+---
+title: textPlain
+description: textPlain attributes, type and example
+---
+## Constructor: textPlain
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|text|[string](../types/string.md) | Yes|
+
+
+
+### Type: [RichText](../types/RichText.md)
+
+
+### Example:
+
+```
+$textPlain = ['_' => 'textPlain', 'text' => string, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+textPlain={_='textPlain', text=string, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/textStrike.md b/old_docs/API_docs_v62/constructors/textStrike.md
new file mode 100644
index 00000000..c8726973
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/textStrike.md
@@ -0,0 +1,35 @@
+---
+title: textStrike
+description: textStrike attributes, type and example
+---
+## Constructor: textStrike
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|text|[RichText](../types/RichText.md) | Yes|
+
+
+
+### Type: [RichText](../types/RichText.md)
+
+
+### Example:
+
+```
+$textStrike = ['_' => 'textStrike', 'text' => RichText, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+textStrike={_='textStrike', text=RichText, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/textUnderline.md b/old_docs/API_docs_v62/constructors/textUnderline.md
new file mode 100644
index 00000000..765c290a
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/textUnderline.md
@@ -0,0 +1,35 @@
+---
+title: textUnderline
+description: textUnderline attributes, type and example
+---
+## Constructor: textUnderline
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|text|[RichText](../types/RichText.md) | Yes|
+
+
+
+### Type: [RichText](../types/RichText.md)
+
+
+### Example:
+
+```
+$textUnderline = ['_' => 'textUnderline', 'text' => RichText, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+textUnderline={_='textUnderline', text=RichText, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/textUrl.md b/old_docs/API_docs_v62/constructors/textUrl.md
new file mode 100644
index 00000000..3552c6fd
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/textUrl.md
@@ -0,0 +1,37 @@
+---
+title: textUrl
+description: textUrl attributes, type and example
+---
+## Constructor: textUrl
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|text|[RichText](../types/RichText.md) | Yes|
+|url|[string](../types/string.md) | Yes|
+|webpage\_id|[long](../types/long.md) | Yes|
+
+
+
+### Type: [RichText](../types/RichText.md)
+
+
+### Example:
+
+```
+$textUrl = ['_' => 'textUrl', 'text' => RichText, 'url' => string, 'webpage_id' => long, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+textUrl={_='textUrl', text=RichText, url=string, webpage_id=long, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/topPeer.md b/old_docs/API_docs_v62/constructors/topPeer.md
new file mode 100644
index 00000000..016a7857
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/topPeer.md
@@ -0,0 +1,36 @@
+---
+title: topPeer
+description: topPeer attributes, type and example
+---
+## Constructor: topPeer
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|peer|[Peer](../types/Peer.md) | Yes|
+|rating|[double](../types/double.md) | Yes|
+
+
+
+### Type: [TopPeer](../types/TopPeer.md)
+
+
+### Example:
+
+```
+$topPeer = ['_' => 'topPeer', 'peer' => Peer, 'rating' => double, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+topPeer={_='topPeer', peer=Peer, rating=double, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/topPeerCategoryBotsInline.md b/old_docs/API_docs_v62/constructors/topPeerCategoryBotsInline.md
new file mode 100644
index 00000000..30fa513f
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/topPeerCategoryBotsInline.md
@@ -0,0 +1,30 @@
+---
+title: topPeerCategoryBotsInline
+description: topPeerCategoryBotsInline attributes, type and example
+---
+## Constructor: topPeerCategoryBotsInline
+[Back to constructors index](index.md)
+
+
+
+
+
+
+### Type: [TopPeerCategory](../types/TopPeerCategory.md)
+
+
+### Example:
+
+```
+$topPeerCategoryBotsInline = ['_' => 'topPeerCategoryBotsInline', ];
+```
+
+Or, if you're into Lua:
+
+
+```
+topPeerCategoryBotsInline={_='topPeerCategoryBotsInline', }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/topPeerCategoryBotsPM.md b/old_docs/API_docs_v62/constructors/topPeerCategoryBotsPM.md
new file mode 100644
index 00000000..f87934ed
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/topPeerCategoryBotsPM.md
@@ -0,0 +1,30 @@
+---
+title: topPeerCategoryBotsPM
+description: topPeerCategoryBotsPM attributes, type and example
+---
+## Constructor: topPeerCategoryBotsPM
+[Back to constructors index](index.md)
+
+
+
+
+
+
+### Type: [TopPeerCategory](../types/TopPeerCategory.md)
+
+
+### Example:
+
+```
+$topPeerCategoryBotsPM = ['_' => 'topPeerCategoryBotsPM', ];
+```
+
+Or, if you're into Lua:
+
+
+```
+topPeerCategoryBotsPM={_='topPeerCategoryBotsPM', }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/topPeerCategoryChannels.md b/old_docs/API_docs_v62/constructors/topPeerCategoryChannels.md
new file mode 100644
index 00000000..6b72af0a
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/topPeerCategoryChannels.md
@@ -0,0 +1,30 @@
+---
+title: topPeerCategoryChannels
+description: topPeerCategoryChannels attributes, type and example
+---
+## Constructor: topPeerCategoryChannels
+[Back to constructors index](index.md)
+
+
+
+
+
+
+### Type: [TopPeerCategory](../types/TopPeerCategory.md)
+
+
+### Example:
+
+```
+$topPeerCategoryChannels = ['_' => 'topPeerCategoryChannels', ];
+```
+
+Or, if you're into Lua:
+
+
+```
+topPeerCategoryChannels={_='topPeerCategoryChannels', }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/topPeerCategoryCorrespondents.md b/old_docs/API_docs_v62/constructors/topPeerCategoryCorrespondents.md
new file mode 100644
index 00000000..c45dee85
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/topPeerCategoryCorrespondents.md
@@ -0,0 +1,30 @@
+---
+title: topPeerCategoryCorrespondents
+description: topPeerCategoryCorrespondents attributes, type and example
+---
+## Constructor: topPeerCategoryCorrespondents
+[Back to constructors index](index.md)
+
+
+
+
+
+
+### Type: [TopPeerCategory](../types/TopPeerCategory.md)
+
+
+### Example:
+
+```
+$topPeerCategoryCorrespondents = ['_' => 'topPeerCategoryCorrespondents', ];
+```
+
+Or, if you're into Lua:
+
+
+```
+topPeerCategoryCorrespondents={_='topPeerCategoryCorrespondents', }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/topPeerCategoryGroups.md b/old_docs/API_docs_v62/constructors/topPeerCategoryGroups.md
new file mode 100644
index 00000000..3f6c8fdf
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/topPeerCategoryGroups.md
@@ -0,0 +1,30 @@
+---
+title: topPeerCategoryGroups
+description: topPeerCategoryGroups attributes, type and example
+---
+## Constructor: topPeerCategoryGroups
+[Back to constructors index](index.md)
+
+
+
+
+
+
+### Type: [TopPeerCategory](../types/TopPeerCategory.md)
+
+
+### Example:
+
+```
+$topPeerCategoryGroups = ['_' => 'topPeerCategoryGroups', ];
+```
+
+Or, if you're into Lua:
+
+
+```
+topPeerCategoryGroups={_='topPeerCategoryGroups', }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/topPeerCategoryPeers.md b/old_docs/API_docs_v62/constructors/topPeerCategoryPeers.md
new file mode 100644
index 00000000..8fd2021b
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/topPeerCategoryPeers.md
@@ -0,0 +1,37 @@
+---
+title: topPeerCategoryPeers
+description: topPeerCategoryPeers attributes, type and example
+---
+## Constructor: topPeerCategoryPeers
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|category|[TopPeerCategory](../types/TopPeerCategory.md) | Yes|
+|count|[int](../types/int.md) | Yes|
+|peers|Array of [TopPeer](../types/TopPeer.md) | Yes|
+
+
+
+### Type: [TopPeerCategoryPeers](../types/TopPeerCategoryPeers.md)
+
+
+### Example:
+
+```
+$topPeerCategoryPeers = ['_' => 'topPeerCategoryPeers', 'category' => TopPeerCategory, 'count' => int, 'peers' => [TopPeer], ];
+```
+
+Or, if you're into Lua:
+
+
+```
+topPeerCategoryPeers={_='topPeerCategoryPeers', category=TopPeerCategory, count=int, peers={TopPeer}, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/true.md b/old_docs/API_docs_v62/constructors/true.md
new file mode 100644
index 00000000..1887f124
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/true.md
@@ -0,0 +1,30 @@
+---
+title: true
+description: true attributes, type and example
+---
+## Constructor: true
+[Back to constructors index](index.md)
+
+
+
+
+
+
+### Type: [True](../types/True.md)
+
+
+### Example:
+
+```
+$true = ['_' => 'true', ];
+```
+
+Or, if you're into Lua:
+
+
+```
+true={_='true', }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/updateBotCallbackQuery.md b/old_docs/API_docs_v62/constructors/updateBotCallbackQuery.md
new file mode 100644
index 00000000..9813adb2
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/updateBotCallbackQuery.md
@@ -0,0 +1,41 @@
+---
+title: updateBotCallbackQuery
+description: updateBotCallbackQuery attributes, type and example
+---
+## Constructor: updateBotCallbackQuery
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|query\_id|[long](../types/long.md) | Yes|
+|user\_id|[int](../types/int.md) | Yes|
+|peer|[Peer](../types/Peer.md) | Yes|
+|msg\_id|[int](../types/int.md) | Yes|
+|chat\_instance|[long](../types/long.md) | Yes|
+|data|[bytes](../types/bytes.md) | Optional|
+|game\_short\_name|[string](../types/string.md) | Optional|
+
+
+
+### Type: [Update](../types/Update.md)
+
+
+### Example:
+
+```
+$updateBotCallbackQuery = ['_' => 'updateBotCallbackQuery', 'query_id' => long, 'user_id' => int, 'peer' => Peer, 'msg_id' => int, 'chat_instance' => long, 'data' => bytes, 'game_short_name' => string, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+updateBotCallbackQuery={_='updateBotCallbackQuery', query_id=long, user_id=int, peer=Peer, msg_id=int, chat_instance=long, data=bytes, game_short_name=string, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/updateBotInlineQuery.md b/old_docs/API_docs_v62/constructors/updateBotInlineQuery.md
new file mode 100644
index 00000000..5cc6956a
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/updateBotInlineQuery.md
@@ -0,0 +1,39 @@
+---
+title: updateBotInlineQuery
+description: updateBotInlineQuery attributes, type and example
+---
+## Constructor: updateBotInlineQuery
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|query\_id|[long](../types/long.md) | Yes|
+|user\_id|[int](../types/int.md) | Yes|
+|query|[string](../types/string.md) | Yes|
+|geo|[GeoPoint](../types/GeoPoint.md) | Optional|
+|offset|[string](../types/string.md) | Yes|
+
+
+
+### Type: [Update](../types/Update.md)
+
+
+### Example:
+
+```
+$updateBotInlineQuery = ['_' => 'updateBotInlineQuery', 'query_id' => long, 'user_id' => int, 'query' => string, 'geo' => GeoPoint, 'offset' => string, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+updateBotInlineQuery={_='updateBotInlineQuery', query_id=long, user_id=int, query=string, geo=GeoPoint, offset=string, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/updateBotInlineSend.md b/old_docs/API_docs_v62/constructors/updateBotInlineSend.md
new file mode 100644
index 00000000..fb062eb3
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/updateBotInlineSend.md
@@ -0,0 +1,39 @@
+---
+title: updateBotInlineSend
+description: updateBotInlineSend attributes, type and example
+---
+## Constructor: updateBotInlineSend
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|user\_id|[int](../types/int.md) | Yes|
+|query|[string](../types/string.md) | Yes|
+|geo|[GeoPoint](../types/GeoPoint.md) | Optional|
+|id|[string](../types/string.md) | Yes|
+|msg\_id|[InputBotInlineMessageID](../types/InputBotInlineMessageID.md) | Optional|
+
+
+
+### Type: [Update](../types/Update.md)
+
+
+### Example:
+
+```
+$updateBotInlineSend = ['_' => 'updateBotInlineSend', 'user_id' => int, 'query' => string, 'geo' => GeoPoint, 'id' => string, 'msg_id' => InputBotInlineMessageID, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+updateBotInlineSend={_='updateBotInlineSend', user_id=int, query=string, geo=GeoPoint, id=string, msg_id=InputBotInlineMessageID, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/updateChannel.md b/old_docs/API_docs_v62/constructors/updateChannel.md
new file mode 100644
index 00000000..9c7a21fd
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/updateChannel.md
@@ -0,0 +1,35 @@
+---
+title: updateChannel
+description: updateChannel attributes, type and example
+---
+## Constructor: updateChannel
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|channel\_id|[int](../types/int.md) | Yes|
+
+
+
+### Type: [Update](../types/Update.md)
+
+
+### Example:
+
+```
+$updateChannel = ['_' => 'updateChannel', 'channel_id' => int, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+updateChannel={_='updateChannel', channel_id=int, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/updateChannelMessageViews.md b/old_docs/API_docs_v62/constructors/updateChannelMessageViews.md
new file mode 100644
index 00000000..1513c598
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/updateChannelMessageViews.md
@@ -0,0 +1,37 @@
+---
+title: updateChannelMessageViews
+description: updateChannelMessageViews attributes, type and example
+---
+## Constructor: updateChannelMessageViews
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|channel\_id|[int](../types/int.md) | Yes|
+|id|[int](../types/int.md) | Yes|
+|views|[int](../types/int.md) | Yes|
+
+
+
+### Type: [Update](../types/Update.md)
+
+
+### Example:
+
+```
+$updateChannelMessageViews = ['_' => 'updateChannelMessageViews', 'channel_id' => int, 'id' => int, 'views' => int, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+updateChannelMessageViews={_='updateChannelMessageViews', channel_id=int, id=int, views=int, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/updateChannelPinnedMessage.md b/old_docs/API_docs_v62/constructors/updateChannelPinnedMessage.md
new file mode 100644
index 00000000..f6179fd7
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/updateChannelPinnedMessage.md
@@ -0,0 +1,36 @@
+---
+title: updateChannelPinnedMessage
+description: updateChannelPinnedMessage attributes, type and example
+---
+## Constructor: updateChannelPinnedMessage
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|channel\_id|[int](../types/int.md) | Yes|
+|id|[int](../types/int.md) | Yes|
+
+
+
+### Type: [Update](../types/Update.md)
+
+
+### Example:
+
+```
+$updateChannelPinnedMessage = ['_' => 'updateChannelPinnedMessage', 'channel_id' => int, 'id' => int, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+updateChannelPinnedMessage={_='updateChannelPinnedMessage', channel_id=int, id=int, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/updateChannelTooLong.md b/old_docs/API_docs_v62/constructors/updateChannelTooLong.md
new file mode 100644
index 00000000..c6a74206
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/updateChannelTooLong.md
@@ -0,0 +1,36 @@
+---
+title: updateChannelTooLong
+description: updateChannelTooLong attributes, type and example
+---
+## Constructor: updateChannelTooLong
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|channel\_id|[int](../types/int.md) | Yes|
+|pts|[int](../types/int.md) | Optional|
+
+
+
+### Type: [Update](../types/Update.md)
+
+
+### Example:
+
+```
+$updateChannelTooLong = ['_' => 'updateChannelTooLong', 'channel_id' => int, 'pts' => int, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+updateChannelTooLong={_='updateChannelTooLong', channel_id=int, pts=int, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/updateChannelWebPage.md b/old_docs/API_docs_v62/constructors/updateChannelWebPage.md
new file mode 100644
index 00000000..ba04b77e
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/updateChannelWebPage.md
@@ -0,0 +1,38 @@
+---
+title: updateChannelWebPage
+description: updateChannelWebPage attributes, type and example
+---
+## Constructor: updateChannelWebPage
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|channel\_id|[int](../types/int.md) | Yes|
+|webpage|[WebPage](../types/WebPage.md) | Yes|
+|pts|[int](../types/int.md) | Yes|
+|pts\_count|[int](../types/int.md) | Yes|
+
+
+
+### Type: [Update](../types/Update.md)
+
+
+### Example:
+
+```
+$updateChannelWebPage = ['_' => 'updateChannelWebPage', 'channel_id' => int, 'webpage' => WebPage, 'pts' => int, 'pts_count' => int, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+updateChannelWebPage={_='updateChannelWebPage', channel_id=int, webpage=WebPage, pts=int, pts_count=int, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/updateChatAdmins.md b/old_docs/API_docs_v62/constructors/updateChatAdmins.md
new file mode 100644
index 00000000..36fb3614
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/updateChatAdmins.md
@@ -0,0 +1,37 @@
+---
+title: updateChatAdmins
+description: updateChatAdmins attributes, type and example
+---
+## Constructor: updateChatAdmins
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|chat\_id|[int](../types/int.md) | Yes|
+|enabled|[Bool](../types/Bool.md) | Yes|
+|version|[int](../types/int.md) | Yes|
+
+
+
+### Type: [Update](../types/Update.md)
+
+
+### Example:
+
+```
+$updateChatAdmins = ['_' => 'updateChatAdmins', 'chat_id' => int, 'enabled' => Bool, 'version' => int, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+updateChatAdmins={_='updateChatAdmins', chat_id=int, enabled=Bool, version=int, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/updateChatParticipantAdd.md b/old_docs/API_docs_v62/constructors/updateChatParticipantAdd.md
new file mode 100644
index 00000000..8b6e5531
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/updateChatParticipantAdd.md
@@ -0,0 +1,39 @@
+---
+title: updateChatParticipantAdd
+description: updateChatParticipantAdd attributes, type and example
+---
+## Constructor: updateChatParticipantAdd
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|chat\_id|[int](../types/int.md) | Yes|
+|user\_id|[int](../types/int.md) | Yes|
+|inviter\_id|[int](../types/int.md) | Yes|
+|date|[int](../types/int.md) | Yes|
+|version|[int](../types/int.md) | Yes|
+
+
+
+### Type: [Update](../types/Update.md)
+
+
+### Example:
+
+```
+$updateChatParticipantAdd = ['_' => 'updateChatParticipantAdd', 'chat_id' => int, 'user_id' => int, 'inviter_id' => int, 'date' => int, 'version' => int, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+updateChatParticipantAdd={_='updateChatParticipantAdd', chat_id=int, user_id=int, inviter_id=int, date=int, version=int, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/updateChatParticipantAdmin.md b/old_docs/API_docs_v62/constructors/updateChatParticipantAdmin.md
new file mode 100644
index 00000000..fbb2cdae
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/updateChatParticipantAdmin.md
@@ -0,0 +1,38 @@
+---
+title: updateChatParticipantAdmin
+description: updateChatParticipantAdmin attributes, type and example
+---
+## Constructor: updateChatParticipantAdmin
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|chat\_id|[int](../types/int.md) | Yes|
+|user\_id|[int](../types/int.md) | Yes|
+|is\_admin|[Bool](../types/Bool.md) | Yes|
+|version|[int](../types/int.md) | Yes|
+
+
+
+### Type: [Update](../types/Update.md)
+
+
+### Example:
+
+```
+$updateChatParticipantAdmin = ['_' => 'updateChatParticipantAdmin', 'chat_id' => int, 'user_id' => int, 'is_admin' => Bool, 'version' => int, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+updateChatParticipantAdmin={_='updateChatParticipantAdmin', chat_id=int, user_id=int, is_admin=Bool, version=int, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/updateChatParticipantDelete.md b/old_docs/API_docs_v62/constructors/updateChatParticipantDelete.md
new file mode 100644
index 00000000..1dade6e2
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/updateChatParticipantDelete.md
@@ -0,0 +1,37 @@
+---
+title: updateChatParticipantDelete
+description: updateChatParticipantDelete attributes, type and example
+---
+## Constructor: updateChatParticipantDelete
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|chat\_id|[int](../types/int.md) | Yes|
+|user\_id|[int](../types/int.md) | Yes|
+|version|[int](../types/int.md) | Yes|
+
+
+
+### Type: [Update](../types/Update.md)
+
+
+### Example:
+
+```
+$updateChatParticipantDelete = ['_' => 'updateChatParticipantDelete', 'chat_id' => int, 'user_id' => int, 'version' => int, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+updateChatParticipantDelete={_='updateChatParticipantDelete', chat_id=int, user_id=int, version=int, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/updateChatParticipants.md b/old_docs/API_docs_v62/constructors/updateChatParticipants.md
new file mode 100644
index 00000000..26ef66c5
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/updateChatParticipants.md
@@ -0,0 +1,35 @@
+---
+title: updateChatParticipants
+description: updateChatParticipants attributes, type and example
+---
+## Constructor: updateChatParticipants
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|participants|[ChatParticipants](../types/ChatParticipants.md) | Yes|
+
+
+
+### Type: [Update](../types/Update.md)
+
+
+### Example:
+
+```
+$updateChatParticipants = ['_' => 'updateChatParticipants', 'participants' => ChatParticipants, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+updateChatParticipants={_='updateChatParticipants', participants=ChatParticipants, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/updateChatUserTyping.md b/old_docs/API_docs_v62/constructors/updateChatUserTyping.md
new file mode 100644
index 00000000..190baf29
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/updateChatUserTyping.md
@@ -0,0 +1,37 @@
+---
+title: updateChatUserTyping
+description: updateChatUserTyping attributes, type and example
+---
+## Constructor: updateChatUserTyping
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|chat\_id|[int](../types/int.md) | Yes|
+|user\_id|[int](../types/int.md) | Yes|
+|action|[SendMessageAction](../types/SendMessageAction.md) | Yes|
+
+
+
+### Type: [Update](../types/Update.md)
+
+
+### Example:
+
+```
+$updateChatUserTyping = ['_' => 'updateChatUserTyping', 'chat_id' => int, 'user_id' => int, 'action' => SendMessageAction, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+updateChatUserTyping={_='updateChatUserTyping', chat_id=int, user_id=int, action=SendMessageAction, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/updateConfig.md b/old_docs/API_docs_v62/constructors/updateConfig.md
new file mode 100644
index 00000000..34692274
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/updateConfig.md
@@ -0,0 +1,30 @@
+---
+title: updateConfig
+description: updateConfig attributes, type and example
+---
+## Constructor: updateConfig
+[Back to constructors index](index.md)
+
+
+
+
+
+
+### Type: [Update](../types/Update.md)
+
+
+### Example:
+
+```
+$updateConfig = ['_' => 'updateConfig', ];
+```
+
+Or, if you're into Lua:
+
+
+```
+updateConfig={_='updateConfig', }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/updateContactLink.md b/old_docs/API_docs_v62/constructors/updateContactLink.md
new file mode 100644
index 00000000..3c25d582
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/updateContactLink.md
@@ -0,0 +1,37 @@
+---
+title: updateContactLink
+description: updateContactLink attributes, type and example
+---
+## Constructor: updateContactLink
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|user\_id|[int](../types/int.md) | Yes|
+|my\_link|[ContactLink](../types/ContactLink.md) | Yes|
+|foreign\_link|[ContactLink](../types/ContactLink.md) | Yes|
+
+
+
+### Type: [Update](../types/Update.md)
+
+
+### Example:
+
+```
+$updateContactLink = ['_' => 'updateContactLink', 'user_id' => int, 'my_link' => ContactLink, 'foreign_link' => ContactLink, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+updateContactLink={_='updateContactLink', user_id=int, my_link=ContactLink, foreign_link=ContactLink, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/updateContactRegistered.md b/old_docs/API_docs_v62/constructors/updateContactRegistered.md
new file mode 100644
index 00000000..3fa15233
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/updateContactRegistered.md
@@ -0,0 +1,36 @@
+---
+title: updateContactRegistered
+description: updateContactRegistered attributes, type and example
+---
+## Constructor: updateContactRegistered
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|user\_id|[int](../types/int.md) | Yes|
+|date|[int](../types/int.md) | Yes|
+
+
+
+### Type: [Update](../types/Update.md)
+
+
+### Example:
+
+```
+$updateContactRegistered = ['_' => 'updateContactRegistered', 'user_id' => int, 'date' => int, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+updateContactRegistered={_='updateContactRegistered', user_id=int, date=int, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/updateDcOptions.md b/old_docs/API_docs_v62/constructors/updateDcOptions.md
new file mode 100644
index 00000000..292ca377
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/updateDcOptions.md
@@ -0,0 +1,35 @@
+---
+title: updateDcOptions
+description: updateDcOptions attributes, type and example
+---
+## Constructor: updateDcOptions
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|dc\_options|Array of [DcOption](../types/DcOption.md) | Yes|
+
+
+
+### Type: [Update](../types/Update.md)
+
+
+### Example:
+
+```
+$updateDcOptions = ['_' => 'updateDcOptions', 'dc_options' => [DcOption], ];
+```
+
+Or, if you're into Lua:
+
+
+```
+updateDcOptions={_='updateDcOptions', dc_options={DcOption}, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/updateDeleteChannelMessages.md b/old_docs/API_docs_v62/constructors/updateDeleteChannelMessages.md
new file mode 100644
index 00000000..6f8c20d5
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/updateDeleteChannelMessages.md
@@ -0,0 +1,38 @@
+---
+title: updateDeleteChannelMessages
+description: updateDeleteChannelMessages attributes, type and example
+---
+## Constructor: updateDeleteChannelMessages
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|channel\_id|[int](../types/int.md) | Yes|
+|messages|Array of [int](../types/int.md) | Yes|
+|pts|[int](../types/int.md) | Yes|
+|pts\_count|[int](../types/int.md) | Yes|
+
+
+
+### Type: [Update](../types/Update.md)
+
+
+### Example:
+
+```
+$updateDeleteChannelMessages = ['_' => 'updateDeleteChannelMessages', 'channel_id' => int, 'messages' => [int], 'pts' => int, 'pts_count' => int, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+updateDeleteChannelMessages={_='updateDeleteChannelMessages', channel_id=int, messages={int}, pts=int, pts_count=int, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/updateDeleteMessages.md b/old_docs/API_docs_v62/constructors/updateDeleteMessages.md
new file mode 100644
index 00000000..5b6bc87e
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/updateDeleteMessages.md
@@ -0,0 +1,37 @@
+---
+title: updateDeleteMessages
+description: updateDeleteMessages attributes, type and example
+---
+## Constructor: updateDeleteMessages
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|messages|Array of [int](../types/int.md) | Yes|
+|pts|[int](../types/int.md) | Yes|
+|pts\_count|[int](../types/int.md) | Yes|
+
+
+
+### Type: [Update](../types/Update.md)
+
+
+### Example:
+
+```
+$updateDeleteMessages = ['_' => 'updateDeleteMessages', 'messages' => [int], 'pts' => int, 'pts_count' => int, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+updateDeleteMessages={_='updateDeleteMessages', messages={int}, pts=int, pts_count=int, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/updateDialogPinned.md b/old_docs/API_docs_v62/constructors/updateDialogPinned.md
new file mode 100644
index 00000000..0851cb65
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/updateDialogPinned.md
@@ -0,0 +1,36 @@
+---
+title: updateDialogPinned
+description: updateDialogPinned attributes, type and example
+---
+## Constructor: updateDialogPinned
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|pinned|[Bool](../types/Bool.md) | Optional|
+|peer|[Peer](../types/Peer.md) | Yes|
+
+
+
+### Type: [Update](../types/Update.md)
+
+
+### Example:
+
+```
+$updateDialogPinned = ['_' => 'updateDialogPinned', 'pinned' => Bool, 'peer' => Peer, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+updateDialogPinned={_='updateDialogPinned', pinned=Bool, peer=Peer, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/updateDraftMessage.md b/old_docs/API_docs_v62/constructors/updateDraftMessage.md
new file mode 100644
index 00000000..3eb98097
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/updateDraftMessage.md
@@ -0,0 +1,36 @@
+---
+title: updateDraftMessage
+description: updateDraftMessage attributes, type and example
+---
+## Constructor: updateDraftMessage
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|peer|[Peer](../types/Peer.md) | Yes|
+|draft|[DraftMessage](../types/DraftMessage.md) | Yes|
+
+
+
+### Type: [Update](../types/Update.md)
+
+
+### Example:
+
+```
+$updateDraftMessage = ['_' => 'updateDraftMessage', 'peer' => Peer, 'draft' => DraftMessage, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+updateDraftMessage={_='updateDraftMessage', peer=Peer, draft=DraftMessage, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/updateEditChannelMessage.md b/old_docs/API_docs_v62/constructors/updateEditChannelMessage.md
new file mode 100644
index 00000000..65a44b23
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/updateEditChannelMessage.md
@@ -0,0 +1,37 @@
+---
+title: updateEditChannelMessage
+description: updateEditChannelMessage attributes, type and example
+---
+## Constructor: updateEditChannelMessage
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|message|[Message](../types/Message.md) | Yes|
+|pts|[int](../types/int.md) | Yes|
+|pts\_count|[int](../types/int.md) | Yes|
+
+
+
+### Type: [Update](../types/Update.md)
+
+
+### Example:
+
+```
+$updateEditChannelMessage = ['_' => 'updateEditChannelMessage', 'message' => Message, 'pts' => int, 'pts_count' => int, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+updateEditChannelMessage={_='updateEditChannelMessage', message=Message, pts=int, pts_count=int, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/updateEditMessage.md b/old_docs/API_docs_v62/constructors/updateEditMessage.md
new file mode 100644
index 00000000..7b681445
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/updateEditMessage.md
@@ -0,0 +1,37 @@
+---
+title: updateEditMessage
+description: updateEditMessage attributes, type and example
+---
+## Constructor: updateEditMessage
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|message|[Message](../types/Message.md) | Yes|
+|pts|[int](../types/int.md) | Yes|
+|pts\_count|[int](../types/int.md) | Yes|
+
+
+
+### Type: [Update](../types/Update.md)
+
+
+### Example:
+
+```
+$updateEditMessage = ['_' => 'updateEditMessage', 'message' => Message, 'pts' => int, 'pts_count' => int, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+updateEditMessage={_='updateEditMessage', message=Message, pts=int, pts_count=int, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/updateEncryptedChatTyping.md b/old_docs/API_docs_v62/constructors/updateEncryptedChatTyping.md
new file mode 100644
index 00000000..4e90263d
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/updateEncryptedChatTyping.md
@@ -0,0 +1,35 @@
+---
+title: updateEncryptedChatTyping
+description: updateEncryptedChatTyping attributes, type and example
+---
+## Constructor: updateEncryptedChatTyping
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|chat\_id|[int](../types/int.md) | Yes|
+
+
+
+### Type: [Update](../types/Update.md)
+
+
+### Example:
+
+```
+$updateEncryptedChatTyping = ['_' => 'updateEncryptedChatTyping', 'chat_id' => int, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+updateEncryptedChatTyping={_='updateEncryptedChatTyping', chat_id=int, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/updateEncryptedMessagesRead.md b/old_docs/API_docs_v62/constructors/updateEncryptedMessagesRead.md
new file mode 100644
index 00000000..4e72f505
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/updateEncryptedMessagesRead.md
@@ -0,0 +1,37 @@
+---
+title: updateEncryptedMessagesRead
+description: updateEncryptedMessagesRead attributes, type and example
+---
+## Constructor: updateEncryptedMessagesRead
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|chat\_id|[int](../types/int.md) | Yes|
+|max\_date|[int](../types/int.md) | Yes|
+|date|[int](../types/int.md) | Yes|
+
+
+
+### Type: [Update](../types/Update.md)
+
+
+### Example:
+
+```
+$updateEncryptedMessagesRead = ['_' => 'updateEncryptedMessagesRead', 'chat_id' => int, 'max_date' => int, 'date' => int, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+updateEncryptedMessagesRead={_='updateEncryptedMessagesRead', chat_id=int, max_date=int, date=int, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/updateEncryption.md b/old_docs/API_docs_v62/constructors/updateEncryption.md
new file mode 100644
index 00000000..ac1b1496
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/updateEncryption.md
@@ -0,0 +1,36 @@
+---
+title: updateEncryption
+description: updateEncryption attributes, type and example
+---
+## Constructor: updateEncryption
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|chat|[EncryptedChat](../types/EncryptedChat.md) | Yes|
+|date|[int](../types/int.md) | Yes|
+
+
+
+### Type: [Update](../types/Update.md)
+
+
+### Example:
+
+```
+$updateEncryption = ['_' => 'updateEncryption', 'chat' => EncryptedChat, 'date' => int, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+updateEncryption={_='updateEncryption', chat=EncryptedChat, date=int, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/updateInlineBotCallbackQuery.md b/old_docs/API_docs_v62/constructors/updateInlineBotCallbackQuery.md
new file mode 100644
index 00000000..c358c306
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/updateInlineBotCallbackQuery.md
@@ -0,0 +1,40 @@
+---
+title: updateInlineBotCallbackQuery
+description: updateInlineBotCallbackQuery attributes, type and example
+---
+## Constructor: updateInlineBotCallbackQuery
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|query\_id|[long](../types/long.md) | Yes|
+|user\_id|[int](../types/int.md) | Yes|
+|msg\_id|[InputBotInlineMessageID](../types/InputBotInlineMessageID.md) | Yes|
+|chat\_instance|[long](../types/long.md) | Yes|
+|data|[bytes](../types/bytes.md) | Optional|
+|game\_short\_name|[string](../types/string.md) | Optional|
+
+
+
+### Type: [Update](../types/Update.md)
+
+
+### Example:
+
+```
+$updateInlineBotCallbackQuery = ['_' => 'updateInlineBotCallbackQuery', 'query_id' => long, 'user_id' => int, 'msg_id' => InputBotInlineMessageID, 'chat_instance' => long, 'data' => bytes, 'game_short_name' => string, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+updateInlineBotCallbackQuery={_='updateInlineBotCallbackQuery', query_id=long, user_id=int, msg_id=InputBotInlineMessageID, chat_instance=long, data=bytes, game_short_name=string, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/updateMessageID.md b/old_docs/API_docs_v62/constructors/updateMessageID.md
new file mode 100644
index 00000000..b78365f7
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/updateMessageID.md
@@ -0,0 +1,35 @@
+---
+title: updateMessageID
+description: updateMessageID attributes, type and example
+---
+## Constructor: updateMessageID
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|id|[int](../types/int.md) | Yes|
+
+
+
+### Type: [Update](../types/Update.md)
+
+
+### Example:
+
+```
+$updateMessageID = ['_' => 'updateMessageID', 'id' => int, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+updateMessageID={_='updateMessageID', id=int, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/updateNewChannelMessage.md b/old_docs/API_docs_v62/constructors/updateNewChannelMessage.md
new file mode 100644
index 00000000..4eef5bf5
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/updateNewChannelMessage.md
@@ -0,0 +1,37 @@
+---
+title: updateNewChannelMessage
+description: updateNewChannelMessage attributes, type and example
+---
+## Constructor: updateNewChannelMessage
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|message|[Message](../types/Message.md) | Yes|
+|pts|[int](../types/int.md) | Yes|
+|pts\_count|[int](../types/int.md) | Yes|
+
+
+
+### Type: [Update](../types/Update.md)
+
+
+### Example:
+
+```
+$updateNewChannelMessage = ['_' => 'updateNewChannelMessage', 'message' => Message, 'pts' => int, 'pts_count' => int, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+updateNewChannelMessage={_='updateNewChannelMessage', message=Message, pts=int, pts_count=int, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/updateNewEncryptedMessage.md b/old_docs/API_docs_v62/constructors/updateNewEncryptedMessage.md
new file mode 100644
index 00000000..d606b7b0
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/updateNewEncryptedMessage.md
@@ -0,0 +1,36 @@
+---
+title: updateNewEncryptedMessage
+description: updateNewEncryptedMessage attributes, type and example
+---
+## Constructor: updateNewEncryptedMessage
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|message|[EncryptedMessage](../types/EncryptedMessage.md) | Yes|
+|qts|[int](../types/int.md) | Yes|
+
+
+
+### Type: [Update](../types/Update.md)
+
+
+### Example:
+
+```
+$updateNewEncryptedMessage = ['_' => 'updateNewEncryptedMessage', 'message' => EncryptedMessage, 'qts' => int, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+updateNewEncryptedMessage={_='updateNewEncryptedMessage', message=EncryptedMessage, qts=int, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/updateNewMessage.md b/old_docs/API_docs_v62/constructors/updateNewMessage.md
new file mode 100644
index 00000000..600ca7e7
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/updateNewMessage.md
@@ -0,0 +1,37 @@
+---
+title: updateNewMessage
+description: updateNewMessage attributes, type and example
+---
+## Constructor: updateNewMessage
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|message|[Message](../types/Message.md) | Yes|
+|pts|[int](../types/int.md) | Yes|
+|pts\_count|[int](../types/int.md) | Yes|
+
+
+
+### Type: [Update](../types/Update.md)
+
+
+### Example:
+
+```
+$updateNewMessage = ['_' => 'updateNewMessage', 'message' => Message, 'pts' => int, 'pts_count' => int, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+updateNewMessage={_='updateNewMessage', message=Message, pts=int, pts_count=int, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/updateNewStickerSet.md b/old_docs/API_docs_v62/constructors/updateNewStickerSet.md
new file mode 100644
index 00000000..ccb4f17f
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/updateNewStickerSet.md
@@ -0,0 +1,35 @@
+---
+title: updateNewStickerSet
+description: updateNewStickerSet attributes, type and example
+---
+## Constructor: updateNewStickerSet
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|stickerset|[messages\_StickerSet](../types/messages_StickerSet.md) | Yes|
+
+
+
+### Type: [Update](../types/Update.md)
+
+
+### Example:
+
+```
+$updateNewStickerSet = ['_' => 'updateNewStickerSet', 'stickerset' => messages_StickerSet, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+updateNewStickerSet={_='updateNewStickerSet', stickerset=messages_StickerSet, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/updateNotifySettings.md b/old_docs/API_docs_v62/constructors/updateNotifySettings.md
new file mode 100644
index 00000000..3435275f
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/updateNotifySettings.md
@@ -0,0 +1,36 @@
+---
+title: updateNotifySettings
+description: updateNotifySettings attributes, type and example
+---
+## Constructor: updateNotifySettings
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|peer|[NotifyPeer](../types/NotifyPeer.md) | Yes|
+|notify\_settings|[PeerNotifySettings](../types/PeerNotifySettings.md) | Yes|
+
+
+
+### Type: [Update](../types/Update.md)
+
+
+### Example:
+
+```
+$updateNotifySettings = ['_' => 'updateNotifySettings', 'peer' => NotifyPeer, 'notify_settings' => PeerNotifySettings, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+updateNotifySettings={_='updateNotifySettings', peer=NotifyPeer, notify_settings=PeerNotifySettings, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/updatePhoneCall.md b/old_docs/API_docs_v62/constructors/updatePhoneCall.md
new file mode 100644
index 00000000..6bddbe82
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/updatePhoneCall.md
@@ -0,0 +1,35 @@
+---
+title: updatePhoneCall
+description: updatePhoneCall attributes, type and example
+---
+## Constructor: updatePhoneCall
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|phone\_call|[PhoneCall](../types/PhoneCall.md) | Yes|
+
+
+
+### Type: [Update](../types/Update.md)
+
+
+### Example:
+
+```
+$updatePhoneCall = ['_' => 'updatePhoneCall', 'phone_call' => PhoneCall, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+updatePhoneCall={_='updatePhoneCall', phone_call=PhoneCall, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/updatePinnedDialogs.md b/old_docs/API_docs_v62/constructors/updatePinnedDialogs.md
new file mode 100644
index 00000000..1a62c188
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/updatePinnedDialogs.md
@@ -0,0 +1,35 @@
+---
+title: updatePinnedDialogs
+description: updatePinnedDialogs attributes, type and example
+---
+## Constructor: updatePinnedDialogs
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|order|Array of [Peer](../types/Peer.md) | Optional|
+
+
+
+### Type: [Update](../types/Update.md)
+
+
+### Example:
+
+```
+$updatePinnedDialogs = ['_' => 'updatePinnedDialogs', 'order' => [Peer], ];
+```
+
+Or, if you're into Lua:
+
+
+```
+updatePinnedDialogs={_='updatePinnedDialogs', order={Peer}, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/updatePrivacy.md b/old_docs/API_docs_v62/constructors/updatePrivacy.md
new file mode 100644
index 00000000..9a0afd71
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/updatePrivacy.md
@@ -0,0 +1,36 @@
+---
+title: updatePrivacy
+description: updatePrivacy attributes, type and example
+---
+## Constructor: updatePrivacy
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|key|[PrivacyKey](../types/PrivacyKey.md) | Yes|
+|rules|Array of [PrivacyRule](../types/PrivacyRule.md) | Yes|
+
+
+
+### Type: [Update](../types/Update.md)
+
+
+### Example:
+
+```
+$updatePrivacy = ['_' => 'updatePrivacy', 'key' => PrivacyKey, 'rules' => [PrivacyRule], ];
+```
+
+Or, if you're into Lua:
+
+
+```
+updatePrivacy={_='updatePrivacy', key=PrivacyKey, rules={PrivacyRule}, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/updatePtsChanged.md b/old_docs/API_docs_v62/constructors/updatePtsChanged.md
new file mode 100644
index 00000000..d8103452
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/updatePtsChanged.md
@@ -0,0 +1,30 @@
+---
+title: updatePtsChanged
+description: updatePtsChanged attributes, type and example
+---
+## Constructor: updatePtsChanged
+[Back to constructors index](index.md)
+
+
+
+
+
+
+### Type: [Update](../types/Update.md)
+
+
+### Example:
+
+```
+$updatePtsChanged = ['_' => 'updatePtsChanged', ];
+```
+
+Or, if you're into Lua:
+
+
+```
+updatePtsChanged={_='updatePtsChanged', }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/updateReadChannelInbox.md b/old_docs/API_docs_v62/constructors/updateReadChannelInbox.md
new file mode 100644
index 00000000..08928ad8
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/updateReadChannelInbox.md
@@ -0,0 +1,36 @@
+---
+title: updateReadChannelInbox
+description: updateReadChannelInbox attributes, type and example
+---
+## Constructor: updateReadChannelInbox
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|channel\_id|[int](../types/int.md) | Yes|
+|max\_id|[int](../types/int.md) | Yes|
+
+
+
+### Type: [Update](../types/Update.md)
+
+
+### Example:
+
+```
+$updateReadChannelInbox = ['_' => 'updateReadChannelInbox', 'channel_id' => int, 'max_id' => int, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+updateReadChannelInbox={_='updateReadChannelInbox', channel_id=int, max_id=int, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/updateReadChannelOutbox.md b/old_docs/API_docs_v62/constructors/updateReadChannelOutbox.md
new file mode 100644
index 00000000..162db1ec
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/updateReadChannelOutbox.md
@@ -0,0 +1,36 @@
+---
+title: updateReadChannelOutbox
+description: updateReadChannelOutbox attributes, type and example
+---
+## Constructor: updateReadChannelOutbox
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|channel\_id|[int](../types/int.md) | Yes|
+|max\_id|[int](../types/int.md) | Yes|
+
+
+
+### Type: [Update](../types/Update.md)
+
+
+### Example:
+
+```
+$updateReadChannelOutbox = ['_' => 'updateReadChannelOutbox', 'channel_id' => int, 'max_id' => int, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+updateReadChannelOutbox={_='updateReadChannelOutbox', channel_id=int, max_id=int, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/updateReadFeaturedStickers.md b/old_docs/API_docs_v62/constructors/updateReadFeaturedStickers.md
new file mode 100644
index 00000000..2f548027
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/updateReadFeaturedStickers.md
@@ -0,0 +1,30 @@
+---
+title: updateReadFeaturedStickers
+description: updateReadFeaturedStickers attributes, type and example
+---
+## Constructor: updateReadFeaturedStickers
+[Back to constructors index](index.md)
+
+
+
+
+
+
+### Type: [Update](../types/Update.md)
+
+
+### Example:
+
+```
+$updateReadFeaturedStickers = ['_' => 'updateReadFeaturedStickers', ];
+```
+
+Or, if you're into Lua:
+
+
+```
+updateReadFeaturedStickers={_='updateReadFeaturedStickers', }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/updateReadHistoryInbox.md b/old_docs/API_docs_v62/constructors/updateReadHistoryInbox.md
new file mode 100644
index 00000000..a23eb55d
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/updateReadHistoryInbox.md
@@ -0,0 +1,38 @@
+---
+title: updateReadHistoryInbox
+description: updateReadHistoryInbox attributes, type and example
+---
+## Constructor: updateReadHistoryInbox
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|peer|[Peer](../types/Peer.md) | Yes|
+|max\_id|[int](../types/int.md) | Yes|
+|pts|[int](../types/int.md) | Yes|
+|pts\_count|[int](../types/int.md) | Yes|
+
+
+
+### Type: [Update](../types/Update.md)
+
+
+### Example:
+
+```
+$updateReadHistoryInbox = ['_' => 'updateReadHistoryInbox', 'peer' => Peer, 'max_id' => int, 'pts' => int, 'pts_count' => int, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+updateReadHistoryInbox={_='updateReadHistoryInbox', peer=Peer, max_id=int, pts=int, pts_count=int, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/updateReadHistoryOutbox.md b/old_docs/API_docs_v62/constructors/updateReadHistoryOutbox.md
new file mode 100644
index 00000000..a9450fd2
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/updateReadHistoryOutbox.md
@@ -0,0 +1,38 @@
+---
+title: updateReadHistoryOutbox
+description: updateReadHistoryOutbox attributes, type and example
+---
+## Constructor: updateReadHistoryOutbox
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|peer|[Peer](../types/Peer.md) | Yes|
+|max\_id|[int](../types/int.md) | Yes|
+|pts|[int](../types/int.md) | Yes|
+|pts\_count|[int](../types/int.md) | Yes|
+
+
+
+### Type: [Update](../types/Update.md)
+
+
+### Example:
+
+```
+$updateReadHistoryOutbox = ['_' => 'updateReadHistoryOutbox', 'peer' => Peer, 'max_id' => int, 'pts' => int, 'pts_count' => int, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+updateReadHistoryOutbox={_='updateReadHistoryOutbox', peer=Peer, max_id=int, pts=int, pts_count=int, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/updateReadMessagesContents.md b/old_docs/API_docs_v62/constructors/updateReadMessagesContents.md
new file mode 100644
index 00000000..ca77b9a8
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/updateReadMessagesContents.md
@@ -0,0 +1,37 @@
+---
+title: updateReadMessagesContents
+description: updateReadMessagesContents attributes, type and example
+---
+## Constructor: updateReadMessagesContents
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|messages|Array of [int](../types/int.md) | Yes|
+|pts|[int](../types/int.md) | Yes|
+|pts\_count|[int](../types/int.md) | Yes|
+
+
+
+### Type: [Update](../types/Update.md)
+
+
+### Example:
+
+```
+$updateReadMessagesContents = ['_' => 'updateReadMessagesContents', 'messages' => [int], 'pts' => int, 'pts_count' => int, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+updateReadMessagesContents={_='updateReadMessagesContents', messages={int}, pts=int, pts_count=int, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/updateRecentStickers.md b/old_docs/API_docs_v62/constructors/updateRecentStickers.md
new file mode 100644
index 00000000..b773f5bd
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/updateRecentStickers.md
@@ -0,0 +1,30 @@
+---
+title: updateRecentStickers
+description: updateRecentStickers attributes, type and example
+---
+## Constructor: updateRecentStickers
+[Back to constructors index](index.md)
+
+
+
+
+
+
+### Type: [Update](../types/Update.md)
+
+
+### Example:
+
+```
+$updateRecentStickers = ['_' => 'updateRecentStickers', ];
+```
+
+Or, if you're into Lua:
+
+
+```
+updateRecentStickers={_='updateRecentStickers', }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/updateSavedGifs.md b/old_docs/API_docs_v62/constructors/updateSavedGifs.md
new file mode 100644
index 00000000..a52b7838
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/updateSavedGifs.md
@@ -0,0 +1,30 @@
+---
+title: updateSavedGifs
+description: updateSavedGifs attributes, type and example
+---
+## Constructor: updateSavedGifs
+[Back to constructors index](index.md)
+
+
+
+
+
+
+### Type: [Update](../types/Update.md)
+
+
+### Example:
+
+```
+$updateSavedGifs = ['_' => 'updateSavedGifs', ];
+```
+
+Or, if you're into Lua:
+
+
+```
+updateSavedGifs={_='updateSavedGifs', }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/updateServiceNotification.md b/old_docs/API_docs_v62/constructors/updateServiceNotification.md
new file mode 100644
index 00000000..9e55804d
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/updateServiceNotification.md
@@ -0,0 +1,40 @@
+---
+title: updateServiceNotification
+description: updateServiceNotification attributes, type and example
+---
+## Constructor: updateServiceNotification
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|popup|[Bool](../types/Bool.md) | Optional|
+|inbox\_date|[int](../types/int.md) | Optional|
+|type|[string](../types/string.md) | Yes|
+|message|[string](../types/string.md) | Yes|
+|media|[MessageMedia](../types/MessageMedia.md) | Yes|
+|entities|Array of [MessageEntity](../types/MessageEntity.md) | Yes|
+
+
+
+### Type: [Update](../types/Update.md)
+
+
+### Example:
+
+```
+$updateServiceNotification = ['_' => 'updateServiceNotification', 'popup' => Bool, 'inbox_date' => int, 'type' => string, 'message' => string, 'media' => MessageMedia, 'entities' => [MessageEntity], ];
+```
+
+Or, if you're into Lua:
+
+
+```
+updateServiceNotification={_='updateServiceNotification', popup=Bool, inbox_date=int, type=string, message=string, media=MessageMedia, entities={MessageEntity}, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/updateShort.md b/old_docs/API_docs_v62/constructors/updateShort.md
new file mode 100644
index 00000000..aaf06a99
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/updateShort.md
@@ -0,0 +1,36 @@
+---
+title: updateShort
+description: updateShort attributes, type and example
+---
+## Constructor: updateShort
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|update|[Update](../types/Update.md) | Yes|
+|date|[int](../types/int.md) | Yes|
+
+
+
+### Type: [Updates](../types/Updates.md)
+
+
+### Example:
+
+```
+$updateShort = ['_' => 'updateShort', 'update' => Update, 'date' => int, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+updateShort={_='updateShort', update=Update, date=int, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/updateShortChatMessage.md b/old_docs/API_docs_v62/constructors/updateShortChatMessage.md
new file mode 100644
index 00000000..5bd6de08
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/updateShortChatMessage.md
@@ -0,0 +1,49 @@
+---
+title: updateShortChatMessage
+description: updateShortChatMessage attributes, type and example
+---
+## Constructor: updateShortChatMessage
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|out|[Bool](../types/Bool.md) | Optional|
+|mentioned|[Bool](../types/Bool.md) | Optional|
+|media\_unread|[Bool](../types/Bool.md) | Optional|
+|silent|[Bool](../types/Bool.md) | Optional|
+|id|[int](../types/int.md) | Yes|
+|from\_id|[int](../types/int.md) | Yes|
+|chat\_id|[int](../types/int.md) | Yes|
+|message|[string](../types/string.md) | Yes|
+|pts|[int](../types/int.md) | Yes|
+|pts\_count|[int](../types/int.md) | Yes|
+|date|[int](../types/int.md) | Yes|
+|fwd\_from|[MessageFwdHeader](../types/MessageFwdHeader.md) | Optional|
+|via\_bot\_id|[int](../types/int.md) | Optional|
+|reply\_to\_msg\_id|[int](../types/int.md) | Optional|
+|entities|Array of [MessageEntity](../types/MessageEntity.md) | Optional|
+
+
+
+### Type: [Updates](../types/Updates.md)
+
+
+### Example:
+
+```
+$updateShortChatMessage = ['_' => 'updateShortChatMessage', 'out' => Bool, 'mentioned' => Bool, 'media_unread' => Bool, 'silent' => Bool, 'id' => int, 'from_id' => int, 'chat_id' => int, 'message' => string, 'pts' => int, 'pts_count' => int, 'date' => int, 'fwd_from' => MessageFwdHeader, 'via_bot_id' => int, 'reply_to_msg_id' => int, 'entities' => [MessageEntity], ];
+```
+
+Or, if you're into Lua:
+
+
+```
+updateShortChatMessage={_='updateShortChatMessage', out=Bool, mentioned=Bool, media_unread=Bool, silent=Bool, id=int, from_id=int, chat_id=int, message=string, pts=int, pts_count=int, date=int, fwd_from=MessageFwdHeader, via_bot_id=int, reply_to_msg_id=int, entities={MessageEntity}, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/updateShortMessage.md b/old_docs/API_docs_v62/constructors/updateShortMessage.md
new file mode 100644
index 00000000..0c46fb50
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/updateShortMessage.md
@@ -0,0 +1,48 @@
+---
+title: updateShortMessage
+description: updateShortMessage attributes, type and example
+---
+## Constructor: updateShortMessage
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|out|[Bool](../types/Bool.md) | Optional|
+|mentioned|[Bool](../types/Bool.md) | Optional|
+|media\_unread|[Bool](../types/Bool.md) | Optional|
+|silent|[Bool](../types/Bool.md) | Optional|
+|id|[int](../types/int.md) | Yes|
+|user\_id|[int](../types/int.md) | Yes|
+|message|[string](../types/string.md) | Yes|
+|pts|[int](../types/int.md) | Yes|
+|pts\_count|[int](../types/int.md) | Yes|
+|date|[int](../types/int.md) | Yes|
+|fwd\_from|[MessageFwdHeader](../types/MessageFwdHeader.md) | Optional|
+|via\_bot\_id|[int](../types/int.md) | Optional|
+|reply\_to\_msg\_id|[int](../types/int.md) | Optional|
+|entities|Array of [MessageEntity](../types/MessageEntity.md) | Optional|
+
+
+
+### Type: [Updates](../types/Updates.md)
+
+
+### Example:
+
+```
+$updateShortMessage = ['_' => 'updateShortMessage', 'out' => Bool, 'mentioned' => Bool, 'media_unread' => Bool, 'silent' => Bool, 'id' => int, 'user_id' => int, 'message' => string, 'pts' => int, 'pts_count' => int, 'date' => int, 'fwd_from' => MessageFwdHeader, 'via_bot_id' => int, 'reply_to_msg_id' => int, 'entities' => [MessageEntity], ];
+```
+
+Or, if you're into Lua:
+
+
+```
+updateShortMessage={_='updateShortMessage', out=Bool, mentioned=Bool, media_unread=Bool, silent=Bool, id=int, user_id=int, message=string, pts=int, pts_count=int, date=int, fwd_from=MessageFwdHeader, via_bot_id=int, reply_to_msg_id=int, entities={MessageEntity}, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/updateShortSentMessage.md b/old_docs/API_docs_v62/constructors/updateShortSentMessage.md
new file mode 100644
index 00000000..2172b3a1
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/updateShortSentMessage.md
@@ -0,0 +1,41 @@
+---
+title: updateShortSentMessage
+description: updateShortSentMessage attributes, type and example
+---
+## Constructor: updateShortSentMessage
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|out|[Bool](../types/Bool.md) | Optional|
+|id|[int](../types/int.md) | Yes|
+|pts|[int](../types/int.md) | Yes|
+|pts\_count|[int](../types/int.md) | Yes|
+|date|[int](../types/int.md) | Yes|
+|media|[MessageMedia](../types/MessageMedia.md) | Optional|
+|entities|Array of [MessageEntity](../types/MessageEntity.md) | Optional|
+
+
+
+### Type: [Updates](../types/Updates.md)
+
+
+### Example:
+
+```
+$updateShortSentMessage = ['_' => 'updateShortSentMessage', 'out' => Bool, 'id' => int, 'pts' => int, 'pts_count' => int, 'date' => int, 'media' => MessageMedia, 'entities' => [MessageEntity], ];
+```
+
+Or, if you're into Lua:
+
+
+```
+updateShortSentMessage={_='updateShortSentMessage', out=Bool, id=int, pts=int, pts_count=int, date=int, media=MessageMedia, entities={MessageEntity}, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/updateStickerSets.md b/old_docs/API_docs_v62/constructors/updateStickerSets.md
new file mode 100644
index 00000000..0affa36f
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/updateStickerSets.md
@@ -0,0 +1,30 @@
+---
+title: updateStickerSets
+description: updateStickerSets attributes, type and example
+---
+## Constructor: updateStickerSets
+[Back to constructors index](index.md)
+
+
+
+
+
+
+### Type: [Update](../types/Update.md)
+
+
+### Example:
+
+```
+$updateStickerSets = ['_' => 'updateStickerSets', ];
+```
+
+Or, if you're into Lua:
+
+
+```
+updateStickerSets={_='updateStickerSets', }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/updateStickerSetsOrder.md b/old_docs/API_docs_v62/constructors/updateStickerSetsOrder.md
new file mode 100644
index 00000000..4b7ad6af
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/updateStickerSetsOrder.md
@@ -0,0 +1,36 @@
+---
+title: updateStickerSetsOrder
+description: updateStickerSetsOrder attributes, type and example
+---
+## Constructor: updateStickerSetsOrder
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|masks|[Bool](../types/Bool.md) | Optional|
+|order|Array of [long](../types/long.md) | Yes|
+
+
+
+### Type: [Update](../types/Update.md)
+
+
+### Example:
+
+```
+$updateStickerSetsOrder = ['_' => 'updateStickerSetsOrder', 'masks' => Bool, 'order' => [long], ];
+```
+
+Or, if you're into Lua:
+
+
+```
+updateStickerSetsOrder={_='updateStickerSetsOrder', masks=Bool, order={long}, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/updateUserBlocked.md b/old_docs/API_docs_v62/constructors/updateUserBlocked.md
new file mode 100644
index 00000000..552da77d
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/updateUserBlocked.md
@@ -0,0 +1,36 @@
+---
+title: updateUserBlocked
+description: updateUserBlocked attributes, type and example
+---
+## Constructor: updateUserBlocked
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|user\_id|[int](../types/int.md) | Yes|
+|blocked|[Bool](../types/Bool.md) | Yes|
+
+
+
+### Type: [Update](../types/Update.md)
+
+
+### Example:
+
+```
+$updateUserBlocked = ['_' => 'updateUserBlocked', 'user_id' => int, 'blocked' => Bool, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+updateUserBlocked={_='updateUserBlocked', user_id=int, blocked=Bool, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/updateUserName.md b/old_docs/API_docs_v62/constructors/updateUserName.md
new file mode 100644
index 00000000..e6c705a2
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/updateUserName.md
@@ -0,0 +1,38 @@
+---
+title: updateUserName
+description: updateUserName attributes, type and example
+---
+## Constructor: updateUserName
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|user\_id|[int](../types/int.md) | Yes|
+|first\_name|[string](../types/string.md) | Yes|
+|last\_name|[string](../types/string.md) | Yes|
+|username|[string](../types/string.md) | Yes|
+
+
+
+### Type: [Update](../types/Update.md)
+
+
+### Example:
+
+```
+$updateUserName = ['_' => 'updateUserName', 'user_id' => int, 'first_name' => string, 'last_name' => string, 'username' => string, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+updateUserName={_='updateUserName', user_id=int, first_name=string, last_name=string, username=string, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/updateUserPhone.md b/old_docs/API_docs_v62/constructors/updateUserPhone.md
new file mode 100644
index 00000000..3b3d0a98
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/updateUserPhone.md
@@ -0,0 +1,36 @@
+---
+title: updateUserPhone
+description: updateUserPhone attributes, type and example
+---
+## Constructor: updateUserPhone
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|user\_id|[int](../types/int.md) | Yes|
+|phone|[string](../types/string.md) | Yes|
+
+
+
+### Type: [Update](../types/Update.md)
+
+
+### Example:
+
+```
+$updateUserPhone = ['_' => 'updateUserPhone', 'user_id' => int, 'phone' => string, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+updateUserPhone={_='updateUserPhone', user_id=int, phone=string, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/updateUserPhoto.md b/old_docs/API_docs_v62/constructors/updateUserPhoto.md
new file mode 100644
index 00000000..4897149b
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/updateUserPhoto.md
@@ -0,0 +1,38 @@
+---
+title: updateUserPhoto
+description: updateUserPhoto attributes, type and example
+---
+## Constructor: updateUserPhoto
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|user\_id|[int](../types/int.md) | Yes|
+|date|[int](../types/int.md) | Yes|
+|photo|[UserProfilePhoto](../types/UserProfilePhoto.md) | Yes|
+|previous|[Bool](../types/Bool.md) | Yes|
+
+
+
+### Type: [Update](../types/Update.md)
+
+
+### Example:
+
+```
+$updateUserPhoto = ['_' => 'updateUserPhoto', 'user_id' => int, 'date' => int, 'photo' => UserProfilePhoto, 'previous' => Bool, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+updateUserPhoto={_='updateUserPhoto', user_id=int, date=int, photo=UserProfilePhoto, previous=Bool, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/updateUserStatus.md b/old_docs/API_docs_v62/constructors/updateUserStatus.md
new file mode 100644
index 00000000..d3d5a43f
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/updateUserStatus.md
@@ -0,0 +1,36 @@
+---
+title: updateUserStatus
+description: updateUserStatus attributes, type and example
+---
+## Constructor: updateUserStatus
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|user\_id|[int](../types/int.md) | Yes|
+|status|[UserStatus](../types/UserStatus.md) | Yes|
+
+
+
+### Type: [Update](../types/Update.md)
+
+
+### Example:
+
+```
+$updateUserStatus = ['_' => 'updateUserStatus', 'user_id' => int, 'status' => UserStatus, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+updateUserStatus={_='updateUserStatus', user_id=int, status=UserStatus, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/updateUserTyping.md b/old_docs/API_docs_v62/constructors/updateUserTyping.md
new file mode 100644
index 00000000..a9baaa8b
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/updateUserTyping.md
@@ -0,0 +1,36 @@
+---
+title: updateUserTyping
+description: updateUserTyping attributes, type and example
+---
+## Constructor: updateUserTyping
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|user\_id|[int](../types/int.md) | Yes|
+|action|[SendMessageAction](../types/SendMessageAction.md) | Yes|
+
+
+
+### Type: [Update](../types/Update.md)
+
+
+### Example:
+
+```
+$updateUserTyping = ['_' => 'updateUserTyping', 'user_id' => int, 'action' => SendMessageAction, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+updateUserTyping={_='updateUserTyping', user_id=int, action=SendMessageAction, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/updateWebPage.md b/old_docs/API_docs_v62/constructors/updateWebPage.md
new file mode 100644
index 00000000..8f02ea53
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/updateWebPage.md
@@ -0,0 +1,37 @@
+---
+title: updateWebPage
+description: updateWebPage attributes, type and example
+---
+## Constructor: updateWebPage
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|webpage|[WebPage](../types/WebPage.md) | Yes|
+|pts|[int](../types/int.md) | Yes|
+|pts\_count|[int](../types/int.md) | Yes|
+
+
+
+### Type: [Update](../types/Update.md)
+
+
+### Example:
+
+```
+$updateWebPage = ['_' => 'updateWebPage', 'webpage' => WebPage, 'pts' => int, 'pts_count' => int, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+updateWebPage={_='updateWebPage', webpage=WebPage, pts=int, pts_count=int, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/updates.md b/old_docs/API_docs_v62/constructors/updates.md
new file mode 100644
index 00000000..a4312cea
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/updates.md
@@ -0,0 +1,39 @@
+---
+title: updates
+description: updates attributes, type and example
+---
+## Constructor: updates
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|updates|Array of [Update](../types/Update.md) | Yes|
+|users|Array of [User](../types/User.md) | Yes|
+|chats|Array of [Chat](../types/Chat.md) | Yes|
+|date|[int](../types/int.md) | Yes|
+|seq|[int](../types/int.md) | Yes|
+
+
+
+### Type: [Updates](../types/Updates.md)
+
+
+### Example:
+
+```
+$updates = ['_' => 'updates', 'updates' => [Update], 'users' => [User], 'chats' => [Chat], 'date' => int, 'seq' => int, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+updates={_='updates', updates={Update}, users={User}, chats={Chat}, date=int, seq=int, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/updatesCombined.md b/old_docs/API_docs_v62/constructors/updatesCombined.md
new file mode 100644
index 00000000..9bf799b7
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/updatesCombined.md
@@ -0,0 +1,40 @@
+---
+title: updatesCombined
+description: updatesCombined attributes, type and example
+---
+## Constructor: updatesCombined
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|updates|Array of [Update](../types/Update.md) | Yes|
+|users|Array of [User](../types/User.md) | Yes|
+|chats|Array of [Chat](../types/Chat.md) | Yes|
+|date|[int](../types/int.md) | Yes|
+|seq\_start|[int](../types/int.md) | Yes|
+|seq|[int](../types/int.md) | Yes|
+
+
+
+### Type: [Updates](../types/Updates.md)
+
+
+### Example:
+
+```
+$updatesCombined = ['_' => 'updatesCombined', 'updates' => [Update], 'users' => [User], 'chats' => [Chat], 'date' => int, 'seq_start' => int, 'seq' => int, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+updatesCombined={_='updatesCombined', updates={Update}, users={User}, chats={Chat}, date=int, seq_start=int, seq=int, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/updatesTooLong.md b/old_docs/API_docs_v62/constructors/updatesTooLong.md
new file mode 100644
index 00000000..113bace4
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/updatesTooLong.md
@@ -0,0 +1,30 @@
+---
+title: updatesTooLong
+description: updatesTooLong attributes, type and example
+---
+## Constructor: updatesTooLong
+[Back to constructors index](index.md)
+
+
+
+
+
+
+### Type: [Updates](../types/Updates.md)
+
+
+### Example:
+
+```
+$updatesTooLong = ['_' => 'updatesTooLong', ];
+```
+
+Or, if you're into Lua:
+
+
+```
+updatesTooLong={_='updatesTooLong', }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/updates_channelDifference.md b/old_docs/API_docs_v62/constructors/updates_channelDifference.md
new file mode 100644
index 00000000..c64c69b6
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/updates_channelDifference.md
@@ -0,0 +1,41 @@
+---
+title: updates.channelDifference
+description: updates_channelDifference attributes, type and example
+---
+## Constructor: updates.channelDifference
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|final|[Bool](../types/Bool.md) | Optional|
+|pts|[int](../types/int.md) | Yes|
+|timeout|[int](../types/int.md) | Optional|
+|new\_messages|Array of [Message](../types/Message.md) | Yes|
+|other\_updates|Array of [Update](../types/Update.md) | Yes|
+|chats|Array of [Chat](../types/Chat.md) | Yes|
+|users|Array of [User](../types/User.md) | Yes|
+
+
+
+### Type: [updates\_ChannelDifference](../types/updates_ChannelDifference.md)
+
+
+### Example:
+
+```
+$updates_channelDifference = ['_' => 'updates.channelDifference', 'final' => Bool, 'pts' => int, 'timeout' => int, 'new_messages' => [Message], 'other_updates' => [Update], 'chats' => [Chat], 'users' => [User], ];
+```
+
+Or, if you're into Lua:
+
+
+```
+updates_channelDifference={_='updates.channelDifference', final=Bool, pts=int, timeout=int, new_messages={Message}, other_updates={Update}, chats={Chat}, users={User}, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/updates_channelDifferenceEmpty.md b/old_docs/API_docs_v62/constructors/updates_channelDifferenceEmpty.md
new file mode 100644
index 00000000..6e4d7bde
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/updates_channelDifferenceEmpty.md
@@ -0,0 +1,37 @@
+---
+title: updates.channelDifferenceEmpty
+description: updates_channelDifferenceEmpty attributes, type and example
+---
+## Constructor: updates.channelDifferenceEmpty
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|final|[Bool](../types/Bool.md) | Optional|
+|pts|[int](../types/int.md) | Yes|
+|timeout|[int](../types/int.md) | Optional|
+
+
+
+### Type: [updates\_ChannelDifference](../types/updates_ChannelDifference.md)
+
+
+### Example:
+
+```
+$updates_channelDifferenceEmpty = ['_' => 'updates.channelDifferenceEmpty', 'final' => Bool, 'pts' => int, 'timeout' => int, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+updates_channelDifferenceEmpty={_='updates.channelDifferenceEmpty', final=Bool, pts=int, timeout=int, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/updates_channelDifferenceTooLong.md b/old_docs/API_docs_v62/constructors/updates_channelDifferenceTooLong.md
new file mode 100644
index 00000000..0e295673
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/updates_channelDifferenceTooLong.md
@@ -0,0 +1,44 @@
+---
+title: updates.channelDifferenceTooLong
+description: updates_channelDifferenceTooLong attributes, type and example
+---
+## Constructor: updates.channelDifferenceTooLong
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|final|[Bool](../types/Bool.md) | Optional|
+|pts|[int](../types/int.md) | Yes|
+|timeout|[int](../types/int.md) | Optional|
+|top\_message|[int](../types/int.md) | Yes|
+|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|
+|messages|Array of [Message](../types/Message.md) | Yes|
+|chats|Array of [Chat](../types/Chat.md) | Yes|
+|users|Array of [User](../types/User.md) | Yes|
+
+
+
+### Type: [updates\_ChannelDifference](../types/updates_ChannelDifference.md)
+
+
+### Example:
+
+```
+$updates_channelDifferenceTooLong = ['_' => 'updates.channelDifferenceTooLong', 'final' => Bool, 'pts' => int, 'timeout' => int, 'top_message' => int, 'read_inbox_max_id' => int, 'read_outbox_max_id' => int, 'unread_count' => int, 'messages' => [Message], 'chats' => [Chat], 'users' => [User], ];
+```
+
+Or, if you're into Lua:
+
+
+```
+updates_channelDifferenceTooLong={_='updates.channelDifferenceTooLong', final=Bool, pts=int, timeout=int, top_message=int, read_inbox_max_id=int, read_outbox_max_id=int, unread_count=int, messages={Message}, chats={Chat}, users={User}, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/updates_difference.md b/old_docs/API_docs_v62/constructors/updates_difference.md
new file mode 100644
index 00000000..77353eac
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/updates_difference.md
@@ -0,0 +1,40 @@
+---
+title: updates.difference
+description: updates_difference attributes, type and example
+---
+## Constructor: updates.difference
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|new\_messages|Array of [Message](../types/Message.md) | Yes|
+|new\_encrypted\_messages|Array of [EncryptedMessage](../types/EncryptedMessage.md) | Yes|
+|other\_updates|Array of [Update](../types/Update.md) | Yes|
+|chats|Array of [Chat](../types/Chat.md) | Yes|
+|users|Array of [User](../types/User.md) | Yes|
+|state|[updates\_State](../types/updates_State.md) | Yes|
+
+
+
+### Type: [updates\_Difference](../types/updates_Difference.md)
+
+
+### Example:
+
+```
+$updates_difference = ['_' => 'updates.difference', 'new_messages' => [Message], 'new_encrypted_messages' => [EncryptedMessage], 'other_updates' => [Update], 'chats' => [Chat], 'users' => [User], 'state' => updates_State, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+updates_difference={_='updates.difference', new_messages={Message}, new_encrypted_messages={EncryptedMessage}, other_updates={Update}, chats={Chat}, users={User}, state=updates_State, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/updates_differenceEmpty.md b/old_docs/API_docs_v62/constructors/updates_differenceEmpty.md
new file mode 100644
index 00000000..b4d391ef
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/updates_differenceEmpty.md
@@ -0,0 +1,36 @@
+---
+title: updates.differenceEmpty
+description: updates_differenceEmpty attributes, type and example
+---
+## Constructor: updates.differenceEmpty
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|date|[int](../types/int.md) | Yes|
+|seq|[int](../types/int.md) | Yes|
+
+
+
+### Type: [updates\_Difference](../types/updates_Difference.md)
+
+
+### Example:
+
+```
+$updates_differenceEmpty = ['_' => 'updates.differenceEmpty', 'date' => int, 'seq' => int, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+updates_differenceEmpty={_='updates.differenceEmpty', date=int, seq=int, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/updates_differenceSlice.md b/old_docs/API_docs_v62/constructors/updates_differenceSlice.md
new file mode 100644
index 00000000..d2670c53
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/updates_differenceSlice.md
@@ -0,0 +1,40 @@
+---
+title: updates.differenceSlice
+description: updates_differenceSlice attributes, type and example
+---
+## Constructor: updates.differenceSlice
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|new\_messages|Array of [Message](../types/Message.md) | Yes|
+|new\_encrypted\_messages|Array of [EncryptedMessage](../types/EncryptedMessage.md) | Yes|
+|other\_updates|Array of [Update](../types/Update.md) | Yes|
+|chats|Array of [Chat](../types/Chat.md) | Yes|
+|users|Array of [User](../types/User.md) | Yes|
+|intermediate\_state|[updates\_State](../types/updates_State.md) | Yes|
+
+
+
+### Type: [updates\_Difference](../types/updates_Difference.md)
+
+
+### Example:
+
+```
+$updates_differenceSlice = ['_' => 'updates.differenceSlice', 'new_messages' => [Message], 'new_encrypted_messages' => [EncryptedMessage], 'other_updates' => [Update], 'chats' => [Chat], 'users' => [User], 'intermediate_state' => updates_State, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+updates_differenceSlice={_='updates.differenceSlice', new_messages={Message}, new_encrypted_messages={EncryptedMessage}, other_updates={Update}, chats={Chat}, users={User}, intermediate_state=updates_State, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/updates_differenceTooLong.md b/old_docs/API_docs_v62/constructors/updates_differenceTooLong.md
new file mode 100644
index 00000000..edef3aed
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/updates_differenceTooLong.md
@@ -0,0 +1,35 @@
+---
+title: updates.differenceTooLong
+description: updates_differenceTooLong attributes, type and example
+---
+## Constructor: updates.differenceTooLong
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|pts|[int](../types/int.md) | Yes|
+
+
+
+### Type: [updates\_Difference](../types/updates_Difference.md)
+
+
+### Example:
+
+```
+$updates_differenceTooLong = ['_' => 'updates.differenceTooLong', 'pts' => int, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+updates_differenceTooLong={_='updates.differenceTooLong', pts=int, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/updates_state.md b/old_docs/API_docs_v62/constructors/updates_state.md
new file mode 100644
index 00000000..0bb13a6a
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/updates_state.md
@@ -0,0 +1,39 @@
+---
+title: updates.state
+description: updates_state attributes, type and example
+---
+## Constructor: updates.state
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|pts|[int](../types/int.md) | Yes|
+|qts|[int](../types/int.md) | Yes|
+|date|[int](../types/int.md) | Yes|
+|seq|[int](../types/int.md) | Yes|
+|unread\_count|[int](../types/int.md) | Yes|
+
+
+
+### Type: [updates\_State](../types/updates_State.md)
+
+
+### Example:
+
+```
+$updates_state = ['_' => 'updates.state', 'pts' => int, 'qts' => int, 'date' => int, 'seq' => int, 'unread_count' => int, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+updates_state={_='updates.state', pts=int, qts=int, date=int, seq=int, unread_count=int, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/upload_file.md b/old_docs/API_docs_v62/constructors/upload_file.md
new file mode 100644
index 00000000..8e335fa7
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/upload_file.md
@@ -0,0 +1,37 @@
+---
+title: upload.file
+description: upload_file attributes, type and example
+---
+## Constructor: upload.file
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|type|[storage\_FileType](../types/storage_FileType.md) | Yes|
+|mtime|[int](../types/int.md) | Yes|
+|bytes|[bytes](../types/bytes.md) | Yes|
+
+
+
+### Type: [upload\_File](../types/upload_File.md)
+
+
+### Example:
+
+```
+$upload_file = ['_' => 'upload.file', 'type' => storage_FileType, 'mtime' => int, 'bytes' => bytes, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+upload_file={_='upload.file', type=storage_FileType, mtime=int, bytes=bytes, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/user.md b/old_docs/API_docs_v62/constructors/user.md
new file mode 100644
index 00000000..900236af
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/user.md
@@ -0,0 +1,56 @@
+---
+title: user
+description: user attributes, type and example
+---
+## Constructor: user
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|self|[Bool](../types/Bool.md) | Optional|
+|contact|[Bool](../types/Bool.md) | Optional|
+|mutual\_contact|[Bool](../types/Bool.md) | Optional|
+|deleted|[Bool](../types/Bool.md) | Optional|
+|bot|[Bool](../types/Bool.md) | Optional|
+|bot\_chat\_history|[Bool](../types/Bool.md) | Optional|
+|bot\_nochats|[Bool](../types/Bool.md) | Optional|
+|verified|[Bool](../types/Bool.md) | Optional|
+|restricted|[Bool](../types/Bool.md) | Optional|
+|min|[Bool](../types/Bool.md) | Optional|
+|bot\_inline\_geo|[Bool](../types/Bool.md) | Optional|
+|id|[int](../types/int.md) | Yes|
+|access\_hash|[long](../types/long.md) | Optional|
+|first\_name|[string](../types/string.md) | Optional|
+|last\_name|[string](../types/string.md) | Optional|
+|username|[string](../types/string.md) | Optional|
+|phone|[string](../types/string.md) | Optional|
+|photo|[UserProfilePhoto](../types/UserProfilePhoto.md) | Optional|
+|status|[UserStatus](../types/UserStatus.md) | Optional|
+|bot\_info\_version|[int](../types/int.md) | Optional|
+|restriction\_reason|[string](../types/string.md) | Optional|
+|bot\_inline\_placeholder|[string](../types/string.md) | Optional|
+
+
+
+### Type: [User](../types/User.md)
+
+
+### Example:
+
+```
+$user = ['_' => 'user', 'self' => Bool, 'contact' => Bool, 'mutual_contact' => Bool, 'deleted' => Bool, 'bot' => Bool, 'bot_chat_history' => Bool, 'bot_nochats' => Bool, 'verified' => Bool, 'restricted' => Bool, 'min' => Bool, 'bot_inline_geo' => Bool, 'id' => int, 'access_hash' => long, 'first_name' => string, 'last_name' => string, 'username' => string, 'phone' => string, 'photo' => UserProfilePhoto, 'status' => UserStatus, 'bot_info_version' => int, 'restriction_reason' => string, 'bot_inline_placeholder' => string, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+user={_='user', self=Bool, contact=Bool, mutual_contact=Bool, deleted=Bool, bot=Bool, bot_chat_history=Bool, bot_nochats=Bool, verified=Bool, restricted=Bool, min=Bool, bot_inline_geo=Bool, id=int, access_hash=long, first_name=string, last_name=string, username=string, phone=string, photo=UserProfilePhoto, status=UserStatus, bot_info_version=int, restriction_reason=string, bot_inline_placeholder=string, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/userEmpty.md b/old_docs/API_docs_v62/constructors/userEmpty.md
new file mode 100644
index 00000000..a8ba417f
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/userEmpty.md
@@ -0,0 +1,35 @@
+---
+title: userEmpty
+description: userEmpty attributes, type and example
+---
+## Constructor: userEmpty
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|id|[int](../types/int.md) | Yes|
+
+
+
+### Type: [User](../types/User.md)
+
+
+### Example:
+
+```
+$userEmpty = ['_' => 'userEmpty', 'id' => int, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+userEmpty={_='userEmpty', id=int, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/userFull.md b/old_docs/API_docs_v62/constructors/userFull.md
new file mode 100644
index 00000000..b1866137
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/userFull.md
@@ -0,0 +1,43 @@
+---
+title: userFull
+description: userFull attributes, type and example
+---
+## Constructor: userFull
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|blocked|[Bool](../types/Bool.md) | Optional|
+|phone\_calls\_available|[Bool](../types/Bool.md) | Optional|
+|user|[User](../types/User.md) | Yes|
+|about|[string](../types/string.md) | Optional|
+|link|[contacts\_Link](../types/contacts_Link.md) | Yes|
+|profile\_photo|[Photo](../types/Photo.md) | Optional|
+|notify\_settings|[PeerNotifySettings](../types/PeerNotifySettings.md) | Yes|
+|bot\_info|[BotInfo](../types/BotInfo.md) | Optional|
+|common\_chats\_count|[int](../types/int.md) | Yes|
+
+
+
+### Type: [UserFull](../types/UserFull.md)
+
+
+### Example:
+
+```
+$userFull = ['_' => 'userFull', 'blocked' => Bool, 'phone_calls_available' => Bool, 'user' => User, 'about' => string, 'link' => contacts_Link, 'profile_photo' => Photo, 'notify_settings' => PeerNotifySettings, 'bot_info' => BotInfo, 'common_chats_count' => int, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+userFull={_='userFull', blocked=Bool, phone_calls_available=Bool, user=User, about=string, link=contacts_Link, profile_photo=Photo, notify_settings=PeerNotifySettings, bot_info=BotInfo, common_chats_count=int, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/userProfilePhoto.md b/old_docs/API_docs_v62/constructors/userProfilePhoto.md
new file mode 100644
index 00000000..2b374c73
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/userProfilePhoto.md
@@ -0,0 +1,37 @@
+---
+title: userProfilePhoto
+description: userProfilePhoto attributes, type and example
+---
+## Constructor: userProfilePhoto
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|photo\_id|[long](../types/long.md) | Yes|
+|photo\_small|[FileLocation](../types/FileLocation.md) | Yes|
+|photo\_big|[FileLocation](../types/FileLocation.md) | Yes|
+
+
+
+### Type: [UserProfilePhoto](../types/UserProfilePhoto.md)
+
+
+### Example:
+
+```
+$userProfilePhoto = ['_' => 'userProfilePhoto', 'photo_id' => long, 'photo_small' => FileLocation, 'photo_big' => FileLocation, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+userProfilePhoto={_='userProfilePhoto', photo_id=long, photo_small=FileLocation, photo_big=FileLocation, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/userProfilePhotoEmpty.md b/old_docs/API_docs_v62/constructors/userProfilePhotoEmpty.md
new file mode 100644
index 00000000..c1278b4e
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/userProfilePhotoEmpty.md
@@ -0,0 +1,30 @@
+---
+title: userProfilePhotoEmpty
+description: userProfilePhotoEmpty attributes, type and example
+---
+## Constructor: userProfilePhotoEmpty
+[Back to constructors index](index.md)
+
+
+
+
+
+
+### Type: [UserProfilePhoto](../types/UserProfilePhoto.md)
+
+
+### Example:
+
+```
+$userProfilePhotoEmpty = ['_' => 'userProfilePhotoEmpty', ];
+```
+
+Or, if you're into Lua:
+
+
+```
+userProfilePhotoEmpty={_='userProfilePhotoEmpty', }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/userStatusEmpty.md b/old_docs/API_docs_v62/constructors/userStatusEmpty.md
new file mode 100644
index 00000000..76615987
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/userStatusEmpty.md
@@ -0,0 +1,30 @@
+---
+title: userStatusEmpty
+description: userStatusEmpty attributes, type and example
+---
+## Constructor: userStatusEmpty
+[Back to constructors index](index.md)
+
+
+
+
+
+
+### Type: [UserStatus](../types/UserStatus.md)
+
+
+### Example:
+
+```
+$userStatusEmpty = ['_' => 'userStatusEmpty', ];
+```
+
+Or, if you're into Lua:
+
+
+```
+userStatusEmpty={_='userStatusEmpty', }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/userStatusLastMonth.md b/old_docs/API_docs_v62/constructors/userStatusLastMonth.md
new file mode 100644
index 00000000..c0582bb6
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/userStatusLastMonth.md
@@ -0,0 +1,30 @@
+---
+title: userStatusLastMonth
+description: userStatusLastMonth attributes, type and example
+---
+## Constructor: userStatusLastMonth
+[Back to constructors index](index.md)
+
+
+
+
+
+
+### Type: [UserStatus](../types/UserStatus.md)
+
+
+### Example:
+
+```
+$userStatusLastMonth = ['_' => 'userStatusLastMonth', ];
+```
+
+Or, if you're into Lua:
+
+
+```
+userStatusLastMonth={_='userStatusLastMonth', }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/userStatusLastWeek.md b/old_docs/API_docs_v62/constructors/userStatusLastWeek.md
new file mode 100644
index 00000000..261f7b2a
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/userStatusLastWeek.md
@@ -0,0 +1,30 @@
+---
+title: userStatusLastWeek
+description: userStatusLastWeek attributes, type and example
+---
+## Constructor: userStatusLastWeek
+[Back to constructors index](index.md)
+
+
+
+
+
+
+### Type: [UserStatus](../types/UserStatus.md)
+
+
+### Example:
+
+```
+$userStatusLastWeek = ['_' => 'userStatusLastWeek', ];
+```
+
+Or, if you're into Lua:
+
+
+```
+userStatusLastWeek={_='userStatusLastWeek', }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/userStatusOffline.md b/old_docs/API_docs_v62/constructors/userStatusOffline.md
new file mode 100644
index 00000000..0ec70f35
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/userStatusOffline.md
@@ -0,0 +1,35 @@
+---
+title: userStatusOffline
+description: userStatusOffline attributes, type and example
+---
+## Constructor: userStatusOffline
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|was\_online|[int](../types/int.md) | Yes|
+
+
+
+### Type: [UserStatus](../types/UserStatus.md)
+
+
+### Example:
+
+```
+$userStatusOffline = ['_' => 'userStatusOffline', 'was_online' => int, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+userStatusOffline={_='userStatusOffline', was_online=int, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/userStatusOnline.md b/old_docs/API_docs_v62/constructors/userStatusOnline.md
new file mode 100644
index 00000000..b9991ad0
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/userStatusOnline.md
@@ -0,0 +1,35 @@
+---
+title: userStatusOnline
+description: userStatusOnline attributes, type and example
+---
+## Constructor: userStatusOnline
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|expires|[int](../types/int.md) | Yes|
+
+
+
+### Type: [UserStatus](../types/UserStatus.md)
+
+
+### Example:
+
+```
+$userStatusOnline = ['_' => 'userStatusOnline', 'expires' => int, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+userStatusOnline={_='userStatusOnline', expires=int, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/userStatusRecently.md b/old_docs/API_docs_v62/constructors/userStatusRecently.md
new file mode 100644
index 00000000..13b35280
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/userStatusRecently.md
@@ -0,0 +1,30 @@
+---
+title: userStatusRecently
+description: userStatusRecently attributes, type and example
+---
+## Constructor: userStatusRecently
+[Back to constructors index](index.md)
+
+
+
+
+
+
+### Type: [UserStatus](../types/UserStatus.md)
+
+
+### Example:
+
+```
+$userStatusRecently = ['_' => 'userStatusRecently', ];
+```
+
+Or, if you're into Lua:
+
+
+```
+userStatusRecently={_='userStatusRecently', }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/wallPaper.md b/old_docs/API_docs_v62/constructors/wallPaper.md
new file mode 100644
index 00000000..29479d7e
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/wallPaper.md
@@ -0,0 +1,38 @@
+---
+title: wallPaper
+description: wallPaper attributes, type and example
+---
+## Constructor: wallPaper
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|id|[int](../types/int.md) | Yes|
+|title|[string](../types/string.md) | Yes|
+|sizes|Array of [PhotoSize](../types/PhotoSize.md) | Yes|
+|color|[int](../types/int.md) | Yes|
+
+
+
+### Type: [WallPaper](../types/WallPaper.md)
+
+
+### Example:
+
+```
+$wallPaper = ['_' => 'wallPaper', 'id' => int, 'title' => string, 'sizes' => [PhotoSize], 'color' => int, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+wallPaper={_='wallPaper', id=int, title=string, sizes={PhotoSize}, color=int, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/wallPaperSolid.md b/old_docs/API_docs_v62/constructors/wallPaperSolid.md
new file mode 100644
index 00000000..432c01de
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/wallPaperSolid.md
@@ -0,0 +1,38 @@
+---
+title: wallPaperSolid
+description: wallPaperSolid attributes, type and example
+---
+## Constructor: wallPaperSolid
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|id|[int](../types/int.md) | Yes|
+|title|[string](../types/string.md) | Yes|
+|bg\_color|[int](../types/int.md) | Yes|
+|color|[int](../types/int.md) | Yes|
+
+
+
+### Type: [WallPaper](../types/WallPaper.md)
+
+
+### Example:
+
+```
+$wallPaperSolid = ['_' => 'wallPaperSolid', 'id' => int, 'title' => string, 'bg_color' => int, 'color' => int, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+wallPaperSolid={_='wallPaperSolid', id=int, title=string, bg_color=int, color=int, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/webPage.md b/old_docs/API_docs_v62/constructors/webPage.md
new file mode 100644
index 00000000..df6ef10c
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/webPage.md
@@ -0,0 +1,51 @@
+---
+title: webPage
+description: webPage attributes, type and example
+---
+## Constructor: webPage
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|id|[long](../types/long.md) | Yes|
+|url|[string](../types/string.md) | Yes|
+|display\_url|[string](../types/string.md) | Yes|
+|hash|[int](../types/int.md) | Yes|
+|type|[string](../types/string.md) | Optional|
+|site\_name|[string](../types/string.md) | Optional|
+|title|[string](../types/string.md) | Optional|
+|description|[string](../types/string.md) | Optional|
+|photo|[Photo](../types/Photo.md) | Optional|
+|embed\_url|[string](../types/string.md) | Optional|
+|embed\_type|[string](../types/string.md) | Optional|
+|embed\_width|[int](../types/int.md) | Optional|
+|embed\_height|[int](../types/int.md) | Optional|
+|duration|[int](../types/int.md) | Optional|
+|author|[string](../types/string.md) | Optional|
+|document|[Document](../types/Document.md) | Optional|
+|cached\_page|[Page](../types/Page.md) | Optional|
+
+
+
+### Type: [WebPage](../types/WebPage.md)
+
+
+### Example:
+
+```
+$webPage = ['_' => 'webPage', 'id' => long, 'url' => string, 'display_url' => string, 'hash' => int, 'type' => string, 'site_name' => string, 'title' => string, 'description' => string, 'photo' => Photo, 'embed_url' => string, 'embed_type' => string, 'embed_width' => int, 'embed_height' => int, 'duration' => int, 'author' => string, 'document' => Document, 'cached_page' => Page, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+webPage={_='webPage', id=long, url=string, display_url=string, hash=int, type=string, site_name=string, title=string, description=string, photo=Photo, embed_url=string, embed_type=string, embed_width=int, embed_height=int, duration=int, author=string, document=Document, cached_page=Page, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/webPageEmpty.md b/old_docs/API_docs_v62/constructors/webPageEmpty.md
new file mode 100644
index 00000000..1fbe1711
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/webPageEmpty.md
@@ -0,0 +1,35 @@
+---
+title: webPageEmpty
+description: webPageEmpty attributes, type and example
+---
+## Constructor: webPageEmpty
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|id|[long](../types/long.md) | Yes|
+
+
+
+### Type: [WebPage](../types/WebPage.md)
+
+
+### Example:
+
+```
+$webPageEmpty = ['_' => 'webPageEmpty', 'id' => long, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+webPageEmpty={_='webPageEmpty', id=long, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/webPageNotModified.md b/old_docs/API_docs_v62/constructors/webPageNotModified.md
new file mode 100644
index 00000000..baacbb3f
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/webPageNotModified.md
@@ -0,0 +1,30 @@
+---
+title: webPageNotModified
+description: webPageNotModified attributes, type and example
+---
+## Constructor: webPageNotModified
+[Back to constructors index](index.md)
+
+
+
+
+
+
+### Type: [WebPage](../types/WebPage.md)
+
+
+### Example:
+
+```
+$webPageNotModified = ['_' => 'webPageNotModified', ];
+```
+
+Or, if you're into Lua:
+
+
+```
+webPageNotModified={_='webPageNotModified', }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/constructors/webPagePending.md b/old_docs/API_docs_v62/constructors/webPagePending.md
new file mode 100644
index 00000000..3485bc38
--- /dev/null
+++ b/old_docs/API_docs_v62/constructors/webPagePending.md
@@ -0,0 +1,36 @@
+---
+title: webPagePending
+description: webPagePending attributes, type and example
+---
+## Constructor: webPagePending
+[Back to constructors index](index.md)
+
+
+
+### Attributes:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|id|[long](../types/long.md) | Yes|
+|date|[int](../types/int.md) | Yes|
+
+
+
+### Type: [WebPage](../types/WebPage.md)
+
+
+### Example:
+
+```
+$webPagePending = ['_' => 'webPagePending', 'id' => long, 'date' => int, ];
+```
+
+Or, if you're into Lua:
+
+
+```
+webPagePending={_='webPagePending', id=long, date=int, }
+
+```
+
+
diff --git a/old_docs/API_docs_v62/methods/README.md b/old_docs/API_docs_v62/methods/README.md
new file mode 100644
index 00000000..e2eda9f7
--- /dev/null
+++ b/old_docs/API_docs_v62/methods/README.md
@@ -0,0 +1,422 @@
+---
+title: Methods
+description: List of methods
+---
+# Methods
+[Back to API documentation index](..)
+
+
+
+***
+
$MadelineProto->[account->changePhone](account_changePhone.md)(\['phone_number' => [string](../types/string.md), 'phone_code_hash' => [string](../types/string.md), 'phone_code' => [string](../types/string.md), \]) === [$User](../types/User.md)
+
+$MadelineProto->[account->checkUsername](account_checkUsername.md)(\['username' => [string](../types/string.md), \]) === [$Bool](../types/Bool.md)
+
+$MadelineProto->[account->confirmPhone](account_confirmPhone.md)(\['phone_code_hash' => [string](../types/string.md), 'phone_code' => [string](../types/string.md), \]) === [$Bool](../types/Bool.md)
+
+$MadelineProto->[account->deleteAccount](account_deleteAccount.md)(\['reason' => [string](../types/string.md), \]) === [$Bool](../types/Bool.md)
+
+$MadelineProto->[account->getAccountTTL](account_getAccountTTL.md)(\[\]) === [$AccountDaysTTL](../types/AccountDaysTTL.md)
+
+$MadelineProto->[account->getAuthorizations](account_getAuthorizations.md)(\[\]) === [$account\_Authorizations](../types/account_Authorizations.md)
+
+$MadelineProto->[account->getNotifySettings](account_getNotifySettings.md)(\['peer' => [InputNotifyPeer](../types/InputNotifyPeer.md), \]) === [$PeerNotifySettings](../types/PeerNotifySettings.md)
+
+$MadelineProto->[account->getPassword](account_getPassword.md)(\[\]) === [$account\_Password](../types/account_Password.md)
+
+$MadelineProto->[account->getPasswordSettings](account_getPasswordSettings.md)(\['current_password_hash' => [bytes](../types/bytes.md), \]) === [$account\_PasswordSettings](../types/account_PasswordSettings.md)
+
+$MadelineProto->[account->getPrivacy](account_getPrivacy.md)(\['key' => [InputPrivacyKey](../types/InputPrivacyKey.md), \]) === [$account\_PrivacyRules](../types/account_PrivacyRules.md)
+
+$MadelineProto->[account->getWallPapers](account_getWallPapers.md)(\[\]) === [$Vector\_of\_WallPaper](../types/WallPaper.md)
+
+$MadelineProto->[account->registerDevice](account_registerDevice.md)(\['token_type' => [int](../types/int.md), 'token' => [string](../types/string.md), \]) === [$Bool](../types/Bool.md)
+
+$MadelineProto->[account->reportPeer](account_reportPeer.md)(\['peer' => [InputPeer](../types/InputPeer.md), 'reason' => [ReportReason](../types/ReportReason.md), \]) === [$Bool](../types/Bool.md)
+
+$MadelineProto->[account->resetAuthorization](account_resetAuthorization.md)(\['hash' => [long](../types/long.md), \]) === [$Bool](../types/Bool.md)
+
+$MadelineProto->[account->resetNotifySettings](account_resetNotifySettings.md)(\[\]) === [$Bool](../types/Bool.md)
+
+$MadelineProto->[account->sendChangePhoneCode](account_sendChangePhoneCode.md)(\['allow_flashcall' => [Bool](../types/Bool.md), 'phone_number' => [string](../types/string.md), 'current_number' => [Bool](../types/Bool.md), \]) === [$auth\_SentCode](../types/auth_SentCode.md)
+
+$MadelineProto->[account->sendConfirmPhoneCode](account_sendConfirmPhoneCode.md)(\['allow_flashcall' => [Bool](../types/Bool.md), 'hash' => [string](../types/string.md), 'current_number' => [Bool](../types/Bool.md), \]) === [$auth\_SentCode](../types/auth_SentCode.md)
+
+$MadelineProto->[account->setAccountTTL](account_setAccountTTL.md)(\['ttl' => [AccountDaysTTL](../types/AccountDaysTTL.md), \]) === [$Bool](../types/Bool.md)
+
+$MadelineProto->[account->setPrivacy](account_setPrivacy.md)(\['key' => [InputPrivacyKey](../types/InputPrivacyKey.md), 'rules' => \[[InputPrivacyRule](../types/InputPrivacyRule.md)\], \]) === [$account\_PrivacyRules](../types/account_PrivacyRules.md)
+
+$MadelineProto->[account->unregisterDevice](account_unregisterDevice.md)(\['token_type' => [int](../types/int.md), 'token' => [string](../types/string.md), \]) === [$Bool](../types/Bool.md)
+
+$MadelineProto->[account->updateDeviceLocked](account_updateDeviceLocked.md)(\['period' => [int](../types/int.md), \]) === [$Bool](../types/Bool.md)
+
+$MadelineProto->[account->updateNotifySettings](account_updateNotifySettings.md)(\['peer' => [InputNotifyPeer](../types/InputNotifyPeer.md), 'settings' => [InputPeerNotifySettings](../types/InputPeerNotifySettings.md), \]) === [$Bool](../types/Bool.md)
+
+$MadelineProto->[account->updatePasswordSettings](account_updatePasswordSettings.md)(\['current_password_hash' => [bytes](../types/bytes.md), 'new_settings' => [account\_PasswordInputSettings](../types/account_PasswordInputSettings.md), \]) === [$Bool](../types/Bool.md)
+
+$MadelineProto->[account->updateProfile](account_updateProfile.md)(\['first_name' => [string](../types/string.md), 'last_name' => [string](../types/string.md), 'about' => [string](../types/string.md), \]) === [$User](../types/User.md)
+
+$MadelineProto->[account->updateStatus](account_updateStatus.md)(\['offline' => [Bool](../types/Bool.md), \]) === [$Bool](../types/Bool.md)
+
+$MadelineProto->[account->updateUsername](account_updateUsername.md)(\['username' => [string](../types/string.md), \]) === [$User](../types/User.md)
+
+***
+
$MadelineProto->[auth->bindTempAuthKey](auth_bindTempAuthKey.md)(\['perm_auth_key_id' => [long](../types/long.md), 'nonce' => [long](../types/long.md), 'expires_at' => [int](../types/int.md), 'encrypted_message' => [bytes](../types/bytes.md), \]) === [$Bool](../types/Bool.md)
+
+$MadelineProto->[auth->cancelCode](auth_cancelCode.md)(\['phone_number' => [string](../types/string.md), 'phone_code_hash' => [string](../types/string.md), \]) === [$Bool](../types/Bool.md)
+
+$MadelineProto->[auth->checkPassword](auth_checkPassword.md)(\['password_hash' => [bytes](../types/bytes.md), \]) === [$auth\_Authorization](../types/auth_Authorization.md)
+
+$MadelineProto->[auth->checkPhone](auth_checkPhone.md)(\['phone_number' => [string](../types/string.md), \]) === [$auth\_CheckedPhone](../types/auth_CheckedPhone.md)
+
+$MadelineProto->[auth->dropTempAuthKeys](auth_dropTempAuthKeys.md)(\['except_auth_keys' => \[[long](../types/long.md)\], \]) === [$Bool](../types/Bool.md)
+
+$MadelineProto->[auth->exportAuthorization](auth_exportAuthorization.md)(\['dc_id' => [int](../types/int.md), \]) === [$auth\_ExportedAuthorization](../types/auth_ExportedAuthorization.md)
+
+$MadelineProto->[auth->importAuthorization](auth_importAuthorization.md)(\['id' => [int](../types/int.md), 'bytes' => [bytes](../types/bytes.md), \]) === [$auth\_Authorization](../types/auth_Authorization.md)
+
+$MadelineProto->[auth->importBotAuthorization](auth_importBotAuthorization.md)(\['api_id' => [int](../types/int.md), 'api_hash' => [string](../types/string.md), 'bot_auth_token' => [string](../types/string.md), \]) === [$auth\_Authorization](../types/auth_Authorization.md)
+
+$MadelineProto->[auth->logOut](auth_logOut.md)(\[\]) === [$Bool](../types/Bool.md)
+
+$MadelineProto->[auth->recoverPassword](auth_recoverPassword.md)(\['code' => [string](../types/string.md), \]) === [$auth\_Authorization](../types/auth_Authorization.md)
+
+$MadelineProto->[auth->requestPasswordRecovery](auth_requestPasswordRecovery.md)(\[\]) === [$auth\_PasswordRecovery](../types/auth_PasswordRecovery.md)
+
+$MadelineProto->[auth->resendCode](auth_resendCode.md)(\['phone_number' => [string](../types/string.md), 'phone_code_hash' => [string](../types/string.md), \]) === [$auth\_SentCode](../types/auth_SentCode.md)
+
+$MadelineProto->[auth->resetAuthorizations](auth_resetAuthorizations.md)(\[\]) === [$Bool](../types/Bool.md)
+
+$MadelineProto->[auth->sendCode](auth_sendCode.md)(\['allow_flashcall' => [Bool](../types/Bool.md), 'phone_number' => [string](../types/string.md), 'current_number' => [Bool](../types/Bool.md), 'api_id' => [int](../types/int.md), 'api_hash' => [string](../types/string.md), \]) === [$auth\_SentCode](../types/auth_SentCode.md)
+
+$MadelineProto->[auth->sendInvites](auth_sendInvites.md)(\['phone_numbers' => \[[string](../types/string.md)\], 'message' => [string](../types/string.md), \]) === [$Bool](../types/Bool.md)
+
+$MadelineProto->[auth->signIn](auth_signIn.md)(\['phone_number' => [string](../types/string.md), 'phone_code_hash' => [string](../types/string.md), 'phone_code' => [string](../types/string.md), \]) === [$auth\_Authorization](../types/auth_Authorization.md)
+
+$MadelineProto->[auth->signUp](auth_signUp.md)(\['phone_number' => [string](../types/string.md), 'phone_code_hash' => [string](../types/string.md), 'phone_code' => [string](../types/string.md), 'first_name' => [string](../types/string.md), 'last_name' => [string](../types/string.md), \]) === [$auth\_Authorization](../types/auth_Authorization.md)
+
+***
+
$MadelineProto->[channels->checkUsername](channels_checkUsername.md)(\['channel' => [InputChannel](../types/InputChannel.md), 'username' => [string](../types/string.md), \]) === [$Bool](../types/Bool.md)
+
+$MadelineProto->[channels->createChannel](channels_createChannel.md)(\['broadcast' => [Bool](../types/Bool.md), 'megagroup' => [Bool](../types/Bool.md), 'title' => [string](../types/string.md), 'about' => [string](../types/string.md), \]) === [$Updates](../types/Updates.md)
+
+$MadelineProto->[channels->deleteChannel](channels_deleteChannel.md)(\['channel' => [InputChannel](../types/InputChannel.md), \]) === [$Updates](../types/Updates.md)
+
+$MadelineProto->[channels->deleteMessages](channels_deleteMessages.md)(\['channel' => [InputChannel](../types/InputChannel.md), 'id' => \[[int](../types/int.md)\], \]) === [$messages\_AffectedMessages](../types/messages_AffectedMessages.md)
+
+$MadelineProto->[channels->deleteUserHistory](channels_deleteUserHistory.md)(\['channel' => [InputChannel](../types/InputChannel.md), 'user_id' => [InputUser](../types/InputUser.md), \]) === [$messages\_AffectedHistory](../types/messages_AffectedHistory.md)
+
+$MadelineProto->[channels->editAbout](channels_editAbout.md)(\['channel' => [InputChannel](../types/InputChannel.md), 'about' => [string](../types/string.md), \]) === [$Bool](../types/Bool.md)
+
+$MadelineProto->[channels->editAdmin](channels_editAdmin.md)(\['channel' => [InputChannel](../types/InputChannel.md), 'user_id' => [InputUser](../types/InputUser.md), 'role' => [ChannelParticipantRole](../types/ChannelParticipantRole.md), \]) === [$Updates](../types/Updates.md)
+
+$MadelineProto->[channels->editPhoto](channels_editPhoto.md)(\['channel' => [InputChannel](../types/InputChannel.md), 'photo' => [InputChatPhoto](../types/InputChatPhoto.md), \]) === [$Updates](../types/Updates.md)
+
+$MadelineProto->[channels->editTitle](channels_editTitle.md)(\['channel' => [InputChannel](../types/InputChannel.md), 'title' => [string](../types/string.md), \]) === [$Updates](../types/Updates.md)
+
+$MadelineProto->[channels->exportInvite](channels_exportInvite.md)(\['channel' => [InputChannel](../types/InputChannel.md), \]) === [$ExportedChatInvite](../types/ExportedChatInvite.md)
+
+$MadelineProto->[channels->exportMessageLink](channels_exportMessageLink.md)(\['channel' => [InputChannel](../types/InputChannel.md), 'id' => [int](../types/int.md), \]) === [$ExportedMessageLink](../types/ExportedMessageLink.md)
+
+$MadelineProto->[channels->getAdminedPublicChannels](channels_getAdminedPublicChannels.md)(\[\]) === [$messages\_Chats](../types/messages_Chats.md)
+
+$MadelineProto->[channels->getChannels](channels_getChannels.md)(\['id' => \[[InputChannel](../types/InputChannel.md)\], \]) === [$messages\_Chats](../types/messages_Chats.md)
+
+$MadelineProto->[channels->getFullChannel](channels_getFullChannel.md)(\['channel' => [InputChannel](../types/InputChannel.md), \]) === [$messages\_ChatFull](../types/messages_ChatFull.md)
+
+$MadelineProto->[channels->getMessages](channels_getMessages.md)(\['channel' => [InputChannel](../types/InputChannel.md), 'id' => \[[int](../types/int.md)\], \]) === [$messages\_Messages](../types/messages_Messages.md)
+
+$MadelineProto->[channels->getParticipant](channels_getParticipant.md)(\['channel' => [InputChannel](../types/InputChannel.md), 'user_id' => [InputUser](../types/InputUser.md), \]) === [$channels\_ChannelParticipant](../types/channels_ChannelParticipant.md)
+
+$MadelineProto->[channels->getParticipants](channels_getParticipants.md)(\['channel' => [InputChannel](../types/InputChannel.md), 'filter' => [ChannelParticipantsFilter](../types/ChannelParticipantsFilter.md), 'offset' => [int](../types/int.md), 'limit' => [int](../types/int.md), \]) === [$channels\_ChannelParticipants](../types/channels_ChannelParticipants.md)
+
+$MadelineProto->[channels->inviteToChannel](channels_inviteToChannel.md)(\['channel' => [InputChannel](../types/InputChannel.md), 'users' => \[[InputUser](../types/InputUser.md)\], \]) === [$Updates](../types/Updates.md)
+
+$MadelineProto->[channels->joinChannel](channels_joinChannel.md)(\['channel' => [InputChannel](../types/InputChannel.md), \]) === [$Updates](../types/Updates.md)
+
+$MadelineProto->[channels->kickFromChannel](channels_kickFromChannel.md)(\['channel' => [InputChannel](../types/InputChannel.md), 'user_id' => [InputUser](../types/InputUser.md), 'kicked' => [Bool](../types/Bool.md), \]) === [$Updates](../types/Updates.md)
+
+$MadelineProto->[channels->leaveChannel](channels_leaveChannel.md)(\['channel' => [InputChannel](../types/InputChannel.md), \]) === [$Updates](../types/Updates.md)
+
+$MadelineProto->[channels->readHistory](channels_readHistory.md)(\['channel' => [InputChannel](../types/InputChannel.md), 'max_id' => [int](../types/int.md), \]) === [$Bool](../types/Bool.md)
+
+$MadelineProto->[channels->reportSpam](channels_reportSpam.md)(\['channel' => [InputChannel](../types/InputChannel.md), 'user_id' => [InputUser](../types/InputUser.md), 'id' => \[[int](../types/int.md)\], \]) === [$Bool](../types/Bool.md)
+
+$MadelineProto->[channels->toggleInvites](channels_toggleInvites.md)(\['channel' => [InputChannel](../types/InputChannel.md), 'enabled' => [Bool](../types/Bool.md), \]) === [$Updates](../types/Updates.md)
+
+$MadelineProto->[channels->toggleSignatures](channels_toggleSignatures.md)(\['channel' => [InputChannel](../types/InputChannel.md), 'enabled' => [Bool](../types/Bool.md), \]) === [$Updates](../types/Updates.md)
+
+$MadelineProto->[channels->updatePinnedMessage](channels_updatePinnedMessage.md)(\['silent' => [Bool](../types/Bool.md), 'channel' => [InputChannel](../types/InputChannel.md), 'id' => [int](../types/int.md), \]) === [$Updates](../types/Updates.md)
+
+$MadelineProto->[channels->updateUsername](channels_updateUsername.md)(\['channel' => [InputChannel](../types/InputChannel.md), 'username' => [string](../types/string.md), \]) === [$Bool](../types/Bool.md)
+
+***
+
$MadelineProto->[contacts->block](contacts_block.md)(\['id' => [InputUser](../types/InputUser.md), \]) === [$Bool](../types/Bool.md)
+
+$MadelineProto->[contacts->deleteContact](contacts_deleteContact.md)(\['id' => [InputUser](../types/InputUser.md), \]) === [$contacts\_Link](../types/contacts_Link.md)
+
+$MadelineProto->[contacts->deleteContacts](contacts_deleteContacts.md)(\['id' => \[[InputUser](../types/InputUser.md)\], \]) === [$Bool](../types/Bool.md)
+
+$MadelineProto->[contacts->exportCard](contacts_exportCard.md)(\[\]) === [$Vector\_of\_int](../types/int.md)
+
+$MadelineProto->[contacts->getBlocked](contacts_getBlocked.md)(\['offset' => [int](../types/int.md), 'limit' => [int](../types/int.md), \]) === [$contacts\_Blocked](../types/contacts_Blocked.md)
+
+$MadelineProto->[contacts->getContacts](contacts_getContacts.md)(\['hash' => [string](../types/string.md), \]) === [$contacts\_Contacts](../types/contacts_Contacts.md)
+
+$MadelineProto->[contacts->getStatuses](contacts_getStatuses.md)(\[\]) === [$Vector\_of\_ContactStatus](../types/ContactStatus.md)
+
+$MadelineProto->[contacts->getTopPeers](contacts_getTopPeers.md)(\['correspondents' => [Bool](../types/Bool.md), 'bots_pm' => [Bool](../types/Bool.md), 'bots_inline' => [Bool](../types/Bool.md), 'groups' => [Bool](../types/Bool.md), 'channels' => [Bool](../types/Bool.md), 'offset' => [int](../types/int.md), 'limit' => [int](../types/int.md), 'hash' => [int](../types/int.md), \]) === [$contacts\_TopPeers](../types/contacts_TopPeers.md)
+
+$MadelineProto->[contacts->importCard](contacts_importCard.md)(\['export_card' => \[[int](../types/int.md)\], \]) === [$User](../types/User.md)
+
+$MadelineProto->[contacts->importContacts](contacts_importContacts.md)(\['contacts' => \[[InputContact](../types/InputContact.md)\], 'replace' => [Bool](../types/Bool.md), \]) === [$contacts\_ImportedContacts](../types/contacts_ImportedContacts.md)
+
+$MadelineProto->[contacts->resetTopPeerRating](contacts_resetTopPeerRating.md)(\['category' => [TopPeerCategory](../types/TopPeerCategory.md), 'peer' => [InputPeer](../types/InputPeer.md), \]) === [$Bool](../types/Bool.md)
+
+$MadelineProto->[contacts->resolveUsername](contacts_resolveUsername.md)(\['username' => [string](../types/string.md), \]) === [$contacts\_ResolvedPeer](../types/contacts_ResolvedPeer.md)
+
+$MadelineProto->[contacts->search](contacts_search.md)(\['q' => [string](../types/string.md), 'limit' => [int](../types/int.md), \]) === [$contacts\_Found](../types/contacts_Found.md)
+
+$MadelineProto->[contacts->unblock](contacts_unblock.md)(\['id' => [InputUser](../types/InputUser.md), \]) === [$Bool](../types/Bool.md)
+
+***
+
$MadelineProto->[destroy_auth_key](destroy_auth_key.md)(\[\]) === [$DestroyAuthKeyRes](../types/DestroyAuthKeyRes.md)
+
+***
+
$MadelineProto->[help->getAppChangelog](help_getAppChangelog.md)(\[\]) === [$help\_AppChangelog](../types/help_AppChangelog.md)
+
+$MadelineProto->[help->getAppUpdate](help_getAppUpdate.md)(\[\]) === [$help\_AppUpdate](../types/help_AppUpdate.md)
+
+$MadelineProto->[help->getConfig](help_getConfig.md)(\[\]) === [$Config](../types/Config.md)
+
+$MadelineProto->[help->getInviteText](help_getInviteText.md)(\[\]) === [$help\_InviteText](../types/help_InviteText.md)
+
+$MadelineProto->[help->getNearestDc](help_getNearestDc.md)(\[\]) === [$NearestDc](../types/NearestDc.md)
+
+$MadelineProto->[help->getSupport](help_getSupport.md)(\[\]) === [$help\_Support](../types/help_Support.md)
+
+$MadelineProto->[help->getTermsOfService](help_getTermsOfService.md)(\[\]) === [$help\_TermsOfService](../types/help_TermsOfService.md)
+
+$MadelineProto->[help->saveAppLog](help_saveAppLog.md)(\['events' => \[[InputAppEvent](../types/InputAppEvent.md)\], \]) === [$Bool](../types/Bool.md)
+
+$MadelineProto->[help->setBotUpdatesStatus](help_setBotUpdatesStatus.md)(\['pending_updates_count' => [int](../types/int.md), 'message' => [string](../types/string.md), \]) === [$Bool](../types/Bool.md)
+
+***
+
$MadelineProto->[initConnection](initConnection.md)(\['api_id' => [int](../types/int.md), 'device_model' => [string](../types/string.md), 'system_version' => [string](../types/string.md), 'app_version' => [string](../types/string.md), 'lang_code' => [string](../types/string.md), 'query' => [!X](../types/!X.md), \]) === [$X](../types/X.md)
+
+***
+
$MadelineProto->[invokeAfterMsg](invokeAfterMsg.md)(\['msg_id' => [long](../types/long.md), 'query' => [!X](../types/!X.md), \]) === [$X](../types/X.md)
+
+***
+
$MadelineProto->[invokeAfterMsgs](invokeAfterMsgs.md)(\['msg_ids' => \[[long](../types/long.md)\], 'query' => [!X](../types/!X.md), \]) === [$X](../types/X.md)
+
+***
+
$MadelineProto->[invokeWithLayer](invokeWithLayer.md)(\['layer' => [int](../types/int.md), 'query' => [!X](../types/!X.md), \]) === [$X](../types/X.md)
+
+***
+
$MadelineProto->[invokeWithoutUpdates](invokeWithoutUpdates.md)(\['query' => [!X](../types/!X.md), \]) === [$X](../types/X.md)
+
+***
+
$MadelineProto->[messages->acceptEncryption](messages_acceptEncryption.md)(\['peer' => [InputEncryptedChat](../types/InputEncryptedChat.md), 'g_b' => [bytes](../types/bytes.md), 'key_fingerprint' => [long](../types/long.md), \]) === [$EncryptedChat](../types/EncryptedChat.md)
+
+$MadelineProto->[messages->addChatUser](messages_addChatUser.md)(\['chat_id' => [int](../types/int.md), 'user_id' => [InputUser](../types/InputUser.md), 'fwd_limit' => [int](../types/int.md), \]) === [$Updates](../types/Updates.md)
+
+$MadelineProto->[messages->checkChatInvite](messages_checkChatInvite.md)(\['hash' => [string](../types/string.md), \]) === [$ChatInvite](../types/ChatInvite.md)
+
+$MadelineProto->[messages->clearRecentStickers](messages_clearRecentStickers.md)(\['attached' => [Bool](../types/Bool.md), \]) === [$Bool](../types/Bool.md)
+
+$MadelineProto->[messages->createChat](messages_createChat.md)(\['users' => \[[InputUser](../types/InputUser.md)\], 'title' => [string](../types/string.md), \]) === [$Updates](../types/Updates.md)
+
+$MadelineProto->[messages->deleteChatUser](messages_deleteChatUser.md)(\['chat_id' => [int](../types/int.md), 'user_id' => [InputUser](../types/InputUser.md), \]) === [$Updates](../types/Updates.md)
+
+$MadelineProto->[messages->deleteHistory](messages_deleteHistory.md)(\['just_clear' => [Bool](../types/Bool.md), 'peer' => [InputPeer](../types/InputPeer.md), 'max_id' => [int](../types/int.md), \]) === [$messages\_AffectedHistory](../types/messages_AffectedHistory.md)
+
+$MadelineProto->[messages->deleteMessages](messages_deleteMessages.md)(\['revoke' => [Bool](../types/Bool.md), 'id' => \[[int](../types/int.md)\], \]) === [$messages\_AffectedMessages](../types/messages_AffectedMessages.md)
+
+$MadelineProto->[messages->discardEncryption](messages_discardEncryption.md)(\['chat_id' => [int](../types/int.md), \]) === [$Bool](../types/Bool.md)
+
+$MadelineProto->[messages->editChatAdmin](messages_editChatAdmin.md)(\['chat_id' => [int](../types/int.md), 'user_id' => [InputUser](../types/InputUser.md), 'is_admin' => [Bool](../types/Bool.md), \]) === [$Bool](../types/Bool.md)
+
+$MadelineProto->[messages->editChatPhoto](messages_editChatPhoto.md)(\['chat_id' => [int](../types/int.md), 'photo' => [InputChatPhoto](../types/InputChatPhoto.md), \]) === [$Updates](../types/Updates.md)
+
+$MadelineProto->[messages->editChatTitle](messages_editChatTitle.md)(\['chat_id' => [int](../types/int.md), 'title' => [string](../types/string.md), \]) === [$Updates](../types/Updates.md)
+
+$MadelineProto->[messages->editInlineBotMessage](messages_editInlineBotMessage.md)(\['no_webpage' => [Bool](../types/Bool.md), 'id' => [InputBotInlineMessageID](../types/InputBotInlineMessageID.md), 'message' => [string](../types/string.md), 'reply_markup' => [ReplyMarkup](../types/ReplyMarkup.md), 'entities' => \[[MessageEntity](../types/MessageEntity.md)\], \]) === [$Bool](../types/Bool.md)
+
+$MadelineProto->[messages->editMessage](messages_editMessage.md)(\['no_webpage' => [Bool](../types/Bool.md), 'peer' => [InputPeer](../types/InputPeer.md), 'id' => [int](../types/int.md), 'message' => [string](../types/string.md), 'reply_markup' => [ReplyMarkup](../types/ReplyMarkup.md), 'entities' => \[[MessageEntity](../types/MessageEntity.md)\], \]) === [$Updates](../types/Updates.md)
+
+$MadelineProto->[messages->exportChatInvite](messages_exportChatInvite.md)(\['chat_id' => [int](../types/int.md), \]) === [$ExportedChatInvite](../types/ExportedChatInvite.md)
+
+$MadelineProto->[messages->forwardMessage](messages_forwardMessage.md)(\['peer' => [InputPeer](../types/InputPeer.md), 'id' => [int](../types/int.md), \]) === [$Updates](../types/Updates.md)
+
+$MadelineProto->[messages->forwardMessages](messages_forwardMessages.md)(\['silent' => [Bool](../types/Bool.md), 'background' => [Bool](../types/Bool.md), 'with_my_score' => [Bool](../types/Bool.md), 'from_peer' => [InputPeer](../types/InputPeer.md), 'id' => \[[int](../types/int.md)\], 'to_peer' => [InputPeer](../types/InputPeer.md), \]) === [$Updates](../types/Updates.md)
+
+$MadelineProto->[messages->getAllChats](messages_getAllChats.md)(\['except_ids' => \[[int](../types/int.md)\], \]) === [$messages\_Chats](../types/messages_Chats.md)
+
+$MadelineProto->[messages->getAllDrafts](messages_getAllDrafts.md)(\[\]) === [$Updates](../types/Updates.md)
+
+$MadelineProto->[messages->getAllStickers](messages_getAllStickers.md)(\['hash' => [int](../types/int.md), \]) === [$messages\_AllStickers](../types/messages_AllStickers.md)
+
+$MadelineProto->[messages->getArchivedStickers](messages_getArchivedStickers.md)(\['masks' => [Bool](../types/Bool.md), 'offset_id' => [long](../types/long.md), 'limit' => [int](../types/int.md), \]) === [$messages\_ArchivedStickers](../types/messages_ArchivedStickers.md)
+
+$MadelineProto->[messages->getAttachedStickers](messages_getAttachedStickers.md)(\['media' => [InputStickeredMedia](../types/InputStickeredMedia.md), \]) === [$Vector\_of\_StickerSetCovered](../types/StickerSetCovered.md)
+
+$MadelineProto->[messages->getBotCallbackAnswer](messages_getBotCallbackAnswer.md)(\['game' => [Bool](../types/Bool.md), 'peer' => [InputPeer](../types/InputPeer.md), 'msg_id' => [int](../types/int.md), 'data' => [bytes](../types/bytes.md), \]) === [$messages\_BotCallbackAnswer](../types/messages_BotCallbackAnswer.md)
+
+$MadelineProto->[messages->getChats](messages_getChats.md)(\['id' => \[[int](../types/int.md)\], \]) === [$messages\_Chats](../types/messages_Chats.md)
+
+$MadelineProto->[messages->getCommonChats](messages_getCommonChats.md)(\['user_id' => [InputUser](../types/InputUser.md), 'max_id' => [int](../types/int.md), 'limit' => [int](../types/int.md), \]) === [$messages\_Chats](../types/messages_Chats.md)
+
+$MadelineProto->[messages->getDhConfig](messages_getDhConfig.md)(\['version' => [int](../types/int.md), 'random_length' => [int](../types/int.md), \]) === [$messages\_DhConfig](../types/messages_DhConfig.md)
+
+$MadelineProto->[messages->getDialogs](messages_getDialogs.md)(\['exclude_pinned' => [Bool](../types/Bool.md), 'offset_date' => [int](../types/int.md), 'offset_id' => [int](../types/int.md), 'offset_peer' => [InputPeer](../types/InputPeer.md), 'limit' => [int](../types/int.md), \]) === [$messages\_Dialogs](../types/messages_Dialogs.md)
+
+$MadelineProto->[messages->getDocumentByHash](messages_getDocumentByHash.md)(\['sha256' => [bytes](../types/bytes.md), 'size' => [int](../types/int.md), 'mime_type' => [string](../types/string.md), \]) === [$Document](../types/Document.md)
+
+$MadelineProto->[messages->getFeaturedStickers](messages_getFeaturedStickers.md)(\['hash' => [int](../types/int.md), \]) === [$messages\_FeaturedStickers](../types/messages_FeaturedStickers.md)
+
+$MadelineProto->[messages->getFullChat](messages_getFullChat.md)(\['chat_id' => [int](../types/int.md), \]) === [$messages\_ChatFull](../types/messages_ChatFull.md)
+
+$MadelineProto->[messages->getGameHighScores](messages_getGameHighScores.md)(\['peer' => [InputPeer](../types/InputPeer.md), 'id' => [int](../types/int.md), 'user_id' => [InputUser](../types/InputUser.md), \]) === [$messages\_HighScores](../types/messages_HighScores.md)
+
+$MadelineProto->[messages->getHistory](messages_getHistory.md)(\['peer' => [InputPeer](../types/InputPeer.md), 'offset_id' => [int](../types/int.md), 'offset_date' => [int](../types/int.md), 'add_offset' => [int](../types/int.md), 'limit' => [int](../types/int.md), 'max_id' => [int](../types/int.md), 'min_id' => [int](../types/int.md), \]) === [$messages\_Messages](../types/messages_Messages.md)
+
+$MadelineProto->[messages->getInlineBotResults](messages_getInlineBotResults.md)(\['bot' => [InputUser](../types/InputUser.md), 'peer' => [InputPeer](../types/InputPeer.md), 'geo_point' => [InputGeoPoint](../types/InputGeoPoint.md), 'query' => [string](../types/string.md), 'offset' => [string](../types/string.md), \]) === [$messages\_BotResults](../types/messages_BotResults.md)
+
+$MadelineProto->[messages->getInlineGameHighScores](messages_getInlineGameHighScores.md)(\['id' => [InputBotInlineMessageID](../types/InputBotInlineMessageID.md), 'user_id' => [InputUser](../types/InputUser.md), \]) === [$messages\_HighScores](../types/messages_HighScores.md)
+
+$MadelineProto->[messages->getMaskStickers](messages_getMaskStickers.md)(\['hash' => [int](../types/int.md), \]) === [$messages\_AllStickers](../types/messages_AllStickers.md)
+
+$MadelineProto->[messages->getMessageEditData](messages_getMessageEditData.md)(\['peer' => [InputPeer](../types/InputPeer.md), 'id' => [int](../types/int.md), \]) === [$messages\_MessageEditData](../types/messages_MessageEditData.md)
+
+$MadelineProto->[messages->getMessages](messages_getMessages.md)(\['id' => \[[int](../types/int.md)\], \]) === [$messages\_Messages](../types/messages_Messages.md)
+
+$MadelineProto->[messages->getMessagesViews](messages_getMessagesViews.md)(\['peer' => [InputPeer](../types/InputPeer.md), 'id' => \[[int](../types/int.md)\], 'increment' => [Bool](../types/Bool.md), \]) === [$Vector\_of\_int](../types/int.md)
+
+$MadelineProto->[messages->getPeerDialogs](messages_getPeerDialogs.md)(\['peers' => \[[InputPeer](../types/InputPeer.md)\], \]) === [$messages\_PeerDialogs](../types/messages_PeerDialogs.md)
+
+$MadelineProto->[messages->getPeerSettings](messages_getPeerSettings.md)(\['peer' => [InputPeer](../types/InputPeer.md), \]) === [$PeerSettings](../types/PeerSettings.md)
+
+$MadelineProto->[messages->getPinnedDialogs](messages_getPinnedDialogs.md)(\[\]) === [$messages\_PeerDialogs](../types/messages_PeerDialogs.md)
+
+$MadelineProto->[messages->getRecentStickers](messages_getRecentStickers.md)(\['attached' => [Bool](../types/Bool.md), 'hash' => [int](../types/int.md), \]) === [$messages\_RecentStickers](../types/messages_RecentStickers.md)
+
+$MadelineProto->[messages->getSavedGifs](messages_getSavedGifs.md)(\['hash' => [int](../types/int.md), \]) === [$messages\_SavedGifs](../types/messages_SavedGifs.md)
+
+$MadelineProto->[messages->getStickerSet](messages_getStickerSet.md)(\['stickerset' => [InputStickerSet](../types/InputStickerSet.md), \]) === [$messages\_StickerSet](../types/messages_StickerSet.md)
+
+$MadelineProto->[messages->getWebPage](messages_getWebPage.md)(\['url' => [string](../types/string.md), 'hash' => [int](../types/int.md), \]) === [$WebPage](../types/WebPage.md)
+
+$MadelineProto->[messages->getWebPagePreview](messages_getWebPagePreview.md)(\['message' => [string](../types/string.md), \]) === [$MessageMedia](../types/MessageMedia.md)
+
+$MadelineProto->[messages->hideReportSpam](messages_hideReportSpam.md)(\['peer' => [InputPeer](../types/InputPeer.md), \]) === [$Bool](../types/Bool.md)
+
+$MadelineProto->[messages->importChatInvite](messages_importChatInvite.md)(\['hash' => [string](../types/string.md), \]) === [$Updates](../types/Updates.md)
+
+$MadelineProto->[messages->installStickerSet](messages_installStickerSet.md)(\['stickerset' => [InputStickerSet](../types/InputStickerSet.md), 'archived' => [Bool](../types/Bool.md), \]) === [$messages\_StickerSetInstallResult](../types/messages_StickerSetInstallResult.md)
+
+$MadelineProto->[messages->migrateChat](messages_migrateChat.md)(\['chat_id' => [int](../types/int.md), \]) === [$Updates](../types/Updates.md)
+
+$MadelineProto->[messages->readEncryptedHistory](messages_readEncryptedHistory.md)(\['peer' => [InputEncryptedChat](../types/InputEncryptedChat.md), 'max_date' => [int](../types/int.md), \]) === [$Bool](../types/Bool.md)
+
+$MadelineProto->[messages->readFeaturedStickers](messages_readFeaturedStickers.md)(\['id' => \[[long](../types/long.md)\], \]) === [$Bool](../types/Bool.md)
+
+$MadelineProto->[messages->readHistory](messages_readHistory.md)(\['peer' => [InputPeer](../types/InputPeer.md), 'max_id' => [int](../types/int.md), \]) === [$messages\_AffectedMessages](../types/messages_AffectedMessages.md)
+
+$MadelineProto->[messages->readMessageContents](messages_readMessageContents.md)(\['id' => \[[int](../types/int.md)\], \]) === [$messages\_AffectedMessages](../types/messages_AffectedMessages.md)
+
+$MadelineProto->[messages->receivedMessages](messages_receivedMessages.md)(\['max_id' => [int](../types/int.md), \]) === [$Vector\_of\_ReceivedNotifyMessage](../types/ReceivedNotifyMessage.md)
+
+$MadelineProto->[messages->receivedQueue](messages_receivedQueue.md)(\['max_qts' => [int](../types/int.md), \]) === [$Vector\_of\_long](../types/long.md)
+
+$MadelineProto->[messages->reorderPinnedDialogs](messages_reorderPinnedDialogs.md)(\['force' => [Bool](../types/Bool.md), 'order' => \[[InputPeer](../types/InputPeer.md)\], \]) === [$Bool](../types/Bool.md)
+
+$MadelineProto->[messages->reorderStickerSets](messages_reorderStickerSets.md)(\['masks' => [Bool](../types/Bool.md), 'order' => \[[long](../types/long.md)\], \]) === [$Bool](../types/Bool.md)
+
+$MadelineProto->[messages->reportEncryptedSpam](messages_reportEncryptedSpam.md)(\['peer' => [InputEncryptedChat](../types/InputEncryptedChat.md), \]) === [$Bool](../types/Bool.md)
+
+$MadelineProto->[messages->reportSpam](messages_reportSpam.md)(\['peer' => [InputPeer](../types/InputPeer.md), \]) === [$Bool](../types/Bool.md)
+
+$MadelineProto->[messages->requestEncryption](messages_requestEncryption.md)(\['user_id' => [InputUser](../types/InputUser.md), 'g_a' => [bytes](../types/bytes.md), \]) === [$EncryptedChat](../types/EncryptedChat.md)
+
+$MadelineProto->[messages->saveDraft](messages_saveDraft.md)(\['no_webpage' => [Bool](../types/Bool.md), 'reply_to_msg_id' => [int](../types/int.md), 'peer' => [InputPeer](../types/InputPeer.md), 'message' => [string](../types/string.md), 'entities' => \[[MessageEntity](../types/MessageEntity.md)\], \]) === [$Bool](../types/Bool.md)
+
+$MadelineProto->[messages->saveGif](messages_saveGif.md)(\['id' => [InputDocument](../types/InputDocument.md), 'unsave' => [Bool](../types/Bool.md), \]) === [$Bool](../types/Bool.md)
+
+$MadelineProto->[messages->saveRecentSticker](messages_saveRecentSticker.md)(\['attached' => [Bool](../types/Bool.md), 'id' => [InputDocument](../types/InputDocument.md), 'unsave' => [Bool](../types/Bool.md), \]) === [$Bool](../types/Bool.md)
+
+$MadelineProto->[messages->search](messages_search.md)(\['peer' => [InputPeer](../types/InputPeer.md), 'q' => [string](../types/string.md), 'filter' => [MessagesFilter](../types/MessagesFilter.md), 'min_date' => [int](../types/int.md), 'max_date' => [int](../types/int.md), 'offset' => [int](../types/int.md), 'max_id' => [int](../types/int.md), 'limit' => [int](../types/int.md), \]) === [$messages\_Messages](../types/messages_Messages.md)
+
+$MadelineProto->[messages->searchGifs](messages_searchGifs.md)(\['q' => [string](../types/string.md), 'offset' => [int](../types/int.md), \]) === [$messages\_FoundGifs](../types/messages_FoundGifs.md)
+
+$MadelineProto->[messages->searchGlobal](messages_searchGlobal.md)(\['q' => [string](../types/string.md), 'offset_date' => [int](../types/int.md), 'offset_peer' => [InputPeer](../types/InputPeer.md), 'offset_id' => [int](../types/int.md), 'limit' => [int](../types/int.md), \]) === [$messages\_Messages](../types/messages_Messages.md)
+
+$MadelineProto->[messages->sendEncrypted](messages_sendEncrypted.md)(\['peer' => [InputEncryptedChat](../types/InputEncryptedChat.md), 'message' => [DecryptedMessage](../types/DecryptedMessage.md), \]) === [$messages\_SentEncryptedMessage](../types/messages_SentEncryptedMessage.md)
+
+$MadelineProto->[messages->sendEncryptedFile](messages_sendEncryptedFile.md)(\['peer' => [InputEncryptedChat](../types/InputEncryptedChat.md), 'message' => [DecryptedMessage](../types/DecryptedMessage.md), 'file' => [InputEncryptedFile](../types/InputEncryptedFile.md), \]) === [$messages\_SentEncryptedMessage](../types/messages_SentEncryptedMessage.md)
+
+$MadelineProto->[messages->sendEncryptedService](messages_sendEncryptedService.md)(\['peer' => [InputEncryptedChat](../types/InputEncryptedChat.md), 'message' => [DecryptedMessage](../types/DecryptedMessage.md), \]) === [$messages\_SentEncryptedMessage](../types/messages_SentEncryptedMessage.md)
+
+$MadelineProto->[messages->sendInlineBotResult](messages_sendInlineBotResult.md)(\['silent' => [Bool](../types/Bool.md), 'background' => [Bool](../types/Bool.md), 'clear_draft' => [Bool](../types/Bool.md), 'peer' => [InputPeer](../types/InputPeer.md), 'reply_to_msg_id' => [int](../types/int.md), 'query_id' => [long](../types/long.md), 'id' => [string](../types/string.md), \]) === [$Updates](../types/Updates.md)
+
+$MadelineProto->[messages->sendMedia](messages_sendMedia.md)(\['silent' => [Bool](../types/Bool.md), 'background' => [Bool](../types/Bool.md), 'clear_draft' => [Bool](../types/Bool.md), 'peer' => [InputPeer](../types/InputPeer.md), 'reply_to_msg_id' => [int](../types/int.md), 'media' => [InputMedia](../types/InputMedia.md), 'reply_markup' => [ReplyMarkup](../types/ReplyMarkup.md), \]) === [$Updates](../types/Updates.md)
+
+$MadelineProto->[messages->sendMessage](messages_sendMessage.md)(\['no_webpage' => [Bool](../types/Bool.md), 'silent' => [Bool](../types/Bool.md), 'background' => [Bool](../types/Bool.md), 'clear_draft' => [Bool](../types/Bool.md), 'peer' => [InputPeer](../types/InputPeer.md), 'reply_to_msg_id' => [int](../types/int.md), 'message' => [string](../types/string.md), 'reply_markup' => [ReplyMarkup](../types/ReplyMarkup.md), 'entities' => \[[MessageEntity](../types/MessageEntity.md)\], \]) === [$Updates](../types/Updates.md)
+
+$MadelineProto->[messages->setBotCallbackAnswer](messages_setBotCallbackAnswer.md)(\['alert' => [Bool](../types/Bool.md), 'query_id' => [long](../types/long.md), 'message' => [string](../types/string.md), 'url' => [string](../types/string.md), 'cache_time' => [int](../types/int.md), \]) === [$Bool](../types/Bool.md)
+
+$MadelineProto->[messages->setEncryptedTyping](messages_setEncryptedTyping.md)(\['peer' => [InputEncryptedChat](../types/InputEncryptedChat.md), 'typing' => [Bool](../types/Bool.md), \]) === [$Bool](../types/Bool.md)
+
+$MadelineProto->[messages->setGameScore](messages_setGameScore.md)(\['edit_message' => [Bool](../types/Bool.md), 'force' => [Bool](../types/Bool.md), 'peer' => [InputPeer](../types/InputPeer.md), 'id' => [int](../types/int.md), 'user_id' => [InputUser](../types/InputUser.md), 'score' => [int](../types/int.md), \]) === [$Updates](../types/Updates.md)
+
+$MadelineProto->[messages->setInlineBotResults](messages_setInlineBotResults.md)(\['gallery' => [Bool](../types/Bool.md), 'private' => [Bool](../types/Bool.md), 'query_id' => [long](../types/long.md), 'results' => \[[InputBotInlineResult](../types/InputBotInlineResult.md)\], 'cache_time' => [int](../types/int.md), 'next_offset' => [string](../types/string.md), 'switch_pm' => [InlineBotSwitchPM](../types/InlineBotSwitchPM.md), \]) === [$Bool](../types/Bool.md)
+
+$MadelineProto->[messages->setInlineGameScore](messages_setInlineGameScore.md)(\['edit_message' => [Bool](../types/Bool.md), 'force' => [Bool](../types/Bool.md), 'id' => [InputBotInlineMessageID](../types/InputBotInlineMessageID.md), 'user_id' => [InputUser](../types/InputUser.md), 'score' => [int](../types/int.md), \]) === [$Bool](../types/Bool.md)
+
+$MadelineProto->[messages->setTyping](messages_setTyping.md)(\['peer' => [InputPeer](../types/InputPeer.md), 'action' => [SendMessageAction](../types/SendMessageAction.md), \]) === [$Bool](../types/Bool.md)
+
+$MadelineProto->[messages->startBot](messages_startBot.md)(\['bot' => [InputUser](../types/InputUser.md), 'peer' => [InputPeer](../types/InputPeer.md), 'start_param' => [string](../types/string.md), \]) === [$Updates](../types/Updates.md)
+
+$MadelineProto->[messages->toggleChatAdmins](messages_toggleChatAdmins.md)(\['chat_id' => [int](../types/int.md), 'enabled' => [Bool](../types/Bool.md), \]) === [$Updates](../types/Updates.md)
+
+$MadelineProto->[messages->toggleDialogPin](messages_toggleDialogPin.md)(\['pinned' => [Bool](../types/Bool.md), 'peer' => [InputPeer](../types/InputPeer.md), \]) === [$Bool](../types/Bool.md)
+
+$MadelineProto->[messages->uninstallStickerSet](messages_uninstallStickerSet.md)(\['stickerset' => [InputStickerSet](../types/InputStickerSet.md), \]) === [$Bool](../types/Bool.md)
+
+***
+
$MadelineProto->[phone->acceptCall](phone_acceptCall.md)(\['peer' => [InputPhoneCall](../types/InputPhoneCall.md), 'g_b' => [bytes](../types/bytes.md), 'key_fingerprint' => [long](../types/long.md), 'protocol' => [PhoneCallProtocol](../types/PhoneCallProtocol.md), \]) === [$phone\_PhoneCall](../types/phone_PhoneCall.md)
+
+$MadelineProto->[phone->discardCall](phone_discardCall.md)(\['peer' => [InputPhoneCall](../types/InputPhoneCall.md), 'duration' => [int](../types/int.md), 'reason' => [PhoneCallDiscardReason](../types/PhoneCallDiscardReason.md), 'connection_id' => [long](../types/long.md), \]) === [$Bool](../types/Bool.md)
+
+$MadelineProto->[phone->receivedCall](phone_receivedCall.md)(\['peer' => [InputPhoneCall](../types/InputPhoneCall.md), \]) === [$Bool](../types/Bool.md)
+
+$MadelineProto->[phone->requestCall](phone_requestCall.md)(\['user_id' => [InputUser](../types/InputUser.md), 'g_a' => [bytes](../types/bytes.md), 'protocol' => [PhoneCallProtocol](../types/PhoneCallProtocol.md), \]) === [$phone\_PhoneCall](../types/phone_PhoneCall.md)
+
+***
+
$MadelineProto->[photos->deletePhotos](photos_deletePhotos.md)(\['id' => \[[InputPhoto](../types/InputPhoto.md)\], \]) === [$Vector\_of\_long](../types/long.md)
+
+$MadelineProto->[photos->getUserPhotos](photos_getUserPhotos.md)(\['user_id' => [InputUser](../types/InputUser.md), 'offset' => [int](../types/int.md), 'max_id' => [long](../types/long.md), 'limit' => [int](../types/int.md), \]) === [$photos\_Photos](../types/photos_Photos.md)
+
+$MadelineProto->[photos->updateProfilePhoto](photos_updateProfilePhoto.md)(\['id' => [InputPhoto](../types/InputPhoto.md), \]) === [$UserProfilePhoto](../types/UserProfilePhoto.md)
+
+$MadelineProto->[photos->uploadProfilePhoto](photos_uploadProfilePhoto.md)(\['file' => [InputFile](../types/InputFile.md), \]) === [$photos\_Photo](../types/photos_Photo.md)
+
+***
+
$MadelineProto->[updates->getChannelDifference](updates_getChannelDifference.md)(\['force' => [Bool](../types/Bool.md), 'channel' => [InputChannel](../types/InputChannel.md), 'filter' => [ChannelMessagesFilter](../types/ChannelMessagesFilter.md), 'pts' => [int](../types/int.md), 'limit' => [int](../types/int.md), \]) === [$updates\_ChannelDifference](../types/updates_ChannelDifference.md)
+
+$MadelineProto->[updates->getDifference](updates_getDifference.md)(\['pts' => [int](../types/int.md), 'pts_total_limit' => [int](../types/int.md), 'date' => [int](../types/int.md), 'qts' => [int](../types/int.md), \]) === [$updates\_Difference](../types/updates_Difference.md)
+
+$MadelineProto->[updates->getState](updates_getState.md)(\[\]) === [$updates\_State](../types/updates_State.md)
+
+***
+
$MadelineProto->[upload->getFile](upload_getFile.md)(\['location' => [InputFileLocation](../types/InputFileLocation.md), 'offset' => [int](../types/int.md), 'limit' => [int](../types/int.md), \]) === [$upload\_File](../types/upload_File.md)
+
+$MadelineProto->[upload->saveBigFilePart](upload_saveBigFilePart.md)(\['file_id' => [long](../types/long.md), 'file_part' => [int](../types/int.md), 'file_total_parts' => [int](../types/int.md), 'bytes' => [bytes](../types/bytes.md), \]) === [$Bool](../types/Bool.md)
+
+$MadelineProto->[upload->saveFilePart](upload_saveFilePart.md)(\['file_id' => [long](../types/long.md), 'file_part' => [int](../types/int.md), 'bytes' => [bytes](../types/bytes.md), \]) === [$Bool](../types/Bool.md)
+
+***
+
$MadelineProto->[users->getFullUser](users_getFullUser.md)(\['id' => [InputUser](../types/InputUser.md), \]) === [$UserFull](../types/UserFull.md)
+
+$MadelineProto->[users->getUsers](users_getUsers.md)(\['id' => \[[InputUser](../types/InputUser.md)\], \]) === [$Vector\_of\_User](../types/User.md)
+
diff --git a/old_docs/API_docs_v62/methods/account_changePhone.md b/old_docs/API_docs_v62/methods/account_changePhone.md
new file mode 100644
index 00000000..dc3e0427
--- /dev/null
+++ b/old_docs/API_docs_v62/methods/account_changePhone.md
@@ -0,0 +1,46 @@
+---
+title: account.changePhone
+description: account.changePhone parameters, return type and example
+---
+## Method: account.changePhone
+[Back to methods index](index.md)
+
+
+### Parameters:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|phone\_number|[string](../types/string.md) | Yes|
+|phone\_code\_hash|[string](../types/string.md) | Yes|
+|phone\_code|[string](../types/string.md) | Yes|
+
+
+### Return type: [User](../types/User.md)
+
+### Example:
+
+
+```
+$MadelineProto = new \danog\MadelineProto\API();
+if (isset($token)) {
+ $this->bot_login($token);
+}
+if (isset($number)) {
+ $sentCode = $MadelineProto->phone_login($number);
+ echo 'Enter the code you received: ';
+ $code = '';
+ for ($x = 0; $x < $sentCode['type']['length']; $x++) {
+ $code .= fgetc(STDIN);
+ }
+ $MadelineProto->complete_phone_login($code);
+}
+
+$User = $MadelineProto->account->changePhone(['phone_number' => string, 'phone_code_hash' => string, 'phone_code' => string, ]);
+```
+
+Or, if you're into Lua:
+
+```
+User = account.changePhone({phone_number=string, phone_code_hash=string, phone_code=string, })
+```
+
diff --git a/old_docs/API_docs_v62/methods/account_checkUsername.md b/old_docs/API_docs_v62/methods/account_checkUsername.md
new file mode 100644
index 00000000..dc13041c
--- /dev/null
+++ b/old_docs/API_docs_v62/methods/account_checkUsername.md
@@ -0,0 +1,44 @@
+---
+title: account.checkUsername
+description: account.checkUsername parameters, return type and example
+---
+## Method: account.checkUsername
+[Back to methods index](index.md)
+
+
+### Parameters:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|username|[string](../types/string.md) | Yes|
+
+
+### Return type: [Bool](../types/Bool.md)
+
+### Example:
+
+
+```
+$MadelineProto = new \danog\MadelineProto\API();
+if (isset($token)) {
+ $this->bot_login($token);
+}
+if (isset($number)) {
+ $sentCode = $MadelineProto->phone_login($number);
+ echo 'Enter the code you received: ';
+ $code = '';
+ for ($x = 0; $x < $sentCode['type']['length']; $x++) {
+ $code .= fgetc(STDIN);
+ }
+ $MadelineProto->complete_phone_login($code);
+}
+
+$Bool = $MadelineProto->account->checkUsername(['username' => string, ]);
+```
+
+Or, if you're into Lua:
+
+```
+Bool = account.checkUsername({username=string, })
+```
+
diff --git a/old_docs/API_docs_v62/methods/account_confirmPhone.md b/old_docs/API_docs_v62/methods/account_confirmPhone.md
new file mode 100644
index 00000000..07582551
--- /dev/null
+++ b/old_docs/API_docs_v62/methods/account_confirmPhone.md
@@ -0,0 +1,45 @@
+---
+title: account.confirmPhone
+description: account.confirmPhone parameters, return type and example
+---
+## Method: account.confirmPhone
+[Back to methods index](index.md)
+
+
+### Parameters:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|phone\_code\_hash|[string](../types/string.md) | Yes|
+|phone\_code|[string](../types/string.md) | Yes|
+
+
+### Return type: [Bool](../types/Bool.md)
+
+### Example:
+
+
+```
+$MadelineProto = new \danog\MadelineProto\API();
+if (isset($token)) {
+ $this->bot_login($token);
+}
+if (isset($number)) {
+ $sentCode = $MadelineProto->phone_login($number);
+ echo 'Enter the code you received: ';
+ $code = '';
+ for ($x = 0; $x < $sentCode['type']['length']; $x++) {
+ $code .= fgetc(STDIN);
+ }
+ $MadelineProto->complete_phone_login($code);
+}
+
+$Bool = $MadelineProto->account->confirmPhone(['phone_code_hash' => string, 'phone_code' => string, ]);
+```
+
+Or, if you're into Lua:
+
+```
+Bool = account.confirmPhone({phone_code_hash=string, phone_code=string, })
+```
+
diff --git a/old_docs/API_docs_v62/methods/account_deleteAccount.md b/old_docs/API_docs_v62/methods/account_deleteAccount.md
new file mode 100644
index 00000000..4199572b
--- /dev/null
+++ b/old_docs/API_docs_v62/methods/account_deleteAccount.md
@@ -0,0 +1,44 @@
+---
+title: account.deleteAccount
+description: account.deleteAccount parameters, return type and example
+---
+## Method: account.deleteAccount
+[Back to methods index](index.md)
+
+
+### Parameters:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|reason|[string](../types/string.md) | Yes|
+
+
+### Return type: [Bool](../types/Bool.md)
+
+### Example:
+
+
+```
+$MadelineProto = new \danog\MadelineProto\API();
+if (isset($token)) {
+ $this->bot_login($token);
+}
+if (isset($number)) {
+ $sentCode = $MadelineProto->phone_login($number);
+ echo 'Enter the code you received: ';
+ $code = '';
+ for ($x = 0; $x < $sentCode['type']['length']; $x++) {
+ $code .= fgetc(STDIN);
+ }
+ $MadelineProto->complete_phone_login($code);
+}
+
+$Bool = $MadelineProto->account->deleteAccount(['reason' => string, ]);
+```
+
+Or, if you're into Lua:
+
+```
+Bool = account.deleteAccount({reason=string, })
+```
+
diff --git a/old_docs/API_docs_v62/methods/account_getAccountTTL.md b/old_docs/API_docs_v62/methods/account_getAccountTTL.md
new file mode 100644
index 00000000..ff4171df
--- /dev/null
+++ b/old_docs/API_docs_v62/methods/account_getAccountTTL.md
@@ -0,0 +1,39 @@
+---
+title: account.getAccountTTL
+description: account.getAccountTTL parameters, return type and example
+---
+## Method: account.getAccountTTL
+[Back to methods index](index.md)
+
+
+
+
+### Return type: [AccountDaysTTL](../types/AccountDaysTTL.md)
+
+### Example:
+
+
+```
+$MadelineProto = new \danog\MadelineProto\API();
+if (isset($token)) {
+ $this->bot_login($token);
+}
+if (isset($number)) {
+ $sentCode = $MadelineProto->phone_login($number);
+ echo 'Enter the code you received: ';
+ $code = '';
+ for ($x = 0; $x < $sentCode['type']['length']; $x++) {
+ $code .= fgetc(STDIN);
+ }
+ $MadelineProto->complete_phone_login($code);
+}
+
+$AccountDaysTTL = $MadelineProto->account->getAccountTTL();
+```
+
+Or, if you're into Lua:
+
+```
+AccountDaysTTL = account.getAccountTTL({})
+```
+
diff --git a/old_docs/API_docs_v62/methods/account_getAuthorizations.md b/old_docs/API_docs_v62/methods/account_getAuthorizations.md
new file mode 100644
index 00000000..26f755d4
--- /dev/null
+++ b/old_docs/API_docs_v62/methods/account_getAuthorizations.md
@@ -0,0 +1,39 @@
+---
+title: account.getAuthorizations
+description: account.getAuthorizations parameters, return type and example
+---
+## Method: account.getAuthorizations
+[Back to methods index](index.md)
+
+
+
+
+### Return type: [account\_Authorizations](../types/account_Authorizations.md)
+
+### Example:
+
+
+```
+$MadelineProto = new \danog\MadelineProto\API();
+if (isset($token)) {
+ $this->bot_login($token);
+}
+if (isset($number)) {
+ $sentCode = $MadelineProto->phone_login($number);
+ echo 'Enter the code you received: ';
+ $code = '';
+ for ($x = 0; $x < $sentCode['type']['length']; $x++) {
+ $code .= fgetc(STDIN);
+ }
+ $MadelineProto->complete_phone_login($code);
+}
+
+$account_Authorizations = $MadelineProto->account->getAuthorizations();
+```
+
+Or, if you're into Lua:
+
+```
+account_Authorizations = account.getAuthorizations({})
+```
+
diff --git a/old_docs/API_docs_v62/methods/account_getNotifySettings.md b/old_docs/API_docs_v62/methods/account_getNotifySettings.md
new file mode 100644
index 00000000..817f201a
--- /dev/null
+++ b/old_docs/API_docs_v62/methods/account_getNotifySettings.md
@@ -0,0 +1,44 @@
+---
+title: account.getNotifySettings
+description: account.getNotifySettings parameters, return type and example
+---
+## Method: account.getNotifySettings
+[Back to methods index](index.md)
+
+
+### Parameters:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|peer|[InputNotifyPeer](../types/InputNotifyPeer.md) | Yes|
+
+
+### Return type: [PeerNotifySettings](../types/PeerNotifySettings.md)
+
+### Example:
+
+
+```
+$MadelineProto = new \danog\MadelineProto\API();
+if (isset($token)) {
+ $this->bot_login($token);
+}
+if (isset($number)) {
+ $sentCode = $MadelineProto->phone_login($number);
+ echo 'Enter the code you received: ';
+ $code = '';
+ for ($x = 0; $x < $sentCode['type']['length']; $x++) {
+ $code .= fgetc(STDIN);
+ }
+ $MadelineProto->complete_phone_login($code);
+}
+
+$PeerNotifySettings = $MadelineProto->account->getNotifySettings(['peer' => InputNotifyPeer, ]);
+```
+
+Or, if you're into Lua:
+
+```
+PeerNotifySettings = account.getNotifySettings({peer=InputNotifyPeer, })
+```
+
diff --git a/old_docs/API_docs_v62/methods/account_getPassword.md b/old_docs/API_docs_v62/methods/account_getPassword.md
new file mode 100644
index 00000000..d7491fec
--- /dev/null
+++ b/old_docs/API_docs_v62/methods/account_getPassword.md
@@ -0,0 +1,39 @@
+---
+title: account.getPassword
+description: account.getPassword parameters, return type and example
+---
+## Method: account.getPassword
+[Back to methods index](index.md)
+
+
+
+
+### Return type: [account\_Password](../types/account_Password.md)
+
+### Example:
+
+
+```
+$MadelineProto = new \danog\MadelineProto\API();
+if (isset($token)) {
+ $this->bot_login($token);
+}
+if (isset($number)) {
+ $sentCode = $MadelineProto->phone_login($number);
+ echo 'Enter the code you received: ';
+ $code = '';
+ for ($x = 0; $x < $sentCode['type']['length']; $x++) {
+ $code .= fgetc(STDIN);
+ }
+ $MadelineProto->complete_phone_login($code);
+}
+
+$account_Password = $MadelineProto->account->getPassword();
+```
+
+Or, if you're into Lua:
+
+```
+account_Password = account.getPassword({})
+```
+
diff --git a/old_docs/API_docs_v62/methods/account_getPasswordSettings.md b/old_docs/API_docs_v62/methods/account_getPasswordSettings.md
new file mode 100644
index 00000000..5be9a523
--- /dev/null
+++ b/old_docs/API_docs_v62/methods/account_getPasswordSettings.md
@@ -0,0 +1,44 @@
+---
+title: account.getPasswordSettings
+description: account.getPasswordSettings parameters, return type and example
+---
+## Method: account.getPasswordSettings
+[Back to methods index](index.md)
+
+
+### Parameters:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|current\_password\_hash|[bytes](../types/bytes.md) | Yes|
+
+
+### Return type: [account\_PasswordSettings](../types/account_PasswordSettings.md)
+
+### Example:
+
+
+```
+$MadelineProto = new \danog\MadelineProto\API();
+if (isset($token)) {
+ $this->bot_login($token);
+}
+if (isset($number)) {
+ $sentCode = $MadelineProto->phone_login($number);
+ echo 'Enter the code you received: ';
+ $code = '';
+ for ($x = 0; $x < $sentCode['type']['length']; $x++) {
+ $code .= fgetc(STDIN);
+ }
+ $MadelineProto->complete_phone_login($code);
+}
+
+$account_PasswordSettings = $MadelineProto->account->getPasswordSettings(['current_password_hash' => bytes, ]);
+```
+
+Or, if you're into Lua:
+
+```
+account_PasswordSettings = account.getPasswordSettings({current_password_hash=bytes, })
+```
+
diff --git a/old_docs/API_docs_v62/methods/account_getPrivacy.md b/old_docs/API_docs_v62/methods/account_getPrivacy.md
new file mode 100644
index 00000000..649019d5
--- /dev/null
+++ b/old_docs/API_docs_v62/methods/account_getPrivacy.md
@@ -0,0 +1,44 @@
+---
+title: account.getPrivacy
+description: account.getPrivacy parameters, return type and example
+---
+## Method: account.getPrivacy
+[Back to methods index](index.md)
+
+
+### Parameters:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|key|[InputPrivacyKey](../types/InputPrivacyKey.md) | Yes|
+
+
+### Return type: [account\_PrivacyRules](../types/account_PrivacyRules.md)
+
+### Example:
+
+
+```
+$MadelineProto = new \danog\MadelineProto\API();
+if (isset($token)) {
+ $this->bot_login($token);
+}
+if (isset($number)) {
+ $sentCode = $MadelineProto->phone_login($number);
+ echo 'Enter the code you received: ';
+ $code = '';
+ for ($x = 0; $x < $sentCode['type']['length']; $x++) {
+ $code .= fgetc(STDIN);
+ }
+ $MadelineProto->complete_phone_login($code);
+}
+
+$account_PrivacyRules = $MadelineProto->account->getPrivacy(['key' => InputPrivacyKey, ]);
+```
+
+Or, if you're into Lua:
+
+```
+account_PrivacyRules = account.getPrivacy({key=InputPrivacyKey, })
+```
+
diff --git a/old_docs/API_docs_v62/methods/account_getWallPapers.md b/old_docs/API_docs_v62/methods/account_getWallPapers.md
new file mode 100644
index 00000000..9eb0182a
--- /dev/null
+++ b/old_docs/API_docs_v62/methods/account_getWallPapers.md
@@ -0,0 +1,39 @@
+---
+title: account.getWallPapers
+description: account.getWallPapers parameters, return type and example
+---
+## Method: account.getWallPapers
+[Back to methods index](index.md)
+
+
+
+
+### Return type: [Vector\_of\_WallPaper](../types/WallPaper.md)
+
+### Example:
+
+
+```
+$MadelineProto = new \danog\MadelineProto\API();
+if (isset($token)) {
+ $this->bot_login($token);
+}
+if (isset($number)) {
+ $sentCode = $MadelineProto->phone_login($number);
+ echo 'Enter the code you received: ';
+ $code = '';
+ for ($x = 0; $x < $sentCode['type']['length']; $x++) {
+ $code .= fgetc(STDIN);
+ }
+ $MadelineProto->complete_phone_login($code);
+}
+
+$Vector_of_WallPaper = $MadelineProto->account->getWallPapers();
+```
+
+Or, if you're into Lua:
+
+```
+Vector_of_WallPaper = account.getWallPapers({})
+```
+
diff --git a/old_docs/API_docs_v62/methods/account_registerDevice.md b/old_docs/API_docs_v62/methods/account_registerDevice.md
new file mode 100644
index 00000000..453de19b
--- /dev/null
+++ b/old_docs/API_docs_v62/methods/account_registerDevice.md
@@ -0,0 +1,45 @@
+---
+title: account.registerDevice
+description: account.registerDevice parameters, return type and example
+---
+## Method: account.registerDevice
+[Back to methods index](index.md)
+
+
+### Parameters:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|token\_type|[int](../types/int.md) | Yes|
+|token|[string](../types/string.md) | Yes|
+
+
+### Return type: [Bool](../types/Bool.md)
+
+### Example:
+
+
+```
+$MadelineProto = new \danog\MadelineProto\API();
+if (isset($token)) {
+ $this->bot_login($token);
+}
+if (isset($number)) {
+ $sentCode = $MadelineProto->phone_login($number);
+ echo 'Enter the code you received: ';
+ $code = '';
+ for ($x = 0; $x < $sentCode['type']['length']; $x++) {
+ $code .= fgetc(STDIN);
+ }
+ $MadelineProto->complete_phone_login($code);
+}
+
+$Bool = $MadelineProto->account->registerDevice(['token_type' => int, 'token' => string, ]);
+```
+
+Or, if you're into Lua:
+
+```
+Bool = account.registerDevice({token_type=int, token=string, })
+```
+
diff --git a/old_docs/API_docs_v62/methods/account_reportPeer.md b/old_docs/API_docs_v62/methods/account_reportPeer.md
new file mode 100644
index 00000000..bb8dea54
--- /dev/null
+++ b/old_docs/API_docs_v62/methods/account_reportPeer.md
@@ -0,0 +1,45 @@
+---
+title: account.reportPeer
+description: account.reportPeer parameters, return type and example
+---
+## Method: account.reportPeer
+[Back to methods index](index.md)
+
+
+### Parameters:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|peer|[InputPeer](../types/InputPeer.md) | Yes|
+|reason|[ReportReason](../types/ReportReason.md) | Yes|
+
+
+### Return type: [Bool](../types/Bool.md)
+
+### Example:
+
+
+```
+$MadelineProto = new \danog\MadelineProto\API();
+if (isset($token)) {
+ $this->bot_login($token);
+}
+if (isset($number)) {
+ $sentCode = $MadelineProto->phone_login($number);
+ echo 'Enter the code you received: ';
+ $code = '';
+ for ($x = 0; $x < $sentCode['type']['length']; $x++) {
+ $code .= fgetc(STDIN);
+ }
+ $MadelineProto->complete_phone_login($code);
+}
+
+$Bool = $MadelineProto->account->reportPeer(['peer' => InputPeer, 'reason' => ReportReason, ]);
+```
+
+Or, if you're into Lua:
+
+```
+Bool = account.reportPeer({peer=InputPeer, reason=ReportReason, })
+```
+
diff --git a/old_docs/API_docs_v62/methods/account_resetAuthorization.md b/old_docs/API_docs_v62/methods/account_resetAuthorization.md
new file mode 100644
index 00000000..aaf5a660
--- /dev/null
+++ b/old_docs/API_docs_v62/methods/account_resetAuthorization.md
@@ -0,0 +1,44 @@
+---
+title: account.resetAuthorization
+description: account.resetAuthorization parameters, return type and example
+---
+## Method: account.resetAuthorization
+[Back to methods index](index.md)
+
+
+### Parameters:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|hash|[long](../types/long.md) | Yes|
+
+
+### Return type: [Bool](../types/Bool.md)
+
+### Example:
+
+
+```
+$MadelineProto = new \danog\MadelineProto\API();
+if (isset($token)) {
+ $this->bot_login($token);
+}
+if (isset($number)) {
+ $sentCode = $MadelineProto->phone_login($number);
+ echo 'Enter the code you received: ';
+ $code = '';
+ for ($x = 0; $x < $sentCode['type']['length']; $x++) {
+ $code .= fgetc(STDIN);
+ }
+ $MadelineProto->complete_phone_login($code);
+}
+
+$Bool = $MadelineProto->account->resetAuthorization(['hash' => long, ]);
+```
+
+Or, if you're into Lua:
+
+```
+Bool = account.resetAuthorization({hash=long, })
+```
+
diff --git a/old_docs/API_docs_v62/methods/account_resetNotifySettings.md b/old_docs/API_docs_v62/methods/account_resetNotifySettings.md
new file mode 100644
index 00000000..5a6a4c95
--- /dev/null
+++ b/old_docs/API_docs_v62/methods/account_resetNotifySettings.md
@@ -0,0 +1,39 @@
+---
+title: account.resetNotifySettings
+description: account.resetNotifySettings parameters, return type and example
+---
+## Method: account.resetNotifySettings
+[Back to methods index](index.md)
+
+
+
+
+### Return type: [Bool](../types/Bool.md)
+
+### Example:
+
+
+```
+$MadelineProto = new \danog\MadelineProto\API();
+if (isset($token)) {
+ $this->bot_login($token);
+}
+if (isset($number)) {
+ $sentCode = $MadelineProto->phone_login($number);
+ echo 'Enter the code you received: ';
+ $code = '';
+ for ($x = 0; $x < $sentCode['type']['length']; $x++) {
+ $code .= fgetc(STDIN);
+ }
+ $MadelineProto->complete_phone_login($code);
+}
+
+$Bool = $MadelineProto->account->resetNotifySettings();
+```
+
+Or, if you're into Lua:
+
+```
+Bool = account.resetNotifySettings({})
+```
+
diff --git a/old_docs/API_docs_v62/methods/account_sendChangePhoneCode.md b/old_docs/API_docs_v62/methods/account_sendChangePhoneCode.md
new file mode 100644
index 00000000..8f2e8833
--- /dev/null
+++ b/old_docs/API_docs_v62/methods/account_sendChangePhoneCode.md
@@ -0,0 +1,46 @@
+---
+title: account.sendChangePhoneCode
+description: account.sendChangePhoneCode parameters, return type and example
+---
+## Method: account.sendChangePhoneCode
+[Back to methods index](index.md)
+
+
+### Parameters:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|allow\_flashcall|[Bool](../types/Bool.md) | Optional|
+|phone\_number|[string](../types/string.md) | Yes|
+|current\_number|[Bool](../types/Bool.md) | Optional|
+
+
+### Return type: [auth\_SentCode](../types/auth_SentCode.md)
+
+### Example:
+
+
+```
+$MadelineProto = new \danog\MadelineProto\API();
+if (isset($token)) {
+ $this->bot_login($token);
+}
+if (isset($number)) {
+ $sentCode = $MadelineProto->phone_login($number);
+ echo 'Enter the code you received: ';
+ $code = '';
+ for ($x = 0; $x < $sentCode['type']['length']; $x++) {
+ $code .= fgetc(STDIN);
+ }
+ $MadelineProto->complete_phone_login($code);
+}
+
+$auth_SentCode = $MadelineProto->account->sendChangePhoneCode(['allow_flashcall' => Bool, 'phone_number' => string, 'current_number' => Bool, ]);
+```
+
+Or, if you're into Lua:
+
+```
+auth_SentCode = account.sendChangePhoneCode({allow_flashcall=Bool, phone_number=string, current_number=Bool, })
+```
+
diff --git a/old_docs/API_docs_v62/methods/account_sendConfirmPhoneCode.md b/old_docs/API_docs_v62/methods/account_sendConfirmPhoneCode.md
new file mode 100644
index 00000000..5897ec41
--- /dev/null
+++ b/old_docs/API_docs_v62/methods/account_sendConfirmPhoneCode.md
@@ -0,0 +1,46 @@
+---
+title: account.sendConfirmPhoneCode
+description: account.sendConfirmPhoneCode parameters, return type and example
+---
+## Method: account.sendConfirmPhoneCode
+[Back to methods index](index.md)
+
+
+### Parameters:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|allow\_flashcall|[Bool](../types/Bool.md) | Optional|
+|hash|[string](../types/string.md) | Yes|
+|current\_number|[Bool](../types/Bool.md) | Optional|
+
+
+### Return type: [auth\_SentCode](../types/auth_SentCode.md)
+
+### Example:
+
+
+```
+$MadelineProto = new \danog\MadelineProto\API();
+if (isset($token)) {
+ $this->bot_login($token);
+}
+if (isset($number)) {
+ $sentCode = $MadelineProto->phone_login($number);
+ echo 'Enter the code you received: ';
+ $code = '';
+ for ($x = 0; $x < $sentCode['type']['length']; $x++) {
+ $code .= fgetc(STDIN);
+ }
+ $MadelineProto->complete_phone_login($code);
+}
+
+$auth_SentCode = $MadelineProto->account->sendConfirmPhoneCode(['allow_flashcall' => Bool, 'hash' => string, 'current_number' => Bool, ]);
+```
+
+Or, if you're into Lua:
+
+```
+auth_SentCode = account.sendConfirmPhoneCode({allow_flashcall=Bool, hash=string, current_number=Bool, })
+```
+
diff --git a/old_docs/API_docs_v62/methods/account_setAccountTTL.md b/old_docs/API_docs_v62/methods/account_setAccountTTL.md
new file mode 100644
index 00000000..6ae8d70e
--- /dev/null
+++ b/old_docs/API_docs_v62/methods/account_setAccountTTL.md
@@ -0,0 +1,44 @@
+---
+title: account.setAccountTTL
+description: account.setAccountTTL parameters, return type and example
+---
+## Method: account.setAccountTTL
+[Back to methods index](index.md)
+
+
+### Parameters:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|ttl|[AccountDaysTTL](../types/AccountDaysTTL.md) | Yes|
+
+
+### Return type: [Bool](../types/Bool.md)
+
+### Example:
+
+
+```
+$MadelineProto = new \danog\MadelineProto\API();
+if (isset($token)) {
+ $this->bot_login($token);
+}
+if (isset($number)) {
+ $sentCode = $MadelineProto->phone_login($number);
+ echo 'Enter the code you received: ';
+ $code = '';
+ for ($x = 0; $x < $sentCode['type']['length']; $x++) {
+ $code .= fgetc(STDIN);
+ }
+ $MadelineProto->complete_phone_login($code);
+}
+
+$Bool = $MadelineProto->account->setAccountTTL(['ttl' => AccountDaysTTL, ]);
+```
+
+Or, if you're into Lua:
+
+```
+Bool = account.setAccountTTL({ttl=AccountDaysTTL, })
+```
+
diff --git a/old_docs/API_docs_v62/methods/account_setPrivacy.md b/old_docs/API_docs_v62/methods/account_setPrivacy.md
new file mode 100644
index 00000000..e438ca16
--- /dev/null
+++ b/old_docs/API_docs_v62/methods/account_setPrivacy.md
@@ -0,0 +1,45 @@
+---
+title: account.setPrivacy
+description: account.setPrivacy parameters, return type and example
+---
+## Method: account.setPrivacy
+[Back to methods index](index.md)
+
+
+### Parameters:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|key|[InputPrivacyKey](../types/InputPrivacyKey.md) | Yes|
+|rules|Array of [InputPrivacyRule](../types/InputPrivacyRule.md) | Yes|
+
+
+### Return type: [account\_PrivacyRules](../types/account_PrivacyRules.md)
+
+### Example:
+
+
+```
+$MadelineProto = new \danog\MadelineProto\API();
+if (isset($token)) {
+ $this->bot_login($token);
+}
+if (isset($number)) {
+ $sentCode = $MadelineProto->phone_login($number);
+ echo 'Enter the code you received: ';
+ $code = '';
+ for ($x = 0; $x < $sentCode['type']['length']; $x++) {
+ $code .= fgetc(STDIN);
+ }
+ $MadelineProto->complete_phone_login($code);
+}
+
+$account_PrivacyRules = $MadelineProto->account->setPrivacy(['key' => InputPrivacyKey, 'rules' => [InputPrivacyRule], ]);
+```
+
+Or, if you're into Lua:
+
+```
+account_PrivacyRules = account.setPrivacy({key=InputPrivacyKey, rules={InputPrivacyRule}, })
+```
+
diff --git a/old_docs/API_docs_v62/methods/account_unregisterDevice.md b/old_docs/API_docs_v62/methods/account_unregisterDevice.md
new file mode 100644
index 00000000..89ab99a8
--- /dev/null
+++ b/old_docs/API_docs_v62/methods/account_unregisterDevice.md
@@ -0,0 +1,45 @@
+---
+title: account.unregisterDevice
+description: account.unregisterDevice parameters, return type and example
+---
+## Method: account.unregisterDevice
+[Back to methods index](index.md)
+
+
+### Parameters:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|token\_type|[int](../types/int.md) | Yes|
+|token|[string](../types/string.md) | Yes|
+
+
+### Return type: [Bool](../types/Bool.md)
+
+### Example:
+
+
+```
+$MadelineProto = new \danog\MadelineProto\API();
+if (isset($token)) {
+ $this->bot_login($token);
+}
+if (isset($number)) {
+ $sentCode = $MadelineProto->phone_login($number);
+ echo 'Enter the code you received: ';
+ $code = '';
+ for ($x = 0; $x < $sentCode['type']['length']; $x++) {
+ $code .= fgetc(STDIN);
+ }
+ $MadelineProto->complete_phone_login($code);
+}
+
+$Bool = $MadelineProto->account->unregisterDevice(['token_type' => int, 'token' => string, ]);
+```
+
+Or, if you're into Lua:
+
+```
+Bool = account.unregisterDevice({token_type=int, token=string, })
+```
+
diff --git a/old_docs/API_docs_v62/methods/account_updateDeviceLocked.md b/old_docs/API_docs_v62/methods/account_updateDeviceLocked.md
new file mode 100644
index 00000000..3fe6b8b6
--- /dev/null
+++ b/old_docs/API_docs_v62/methods/account_updateDeviceLocked.md
@@ -0,0 +1,44 @@
+---
+title: account.updateDeviceLocked
+description: account.updateDeviceLocked parameters, return type and example
+---
+## Method: account.updateDeviceLocked
+[Back to methods index](index.md)
+
+
+### Parameters:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|period|[int](../types/int.md) | Yes|
+
+
+### Return type: [Bool](../types/Bool.md)
+
+### Example:
+
+
+```
+$MadelineProto = new \danog\MadelineProto\API();
+if (isset($token)) {
+ $this->bot_login($token);
+}
+if (isset($number)) {
+ $sentCode = $MadelineProto->phone_login($number);
+ echo 'Enter the code you received: ';
+ $code = '';
+ for ($x = 0; $x < $sentCode['type']['length']; $x++) {
+ $code .= fgetc(STDIN);
+ }
+ $MadelineProto->complete_phone_login($code);
+}
+
+$Bool = $MadelineProto->account->updateDeviceLocked(['period' => int, ]);
+```
+
+Or, if you're into Lua:
+
+```
+Bool = account.updateDeviceLocked({period=int, })
+```
+
diff --git a/old_docs/API_docs_v62/methods/account_updateNotifySettings.md b/old_docs/API_docs_v62/methods/account_updateNotifySettings.md
new file mode 100644
index 00000000..7eea8202
--- /dev/null
+++ b/old_docs/API_docs_v62/methods/account_updateNotifySettings.md
@@ -0,0 +1,45 @@
+---
+title: account.updateNotifySettings
+description: account.updateNotifySettings parameters, return type and example
+---
+## Method: account.updateNotifySettings
+[Back to methods index](index.md)
+
+
+### Parameters:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|peer|[InputNotifyPeer](../types/InputNotifyPeer.md) | Yes|
+|settings|[InputPeerNotifySettings](../types/InputPeerNotifySettings.md) | Yes|
+
+
+### Return type: [Bool](../types/Bool.md)
+
+### Example:
+
+
+```
+$MadelineProto = new \danog\MadelineProto\API();
+if (isset($token)) {
+ $this->bot_login($token);
+}
+if (isset($number)) {
+ $sentCode = $MadelineProto->phone_login($number);
+ echo 'Enter the code you received: ';
+ $code = '';
+ for ($x = 0; $x < $sentCode['type']['length']; $x++) {
+ $code .= fgetc(STDIN);
+ }
+ $MadelineProto->complete_phone_login($code);
+}
+
+$Bool = $MadelineProto->account->updateNotifySettings(['peer' => InputNotifyPeer, 'settings' => InputPeerNotifySettings, ]);
+```
+
+Or, if you're into Lua:
+
+```
+Bool = account.updateNotifySettings({peer=InputNotifyPeer, settings=InputPeerNotifySettings, })
+```
+
diff --git a/old_docs/API_docs_v62/methods/account_updatePasswordSettings.md b/old_docs/API_docs_v62/methods/account_updatePasswordSettings.md
new file mode 100644
index 00000000..56e4d724
--- /dev/null
+++ b/old_docs/API_docs_v62/methods/account_updatePasswordSettings.md
@@ -0,0 +1,45 @@
+---
+title: account.updatePasswordSettings
+description: account.updatePasswordSettings parameters, return type and example
+---
+## Method: account.updatePasswordSettings
+[Back to methods index](index.md)
+
+
+### Parameters:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|current\_password\_hash|[bytes](../types/bytes.md) | Yes|
+|new\_settings|[account\_PasswordInputSettings](../types/account_PasswordInputSettings.md) | Yes|
+
+
+### Return type: [Bool](../types/Bool.md)
+
+### Example:
+
+
+```
+$MadelineProto = new \danog\MadelineProto\API();
+if (isset($token)) {
+ $this->bot_login($token);
+}
+if (isset($number)) {
+ $sentCode = $MadelineProto->phone_login($number);
+ echo 'Enter the code you received: ';
+ $code = '';
+ for ($x = 0; $x < $sentCode['type']['length']; $x++) {
+ $code .= fgetc(STDIN);
+ }
+ $MadelineProto->complete_phone_login($code);
+}
+
+$Bool = $MadelineProto->account->updatePasswordSettings(['current_password_hash' => bytes, 'new_settings' => account_PasswordInputSettings, ]);
+```
+
+Or, if you're into Lua:
+
+```
+Bool = account.updatePasswordSettings({current_password_hash=bytes, new_settings=account_PasswordInputSettings, })
+```
+
diff --git a/old_docs/API_docs_v62/methods/account_updateProfile.md b/old_docs/API_docs_v62/methods/account_updateProfile.md
new file mode 100644
index 00000000..186a934d
--- /dev/null
+++ b/old_docs/API_docs_v62/methods/account_updateProfile.md
@@ -0,0 +1,46 @@
+---
+title: account.updateProfile
+description: account.updateProfile parameters, return type and example
+---
+## Method: account.updateProfile
+[Back to methods index](index.md)
+
+
+### Parameters:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|first\_name|[string](../types/string.md) | Optional|
+|last\_name|[string](../types/string.md) | Optional|
+|about|[string](../types/string.md) | Optional|
+
+
+### Return type: [User](../types/User.md)
+
+### Example:
+
+
+```
+$MadelineProto = new \danog\MadelineProto\API();
+if (isset($token)) {
+ $this->bot_login($token);
+}
+if (isset($number)) {
+ $sentCode = $MadelineProto->phone_login($number);
+ echo 'Enter the code you received: ';
+ $code = '';
+ for ($x = 0; $x < $sentCode['type']['length']; $x++) {
+ $code .= fgetc(STDIN);
+ }
+ $MadelineProto->complete_phone_login($code);
+}
+
+$User = $MadelineProto->account->updateProfile(['first_name' => string, 'last_name' => string, 'about' => string, ]);
+```
+
+Or, if you're into Lua:
+
+```
+User = account.updateProfile({first_name=string, last_name=string, about=string, })
+```
+
diff --git a/old_docs/API_docs_v62/methods/account_updateStatus.md b/old_docs/API_docs_v62/methods/account_updateStatus.md
new file mode 100644
index 00000000..f2fd751e
--- /dev/null
+++ b/old_docs/API_docs_v62/methods/account_updateStatus.md
@@ -0,0 +1,44 @@
+---
+title: account.updateStatus
+description: account.updateStatus parameters, return type and example
+---
+## Method: account.updateStatus
+[Back to methods index](index.md)
+
+
+### Parameters:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|offline|[Bool](../types/Bool.md) | Yes|
+
+
+### Return type: [Bool](../types/Bool.md)
+
+### Example:
+
+
+```
+$MadelineProto = new \danog\MadelineProto\API();
+if (isset($token)) {
+ $this->bot_login($token);
+}
+if (isset($number)) {
+ $sentCode = $MadelineProto->phone_login($number);
+ echo 'Enter the code you received: ';
+ $code = '';
+ for ($x = 0; $x < $sentCode['type']['length']; $x++) {
+ $code .= fgetc(STDIN);
+ }
+ $MadelineProto->complete_phone_login($code);
+}
+
+$Bool = $MadelineProto->account->updateStatus(['offline' => Bool, ]);
+```
+
+Or, if you're into Lua:
+
+```
+Bool = account.updateStatus({offline=Bool, })
+```
+
diff --git a/old_docs/API_docs_v62/methods/account_updateUsername.md b/old_docs/API_docs_v62/methods/account_updateUsername.md
new file mode 100644
index 00000000..b5e428e4
--- /dev/null
+++ b/old_docs/API_docs_v62/methods/account_updateUsername.md
@@ -0,0 +1,44 @@
+---
+title: account.updateUsername
+description: account.updateUsername parameters, return type and example
+---
+## Method: account.updateUsername
+[Back to methods index](index.md)
+
+
+### Parameters:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|username|[string](../types/string.md) | Yes|
+
+
+### Return type: [User](../types/User.md)
+
+### Example:
+
+
+```
+$MadelineProto = new \danog\MadelineProto\API();
+if (isset($token)) {
+ $this->bot_login($token);
+}
+if (isset($number)) {
+ $sentCode = $MadelineProto->phone_login($number);
+ echo 'Enter the code you received: ';
+ $code = '';
+ for ($x = 0; $x < $sentCode['type']['length']; $x++) {
+ $code .= fgetc(STDIN);
+ }
+ $MadelineProto->complete_phone_login($code);
+}
+
+$User = $MadelineProto->account->updateUsername(['username' => string, ]);
+```
+
+Or, if you're into Lua:
+
+```
+User = account.updateUsername({username=string, })
+```
+
diff --git a/old_docs/API_docs_v62/methods/auth_bindTempAuthKey.md b/old_docs/API_docs_v62/methods/auth_bindTempAuthKey.md
new file mode 100644
index 00000000..87d0c7cf
--- /dev/null
+++ b/old_docs/API_docs_v62/methods/auth_bindTempAuthKey.md
@@ -0,0 +1,47 @@
+---
+title: auth.bindTempAuthKey
+description: auth.bindTempAuthKey parameters, return type and example
+---
+## Method: auth.bindTempAuthKey
+[Back to methods index](index.md)
+
+
+### Parameters:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|perm\_auth\_key\_id|[long](../types/long.md) | Yes|
+|nonce|[long](../types/long.md) | Yes|
+|expires\_at|[int](../types/int.md) | Yes|
+|encrypted\_message|[bytes](../types/bytes.md) | Yes|
+
+
+### Return type: [Bool](../types/Bool.md)
+
+### Example:
+
+
+```
+$MadelineProto = new \danog\MadelineProto\API();
+if (isset($token)) {
+ $this->bot_login($token);
+}
+if (isset($number)) {
+ $sentCode = $MadelineProto->phone_login($number);
+ echo 'Enter the code you received: ';
+ $code = '';
+ for ($x = 0; $x < $sentCode['type']['length']; $x++) {
+ $code .= fgetc(STDIN);
+ }
+ $MadelineProto->complete_phone_login($code);
+}
+
+$Bool = $MadelineProto->auth->bindTempAuthKey(['perm_auth_key_id' => long, 'nonce' => long, 'expires_at' => int, 'encrypted_message' => bytes, ]);
+```
+
+Or, if you're into Lua:
+
+```
+Bool = auth.bindTempAuthKey({perm_auth_key_id=long, nonce=long, expires_at=int, encrypted_message=bytes, })
+```
+
diff --git a/old_docs/API_docs_v62/methods/auth_cancelCode.md b/old_docs/API_docs_v62/methods/auth_cancelCode.md
new file mode 100644
index 00000000..7402df8d
--- /dev/null
+++ b/old_docs/API_docs_v62/methods/auth_cancelCode.md
@@ -0,0 +1,45 @@
+---
+title: auth.cancelCode
+description: auth.cancelCode parameters, return type and example
+---
+## Method: auth.cancelCode
+[Back to methods index](index.md)
+
+
+### Parameters:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|phone\_number|[string](../types/string.md) | Yes|
+|phone\_code\_hash|[string](../types/string.md) | Yes|
+
+
+### Return type: [Bool](../types/Bool.md)
+
+### Example:
+
+
+```
+$MadelineProto = new \danog\MadelineProto\API();
+if (isset($token)) {
+ $this->bot_login($token);
+}
+if (isset($number)) {
+ $sentCode = $MadelineProto->phone_login($number);
+ echo 'Enter the code you received: ';
+ $code = '';
+ for ($x = 0; $x < $sentCode['type']['length']; $x++) {
+ $code .= fgetc(STDIN);
+ }
+ $MadelineProto->complete_phone_login($code);
+}
+
+$Bool = $MadelineProto->auth->cancelCode(['phone_number' => string, 'phone_code_hash' => string, ]);
+```
+
+Or, if you're into Lua:
+
+```
+Bool = auth.cancelCode({phone_number=string, phone_code_hash=string, })
+```
+
diff --git a/old_docs/API_docs_v62/methods/auth_checkPassword.md b/old_docs/API_docs_v62/methods/auth_checkPassword.md
new file mode 100644
index 00000000..601146fc
--- /dev/null
+++ b/old_docs/API_docs_v62/methods/auth_checkPassword.md
@@ -0,0 +1,44 @@
+---
+title: auth.checkPassword
+description: auth.checkPassword parameters, return type and example
+---
+## Method: auth.checkPassword
+[Back to methods index](index.md)
+
+
+### Parameters:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|password\_hash|[bytes](../types/bytes.md) | Yes|
+
+
+### Return type: [auth\_Authorization](../types/auth_Authorization.md)
+
+### Example:
+
+
+```
+$MadelineProto = new \danog\MadelineProto\API();
+if (isset($token)) {
+ $this->bot_login($token);
+}
+if (isset($number)) {
+ $sentCode = $MadelineProto->phone_login($number);
+ echo 'Enter the code you received: ';
+ $code = '';
+ for ($x = 0; $x < $sentCode['type']['length']; $x++) {
+ $code .= fgetc(STDIN);
+ }
+ $MadelineProto->complete_phone_login($code);
+}
+
+$auth_Authorization = $MadelineProto->auth->checkPassword(['password_hash' => bytes, ]);
+```
+
+Or, if you're into Lua:
+
+```
+auth_Authorization = auth.checkPassword({password_hash=bytes, })
+```
+
diff --git a/old_docs/API_docs_v62/methods/auth_checkPhone.md b/old_docs/API_docs_v62/methods/auth_checkPhone.md
new file mode 100644
index 00000000..2e4db690
--- /dev/null
+++ b/old_docs/API_docs_v62/methods/auth_checkPhone.md
@@ -0,0 +1,44 @@
+---
+title: auth.checkPhone
+description: auth.checkPhone parameters, return type and example
+---
+## Method: auth.checkPhone
+[Back to methods index](index.md)
+
+
+### Parameters:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|phone\_number|[string](../types/string.md) | Yes|
+
+
+### Return type: [auth\_CheckedPhone](../types/auth_CheckedPhone.md)
+
+### Example:
+
+
+```
+$MadelineProto = new \danog\MadelineProto\API();
+if (isset($token)) {
+ $this->bot_login($token);
+}
+if (isset($number)) {
+ $sentCode = $MadelineProto->phone_login($number);
+ echo 'Enter the code you received: ';
+ $code = '';
+ for ($x = 0; $x < $sentCode['type']['length']; $x++) {
+ $code .= fgetc(STDIN);
+ }
+ $MadelineProto->complete_phone_login($code);
+}
+
+$auth_CheckedPhone = $MadelineProto->auth->checkPhone(['phone_number' => string, ]);
+```
+
+Or, if you're into Lua:
+
+```
+auth_CheckedPhone = auth.checkPhone({phone_number=string, })
+```
+
diff --git a/old_docs/API_docs_v62/methods/auth_dropTempAuthKeys.md b/old_docs/API_docs_v62/methods/auth_dropTempAuthKeys.md
new file mode 100644
index 00000000..b138701f
--- /dev/null
+++ b/old_docs/API_docs_v62/methods/auth_dropTempAuthKeys.md
@@ -0,0 +1,44 @@
+---
+title: auth.dropTempAuthKeys
+description: auth.dropTempAuthKeys parameters, return type and example
+---
+## Method: auth.dropTempAuthKeys
+[Back to methods index](index.md)
+
+
+### Parameters:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|except\_auth\_keys|Array of [long](../types/long.md) | Yes|
+
+
+### Return type: [Bool](../types/Bool.md)
+
+### Example:
+
+
+```
+$MadelineProto = new \danog\MadelineProto\API();
+if (isset($token)) {
+ $this->bot_login($token);
+}
+if (isset($number)) {
+ $sentCode = $MadelineProto->phone_login($number);
+ echo 'Enter the code you received: ';
+ $code = '';
+ for ($x = 0; $x < $sentCode['type']['length']; $x++) {
+ $code .= fgetc(STDIN);
+ }
+ $MadelineProto->complete_phone_login($code);
+}
+
+$Bool = $MadelineProto->auth->dropTempAuthKeys(['except_auth_keys' => [long], ]);
+```
+
+Or, if you're into Lua:
+
+```
+Bool = auth.dropTempAuthKeys({except_auth_keys={long}, })
+```
+
diff --git a/old_docs/API_docs_v62/methods/auth_exportAuthorization.md b/old_docs/API_docs_v62/methods/auth_exportAuthorization.md
new file mode 100644
index 00000000..a69f0301
--- /dev/null
+++ b/old_docs/API_docs_v62/methods/auth_exportAuthorization.md
@@ -0,0 +1,44 @@
+---
+title: auth.exportAuthorization
+description: auth.exportAuthorization parameters, return type and example
+---
+## Method: auth.exportAuthorization
+[Back to methods index](index.md)
+
+
+### Parameters:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|dc\_id|[int](../types/int.md) | Yes|
+
+
+### Return type: [auth\_ExportedAuthorization](../types/auth_ExportedAuthorization.md)
+
+### Example:
+
+
+```
+$MadelineProto = new \danog\MadelineProto\API();
+if (isset($token)) {
+ $this->bot_login($token);
+}
+if (isset($number)) {
+ $sentCode = $MadelineProto->phone_login($number);
+ echo 'Enter the code you received: ';
+ $code = '';
+ for ($x = 0; $x < $sentCode['type']['length']; $x++) {
+ $code .= fgetc(STDIN);
+ }
+ $MadelineProto->complete_phone_login($code);
+}
+
+$auth_ExportedAuthorization = $MadelineProto->auth->exportAuthorization(['dc_id' => int, ]);
+```
+
+Or, if you're into Lua:
+
+```
+auth_ExportedAuthorization = auth.exportAuthorization({dc_id=int, })
+```
+
diff --git a/old_docs/API_docs_v62/methods/auth_importAuthorization.md b/old_docs/API_docs_v62/methods/auth_importAuthorization.md
new file mode 100644
index 00000000..a0e2e4b7
--- /dev/null
+++ b/old_docs/API_docs_v62/methods/auth_importAuthorization.md
@@ -0,0 +1,45 @@
+---
+title: auth.importAuthorization
+description: auth.importAuthorization parameters, return type and example
+---
+## Method: auth.importAuthorization
+[Back to methods index](index.md)
+
+
+### Parameters:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|id|[int](../types/int.md) | Yes|
+|bytes|[bytes](../types/bytes.md) | Yes|
+
+
+### Return type: [auth\_Authorization](../types/auth_Authorization.md)
+
+### Example:
+
+
+```
+$MadelineProto = new \danog\MadelineProto\API();
+if (isset($token)) {
+ $this->bot_login($token);
+}
+if (isset($number)) {
+ $sentCode = $MadelineProto->phone_login($number);
+ echo 'Enter the code you received: ';
+ $code = '';
+ for ($x = 0; $x < $sentCode['type']['length']; $x++) {
+ $code .= fgetc(STDIN);
+ }
+ $MadelineProto->complete_phone_login($code);
+}
+
+$auth_Authorization = $MadelineProto->auth->importAuthorization(['id' => int, 'bytes' => bytes, ]);
+```
+
+Or, if you're into Lua:
+
+```
+auth_Authorization = auth.importAuthorization({id=int, bytes=bytes, })
+```
+
diff --git a/old_docs/API_docs_v62/methods/auth_importBotAuthorization.md b/old_docs/API_docs_v62/methods/auth_importBotAuthorization.md
new file mode 100644
index 00000000..a78a5263
--- /dev/null
+++ b/old_docs/API_docs_v62/methods/auth_importBotAuthorization.md
@@ -0,0 +1,46 @@
+---
+title: auth.importBotAuthorization
+description: auth.importBotAuthorization parameters, return type and example
+---
+## Method: auth.importBotAuthorization
+[Back to methods index](index.md)
+
+
+### Parameters:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|api\_id|[int](../types/int.md) | Yes|
+|api\_hash|[string](../types/string.md) | Yes|
+|bot\_auth\_token|[string](../types/string.md) | Yes|
+
+
+### Return type: [auth\_Authorization](../types/auth_Authorization.md)
+
+### Example:
+
+
+```
+$MadelineProto = new \danog\MadelineProto\API();
+if (isset($token)) {
+ $this->bot_login($token);
+}
+if (isset($number)) {
+ $sentCode = $MadelineProto->phone_login($number);
+ echo 'Enter the code you received: ';
+ $code = '';
+ for ($x = 0; $x < $sentCode['type']['length']; $x++) {
+ $code .= fgetc(STDIN);
+ }
+ $MadelineProto->complete_phone_login($code);
+}
+
+$auth_Authorization = $MadelineProto->auth->importBotAuthorization(['api_id' => int, 'api_hash' => string, 'bot_auth_token' => string, ]);
+```
+
+Or, if you're into Lua:
+
+```
+auth_Authorization = auth.importBotAuthorization({api_id=int, api_hash=string, bot_auth_token=string, })
+```
+
diff --git a/old_docs/API_docs_v62/methods/auth_logOut.md b/old_docs/API_docs_v62/methods/auth_logOut.md
new file mode 100644
index 00000000..ac5bd8ae
--- /dev/null
+++ b/old_docs/API_docs_v62/methods/auth_logOut.md
@@ -0,0 +1,39 @@
+---
+title: auth.logOut
+description: auth.logOut parameters, return type and example
+---
+## Method: auth.logOut
+[Back to methods index](index.md)
+
+
+
+
+### Return type: [Bool](../types/Bool.md)
+
+### Example:
+
+
+```
+$MadelineProto = new \danog\MadelineProto\API();
+if (isset($token)) {
+ $this->bot_login($token);
+}
+if (isset($number)) {
+ $sentCode = $MadelineProto->phone_login($number);
+ echo 'Enter the code you received: ';
+ $code = '';
+ for ($x = 0; $x < $sentCode['type']['length']; $x++) {
+ $code .= fgetc(STDIN);
+ }
+ $MadelineProto->complete_phone_login($code);
+}
+
+$Bool = $MadelineProto->auth->logOut();
+```
+
+Or, if you're into Lua:
+
+```
+Bool = auth.logOut({})
+```
+
diff --git a/old_docs/API_docs_v62/methods/auth_recoverPassword.md b/old_docs/API_docs_v62/methods/auth_recoverPassword.md
new file mode 100644
index 00000000..9b7ebcfb
--- /dev/null
+++ b/old_docs/API_docs_v62/methods/auth_recoverPassword.md
@@ -0,0 +1,44 @@
+---
+title: auth.recoverPassword
+description: auth.recoverPassword parameters, return type and example
+---
+## Method: auth.recoverPassword
+[Back to methods index](index.md)
+
+
+### Parameters:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|code|[string](../types/string.md) | Yes|
+
+
+### Return type: [auth\_Authorization](../types/auth_Authorization.md)
+
+### Example:
+
+
+```
+$MadelineProto = new \danog\MadelineProto\API();
+if (isset($token)) {
+ $this->bot_login($token);
+}
+if (isset($number)) {
+ $sentCode = $MadelineProto->phone_login($number);
+ echo 'Enter the code you received: ';
+ $code = '';
+ for ($x = 0; $x < $sentCode['type']['length']; $x++) {
+ $code .= fgetc(STDIN);
+ }
+ $MadelineProto->complete_phone_login($code);
+}
+
+$auth_Authorization = $MadelineProto->auth->recoverPassword(['code' => string, ]);
+```
+
+Or, if you're into Lua:
+
+```
+auth_Authorization = auth.recoverPassword({code=string, })
+```
+
diff --git a/old_docs/API_docs_v62/methods/auth_requestPasswordRecovery.md b/old_docs/API_docs_v62/methods/auth_requestPasswordRecovery.md
new file mode 100644
index 00000000..94c0aeff
--- /dev/null
+++ b/old_docs/API_docs_v62/methods/auth_requestPasswordRecovery.md
@@ -0,0 +1,39 @@
+---
+title: auth.requestPasswordRecovery
+description: auth.requestPasswordRecovery parameters, return type and example
+---
+## Method: auth.requestPasswordRecovery
+[Back to methods index](index.md)
+
+
+
+
+### Return type: [auth\_PasswordRecovery](../types/auth_PasswordRecovery.md)
+
+### Example:
+
+
+```
+$MadelineProto = new \danog\MadelineProto\API();
+if (isset($token)) {
+ $this->bot_login($token);
+}
+if (isset($number)) {
+ $sentCode = $MadelineProto->phone_login($number);
+ echo 'Enter the code you received: ';
+ $code = '';
+ for ($x = 0; $x < $sentCode['type']['length']; $x++) {
+ $code .= fgetc(STDIN);
+ }
+ $MadelineProto->complete_phone_login($code);
+}
+
+$auth_PasswordRecovery = $MadelineProto->auth->requestPasswordRecovery();
+```
+
+Or, if you're into Lua:
+
+```
+auth_PasswordRecovery = auth.requestPasswordRecovery({})
+```
+
diff --git a/old_docs/API_docs_v62/methods/auth_resendCode.md b/old_docs/API_docs_v62/methods/auth_resendCode.md
new file mode 100644
index 00000000..8b36b17c
--- /dev/null
+++ b/old_docs/API_docs_v62/methods/auth_resendCode.md
@@ -0,0 +1,45 @@
+---
+title: auth.resendCode
+description: auth.resendCode parameters, return type and example
+---
+## Method: auth.resendCode
+[Back to methods index](index.md)
+
+
+### Parameters:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|phone\_number|[string](../types/string.md) | Yes|
+|phone\_code\_hash|[string](../types/string.md) | Yes|
+
+
+### Return type: [auth\_SentCode](../types/auth_SentCode.md)
+
+### Example:
+
+
+```
+$MadelineProto = new \danog\MadelineProto\API();
+if (isset($token)) {
+ $this->bot_login($token);
+}
+if (isset($number)) {
+ $sentCode = $MadelineProto->phone_login($number);
+ echo 'Enter the code you received: ';
+ $code = '';
+ for ($x = 0; $x < $sentCode['type']['length']; $x++) {
+ $code .= fgetc(STDIN);
+ }
+ $MadelineProto->complete_phone_login($code);
+}
+
+$auth_SentCode = $MadelineProto->auth->resendCode(['phone_number' => string, 'phone_code_hash' => string, ]);
+```
+
+Or, if you're into Lua:
+
+```
+auth_SentCode = auth.resendCode({phone_number=string, phone_code_hash=string, })
+```
+
diff --git a/old_docs/API_docs_v62/methods/auth_resetAuthorizations.md b/old_docs/API_docs_v62/methods/auth_resetAuthorizations.md
new file mode 100644
index 00000000..f55e2e4d
--- /dev/null
+++ b/old_docs/API_docs_v62/methods/auth_resetAuthorizations.md
@@ -0,0 +1,39 @@
+---
+title: auth.resetAuthorizations
+description: auth.resetAuthorizations parameters, return type and example
+---
+## Method: auth.resetAuthorizations
+[Back to methods index](index.md)
+
+
+
+
+### Return type: [Bool](../types/Bool.md)
+
+### Example:
+
+
+```
+$MadelineProto = new \danog\MadelineProto\API();
+if (isset($token)) {
+ $this->bot_login($token);
+}
+if (isset($number)) {
+ $sentCode = $MadelineProto->phone_login($number);
+ echo 'Enter the code you received: ';
+ $code = '';
+ for ($x = 0; $x < $sentCode['type']['length']; $x++) {
+ $code .= fgetc(STDIN);
+ }
+ $MadelineProto->complete_phone_login($code);
+}
+
+$Bool = $MadelineProto->auth->resetAuthorizations();
+```
+
+Or, if you're into Lua:
+
+```
+Bool = auth.resetAuthorizations({})
+```
+
diff --git a/old_docs/API_docs_v62/methods/auth_sendCode.md b/old_docs/API_docs_v62/methods/auth_sendCode.md
new file mode 100644
index 00000000..6c195531
--- /dev/null
+++ b/old_docs/API_docs_v62/methods/auth_sendCode.md
@@ -0,0 +1,48 @@
+---
+title: auth.sendCode
+description: auth.sendCode parameters, return type and example
+---
+## Method: auth.sendCode
+[Back to methods index](index.md)
+
+
+### Parameters:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|allow\_flashcall|[Bool](../types/Bool.md) | Optional|
+|phone\_number|[string](../types/string.md) | Yes|
+|current\_number|[Bool](../types/Bool.md) | Optional|
+|api\_id|[int](../types/int.md) | Yes|
+|api\_hash|[string](../types/string.md) | Yes|
+
+
+### Return type: [auth\_SentCode](../types/auth_SentCode.md)
+
+### Example:
+
+
+```
+$MadelineProto = new \danog\MadelineProto\API();
+if (isset($token)) {
+ $this->bot_login($token);
+}
+if (isset($number)) {
+ $sentCode = $MadelineProto->phone_login($number);
+ echo 'Enter the code you received: ';
+ $code = '';
+ for ($x = 0; $x < $sentCode['type']['length']; $x++) {
+ $code .= fgetc(STDIN);
+ }
+ $MadelineProto->complete_phone_login($code);
+}
+
+$auth_SentCode = $MadelineProto->auth->sendCode(['allow_flashcall' => Bool, 'phone_number' => string, 'current_number' => Bool, 'api_id' => int, 'api_hash' => string, ]);
+```
+
+Or, if you're into Lua:
+
+```
+auth_SentCode = auth.sendCode({allow_flashcall=Bool, phone_number=string, current_number=Bool, api_id=int, api_hash=string, })
+```
+
diff --git a/old_docs/API_docs_v62/methods/auth_sendInvites.md b/old_docs/API_docs_v62/methods/auth_sendInvites.md
new file mode 100644
index 00000000..f81a5c7e
--- /dev/null
+++ b/old_docs/API_docs_v62/methods/auth_sendInvites.md
@@ -0,0 +1,45 @@
+---
+title: auth.sendInvites
+description: auth.sendInvites parameters, return type and example
+---
+## Method: auth.sendInvites
+[Back to methods index](index.md)
+
+
+### Parameters:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|phone\_numbers|Array of [string](../types/string.md) | Yes|
+|message|[string](../types/string.md) | Yes|
+
+
+### Return type: [Bool](../types/Bool.md)
+
+### Example:
+
+
+```
+$MadelineProto = new \danog\MadelineProto\API();
+if (isset($token)) {
+ $this->bot_login($token);
+}
+if (isset($number)) {
+ $sentCode = $MadelineProto->phone_login($number);
+ echo 'Enter the code you received: ';
+ $code = '';
+ for ($x = 0; $x < $sentCode['type']['length']; $x++) {
+ $code .= fgetc(STDIN);
+ }
+ $MadelineProto->complete_phone_login($code);
+}
+
+$Bool = $MadelineProto->auth->sendInvites(['phone_numbers' => [string], 'message' => string, ]);
+```
+
+Or, if you're into Lua:
+
+```
+Bool = auth.sendInvites({phone_numbers={string}, message=string, })
+```
+
diff --git a/old_docs/API_docs_v62/methods/auth_signIn.md b/old_docs/API_docs_v62/methods/auth_signIn.md
new file mode 100644
index 00000000..7616bc80
--- /dev/null
+++ b/old_docs/API_docs_v62/methods/auth_signIn.md
@@ -0,0 +1,46 @@
+---
+title: auth.signIn
+description: auth.signIn parameters, return type and example
+---
+## Method: auth.signIn
+[Back to methods index](index.md)
+
+
+### Parameters:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|phone\_number|[string](../types/string.md) | Yes|
+|phone\_code\_hash|[string](../types/string.md) | Yes|
+|phone\_code|[string](../types/string.md) | Yes|
+
+
+### Return type: [auth\_Authorization](../types/auth_Authorization.md)
+
+### Example:
+
+
+```
+$MadelineProto = new \danog\MadelineProto\API();
+if (isset($token)) {
+ $this->bot_login($token);
+}
+if (isset($number)) {
+ $sentCode = $MadelineProto->phone_login($number);
+ echo 'Enter the code you received: ';
+ $code = '';
+ for ($x = 0; $x < $sentCode['type']['length']; $x++) {
+ $code .= fgetc(STDIN);
+ }
+ $MadelineProto->complete_phone_login($code);
+}
+
+$auth_Authorization = $MadelineProto->auth->signIn(['phone_number' => string, 'phone_code_hash' => string, 'phone_code' => string, ]);
+```
+
+Or, if you're into Lua:
+
+```
+auth_Authorization = auth.signIn({phone_number=string, phone_code_hash=string, phone_code=string, })
+```
+
diff --git a/old_docs/API_docs_v62/methods/auth_signUp.md b/old_docs/API_docs_v62/methods/auth_signUp.md
new file mode 100644
index 00000000..f9c72d64
--- /dev/null
+++ b/old_docs/API_docs_v62/methods/auth_signUp.md
@@ -0,0 +1,48 @@
+---
+title: auth.signUp
+description: auth.signUp parameters, return type and example
+---
+## Method: auth.signUp
+[Back to methods index](index.md)
+
+
+### Parameters:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|phone\_number|[string](../types/string.md) | Yes|
+|phone\_code\_hash|[string](../types/string.md) | Yes|
+|phone\_code|[string](../types/string.md) | Yes|
+|first\_name|[string](../types/string.md) | Yes|
+|last\_name|[string](../types/string.md) | Yes|
+
+
+### Return type: [auth\_Authorization](../types/auth_Authorization.md)
+
+### Example:
+
+
+```
+$MadelineProto = new \danog\MadelineProto\API();
+if (isset($token)) {
+ $this->bot_login($token);
+}
+if (isset($number)) {
+ $sentCode = $MadelineProto->phone_login($number);
+ echo 'Enter the code you received: ';
+ $code = '';
+ for ($x = 0; $x < $sentCode['type']['length']; $x++) {
+ $code .= fgetc(STDIN);
+ }
+ $MadelineProto->complete_phone_login($code);
+}
+
+$auth_Authorization = $MadelineProto->auth->signUp(['phone_number' => string, 'phone_code_hash' => string, 'phone_code' => string, 'first_name' => string, 'last_name' => string, ]);
+```
+
+Or, if you're into Lua:
+
+```
+auth_Authorization = auth.signUp({phone_number=string, phone_code_hash=string, phone_code=string, first_name=string, last_name=string, })
+```
+
diff --git a/old_docs/API_docs_v62/methods/channels_checkUsername.md b/old_docs/API_docs_v62/methods/channels_checkUsername.md
new file mode 100644
index 00000000..82990d05
--- /dev/null
+++ b/old_docs/API_docs_v62/methods/channels_checkUsername.md
@@ -0,0 +1,45 @@
+---
+title: channels.checkUsername
+description: channels.checkUsername parameters, return type and example
+---
+## Method: channels.checkUsername
+[Back to methods index](index.md)
+
+
+### Parameters:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|channel|[InputChannel](../types/InputChannel.md) | Yes|
+|username|[string](../types/string.md) | Yes|
+
+
+### Return type: [Bool](../types/Bool.md)
+
+### Example:
+
+
+```
+$MadelineProto = new \danog\MadelineProto\API();
+if (isset($token)) {
+ $this->bot_login($token);
+}
+if (isset($number)) {
+ $sentCode = $MadelineProto->phone_login($number);
+ echo 'Enter the code you received: ';
+ $code = '';
+ for ($x = 0; $x < $sentCode['type']['length']; $x++) {
+ $code .= fgetc(STDIN);
+ }
+ $MadelineProto->complete_phone_login($code);
+}
+
+$Bool = $MadelineProto->channels->checkUsername(['channel' => InputChannel, 'username' => string, ]);
+```
+
+Or, if you're into Lua:
+
+```
+Bool = channels.checkUsername({channel=InputChannel, username=string, })
+```
+
diff --git a/old_docs/API_docs_v62/methods/channels_createChannel.md b/old_docs/API_docs_v62/methods/channels_createChannel.md
new file mode 100644
index 00000000..b5ffa159
--- /dev/null
+++ b/old_docs/API_docs_v62/methods/channels_createChannel.md
@@ -0,0 +1,47 @@
+---
+title: channels.createChannel
+description: channels.createChannel parameters, return type and example
+---
+## Method: channels.createChannel
+[Back to methods index](index.md)
+
+
+### Parameters:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|broadcast|[Bool](../types/Bool.md) | Optional|
+|megagroup|[Bool](../types/Bool.md) | Optional|
+|title|[string](../types/string.md) | Yes|
+|about|[string](../types/string.md) | Yes|
+
+
+### Return type: [Updates](../types/Updates.md)
+
+### Example:
+
+
+```
+$MadelineProto = new \danog\MadelineProto\API();
+if (isset($token)) {
+ $this->bot_login($token);
+}
+if (isset($number)) {
+ $sentCode = $MadelineProto->phone_login($number);
+ echo 'Enter the code you received: ';
+ $code = '';
+ for ($x = 0; $x < $sentCode['type']['length']; $x++) {
+ $code .= fgetc(STDIN);
+ }
+ $MadelineProto->complete_phone_login($code);
+}
+
+$Updates = $MadelineProto->channels->createChannel(['broadcast' => Bool, 'megagroup' => Bool, 'title' => string, 'about' => string, ]);
+```
+
+Or, if you're into Lua:
+
+```
+Updates = channels.createChannel({broadcast=Bool, megagroup=Bool, title=string, about=string, })
+```
+
diff --git a/old_docs/API_docs_v62/methods/channels_deleteChannel.md b/old_docs/API_docs_v62/methods/channels_deleteChannel.md
new file mode 100644
index 00000000..c1eba22f
--- /dev/null
+++ b/old_docs/API_docs_v62/methods/channels_deleteChannel.md
@@ -0,0 +1,44 @@
+---
+title: channels.deleteChannel
+description: channels.deleteChannel parameters, return type and example
+---
+## Method: channels.deleteChannel
+[Back to methods index](index.md)
+
+
+### Parameters:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|channel|[InputChannel](../types/InputChannel.md) | Yes|
+
+
+### Return type: [Updates](../types/Updates.md)
+
+### Example:
+
+
+```
+$MadelineProto = new \danog\MadelineProto\API();
+if (isset($token)) {
+ $this->bot_login($token);
+}
+if (isset($number)) {
+ $sentCode = $MadelineProto->phone_login($number);
+ echo 'Enter the code you received: ';
+ $code = '';
+ for ($x = 0; $x < $sentCode['type']['length']; $x++) {
+ $code .= fgetc(STDIN);
+ }
+ $MadelineProto->complete_phone_login($code);
+}
+
+$Updates = $MadelineProto->channels->deleteChannel(['channel' => InputChannel, ]);
+```
+
+Or, if you're into Lua:
+
+```
+Updates = channels.deleteChannel({channel=InputChannel, })
+```
+
diff --git a/old_docs/API_docs_v62/methods/channels_deleteMessages.md b/old_docs/API_docs_v62/methods/channels_deleteMessages.md
new file mode 100644
index 00000000..e2e5e2bb
--- /dev/null
+++ b/old_docs/API_docs_v62/methods/channels_deleteMessages.md
@@ -0,0 +1,45 @@
+---
+title: channels.deleteMessages
+description: channels.deleteMessages parameters, return type and example
+---
+## Method: channels.deleteMessages
+[Back to methods index](index.md)
+
+
+### Parameters:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|channel|[InputChannel](../types/InputChannel.md) | Yes|
+|id|Array of [int](../types/int.md) | Yes|
+
+
+### Return type: [messages\_AffectedMessages](../types/messages_AffectedMessages.md)
+
+### Example:
+
+
+```
+$MadelineProto = new \danog\MadelineProto\API();
+if (isset($token)) {
+ $this->bot_login($token);
+}
+if (isset($number)) {
+ $sentCode = $MadelineProto->phone_login($number);
+ echo 'Enter the code you received: ';
+ $code = '';
+ for ($x = 0; $x < $sentCode['type']['length']; $x++) {
+ $code .= fgetc(STDIN);
+ }
+ $MadelineProto->complete_phone_login($code);
+}
+
+$messages_AffectedMessages = $MadelineProto->channels->deleteMessages(['channel' => InputChannel, 'id' => [int], ]);
+```
+
+Or, if you're into Lua:
+
+```
+messages_AffectedMessages = channels.deleteMessages({channel=InputChannel, id={int}, })
+```
+
diff --git a/old_docs/API_docs_v62/methods/channels_deleteUserHistory.md b/old_docs/API_docs_v62/methods/channels_deleteUserHistory.md
new file mode 100644
index 00000000..d3feb071
--- /dev/null
+++ b/old_docs/API_docs_v62/methods/channels_deleteUserHistory.md
@@ -0,0 +1,45 @@
+---
+title: channels.deleteUserHistory
+description: channels.deleteUserHistory parameters, return type and example
+---
+## Method: channels.deleteUserHistory
+[Back to methods index](index.md)
+
+
+### Parameters:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|channel|[InputChannel](../types/InputChannel.md) | Yes|
+|user\_id|[InputUser](../types/InputUser.md) | Yes|
+
+
+### Return type: [messages\_AffectedHistory](../types/messages_AffectedHistory.md)
+
+### Example:
+
+
+```
+$MadelineProto = new \danog\MadelineProto\API();
+if (isset($token)) {
+ $this->bot_login($token);
+}
+if (isset($number)) {
+ $sentCode = $MadelineProto->phone_login($number);
+ echo 'Enter the code you received: ';
+ $code = '';
+ for ($x = 0; $x < $sentCode['type']['length']; $x++) {
+ $code .= fgetc(STDIN);
+ }
+ $MadelineProto->complete_phone_login($code);
+}
+
+$messages_AffectedHistory = $MadelineProto->channels->deleteUserHistory(['channel' => InputChannel, 'user_id' => InputUser, ]);
+```
+
+Or, if you're into Lua:
+
+```
+messages_AffectedHistory = channels.deleteUserHistory({channel=InputChannel, user_id=InputUser, })
+```
+
diff --git a/old_docs/API_docs_v62/methods/channels_editAbout.md b/old_docs/API_docs_v62/methods/channels_editAbout.md
new file mode 100644
index 00000000..12d9df80
--- /dev/null
+++ b/old_docs/API_docs_v62/methods/channels_editAbout.md
@@ -0,0 +1,45 @@
+---
+title: channels.editAbout
+description: channels.editAbout parameters, return type and example
+---
+## Method: channels.editAbout
+[Back to methods index](index.md)
+
+
+### Parameters:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|channel|[InputChannel](../types/InputChannel.md) | Yes|
+|about|[string](../types/string.md) | Yes|
+
+
+### Return type: [Bool](../types/Bool.md)
+
+### Example:
+
+
+```
+$MadelineProto = new \danog\MadelineProto\API();
+if (isset($token)) {
+ $this->bot_login($token);
+}
+if (isset($number)) {
+ $sentCode = $MadelineProto->phone_login($number);
+ echo 'Enter the code you received: ';
+ $code = '';
+ for ($x = 0; $x < $sentCode['type']['length']; $x++) {
+ $code .= fgetc(STDIN);
+ }
+ $MadelineProto->complete_phone_login($code);
+}
+
+$Bool = $MadelineProto->channels->editAbout(['channel' => InputChannel, 'about' => string, ]);
+```
+
+Or, if you're into Lua:
+
+```
+Bool = channels.editAbout({channel=InputChannel, about=string, })
+```
+
diff --git a/old_docs/API_docs_v62/methods/channels_editAdmin.md b/old_docs/API_docs_v62/methods/channels_editAdmin.md
new file mode 100644
index 00000000..1e488778
--- /dev/null
+++ b/old_docs/API_docs_v62/methods/channels_editAdmin.md
@@ -0,0 +1,46 @@
+---
+title: channels.editAdmin
+description: channels.editAdmin parameters, return type and example
+---
+## Method: channels.editAdmin
+[Back to methods index](index.md)
+
+
+### Parameters:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|channel|[InputChannel](../types/InputChannel.md) | Yes|
+|user\_id|[InputUser](../types/InputUser.md) | Yes|
+|role|[ChannelParticipantRole](../types/ChannelParticipantRole.md) | Yes|
+
+
+### Return type: [Updates](../types/Updates.md)
+
+### Example:
+
+
+```
+$MadelineProto = new \danog\MadelineProto\API();
+if (isset($token)) {
+ $this->bot_login($token);
+}
+if (isset($number)) {
+ $sentCode = $MadelineProto->phone_login($number);
+ echo 'Enter the code you received: ';
+ $code = '';
+ for ($x = 0; $x < $sentCode['type']['length']; $x++) {
+ $code .= fgetc(STDIN);
+ }
+ $MadelineProto->complete_phone_login($code);
+}
+
+$Updates = $MadelineProto->channels->editAdmin(['channel' => InputChannel, 'user_id' => InputUser, 'role' => ChannelParticipantRole, ]);
+```
+
+Or, if you're into Lua:
+
+```
+Updates = channels.editAdmin({channel=InputChannel, user_id=InputUser, role=ChannelParticipantRole, })
+```
+
diff --git a/old_docs/API_docs_v62/methods/channels_editPhoto.md b/old_docs/API_docs_v62/methods/channels_editPhoto.md
new file mode 100644
index 00000000..9c0d0fe0
--- /dev/null
+++ b/old_docs/API_docs_v62/methods/channels_editPhoto.md
@@ -0,0 +1,45 @@
+---
+title: channels.editPhoto
+description: channels.editPhoto parameters, return type and example
+---
+## Method: channels.editPhoto
+[Back to methods index](index.md)
+
+
+### Parameters:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|channel|[InputChannel](../types/InputChannel.md) | Yes|
+|photo|[InputChatPhoto](../types/InputChatPhoto.md) | Yes|
+
+
+### Return type: [Updates](../types/Updates.md)
+
+### Example:
+
+
+```
+$MadelineProto = new \danog\MadelineProto\API();
+if (isset($token)) {
+ $this->bot_login($token);
+}
+if (isset($number)) {
+ $sentCode = $MadelineProto->phone_login($number);
+ echo 'Enter the code you received: ';
+ $code = '';
+ for ($x = 0; $x < $sentCode['type']['length']; $x++) {
+ $code .= fgetc(STDIN);
+ }
+ $MadelineProto->complete_phone_login($code);
+}
+
+$Updates = $MadelineProto->channels->editPhoto(['channel' => InputChannel, 'photo' => InputChatPhoto, ]);
+```
+
+Or, if you're into Lua:
+
+```
+Updates = channels.editPhoto({channel=InputChannel, photo=InputChatPhoto, })
+```
+
diff --git a/old_docs/API_docs_v62/methods/channels_editTitle.md b/old_docs/API_docs_v62/methods/channels_editTitle.md
new file mode 100644
index 00000000..057c7772
--- /dev/null
+++ b/old_docs/API_docs_v62/methods/channels_editTitle.md
@@ -0,0 +1,45 @@
+---
+title: channels.editTitle
+description: channels.editTitle parameters, return type and example
+---
+## Method: channels.editTitle
+[Back to methods index](index.md)
+
+
+### Parameters:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|channel|[InputChannel](../types/InputChannel.md) | Yes|
+|title|[string](../types/string.md) | Yes|
+
+
+### Return type: [Updates](../types/Updates.md)
+
+### Example:
+
+
+```
+$MadelineProto = new \danog\MadelineProto\API();
+if (isset($token)) {
+ $this->bot_login($token);
+}
+if (isset($number)) {
+ $sentCode = $MadelineProto->phone_login($number);
+ echo 'Enter the code you received: ';
+ $code = '';
+ for ($x = 0; $x < $sentCode['type']['length']; $x++) {
+ $code .= fgetc(STDIN);
+ }
+ $MadelineProto->complete_phone_login($code);
+}
+
+$Updates = $MadelineProto->channels->editTitle(['channel' => InputChannel, 'title' => string, ]);
+```
+
+Or, if you're into Lua:
+
+```
+Updates = channels.editTitle({channel=InputChannel, title=string, })
+```
+
diff --git a/old_docs/API_docs_v62/methods/channels_exportInvite.md b/old_docs/API_docs_v62/methods/channels_exportInvite.md
new file mode 100644
index 00000000..c5fa1bf9
--- /dev/null
+++ b/old_docs/API_docs_v62/methods/channels_exportInvite.md
@@ -0,0 +1,44 @@
+---
+title: channels.exportInvite
+description: channels.exportInvite parameters, return type and example
+---
+## Method: channels.exportInvite
+[Back to methods index](index.md)
+
+
+### Parameters:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|channel|[InputChannel](../types/InputChannel.md) | Yes|
+
+
+### Return type: [ExportedChatInvite](../types/ExportedChatInvite.md)
+
+### Example:
+
+
+```
+$MadelineProto = new \danog\MadelineProto\API();
+if (isset($token)) {
+ $this->bot_login($token);
+}
+if (isset($number)) {
+ $sentCode = $MadelineProto->phone_login($number);
+ echo 'Enter the code you received: ';
+ $code = '';
+ for ($x = 0; $x < $sentCode['type']['length']; $x++) {
+ $code .= fgetc(STDIN);
+ }
+ $MadelineProto->complete_phone_login($code);
+}
+
+$ExportedChatInvite = $MadelineProto->channels->exportInvite(['channel' => InputChannel, ]);
+```
+
+Or, if you're into Lua:
+
+```
+ExportedChatInvite = channels.exportInvite({channel=InputChannel, })
+```
+
diff --git a/old_docs/API_docs_v62/methods/channels_exportMessageLink.md b/old_docs/API_docs_v62/methods/channels_exportMessageLink.md
new file mode 100644
index 00000000..0b1a7102
--- /dev/null
+++ b/old_docs/API_docs_v62/methods/channels_exportMessageLink.md
@@ -0,0 +1,45 @@
+---
+title: channels.exportMessageLink
+description: channels.exportMessageLink parameters, return type and example
+---
+## Method: channels.exportMessageLink
+[Back to methods index](index.md)
+
+
+### Parameters:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|channel|[InputChannel](../types/InputChannel.md) | Yes|
+|id|[int](../types/int.md) | Yes|
+
+
+### Return type: [ExportedMessageLink](../types/ExportedMessageLink.md)
+
+### Example:
+
+
+```
+$MadelineProto = new \danog\MadelineProto\API();
+if (isset($token)) {
+ $this->bot_login($token);
+}
+if (isset($number)) {
+ $sentCode = $MadelineProto->phone_login($number);
+ echo 'Enter the code you received: ';
+ $code = '';
+ for ($x = 0; $x < $sentCode['type']['length']; $x++) {
+ $code .= fgetc(STDIN);
+ }
+ $MadelineProto->complete_phone_login($code);
+}
+
+$ExportedMessageLink = $MadelineProto->channels->exportMessageLink(['channel' => InputChannel, 'id' => int, ]);
+```
+
+Or, if you're into Lua:
+
+```
+ExportedMessageLink = channels.exportMessageLink({channel=InputChannel, id=int, })
+```
+
diff --git a/old_docs/API_docs_v62/methods/channels_getAdminedPublicChannels.md b/old_docs/API_docs_v62/methods/channels_getAdminedPublicChannels.md
new file mode 100644
index 00000000..4d3b8c42
--- /dev/null
+++ b/old_docs/API_docs_v62/methods/channels_getAdminedPublicChannels.md
@@ -0,0 +1,39 @@
+---
+title: channels.getAdminedPublicChannels
+description: channels.getAdminedPublicChannels parameters, return type and example
+---
+## Method: channels.getAdminedPublicChannels
+[Back to methods index](index.md)
+
+
+
+
+### Return type: [messages\_Chats](../types/messages_Chats.md)
+
+### Example:
+
+
+```
+$MadelineProto = new \danog\MadelineProto\API();
+if (isset($token)) {
+ $this->bot_login($token);
+}
+if (isset($number)) {
+ $sentCode = $MadelineProto->phone_login($number);
+ echo 'Enter the code you received: ';
+ $code = '';
+ for ($x = 0; $x < $sentCode['type']['length']; $x++) {
+ $code .= fgetc(STDIN);
+ }
+ $MadelineProto->complete_phone_login($code);
+}
+
+$messages_Chats = $MadelineProto->channels->getAdminedPublicChannels();
+```
+
+Or, if you're into Lua:
+
+```
+messages_Chats = channels.getAdminedPublicChannels({})
+```
+
diff --git a/old_docs/API_docs_v62/methods/channels_getChannels.md b/old_docs/API_docs_v62/methods/channels_getChannels.md
new file mode 100644
index 00000000..24b94c8f
--- /dev/null
+++ b/old_docs/API_docs_v62/methods/channels_getChannels.md
@@ -0,0 +1,44 @@
+---
+title: channels.getChannels
+description: channels.getChannels parameters, return type and example
+---
+## Method: channels.getChannels
+[Back to methods index](index.md)
+
+
+### Parameters:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|id|Array of [InputChannel](../types/InputChannel.md) | Yes|
+
+
+### Return type: [messages\_Chats](../types/messages_Chats.md)
+
+### Example:
+
+
+```
+$MadelineProto = new \danog\MadelineProto\API();
+if (isset($token)) {
+ $this->bot_login($token);
+}
+if (isset($number)) {
+ $sentCode = $MadelineProto->phone_login($number);
+ echo 'Enter the code you received: ';
+ $code = '';
+ for ($x = 0; $x < $sentCode['type']['length']; $x++) {
+ $code .= fgetc(STDIN);
+ }
+ $MadelineProto->complete_phone_login($code);
+}
+
+$messages_Chats = $MadelineProto->channels->getChannels(['id' => [InputChannel], ]);
+```
+
+Or, if you're into Lua:
+
+```
+messages_Chats = channels.getChannels({id={InputChannel}, })
+```
+
diff --git a/old_docs/API_docs_v62/methods/channels_getFullChannel.md b/old_docs/API_docs_v62/methods/channels_getFullChannel.md
new file mode 100644
index 00000000..8bf78cd9
--- /dev/null
+++ b/old_docs/API_docs_v62/methods/channels_getFullChannel.md
@@ -0,0 +1,44 @@
+---
+title: channels.getFullChannel
+description: channels.getFullChannel parameters, return type and example
+---
+## Method: channels.getFullChannel
+[Back to methods index](index.md)
+
+
+### Parameters:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|channel|[InputChannel](../types/InputChannel.md) | Yes|
+
+
+### Return type: [messages\_ChatFull](../types/messages_ChatFull.md)
+
+### Example:
+
+
+```
+$MadelineProto = new \danog\MadelineProto\API();
+if (isset($token)) {
+ $this->bot_login($token);
+}
+if (isset($number)) {
+ $sentCode = $MadelineProto->phone_login($number);
+ echo 'Enter the code you received: ';
+ $code = '';
+ for ($x = 0; $x < $sentCode['type']['length']; $x++) {
+ $code .= fgetc(STDIN);
+ }
+ $MadelineProto->complete_phone_login($code);
+}
+
+$messages_ChatFull = $MadelineProto->channels->getFullChannel(['channel' => InputChannel, ]);
+```
+
+Or, if you're into Lua:
+
+```
+messages_ChatFull = channels.getFullChannel({channel=InputChannel, })
+```
+
diff --git a/old_docs/API_docs_v62/methods/channels_getMessages.md b/old_docs/API_docs_v62/methods/channels_getMessages.md
new file mode 100644
index 00000000..8204bf26
--- /dev/null
+++ b/old_docs/API_docs_v62/methods/channels_getMessages.md
@@ -0,0 +1,45 @@
+---
+title: channels.getMessages
+description: channels.getMessages parameters, return type and example
+---
+## Method: channels.getMessages
+[Back to methods index](index.md)
+
+
+### Parameters:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|channel|[InputChannel](../types/InputChannel.md) | Yes|
+|id|Array of [int](../types/int.md) | Yes|
+
+
+### Return type: [messages\_Messages](../types/messages_Messages.md)
+
+### Example:
+
+
+```
+$MadelineProto = new \danog\MadelineProto\API();
+if (isset($token)) {
+ $this->bot_login($token);
+}
+if (isset($number)) {
+ $sentCode = $MadelineProto->phone_login($number);
+ echo 'Enter the code you received: ';
+ $code = '';
+ for ($x = 0; $x < $sentCode['type']['length']; $x++) {
+ $code .= fgetc(STDIN);
+ }
+ $MadelineProto->complete_phone_login($code);
+}
+
+$messages_Messages = $MadelineProto->channels->getMessages(['channel' => InputChannel, 'id' => [int], ]);
+```
+
+Or, if you're into Lua:
+
+```
+messages_Messages = channels.getMessages({channel=InputChannel, id={int}, })
+```
+
diff --git a/old_docs/API_docs_v62/methods/channels_getParticipant.md b/old_docs/API_docs_v62/methods/channels_getParticipant.md
new file mode 100644
index 00000000..7b685913
--- /dev/null
+++ b/old_docs/API_docs_v62/methods/channels_getParticipant.md
@@ -0,0 +1,45 @@
+---
+title: channels.getParticipant
+description: channels.getParticipant parameters, return type and example
+---
+## Method: channels.getParticipant
+[Back to methods index](index.md)
+
+
+### Parameters:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|channel|[InputChannel](../types/InputChannel.md) | Yes|
+|user\_id|[InputUser](../types/InputUser.md) | Yes|
+
+
+### Return type: [channels\_ChannelParticipant](../types/channels_ChannelParticipant.md)
+
+### Example:
+
+
+```
+$MadelineProto = new \danog\MadelineProto\API();
+if (isset($token)) {
+ $this->bot_login($token);
+}
+if (isset($number)) {
+ $sentCode = $MadelineProto->phone_login($number);
+ echo 'Enter the code you received: ';
+ $code = '';
+ for ($x = 0; $x < $sentCode['type']['length']; $x++) {
+ $code .= fgetc(STDIN);
+ }
+ $MadelineProto->complete_phone_login($code);
+}
+
+$channels_ChannelParticipant = $MadelineProto->channels->getParticipant(['channel' => InputChannel, 'user_id' => InputUser, ]);
+```
+
+Or, if you're into Lua:
+
+```
+channels_ChannelParticipant = channels.getParticipant({channel=InputChannel, user_id=InputUser, })
+```
+
diff --git a/old_docs/API_docs_v62/methods/channels_getParticipants.md b/old_docs/API_docs_v62/methods/channels_getParticipants.md
new file mode 100644
index 00000000..6ee31676
--- /dev/null
+++ b/old_docs/API_docs_v62/methods/channels_getParticipants.md
@@ -0,0 +1,47 @@
+---
+title: channels.getParticipants
+description: channels.getParticipants parameters, return type and example
+---
+## Method: channels.getParticipants
+[Back to methods index](index.md)
+
+
+### Parameters:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|channel|[InputChannel](../types/InputChannel.md) | Yes|
+|filter|[ChannelParticipantsFilter](../types/ChannelParticipantsFilter.md) | Yes|
+|offset|[int](../types/int.md) | Yes|
+|limit|[int](../types/int.md) | Yes|
+
+
+### Return type: [channels\_ChannelParticipants](../types/channels_ChannelParticipants.md)
+
+### Example:
+
+
+```
+$MadelineProto = new \danog\MadelineProto\API();
+if (isset($token)) {
+ $this->bot_login($token);
+}
+if (isset($number)) {
+ $sentCode = $MadelineProto->phone_login($number);
+ echo 'Enter the code you received: ';
+ $code = '';
+ for ($x = 0; $x < $sentCode['type']['length']; $x++) {
+ $code .= fgetc(STDIN);
+ }
+ $MadelineProto->complete_phone_login($code);
+}
+
+$channels_ChannelParticipants = $MadelineProto->channels->getParticipants(['channel' => InputChannel, 'filter' => ChannelParticipantsFilter, 'offset' => int, 'limit' => int, ]);
+```
+
+Or, if you're into Lua:
+
+```
+channels_ChannelParticipants = channels.getParticipants({channel=InputChannel, filter=ChannelParticipantsFilter, offset=int, limit=int, })
+```
+
diff --git a/old_docs/API_docs_v62/methods/channels_inviteToChannel.md b/old_docs/API_docs_v62/methods/channels_inviteToChannel.md
new file mode 100644
index 00000000..4b4985a4
--- /dev/null
+++ b/old_docs/API_docs_v62/methods/channels_inviteToChannel.md
@@ -0,0 +1,45 @@
+---
+title: channels.inviteToChannel
+description: channels.inviteToChannel parameters, return type and example
+---
+## Method: channels.inviteToChannel
+[Back to methods index](index.md)
+
+
+### Parameters:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|channel|[InputChannel](../types/InputChannel.md) | Yes|
+|users|Array of [InputUser](../types/InputUser.md) | Yes|
+
+
+### Return type: [Updates](../types/Updates.md)
+
+### Example:
+
+
+```
+$MadelineProto = new \danog\MadelineProto\API();
+if (isset($token)) {
+ $this->bot_login($token);
+}
+if (isset($number)) {
+ $sentCode = $MadelineProto->phone_login($number);
+ echo 'Enter the code you received: ';
+ $code = '';
+ for ($x = 0; $x < $sentCode['type']['length']; $x++) {
+ $code .= fgetc(STDIN);
+ }
+ $MadelineProto->complete_phone_login($code);
+}
+
+$Updates = $MadelineProto->channels->inviteToChannel(['channel' => InputChannel, 'users' => [InputUser], ]);
+```
+
+Or, if you're into Lua:
+
+```
+Updates = channels.inviteToChannel({channel=InputChannel, users={InputUser}, })
+```
+
diff --git a/old_docs/API_docs_v62/methods/channels_joinChannel.md b/old_docs/API_docs_v62/methods/channels_joinChannel.md
new file mode 100644
index 00000000..97fd5417
--- /dev/null
+++ b/old_docs/API_docs_v62/methods/channels_joinChannel.md
@@ -0,0 +1,44 @@
+---
+title: channels.joinChannel
+description: channels.joinChannel parameters, return type and example
+---
+## Method: channels.joinChannel
+[Back to methods index](index.md)
+
+
+### Parameters:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|channel|[InputChannel](../types/InputChannel.md) | Yes|
+
+
+### Return type: [Updates](../types/Updates.md)
+
+### Example:
+
+
+```
+$MadelineProto = new \danog\MadelineProto\API();
+if (isset($token)) {
+ $this->bot_login($token);
+}
+if (isset($number)) {
+ $sentCode = $MadelineProto->phone_login($number);
+ echo 'Enter the code you received: ';
+ $code = '';
+ for ($x = 0; $x < $sentCode['type']['length']; $x++) {
+ $code .= fgetc(STDIN);
+ }
+ $MadelineProto->complete_phone_login($code);
+}
+
+$Updates = $MadelineProto->channels->joinChannel(['channel' => InputChannel, ]);
+```
+
+Or, if you're into Lua:
+
+```
+Updates = channels.joinChannel({channel=InputChannel, })
+```
+
diff --git a/old_docs/API_docs_v62/methods/channels_kickFromChannel.md b/old_docs/API_docs_v62/methods/channels_kickFromChannel.md
new file mode 100644
index 00000000..cf5a3ebc
--- /dev/null
+++ b/old_docs/API_docs_v62/methods/channels_kickFromChannel.md
@@ -0,0 +1,46 @@
+---
+title: channels.kickFromChannel
+description: channels.kickFromChannel parameters, return type and example
+---
+## Method: channels.kickFromChannel
+[Back to methods index](index.md)
+
+
+### Parameters:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|channel|[InputChannel](../types/InputChannel.md) | Yes|
+|user\_id|[InputUser](../types/InputUser.md) | Yes|
+|kicked|[Bool](../types/Bool.md) | Yes|
+
+
+### Return type: [Updates](../types/Updates.md)
+
+### Example:
+
+
+```
+$MadelineProto = new \danog\MadelineProto\API();
+if (isset($token)) {
+ $this->bot_login($token);
+}
+if (isset($number)) {
+ $sentCode = $MadelineProto->phone_login($number);
+ echo 'Enter the code you received: ';
+ $code = '';
+ for ($x = 0; $x < $sentCode['type']['length']; $x++) {
+ $code .= fgetc(STDIN);
+ }
+ $MadelineProto->complete_phone_login($code);
+}
+
+$Updates = $MadelineProto->channels->kickFromChannel(['channel' => InputChannel, 'user_id' => InputUser, 'kicked' => Bool, ]);
+```
+
+Or, if you're into Lua:
+
+```
+Updates = channels.kickFromChannel({channel=InputChannel, user_id=InputUser, kicked=Bool, })
+```
+
diff --git a/old_docs/API_docs_v62/methods/channels_leaveChannel.md b/old_docs/API_docs_v62/methods/channels_leaveChannel.md
new file mode 100644
index 00000000..69dc1852
--- /dev/null
+++ b/old_docs/API_docs_v62/methods/channels_leaveChannel.md
@@ -0,0 +1,44 @@
+---
+title: channels.leaveChannel
+description: channels.leaveChannel parameters, return type and example
+---
+## Method: channels.leaveChannel
+[Back to methods index](index.md)
+
+
+### Parameters:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|channel|[InputChannel](../types/InputChannel.md) | Yes|
+
+
+### Return type: [Updates](../types/Updates.md)
+
+### Example:
+
+
+```
+$MadelineProto = new \danog\MadelineProto\API();
+if (isset($token)) {
+ $this->bot_login($token);
+}
+if (isset($number)) {
+ $sentCode = $MadelineProto->phone_login($number);
+ echo 'Enter the code you received: ';
+ $code = '';
+ for ($x = 0; $x < $sentCode['type']['length']; $x++) {
+ $code .= fgetc(STDIN);
+ }
+ $MadelineProto->complete_phone_login($code);
+}
+
+$Updates = $MadelineProto->channels->leaveChannel(['channel' => InputChannel, ]);
+```
+
+Or, if you're into Lua:
+
+```
+Updates = channels.leaveChannel({channel=InputChannel, })
+```
+
diff --git a/old_docs/API_docs_v62/methods/channels_readHistory.md b/old_docs/API_docs_v62/methods/channels_readHistory.md
new file mode 100644
index 00000000..87906417
--- /dev/null
+++ b/old_docs/API_docs_v62/methods/channels_readHistory.md
@@ -0,0 +1,45 @@
+---
+title: channels.readHistory
+description: channels.readHistory parameters, return type and example
+---
+## Method: channels.readHistory
+[Back to methods index](index.md)
+
+
+### Parameters:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|channel|[InputChannel](../types/InputChannel.md) | Yes|
+|max\_id|[int](../types/int.md) | Yes|
+
+
+### Return type: [Bool](../types/Bool.md)
+
+### Example:
+
+
+```
+$MadelineProto = new \danog\MadelineProto\API();
+if (isset($token)) {
+ $this->bot_login($token);
+}
+if (isset($number)) {
+ $sentCode = $MadelineProto->phone_login($number);
+ echo 'Enter the code you received: ';
+ $code = '';
+ for ($x = 0; $x < $sentCode['type']['length']; $x++) {
+ $code .= fgetc(STDIN);
+ }
+ $MadelineProto->complete_phone_login($code);
+}
+
+$Bool = $MadelineProto->channels->readHistory(['channel' => InputChannel, 'max_id' => int, ]);
+```
+
+Or, if you're into Lua:
+
+```
+Bool = channels.readHistory({channel=InputChannel, max_id=int, })
+```
+
diff --git a/old_docs/API_docs_v62/methods/channels_reportSpam.md b/old_docs/API_docs_v62/methods/channels_reportSpam.md
new file mode 100644
index 00000000..dc8542f2
--- /dev/null
+++ b/old_docs/API_docs_v62/methods/channels_reportSpam.md
@@ -0,0 +1,46 @@
+---
+title: channels.reportSpam
+description: channels.reportSpam parameters, return type and example
+---
+## Method: channels.reportSpam
+[Back to methods index](index.md)
+
+
+### Parameters:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|channel|[InputChannel](../types/InputChannel.md) | Yes|
+|user\_id|[InputUser](../types/InputUser.md) | Yes|
+|id|Array of [int](../types/int.md) | Yes|
+
+
+### Return type: [Bool](../types/Bool.md)
+
+### Example:
+
+
+```
+$MadelineProto = new \danog\MadelineProto\API();
+if (isset($token)) {
+ $this->bot_login($token);
+}
+if (isset($number)) {
+ $sentCode = $MadelineProto->phone_login($number);
+ echo 'Enter the code you received: ';
+ $code = '';
+ for ($x = 0; $x < $sentCode['type']['length']; $x++) {
+ $code .= fgetc(STDIN);
+ }
+ $MadelineProto->complete_phone_login($code);
+}
+
+$Bool = $MadelineProto->channels->reportSpam(['channel' => InputChannel, 'user_id' => InputUser, 'id' => [int], ]);
+```
+
+Or, if you're into Lua:
+
+```
+Bool = channels.reportSpam({channel=InputChannel, user_id=InputUser, id={int}, })
+```
+
diff --git a/old_docs/API_docs_v62/methods/channels_toggleInvites.md b/old_docs/API_docs_v62/methods/channels_toggleInvites.md
new file mode 100644
index 00000000..6545a16a
--- /dev/null
+++ b/old_docs/API_docs_v62/methods/channels_toggleInvites.md
@@ -0,0 +1,45 @@
+---
+title: channels.toggleInvites
+description: channels.toggleInvites parameters, return type and example
+---
+## Method: channels.toggleInvites
+[Back to methods index](index.md)
+
+
+### Parameters:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|channel|[InputChannel](../types/InputChannel.md) | Yes|
+|enabled|[Bool](../types/Bool.md) | Yes|
+
+
+### Return type: [Updates](../types/Updates.md)
+
+### Example:
+
+
+```
+$MadelineProto = new \danog\MadelineProto\API();
+if (isset($token)) {
+ $this->bot_login($token);
+}
+if (isset($number)) {
+ $sentCode = $MadelineProto->phone_login($number);
+ echo 'Enter the code you received: ';
+ $code = '';
+ for ($x = 0; $x < $sentCode['type']['length']; $x++) {
+ $code .= fgetc(STDIN);
+ }
+ $MadelineProto->complete_phone_login($code);
+}
+
+$Updates = $MadelineProto->channels->toggleInvites(['channel' => InputChannel, 'enabled' => Bool, ]);
+```
+
+Or, if you're into Lua:
+
+```
+Updates = channels.toggleInvites({channel=InputChannel, enabled=Bool, })
+```
+
diff --git a/old_docs/API_docs_v62/methods/channels_toggleSignatures.md b/old_docs/API_docs_v62/methods/channels_toggleSignatures.md
new file mode 100644
index 00000000..dcab06a1
--- /dev/null
+++ b/old_docs/API_docs_v62/methods/channels_toggleSignatures.md
@@ -0,0 +1,45 @@
+---
+title: channels.toggleSignatures
+description: channels.toggleSignatures parameters, return type and example
+---
+## Method: channels.toggleSignatures
+[Back to methods index](index.md)
+
+
+### Parameters:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|channel|[InputChannel](../types/InputChannel.md) | Yes|
+|enabled|[Bool](../types/Bool.md) | Yes|
+
+
+### Return type: [Updates](../types/Updates.md)
+
+### Example:
+
+
+```
+$MadelineProto = new \danog\MadelineProto\API();
+if (isset($token)) {
+ $this->bot_login($token);
+}
+if (isset($number)) {
+ $sentCode = $MadelineProto->phone_login($number);
+ echo 'Enter the code you received: ';
+ $code = '';
+ for ($x = 0; $x < $sentCode['type']['length']; $x++) {
+ $code .= fgetc(STDIN);
+ }
+ $MadelineProto->complete_phone_login($code);
+}
+
+$Updates = $MadelineProto->channels->toggleSignatures(['channel' => InputChannel, 'enabled' => Bool, ]);
+```
+
+Or, if you're into Lua:
+
+```
+Updates = channels.toggleSignatures({channel=InputChannel, enabled=Bool, })
+```
+
diff --git a/old_docs/API_docs_v62/methods/channels_updatePinnedMessage.md b/old_docs/API_docs_v62/methods/channels_updatePinnedMessage.md
new file mode 100644
index 00000000..c86580db
--- /dev/null
+++ b/old_docs/API_docs_v62/methods/channels_updatePinnedMessage.md
@@ -0,0 +1,46 @@
+---
+title: channels.updatePinnedMessage
+description: channels.updatePinnedMessage parameters, return type and example
+---
+## Method: channels.updatePinnedMessage
+[Back to methods index](index.md)
+
+
+### Parameters:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|silent|[Bool](../types/Bool.md) | Optional|
+|channel|[InputChannel](../types/InputChannel.md) | Yes|
+|id|[int](../types/int.md) | Yes|
+
+
+### Return type: [Updates](../types/Updates.md)
+
+### Example:
+
+
+```
+$MadelineProto = new \danog\MadelineProto\API();
+if (isset($token)) {
+ $this->bot_login($token);
+}
+if (isset($number)) {
+ $sentCode = $MadelineProto->phone_login($number);
+ echo 'Enter the code you received: ';
+ $code = '';
+ for ($x = 0; $x < $sentCode['type']['length']; $x++) {
+ $code .= fgetc(STDIN);
+ }
+ $MadelineProto->complete_phone_login($code);
+}
+
+$Updates = $MadelineProto->channels->updatePinnedMessage(['silent' => Bool, 'channel' => InputChannel, 'id' => int, ]);
+```
+
+Or, if you're into Lua:
+
+```
+Updates = channels.updatePinnedMessage({silent=Bool, channel=InputChannel, id=int, })
+```
+
diff --git a/old_docs/API_docs_v62/methods/channels_updateUsername.md b/old_docs/API_docs_v62/methods/channels_updateUsername.md
new file mode 100644
index 00000000..ebb03507
--- /dev/null
+++ b/old_docs/API_docs_v62/methods/channels_updateUsername.md
@@ -0,0 +1,45 @@
+---
+title: channels.updateUsername
+description: channels.updateUsername parameters, return type and example
+---
+## Method: channels.updateUsername
+[Back to methods index](index.md)
+
+
+### Parameters:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|channel|[InputChannel](../types/InputChannel.md) | Yes|
+|username|[string](../types/string.md) | Yes|
+
+
+### Return type: [Bool](../types/Bool.md)
+
+### Example:
+
+
+```
+$MadelineProto = new \danog\MadelineProto\API();
+if (isset($token)) {
+ $this->bot_login($token);
+}
+if (isset($number)) {
+ $sentCode = $MadelineProto->phone_login($number);
+ echo 'Enter the code you received: ';
+ $code = '';
+ for ($x = 0; $x < $sentCode['type']['length']; $x++) {
+ $code .= fgetc(STDIN);
+ }
+ $MadelineProto->complete_phone_login($code);
+}
+
+$Bool = $MadelineProto->channels->updateUsername(['channel' => InputChannel, 'username' => string, ]);
+```
+
+Or, if you're into Lua:
+
+```
+Bool = channels.updateUsername({channel=InputChannel, username=string, })
+```
+
diff --git a/old_docs/API_docs_v62/methods/contacts_block.md b/old_docs/API_docs_v62/methods/contacts_block.md
new file mode 100644
index 00000000..b809b15c
--- /dev/null
+++ b/old_docs/API_docs_v62/methods/contacts_block.md
@@ -0,0 +1,44 @@
+---
+title: contacts.block
+description: contacts.block parameters, return type and example
+---
+## Method: contacts.block
+[Back to methods index](index.md)
+
+
+### Parameters:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|id|[InputUser](../types/InputUser.md) | Yes|
+
+
+### Return type: [Bool](../types/Bool.md)
+
+### Example:
+
+
+```
+$MadelineProto = new \danog\MadelineProto\API();
+if (isset($token)) {
+ $this->bot_login($token);
+}
+if (isset($number)) {
+ $sentCode = $MadelineProto->phone_login($number);
+ echo 'Enter the code you received: ';
+ $code = '';
+ for ($x = 0; $x < $sentCode['type']['length']; $x++) {
+ $code .= fgetc(STDIN);
+ }
+ $MadelineProto->complete_phone_login($code);
+}
+
+$Bool = $MadelineProto->contacts->block(['id' => InputUser, ]);
+```
+
+Or, if you're into Lua:
+
+```
+Bool = contacts.block({id=InputUser, })
+```
+
diff --git a/old_docs/API_docs_v62/methods/contacts_deleteContact.md b/old_docs/API_docs_v62/methods/contacts_deleteContact.md
new file mode 100644
index 00000000..18ef51f8
--- /dev/null
+++ b/old_docs/API_docs_v62/methods/contacts_deleteContact.md
@@ -0,0 +1,44 @@
+---
+title: contacts.deleteContact
+description: contacts.deleteContact parameters, return type and example
+---
+## Method: contacts.deleteContact
+[Back to methods index](index.md)
+
+
+### Parameters:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|id|[InputUser](../types/InputUser.md) | Yes|
+
+
+### Return type: [contacts\_Link](../types/contacts_Link.md)
+
+### Example:
+
+
+```
+$MadelineProto = new \danog\MadelineProto\API();
+if (isset($token)) {
+ $this->bot_login($token);
+}
+if (isset($number)) {
+ $sentCode = $MadelineProto->phone_login($number);
+ echo 'Enter the code you received: ';
+ $code = '';
+ for ($x = 0; $x < $sentCode['type']['length']; $x++) {
+ $code .= fgetc(STDIN);
+ }
+ $MadelineProto->complete_phone_login($code);
+}
+
+$contacts_Link = $MadelineProto->contacts->deleteContact(['id' => InputUser, ]);
+```
+
+Or, if you're into Lua:
+
+```
+contacts_Link = contacts.deleteContact({id=InputUser, })
+```
+
diff --git a/old_docs/API_docs_v62/methods/contacts_deleteContacts.md b/old_docs/API_docs_v62/methods/contacts_deleteContacts.md
new file mode 100644
index 00000000..40672188
--- /dev/null
+++ b/old_docs/API_docs_v62/methods/contacts_deleteContacts.md
@@ -0,0 +1,44 @@
+---
+title: contacts.deleteContacts
+description: contacts.deleteContacts parameters, return type and example
+---
+## Method: contacts.deleteContacts
+[Back to methods index](index.md)
+
+
+### Parameters:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|id|Array of [InputUser](../types/InputUser.md) | Yes|
+
+
+### Return type: [Bool](../types/Bool.md)
+
+### Example:
+
+
+```
+$MadelineProto = new \danog\MadelineProto\API();
+if (isset($token)) {
+ $this->bot_login($token);
+}
+if (isset($number)) {
+ $sentCode = $MadelineProto->phone_login($number);
+ echo 'Enter the code you received: ';
+ $code = '';
+ for ($x = 0; $x < $sentCode['type']['length']; $x++) {
+ $code .= fgetc(STDIN);
+ }
+ $MadelineProto->complete_phone_login($code);
+}
+
+$Bool = $MadelineProto->contacts->deleteContacts(['id' => [InputUser], ]);
+```
+
+Or, if you're into Lua:
+
+```
+Bool = contacts.deleteContacts({id={InputUser}, })
+```
+
diff --git a/old_docs/API_docs_v62/methods/contacts_exportCard.md b/old_docs/API_docs_v62/methods/contacts_exportCard.md
new file mode 100644
index 00000000..4145d246
--- /dev/null
+++ b/old_docs/API_docs_v62/methods/contacts_exportCard.md
@@ -0,0 +1,39 @@
+---
+title: contacts.exportCard
+description: contacts.exportCard parameters, return type and example
+---
+## Method: contacts.exportCard
+[Back to methods index](index.md)
+
+
+
+
+### Return type: [Vector\_of\_int](../types/int.md)
+
+### Example:
+
+
+```
+$MadelineProto = new \danog\MadelineProto\API();
+if (isset($token)) {
+ $this->bot_login($token);
+}
+if (isset($number)) {
+ $sentCode = $MadelineProto->phone_login($number);
+ echo 'Enter the code you received: ';
+ $code = '';
+ for ($x = 0; $x < $sentCode['type']['length']; $x++) {
+ $code .= fgetc(STDIN);
+ }
+ $MadelineProto->complete_phone_login($code);
+}
+
+$Vector_of_int = $MadelineProto->contacts->exportCard();
+```
+
+Or, if you're into Lua:
+
+```
+Vector_of_int = contacts.exportCard({})
+```
+
diff --git a/old_docs/API_docs_v62/methods/contacts_getBlocked.md b/old_docs/API_docs_v62/methods/contacts_getBlocked.md
new file mode 100644
index 00000000..50172d03
--- /dev/null
+++ b/old_docs/API_docs_v62/methods/contacts_getBlocked.md
@@ -0,0 +1,45 @@
+---
+title: contacts.getBlocked
+description: contacts.getBlocked parameters, return type and example
+---
+## Method: contacts.getBlocked
+[Back to methods index](index.md)
+
+
+### Parameters:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|offset|[int](../types/int.md) | Yes|
+|limit|[int](../types/int.md) | Yes|
+
+
+### Return type: [contacts\_Blocked](../types/contacts_Blocked.md)
+
+### Example:
+
+
+```
+$MadelineProto = new \danog\MadelineProto\API();
+if (isset($token)) {
+ $this->bot_login($token);
+}
+if (isset($number)) {
+ $sentCode = $MadelineProto->phone_login($number);
+ echo 'Enter the code you received: ';
+ $code = '';
+ for ($x = 0; $x < $sentCode['type']['length']; $x++) {
+ $code .= fgetc(STDIN);
+ }
+ $MadelineProto->complete_phone_login($code);
+}
+
+$contacts_Blocked = $MadelineProto->contacts->getBlocked(['offset' => int, 'limit' => int, ]);
+```
+
+Or, if you're into Lua:
+
+```
+contacts_Blocked = contacts.getBlocked({offset=int, limit=int, })
+```
+
diff --git a/old_docs/API_docs_v62/methods/contacts_getContacts.md b/old_docs/API_docs_v62/methods/contacts_getContacts.md
new file mode 100644
index 00000000..0e6f22e9
--- /dev/null
+++ b/old_docs/API_docs_v62/methods/contacts_getContacts.md
@@ -0,0 +1,44 @@
+---
+title: contacts.getContacts
+description: contacts.getContacts parameters, return type and example
+---
+## Method: contacts.getContacts
+[Back to methods index](index.md)
+
+
+### Parameters:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|hash|[string](../types/string.md) | Yes|
+
+
+### Return type: [contacts\_Contacts](../types/contacts_Contacts.md)
+
+### Example:
+
+
+```
+$MadelineProto = new \danog\MadelineProto\API();
+if (isset($token)) {
+ $this->bot_login($token);
+}
+if (isset($number)) {
+ $sentCode = $MadelineProto->phone_login($number);
+ echo 'Enter the code you received: ';
+ $code = '';
+ for ($x = 0; $x < $sentCode['type']['length']; $x++) {
+ $code .= fgetc(STDIN);
+ }
+ $MadelineProto->complete_phone_login($code);
+}
+
+$contacts_Contacts = $MadelineProto->contacts->getContacts(['hash' => string, ]);
+```
+
+Or, if you're into Lua:
+
+```
+contacts_Contacts = contacts.getContacts({hash=string, })
+```
+
diff --git a/old_docs/API_docs_v62/methods/contacts_getStatuses.md b/old_docs/API_docs_v62/methods/contacts_getStatuses.md
new file mode 100644
index 00000000..b734f529
--- /dev/null
+++ b/old_docs/API_docs_v62/methods/contacts_getStatuses.md
@@ -0,0 +1,39 @@
+---
+title: contacts.getStatuses
+description: contacts.getStatuses parameters, return type and example
+---
+## Method: contacts.getStatuses
+[Back to methods index](index.md)
+
+
+
+
+### Return type: [Vector\_of\_ContactStatus](../types/ContactStatus.md)
+
+### Example:
+
+
+```
+$MadelineProto = new \danog\MadelineProto\API();
+if (isset($token)) {
+ $this->bot_login($token);
+}
+if (isset($number)) {
+ $sentCode = $MadelineProto->phone_login($number);
+ echo 'Enter the code you received: ';
+ $code = '';
+ for ($x = 0; $x < $sentCode['type']['length']; $x++) {
+ $code .= fgetc(STDIN);
+ }
+ $MadelineProto->complete_phone_login($code);
+}
+
+$Vector_of_ContactStatus = $MadelineProto->contacts->getStatuses();
+```
+
+Or, if you're into Lua:
+
+```
+Vector_of_ContactStatus = contacts.getStatuses({})
+```
+
diff --git a/old_docs/API_docs_v62/methods/contacts_getTopPeers.md b/old_docs/API_docs_v62/methods/contacts_getTopPeers.md
new file mode 100644
index 00000000..9ce29121
--- /dev/null
+++ b/old_docs/API_docs_v62/methods/contacts_getTopPeers.md
@@ -0,0 +1,51 @@
+---
+title: contacts.getTopPeers
+description: contacts.getTopPeers parameters, return type and example
+---
+## Method: contacts.getTopPeers
+[Back to methods index](index.md)
+
+
+### Parameters:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|correspondents|[Bool](../types/Bool.md) | Optional|
+|bots\_pm|[Bool](../types/Bool.md) | Optional|
+|bots\_inline|[Bool](../types/Bool.md) | Optional|
+|groups|[Bool](../types/Bool.md) | Optional|
+|channels|[Bool](../types/Bool.md) | Optional|
+|offset|[int](../types/int.md) | Yes|
+|limit|[int](../types/int.md) | Yes|
+|hash|[int](../types/int.md) | Yes|
+
+
+### Return type: [contacts\_TopPeers](../types/contacts_TopPeers.md)
+
+### Example:
+
+
+```
+$MadelineProto = new \danog\MadelineProto\API();
+if (isset($token)) {
+ $this->bot_login($token);
+}
+if (isset($number)) {
+ $sentCode = $MadelineProto->phone_login($number);
+ echo 'Enter the code you received: ';
+ $code = '';
+ for ($x = 0; $x < $sentCode['type']['length']; $x++) {
+ $code .= fgetc(STDIN);
+ }
+ $MadelineProto->complete_phone_login($code);
+}
+
+$contacts_TopPeers = $MadelineProto->contacts->getTopPeers(['correspondents' => Bool, 'bots_pm' => Bool, 'bots_inline' => Bool, 'groups' => Bool, 'channels' => Bool, 'offset' => int, 'limit' => int, 'hash' => int, ]);
+```
+
+Or, if you're into Lua:
+
+```
+contacts_TopPeers = contacts.getTopPeers({correspondents=Bool, bots_pm=Bool, bots_inline=Bool, groups=Bool, channels=Bool, offset=int, limit=int, hash=int, })
+```
+
diff --git a/old_docs/API_docs_v62/methods/contacts_importCard.md b/old_docs/API_docs_v62/methods/contacts_importCard.md
new file mode 100644
index 00000000..6b2c612e
--- /dev/null
+++ b/old_docs/API_docs_v62/methods/contacts_importCard.md
@@ -0,0 +1,44 @@
+---
+title: contacts.importCard
+description: contacts.importCard parameters, return type and example
+---
+## Method: contacts.importCard
+[Back to methods index](index.md)
+
+
+### Parameters:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|export\_card|Array of [int](../types/int.md) | Yes|
+
+
+### Return type: [User](../types/User.md)
+
+### Example:
+
+
+```
+$MadelineProto = new \danog\MadelineProto\API();
+if (isset($token)) {
+ $this->bot_login($token);
+}
+if (isset($number)) {
+ $sentCode = $MadelineProto->phone_login($number);
+ echo 'Enter the code you received: ';
+ $code = '';
+ for ($x = 0; $x < $sentCode['type']['length']; $x++) {
+ $code .= fgetc(STDIN);
+ }
+ $MadelineProto->complete_phone_login($code);
+}
+
+$User = $MadelineProto->contacts->importCard(['export_card' => [int], ]);
+```
+
+Or, if you're into Lua:
+
+```
+User = contacts.importCard({export_card={int}, })
+```
+
diff --git a/old_docs/API_docs_v62/methods/contacts_importContacts.md b/old_docs/API_docs_v62/methods/contacts_importContacts.md
new file mode 100644
index 00000000..2426f53c
--- /dev/null
+++ b/old_docs/API_docs_v62/methods/contacts_importContacts.md
@@ -0,0 +1,45 @@
+---
+title: contacts.importContacts
+description: contacts.importContacts parameters, return type and example
+---
+## Method: contacts.importContacts
+[Back to methods index](index.md)
+
+
+### Parameters:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|contacts|Array of [InputContact](../types/InputContact.md) | Yes|
+|replace|[Bool](../types/Bool.md) | Yes|
+
+
+### Return type: [contacts\_ImportedContacts](../types/contacts_ImportedContacts.md)
+
+### Example:
+
+
+```
+$MadelineProto = new \danog\MadelineProto\API();
+if (isset($token)) {
+ $this->bot_login($token);
+}
+if (isset($number)) {
+ $sentCode = $MadelineProto->phone_login($number);
+ echo 'Enter the code you received: ';
+ $code = '';
+ for ($x = 0; $x < $sentCode['type']['length']; $x++) {
+ $code .= fgetc(STDIN);
+ }
+ $MadelineProto->complete_phone_login($code);
+}
+
+$contacts_ImportedContacts = $MadelineProto->contacts->importContacts(['contacts' => [InputContact], 'replace' => Bool, ]);
+```
+
+Or, if you're into Lua:
+
+```
+contacts_ImportedContacts = contacts.importContacts({contacts={InputContact}, replace=Bool, })
+```
+
diff --git a/old_docs/API_docs_v62/methods/contacts_resetTopPeerRating.md b/old_docs/API_docs_v62/methods/contacts_resetTopPeerRating.md
new file mode 100644
index 00000000..48e8edd6
--- /dev/null
+++ b/old_docs/API_docs_v62/methods/contacts_resetTopPeerRating.md
@@ -0,0 +1,45 @@
+---
+title: contacts.resetTopPeerRating
+description: contacts.resetTopPeerRating parameters, return type and example
+---
+## Method: contacts.resetTopPeerRating
+[Back to methods index](index.md)
+
+
+### Parameters:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|category|[TopPeerCategory](../types/TopPeerCategory.md) | Yes|
+|peer|[InputPeer](../types/InputPeer.md) | Yes|
+
+
+### Return type: [Bool](../types/Bool.md)
+
+### Example:
+
+
+```
+$MadelineProto = new \danog\MadelineProto\API();
+if (isset($token)) {
+ $this->bot_login($token);
+}
+if (isset($number)) {
+ $sentCode = $MadelineProto->phone_login($number);
+ echo 'Enter the code you received: ';
+ $code = '';
+ for ($x = 0; $x < $sentCode['type']['length']; $x++) {
+ $code .= fgetc(STDIN);
+ }
+ $MadelineProto->complete_phone_login($code);
+}
+
+$Bool = $MadelineProto->contacts->resetTopPeerRating(['category' => TopPeerCategory, 'peer' => InputPeer, ]);
+```
+
+Or, if you're into Lua:
+
+```
+Bool = contacts.resetTopPeerRating({category=TopPeerCategory, peer=InputPeer, })
+```
+
diff --git a/old_docs/API_docs_v62/methods/contacts_resolveUsername.md b/old_docs/API_docs_v62/methods/contacts_resolveUsername.md
new file mode 100644
index 00000000..0ea67c6f
--- /dev/null
+++ b/old_docs/API_docs_v62/methods/contacts_resolveUsername.md
@@ -0,0 +1,44 @@
+---
+title: contacts.resolveUsername
+description: contacts.resolveUsername parameters, return type and example
+---
+## Method: contacts.resolveUsername
+[Back to methods index](index.md)
+
+
+### Parameters:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|username|[string](../types/string.md) | Yes|
+
+
+### Return type: [contacts\_ResolvedPeer](../types/contacts_ResolvedPeer.md)
+
+### Example:
+
+
+```
+$MadelineProto = new \danog\MadelineProto\API();
+if (isset($token)) {
+ $this->bot_login($token);
+}
+if (isset($number)) {
+ $sentCode = $MadelineProto->phone_login($number);
+ echo 'Enter the code you received: ';
+ $code = '';
+ for ($x = 0; $x < $sentCode['type']['length']; $x++) {
+ $code .= fgetc(STDIN);
+ }
+ $MadelineProto->complete_phone_login($code);
+}
+
+$contacts_ResolvedPeer = $MadelineProto->contacts->resolveUsername(['username' => string, ]);
+```
+
+Or, if you're into Lua:
+
+```
+contacts_ResolvedPeer = contacts.resolveUsername({username=string, })
+```
+
diff --git a/old_docs/API_docs_v62/methods/contacts_search.md b/old_docs/API_docs_v62/methods/contacts_search.md
new file mode 100644
index 00000000..00a39519
--- /dev/null
+++ b/old_docs/API_docs_v62/methods/contacts_search.md
@@ -0,0 +1,45 @@
+---
+title: contacts.search
+description: contacts.search parameters, return type and example
+---
+## Method: contacts.search
+[Back to methods index](index.md)
+
+
+### Parameters:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|q|[string](../types/string.md) | Yes|
+|limit|[int](../types/int.md) | Yes|
+
+
+### Return type: [contacts\_Found](../types/contacts_Found.md)
+
+### Example:
+
+
+```
+$MadelineProto = new \danog\MadelineProto\API();
+if (isset($token)) {
+ $this->bot_login($token);
+}
+if (isset($number)) {
+ $sentCode = $MadelineProto->phone_login($number);
+ echo 'Enter the code you received: ';
+ $code = '';
+ for ($x = 0; $x < $sentCode['type']['length']; $x++) {
+ $code .= fgetc(STDIN);
+ }
+ $MadelineProto->complete_phone_login($code);
+}
+
+$contacts_Found = $MadelineProto->contacts->search(['q' => string, 'limit' => int, ]);
+```
+
+Or, if you're into Lua:
+
+```
+contacts_Found = contacts.search({q=string, limit=int, })
+```
+
diff --git a/old_docs/API_docs_v62/methods/contacts_unblock.md b/old_docs/API_docs_v62/methods/contacts_unblock.md
new file mode 100644
index 00000000..63f41483
--- /dev/null
+++ b/old_docs/API_docs_v62/methods/contacts_unblock.md
@@ -0,0 +1,44 @@
+---
+title: contacts.unblock
+description: contacts.unblock parameters, return type and example
+---
+## Method: contacts.unblock
+[Back to methods index](index.md)
+
+
+### Parameters:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|id|[InputUser](../types/InputUser.md) | Yes|
+
+
+### Return type: [Bool](../types/Bool.md)
+
+### Example:
+
+
+```
+$MadelineProto = new \danog\MadelineProto\API();
+if (isset($token)) {
+ $this->bot_login($token);
+}
+if (isset($number)) {
+ $sentCode = $MadelineProto->phone_login($number);
+ echo 'Enter the code you received: ';
+ $code = '';
+ for ($x = 0; $x < $sentCode['type']['length']; $x++) {
+ $code .= fgetc(STDIN);
+ }
+ $MadelineProto->complete_phone_login($code);
+}
+
+$Bool = $MadelineProto->contacts->unblock(['id' => InputUser, ]);
+```
+
+Or, if you're into Lua:
+
+```
+Bool = contacts.unblock({id=InputUser, })
+```
+
diff --git a/old_docs/API_docs_v62/methods/destroy_auth_key.md b/old_docs/API_docs_v62/methods/destroy_auth_key.md
new file mode 100644
index 00000000..c30929ac
--- /dev/null
+++ b/old_docs/API_docs_v62/methods/destroy_auth_key.md
@@ -0,0 +1,39 @@
+---
+title: destroy_auth_key
+description: destroy_auth_key parameters, return type and example
+---
+## Method: destroy\_auth\_key
+[Back to methods index](index.md)
+
+
+
+
+### Return type: [DestroyAuthKeyRes](../types/DestroyAuthKeyRes.md)
+
+### Example:
+
+
+```
+$MadelineProto = new \danog\MadelineProto\API();
+if (isset($token)) {
+ $this->bot_login($token);
+}
+if (isset($number)) {
+ $sentCode = $MadelineProto->phone_login($number);
+ echo 'Enter the code you received: ';
+ $code = '';
+ for ($x = 0; $x < $sentCode['type']['length']; $x++) {
+ $code .= fgetc(STDIN);
+ }
+ $MadelineProto->complete_phone_login($code);
+}
+
+$DestroyAuthKeyRes = $MadelineProto->destroy_auth_key();
+```
+
+Or, if you're into Lua:
+
+```
+DestroyAuthKeyRes = destroy_auth_key({})
+```
+
diff --git a/old_docs/API_docs_v62/methods/help_getAppChangelog.md b/old_docs/API_docs_v62/methods/help_getAppChangelog.md
new file mode 100644
index 00000000..7c52cce8
--- /dev/null
+++ b/old_docs/API_docs_v62/methods/help_getAppChangelog.md
@@ -0,0 +1,39 @@
+---
+title: help.getAppChangelog
+description: help.getAppChangelog parameters, return type and example
+---
+## Method: help.getAppChangelog
+[Back to methods index](index.md)
+
+
+
+
+### Return type: [help\_AppChangelog](../types/help_AppChangelog.md)
+
+### Example:
+
+
+```
+$MadelineProto = new \danog\MadelineProto\API();
+if (isset($token)) {
+ $this->bot_login($token);
+}
+if (isset($number)) {
+ $sentCode = $MadelineProto->phone_login($number);
+ echo 'Enter the code you received: ';
+ $code = '';
+ for ($x = 0; $x < $sentCode['type']['length']; $x++) {
+ $code .= fgetc(STDIN);
+ }
+ $MadelineProto->complete_phone_login($code);
+}
+
+$help_AppChangelog = $MadelineProto->help->getAppChangelog();
+```
+
+Or, if you're into Lua:
+
+```
+help_AppChangelog = help.getAppChangelog({})
+```
+
diff --git a/old_docs/API_docs_v62/methods/help_getAppUpdate.md b/old_docs/API_docs_v62/methods/help_getAppUpdate.md
new file mode 100644
index 00000000..cdaa5f04
--- /dev/null
+++ b/old_docs/API_docs_v62/methods/help_getAppUpdate.md
@@ -0,0 +1,39 @@
+---
+title: help.getAppUpdate
+description: help.getAppUpdate parameters, return type and example
+---
+## Method: help.getAppUpdate
+[Back to methods index](index.md)
+
+
+
+
+### Return type: [help\_AppUpdate](../types/help_AppUpdate.md)
+
+### Example:
+
+
+```
+$MadelineProto = new \danog\MadelineProto\API();
+if (isset($token)) {
+ $this->bot_login($token);
+}
+if (isset($number)) {
+ $sentCode = $MadelineProto->phone_login($number);
+ echo 'Enter the code you received: ';
+ $code = '';
+ for ($x = 0; $x < $sentCode['type']['length']; $x++) {
+ $code .= fgetc(STDIN);
+ }
+ $MadelineProto->complete_phone_login($code);
+}
+
+$help_AppUpdate = $MadelineProto->help->getAppUpdate();
+```
+
+Or, if you're into Lua:
+
+```
+help_AppUpdate = help.getAppUpdate({})
+```
+
diff --git a/old_docs/API_docs_v62/methods/help_getConfig.md b/old_docs/API_docs_v62/methods/help_getConfig.md
new file mode 100644
index 00000000..cb9c4f1c
--- /dev/null
+++ b/old_docs/API_docs_v62/methods/help_getConfig.md
@@ -0,0 +1,39 @@
+---
+title: help.getConfig
+description: help.getConfig parameters, return type and example
+---
+## Method: help.getConfig
+[Back to methods index](index.md)
+
+
+
+
+### Return type: [Config](../types/Config.md)
+
+### Example:
+
+
+```
+$MadelineProto = new \danog\MadelineProto\API();
+if (isset($token)) {
+ $this->bot_login($token);
+}
+if (isset($number)) {
+ $sentCode = $MadelineProto->phone_login($number);
+ echo 'Enter the code you received: ';
+ $code = '';
+ for ($x = 0; $x < $sentCode['type']['length']; $x++) {
+ $code .= fgetc(STDIN);
+ }
+ $MadelineProto->complete_phone_login($code);
+}
+
+$Config = $MadelineProto->help->getConfig();
+```
+
+Or, if you're into Lua:
+
+```
+Config = help.getConfig({})
+```
+
diff --git a/old_docs/API_docs_v62/methods/help_getInviteText.md b/old_docs/API_docs_v62/methods/help_getInviteText.md
new file mode 100644
index 00000000..b5293e91
--- /dev/null
+++ b/old_docs/API_docs_v62/methods/help_getInviteText.md
@@ -0,0 +1,39 @@
+---
+title: help.getInviteText
+description: help.getInviteText parameters, return type and example
+---
+## Method: help.getInviteText
+[Back to methods index](index.md)
+
+
+
+
+### Return type: [help\_InviteText](../types/help_InviteText.md)
+
+### Example:
+
+
+```
+$MadelineProto = new \danog\MadelineProto\API();
+if (isset($token)) {
+ $this->bot_login($token);
+}
+if (isset($number)) {
+ $sentCode = $MadelineProto->phone_login($number);
+ echo 'Enter the code you received: ';
+ $code = '';
+ for ($x = 0; $x < $sentCode['type']['length']; $x++) {
+ $code .= fgetc(STDIN);
+ }
+ $MadelineProto->complete_phone_login($code);
+}
+
+$help_InviteText = $MadelineProto->help->getInviteText();
+```
+
+Or, if you're into Lua:
+
+```
+help_InviteText = help.getInviteText({})
+```
+
diff --git a/old_docs/API_docs_v62/methods/help_getNearestDc.md b/old_docs/API_docs_v62/methods/help_getNearestDc.md
new file mode 100644
index 00000000..f491ae0c
--- /dev/null
+++ b/old_docs/API_docs_v62/methods/help_getNearestDc.md
@@ -0,0 +1,39 @@
+---
+title: help.getNearestDc
+description: help.getNearestDc parameters, return type and example
+---
+## Method: help.getNearestDc
+[Back to methods index](index.md)
+
+
+
+
+### Return type: [NearestDc](../types/NearestDc.md)
+
+### Example:
+
+
+```
+$MadelineProto = new \danog\MadelineProto\API();
+if (isset($token)) {
+ $this->bot_login($token);
+}
+if (isset($number)) {
+ $sentCode = $MadelineProto->phone_login($number);
+ echo 'Enter the code you received: ';
+ $code = '';
+ for ($x = 0; $x < $sentCode['type']['length']; $x++) {
+ $code .= fgetc(STDIN);
+ }
+ $MadelineProto->complete_phone_login($code);
+}
+
+$NearestDc = $MadelineProto->help->getNearestDc();
+```
+
+Or, if you're into Lua:
+
+```
+NearestDc = help.getNearestDc({})
+```
+
diff --git a/old_docs/API_docs_v62/methods/help_getSupport.md b/old_docs/API_docs_v62/methods/help_getSupport.md
new file mode 100644
index 00000000..03574c6f
--- /dev/null
+++ b/old_docs/API_docs_v62/methods/help_getSupport.md
@@ -0,0 +1,39 @@
+---
+title: help.getSupport
+description: help.getSupport parameters, return type and example
+---
+## Method: help.getSupport
+[Back to methods index](index.md)
+
+
+
+
+### Return type: [help\_Support](../types/help_Support.md)
+
+### Example:
+
+
+```
+$MadelineProto = new \danog\MadelineProto\API();
+if (isset($token)) {
+ $this->bot_login($token);
+}
+if (isset($number)) {
+ $sentCode = $MadelineProto->phone_login($number);
+ echo 'Enter the code you received: ';
+ $code = '';
+ for ($x = 0; $x < $sentCode['type']['length']; $x++) {
+ $code .= fgetc(STDIN);
+ }
+ $MadelineProto->complete_phone_login($code);
+}
+
+$help_Support = $MadelineProto->help->getSupport();
+```
+
+Or, if you're into Lua:
+
+```
+help_Support = help.getSupport({})
+```
+
diff --git a/old_docs/API_docs_v62/methods/help_getTermsOfService.md b/old_docs/API_docs_v62/methods/help_getTermsOfService.md
new file mode 100644
index 00000000..59147a4e
--- /dev/null
+++ b/old_docs/API_docs_v62/methods/help_getTermsOfService.md
@@ -0,0 +1,39 @@
+---
+title: help.getTermsOfService
+description: help.getTermsOfService parameters, return type and example
+---
+## Method: help.getTermsOfService
+[Back to methods index](index.md)
+
+
+
+
+### Return type: [help\_TermsOfService](../types/help_TermsOfService.md)
+
+### Example:
+
+
+```
+$MadelineProto = new \danog\MadelineProto\API();
+if (isset($token)) {
+ $this->bot_login($token);
+}
+if (isset($number)) {
+ $sentCode = $MadelineProto->phone_login($number);
+ echo 'Enter the code you received: ';
+ $code = '';
+ for ($x = 0; $x < $sentCode['type']['length']; $x++) {
+ $code .= fgetc(STDIN);
+ }
+ $MadelineProto->complete_phone_login($code);
+}
+
+$help_TermsOfService = $MadelineProto->help->getTermsOfService();
+```
+
+Or, if you're into Lua:
+
+```
+help_TermsOfService = help.getTermsOfService({})
+```
+
diff --git a/old_docs/API_docs_v62/methods/help_saveAppLog.md b/old_docs/API_docs_v62/methods/help_saveAppLog.md
new file mode 100644
index 00000000..3887ccc2
--- /dev/null
+++ b/old_docs/API_docs_v62/methods/help_saveAppLog.md
@@ -0,0 +1,44 @@
+---
+title: help.saveAppLog
+description: help.saveAppLog parameters, return type and example
+---
+## Method: help.saveAppLog
+[Back to methods index](index.md)
+
+
+### Parameters:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|events|Array of [InputAppEvent](../types/InputAppEvent.md) | Yes|
+
+
+### Return type: [Bool](../types/Bool.md)
+
+### Example:
+
+
+```
+$MadelineProto = new \danog\MadelineProto\API();
+if (isset($token)) {
+ $this->bot_login($token);
+}
+if (isset($number)) {
+ $sentCode = $MadelineProto->phone_login($number);
+ echo 'Enter the code you received: ';
+ $code = '';
+ for ($x = 0; $x < $sentCode['type']['length']; $x++) {
+ $code .= fgetc(STDIN);
+ }
+ $MadelineProto->complete_phone_login($code);
+}
+
+$Bool = $MadelineProto->help->saveAppLog(['events' => [InputAppEvent], ]);
+```
+
+Or, if you're into Lua:
+
+```
+Bool = help.saveAppLog({events={InputAppEvent}, })
+```
+
diff --git a/old_docs/API_docs_v62/methods/help_setBotUpdatesStatus.md b/old_docs/API_docs_v62/methods/help_setBotUpdatesStatus.md
new file mode 100644
index 00000000..58fc377d
--- /dev/null
+++ b/old_docs/API_docs_v62/methods/help_setBotUpdatesStatus.md
@@ -0,0 +1,45 @@
+---
+title: help.setBotUpdatesStatus
+description: help.setBotUpdatesStatus parameters, return type and example
+---
+## Method: help.setBotUpdatesStatus
+[Back to methods index](index.md)
+
+
+### Parameters:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|pending\_updates\_count|[int](../types/int.md) | Yes|
+|message|[string](../types/string.md) | Yes|
+
+
+### Return type: [Bool](../types/Bool.md)
+
+### Example:
+
+
+```
+$MadelineProto = new \danog\MadelineProto\API();
+if (isset($token)) {
+ $this->bot_login($token);
+}
+if (isset($number)) {
+ $sentCode = $MadelineProto->phone_login($number);
+ echo 'Enter the code you received: ';
+ $code = '';
+ for ($x = 0; $x < $sentCode['type']['length']; $x++) {
+ $code .= fgetc(STDIN);
+ }
+ $MadelineProto->complete_phone_login($code);
+}
+
+$Bool = $MadelineProto->help->setBotUpdatesStatus(['pending_updates_count' => int, 'message' => string, ]);
+```
+
+Or, if you're into Lua:
+
+```
+Bool = help.setBotUpdatesStatus({pending_updates_count=int, message=string, })
+```
+
diff --git a/old_docs/API_docs_v62/methods/initConnection.md b/old_docs/API_docs_v62/methods/initConnection.md
new file mode 100644
index 00000000..1c946720
--- /dev/null
+++ b/old_docs/API_docs_v62/methods/initConnection.md
@@ -0,0 +1,49 @@
+---
+title: initConnection
+description: initConnection parameters, return type and example
+---
+## Method: initConnection
+[Back to methods index](index.md)
+
+
+### Parameters:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|api\_id|[int](../types/int.md) | Yes|
+|device\_model|[string](../types/string.md) | Yes|
+|system\_version|[string](../types/string.md) | Yes|
+|app\_version|[string](../types/string.md) | Yes|
+|lang\_code|[string](../types/string.md) | Yes|
+|query|[!X](../types/!X.md) | Yes|
+
+
+### Return type: [X](../types/X.md)
+
+### Example:
+
+
+```
+$MadelineProto = new \danog\MadelineProto\API();
+if (isset($token)) {
+ $this->bot_login($token);
+}
+if (isset($number)) {
+ $sentCode = $MadelineProto->phone_login($number);
+ echo 'Enter the code you received: ';
+ $code = '';
+ for ($x = 0; $x < $sentCode['type']['length']; $x++) {
+ $code .= fgetc(STDIN);
+ }
+ $MadelineProto->complete_phone_login($code);
+}
+
+$X = $MadelineProto->initConnection(['api_id' => int, 'device_model' => string, 'system_version' => string, 'app_version' => string, 'lang_code' => string, 'query' => !X, ]);
+```
+
+Or, if you're into Lua:
+
+```
+X = initConnection({api_id=int, device_model=string, system_version=string, app_version=string, lang_code=string, query=!X, })
+```
+
diff --git a/old_docs/API_docs_v62/methods/invokeAfterMsg.md b/old_docs/API_docs_v62/methods/invokeAfterMsg.md
new file mode 100644
index 00000000..1b35a238
--- /dev/null
+++ b/old_docs/API_docs_v62/methods/invokeAfterMsg.md
@@ -0,0 +1,45 @@
+---
+title: invokeAfterMsg
+description: invokeAfterMsg parameters, return type and example
+---
+## Method: invokeAfterMsg
+[Back to methods index](index.md)
+
+
+### Parameters:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|msg\_id|[long](../types/long.md) | Yes|
+|query|[!X](../types/!X.md) | Yes|
+
+
+### Return type: [X](../types/X.md)
+
+### Example:
+
+
+```
+$MadelineProto = new \danog\MadelineProto\API();
+if (isset($token)) {
+ $this->bot_login($token);
+}
+if (isset($number)) {
+ $sentCode = $MadelineProto->phone_login($number);
+ echo 'Enter the code you received: ';
+ $code = '';
+ for ($x = 0; $x < $sentCode['type']['length']; $x++) {
+ $code .= fgetc(STDIN);
+ }
+ $MadelineProto->complete_phone_login($code);
+}
+
+$X = $MadelineProto->invokeAfterMsg(['msg_id' => long, 'query' => !X, ]);
+```
+
+Or, if you're into Lua:
+
+```
+X = invokeAfterMsg({msg_id=long, query=!X, })
+```
+
diff --git a/old_docs/API_docs_v62/methods/invokeAfterMsgs.md b/old_docs/API_docs_v62/methods/invokeAfterMsgs.md
new file mode 100644
index 00000000..164ab318
--- /dev/null
+++ b/old_docs/API_docs_v62/methods/invokeAfterMsgs.md
@@ -0,0 +1,45 @@
+---
+title: invokeAfterMsgs
+description: invokeAfterMsgs parameters, return type and example
+---
+## Method: invokeAfterMsgs
+[Back to methods index](index.md)
+
+
+### Parameters:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|msg\_ids|Array of [long](../types/long.md) | Yes|
+|query|[!X](../types/!X.md) | Yes|
+
+
+### Return type: [X](../types/X.md)
+
+### Example:
+
+
+```
+$MadelineProto = new \danog\MadelineProto\API();
+if (isset($token)) {
+ $this->bot_login($token);
+}
+if (isset($number)) {
+ $sentCode = $MadelineProto->phone_login($number);
+ echo 'Enter the code you received: ';
+ $code = '';
+ for ($x = 0; $x < $sentCode['type']['length']; $x++) {
+ $code .= fgetc(STDIN);
+ }
+ $MadelineProto->complete_phone_login($code);
+}
+
+$X = $MadelineProto->invokeAfterMsgs(['msg_ids' => [long], 'query' => !X, ]);
+```
+
+Or, if you're into Lua:
+
+```
+X = invokeAfterMsgs({msg_ids={long}, query=!X, })
+```
+
diff --git a/old_docs/API_docs_v62/methods/invokeWithLayer.md b/old_docs/API_docs_v62/methods/invokeWithLayer.md
new file mode 100644
index 00000000..497cc285
--- /dev/null
+++ b/old_docs/API_docs_v62/methods/invokeWithLayer.md
@@ -0,0 +1,45 @@
+---
+title: invokeWithLayer
+description: invokeWithLayer parameters, return type and example
+---
+## Method: invokeWithLayer
+[Back to methods index](index.md)
+
+
+### Parameters:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|layer|[int](../types/int.md) | Yes|
+|query|[!X](../types/!X.md) | Yes|
+
+
+### Return type: [X](../types/X.md)
+
+### Example:
+
+
+```
+$MadelineProto = new \danog\MadelineProto\API();
+if (isset($token)) {
+ $this->bot_login($token);
+}
+if (isset($number)) {
+ $sentCode = $MadelineProto->phone_login($number);
+ echo 'Enter the code you received: ';
+ $code = '';
+ for ($x = 0; $x < $sentCode['type']['length']; $x++) {
+ $code .= fgetc(STDIN);
+ }
+ $MadelineProto->complete_phone_login($code);
+}
+
+$X = $MadelineProto->invokeWithLayer(['layer' => int, 'query' => !X, ]);
+```
+
+Or, if you're into Lua:
+
+```
+X = invokeWithLayer({layer=int, query=!X, })
+```
+
diff --git a/old_docs/API_docs_v62/methods/invokeWithoutUpdates.md b/old_docs/API_docs_v62/methods/invokeWithoutUpdates.md
new file mode 100644
index 00000000..cbdabb07
--- /dev/null
+++ b/old_docs/API_docs_v62/methods/invokeWithoutUpdates.md
@@ -0,0 +1,44 @@
+---
+title: invokeWithoutUpdates
+description: invokeWithoutUpdates parameters, return type and example
+---
+## Method: invokeWithoutUpdates
+[Back to methods index](index.md)
+
+
+### Parameters:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|query|[!X](../types/!X.md) | Yes|
+
+
+### Return type: [X](../types/X.md)
+
+### Example:
+
+
+```
+$MadelineProto = new \danog\MadelineProto\API();
+if (isset($token)) {
+ $this->bot_login($token);
+}
+if (isset($number)) {
+ $sentCode = $MadelineProto->phone_login($number);
+ echo 'Enter the code you received: ';
+ $code = '';
+ for ($x = 0; $x < $sentCode['type']['length']; $x++) {
+ $code .= fgetc(STDIN);
+ }
+ $MadelineProto->complete_phone_login($code);
+}
+
+$X = $MadelineProto->invokeWithoutUpdates(['query' => !X, ]);
+```
+
+Or, if you're into Lua:
+
+```
+X = invokeWithoutUpdates({query=!X, })
+```
+
diff --git a/old_docs/API_docs_v62/methods/messages_acceptEncryption.md b/old_docs/API_docs_v62/methods/messages_acceptEncryption.md
new file mode 100644
index 00000000..d41beb91
--- /dev/null
+++ b/old_docs/API_docs_v62/methods/messages_acceptEncryption.md
@@ -0,0 +1,46 @@
+---
+title: messages.acceptEncryption
+description: messages.acceptEncryption parameters, return type and example
+---
+## Method: messages.acceptEncryption
+[Back to methods index](index.md)
+
+
+### Parameters:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|peer|[InputEncryptedChat](../types/InputEncryptedChat.md) | Yes|
+|g\_b|[bytes](../types/bytes.md) | Yes|
+|key\_fingerprint|[long](../types/long.md) | Yes|
+
+
+### Return type: [EncryptedChat](../types/EncryptedChat.md)
+
+### Example:
+
+
+```
+$MadelineProto = new \danog\MadelineProto\API();
+if (isset($token)) {
+ $this->bot_login($token);
+}
+if (isset($number)) {
+ $sentCode = $MadelineProto->phone_login($number);
+ echo 'Enter the code you received: ';
+ $code = '';
+ for ($x = 0; $x < $sentCode['type']['length']; $x++) {
+ $code .= fgetc(STDIN);
+ }
+ $MadelineProto->complete_phone_login($code);
+}
+
+$EncryptedChat = $MadelineProto->messages->acceptEncryption(['peer' => InputEncryptedChat, 'g_b' => bytes, 'key_fingerprint' => long, ]);
+```
+
+Or, if you're into Lua:
+
+```
+EncryptedChat = messages.acceptEncryption({peer=InputEncryptedChat, g_b=bytes, key_fingerprint=long, })
+```
+
diff --git a/old_docs/API_docs_v62/methods/messages_addChatUser.md b/old_docs/API_docs_v62/methods/messages_addChatUser.md
new file mode 100644
index 00000000..13d17a3e
--- /dev/null
+++ b/old_docs/API_docs_v62/methods/messages_addChatUser.md
@@ -0,0 +1,46 @@
+---
+title: messages.addChatUser
+description: messages.addChatUser parameters, return type and example
+---
+## Method: messages.addChatUser
+[Back to methods index](index.md)
+
+
+### Parameters:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|chat\_id|[int](../types/int.md) | Yes|
+|user\_id|[InputUser](../types/InputUser.md) | Yes|
+|fwd\_limit|[int](../types/int.md) | Yes|
+
+
+### Return type: [Updates](../types/Updates.md)
+
+### Example:
+
+
+```
+$MadelineProto = new \danog\MadelineProto\API();
+if (isset($token)) {
+ $this->bot_login($token);
+}
+if (isset($number)) {
+ $sentCode = $MadelineProto->phone_login($number);
+ echo 'Enter the code you received: ';
+ $code = '';
+ for ($x = 0; $x < $sentCode['type']['length']; $x++) {
+ $code .= fgetc(STDIN);
+ }
+ $MadelineProto->complete_phone_login($code);
+}
+
+$Updates = $MadelineProto->messages->addChatUser(['chat_id' => int, 'user_id' => InputUser, 'fwd_limit' => int, ]);
+```
+
+Or, if you're into Lua:
+
+```
+Updates = messages.addChatUser({chat_id=int, user_id=InputUser, fwd_limit=int, })
+```
+
diff --git a/old_docs/API_docs_v62/methods/messages_checkChatInvite.md b/old_docs/API_docs_v62/methods/messages_checkChatInvite.md
new file mode 100644
index 00000000..0a3a4f84
--- /dev/null
+++ b/old_docs/API_docs_v62/methods/messages_checkChatInvite.md
@@ -0,0 +1,44 @@
+---
+title: messages.checkChatInvite
+description: messages.checkChatInvite parameters, return type and example
+---
+## Method: messages.checkChatInvite
+[Back to methods index](index.md)
+
+
+### Parameters:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|hash|[string](../types/string.md) | Yes|
+
+
+### Return type: [ChatInvite](../types/ChatInvite.md)
+
+### Example:
+
+
+```
+$MadelineProto = new \danog\MadelineProto\API();
+if (isset($token)) {
+ $this->bot_login($token);
+}
+if (isset($number)) {
+ $sentCode = $MadelineProto->phone_login($number);
+ echo 'Enter the code you received: ';
+ $code = '';
+ for ($x = 0; $x < $sentCode['type']['length']; $x++) {
+ $code .= fgetc(STDIN);
+ }
+ $MadelineProto->complete_phone_login($code);
+}
+
+$ChatInvite = $MadelineProto->messages->checkChatInvite(['hash' => string, ]);
+```
+
+Or, if you're into Lua:
+
+```
+ChatInvite = messages.checkChatInvite({hash=string, })
+```
+
diff --git a/old_docs/API_docs_v62/methods/messages_clearRecentStickers.md b/old_docs/API_docs_v62/methods/messages_clearRecentStickers.md
new file mode 100644
index 00000000..f8cc5f65
--- /dev/null
+++ b/old_docs/API_docs_v62/methods/messages_clearRecentStickers.md
@@ -0,0 +1,44 @@
+---
+title: messages.clearRecentStickers
+description: messages.clearRecentStickers parameters, return type and example
+---
+## Method: messages.clearRecentStickers
+[Back to methods index](index.md)
+
+
+### Parameters:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|attached|[Bool](../types/Bool.md) | Optional|
+
+
+### Return type: [Bool](../types/Bool.md)
+
+### Example:
+
+
+```
+$MadelineProto = new \danog\MadelineProto\API();
+if (isset($token)) {
+ $this->bot_login($token);
+}
+if (isset($number)) {
+ $sentCode = $MadelineProto->phone_login($number);
+ echo 'Enter the code you received: ';
+ $code = '';
+ for ($x = 0; $x < $sentCode['type']['length']; $x++) {
+ $code .= fgetc(STDIN);
+ }
+ $MadelineProto->complete_phone_login($code);
+}
+
+$Bool = $MadelineProto->messages->clearRecentStickers(['attached' => Bool, ]);
+```
+
+Or, if you're into Lua:
+
+```
+Bool = messages.clearRecentStickers({attached=Bool, })
+```
+
diff --git a/old_docs/API_docs_v62/methods/messages_createChat.md b/old_docs/API_docs_v62/methods/messages_createChat.md
new file mode 100644
index 00000000..0ab3101a
--- /dev/null
+++ b/old_docs/API_docs_v62/methods/messages_createChat.md
@@ -0,0 +1,45 @@
+---
+title: messages.createChat
+description: messages.createChat parameters, return type and example
+---
+## Method: messages.createChat
+[Back to methods index](index.md)
+
+
+### Parameters:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|users|Array of [InputUser](../types/InputUser.md) | Yes|
+|title|[string](../types/string.md) | Yes|
+
+
+### Return type: [Updates](../types/Updates.md)
+
+### Example:
+
+
+```
+$MadelineProto = new \danog\MadelineProto\API();
+if (isset($token)) {
+ $this->bot_login($token);
+}
+if (isset($number)) {
+ $sentCode = $MadelineProto->phone_login($number);
+ echo 'Enter the code you received: ';
+ $code = '';
+ for ($x = 0; $x < $sentCode['type']['length']; $x++) {
+ $code .= fgetc(STDIN);
+ }
+ $MadelineProto->complete_phone_login($code);
+}
+
+$Updates = $MadelineProto->messages->createChat(['users' => [InputUser], 'title' => string, ]);
+```
+
+Or, if you're into Lua:
+
+```
+Updates = messages.createChat({users={InputUser}, title=string, })
+```
+
diff --git a/old_docs/API_docs_v62/methods/messages_deleteChatUser.md b/old_docs/API_docs_v62/methods/messages_deleteChatUser.md
new file mode 100644
index 00000000..ed736ebd
--- /dev/null
+++ b/old_docs/API_docs_v62/methods/messages_deleteChatUser.md
@@ -0,0 +1,45 @@
+---
+title: messages.deleteChatUser
+description: messages.deleteChatUser parameters, return type and example
+---
+## Method: messages.deleteChatUser
+[Back to methods index](index.md)
+
+
+### Parameters:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|chat\_id|[int](../types/int.md) | Yes|
+|user\_id|[InputUser](../types/InputUser.md) | Yes|
+
+
+### Return type: [Updates](../types/Updates.md)
+
+### Example:
+
+
+```
+$MadelineProto = new \danog\MadelineProto\API();
+if (isset($token)) {
+ $this->bot_login($token);
+}
+if (isset($number)) {
+ $sentCode = $MadelineProto->phone_login($number);
+ echo 'Enter the code you received: ';
+ $code = '';
+ for ($x = 0; $x < $sentCode['type']['length']; $x++) {
+ $code .= fgetc(STDIN);
+ }
+ $MadelineProto->complete_phone_login($code);
+}
+
+$Updates = $MadelineProto->messages->deleteChatUser(['chat_id' => int, 'user_id' => InputUser, ]);
+```
+
+Or, if you're into Lua:
+
+```
+Updates = messages.deleteChatUser({chat_id=int, user_id=InputUser, })
+```
+
diff --git a/old_docs/API_docs_v62/methods/messages_deleteHistory.md b/old_docs/API_docs_v62/methods/messages_deleteHistory.md
new file mode 100644
index 00000000..6f71f2fe
--- /dev/null
+++ b/old_docs/API_docs_v62/methods/messages_deleteHistory.md
@@ -0,0 +1,46 @@
+---
+title: messages.deleteHistory
+description: messages.deleteHistory parameters, return type and example
+---
+## Method: messages.deleteHistory
+[Back to methods index](index.md)
+
+
+### Parameters:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|just\_clear|[Bool](../types/Bool.md) | Optional|
+|peer|[InputPeer](../types/InputPeer.md) | Yes|
+|max\_id|[int](../types/int.md) | Yes|
+
+
+### Return type: [messages\_AffectedHistory](../types/messages_AffectedHistory.md)
+
+### Example:
+
+
+```
+$MadelineProto = new \danog\MadelineProto\API();
+if (isset($token)) {
+ $this->bot_login($token);
+}
+if (isset($number)) {
+ $sentCode = $MadelineProto->phone_login($number);
+ echo 'Enter the code you received: ';
+ $code = '';
+ for ($x = 0; $x < $sentCode['type']['length']; $x++) {
+ $code .= fgetc(STDIN);
+ }
+ $MadelineProto->complete_phone_login($code);
+}
+
+$messages_AffectedHistory = $MadelineProto->messages->deleteHistory(['just_clear' => Bool, 'peer' => InputPeer, 'max_id' => int, ]);
+```
+
+Or, if you're into Lua:
+
+```
+messages_AffectedHistory = messages.deleteHistory({just_clear=Bool, peer=InputPeer, max_id=int, })
+```
+
diff --git a/old_docs/API_docs_v62/methods/messages_deleteMessages.md b/old_docs/API_docs_v62/methods/messages_deleteMessages.md
new file mode 100644
index 00000000..a930aa42
--- /dev/null
+++ b/old_docs/API_docs_v62/methods/messages_deleteMessages.md
@@ -0,0 +1,45 @@
+---
+title: messages.deleteMessages
+description: messages.deleteMessages parameters, return type and example
+---
+## Method: messages.deleteMessages
+[Back to methods index](index.md)
+
+
+### Parameters:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|revoke|[Bool](../types/Bool.md) | Optional|
+|id|Array of [int](../types/int.md) | Yes|
+
+
+### Return type: [messages\_AffectedMessages](../types/messages_AffectedMessages.md)
+
+### Example:
+
+
+```
+$MadelineProto = new \danog\MadelineProto\API();
+if (isset($token)) {
+ $this->bot_login($token);
+}
+if (isset($number)) {
+ $sentCode = $MadelineProto->phone_login($number);
+ echo 'Enter the code you received: ';
+ $code = '';
+ for ($x = 0; $x < $sentCode['type']['length']; $x++) {
+ $code .= fgetc(STDIN);
+ }
+ $MadelineProto->complete_phone_login($code);
+}
+
+$messages_AffectedMessages = $MadelineProto->messages->deleteMessages(['revoke' => Bool, 'id' => [int], ]);
+```
+
+Or, if you're into Lua:
+
+```
+messages_AffectedMessages = messages.deleteMessages({revoke=Bool, id={int}, })
+```
+
diff --git a/old_docs/API_docs_v62/methods/messages_discardEncryption.md b/old_docs/API_docs_v62/methods/messages_discardEncryption.md
new file mode 100644
index 00000000..ebc1ace5
--- /dev/null
+++ b/old_docs/API_docs_v62/methods/messages_discardEncryption.md
@@ -0,0 +1,44 @@
+---
+title: messages.discardEncryption
+description: messages.discardEncryption parameters, return type and example
+---
+## Method: messages.discardEncryption
+[Back to methods index](index.md)
+
+
+### Parameters:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|chat\_id|[int](../types/int.md) | Yes|
+
+
+### Return type: [Bool](../types/Bool.md)
+
+### Example:
+
+
+```
+$MadelineProto = new \danog\MadelineProto\API();
+if (isset($token)) {
+ $this->bot_login($token);
+}
+if (isset($number)) {
+ $sentCode = $MadelineProto->phone_login($number);
+ echo 'Enter the code you received: ';
+ $code = '';
+ for ($x = 0; $x < $sentCode['type']['length']; $x++) {
+ $code .= fgetc(STDIN);
+ }
+ $MadelineProto->complete_phone_login($code);
+}
+
+$Bool = $MadelineProto->messages->discardEncryption(['chat_id' => int, ]);
+```
+
+Or, if you're into Lua:
+
+```
+Bool = messages.discardEncryption({chat_id=int, })
+```
+
diff --git a/old_docs/API_docs_v62/methods/messages_editChatAdmin.md b/old_docs/API_docs_v62/methods/messages_editChatAdmin.md
new file mode 100644
index 00000000..38bc8de0
--- /dev/null
+++ b/old_docs/API_docs_v62/methods/messages_editChatAdmin.md
@@ -0,0 +1,46 @@
+---
+title: messages.editChatAdmin
+description: messages.editChatAdmin parameters, return type and example
+---
+## Method: messages.editChatAdmin
+[Back to methods index](index.md)
+
+
+### Parameters:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|chat\_id|[int](../types/int.md) | Yes|
+|user\_id|[InputUser](../types/InputUser.md) | Yes|
+|is\_admin|[Bool](../types/Bool.md) | Yes|
+
+
+### Return type: [Bool](../types/Bool.md)
+
+### Example:
+
+
+```
+$MadelineProto = new \danog\MadelineProto\API();
+if (isset($token)) {
+ $this->bot_login($token);
+}
+if (isset($number)) {
+ $sentCode = $MadelineProto->phone_login($number);
+ echo 'Enter the code you received: ';
+ $code = '';
+ for ($x = 0; $x < $sentCode['type']['length']; $x++) {
+ $code .= fgetc(STDIN);
+ }
+ $MadelineProto->complete_phone_login($code);
+}
+
+$Bool = $MadelineProto->messages->editChatAdmin(['chat_id' => int, 'user_id' => InputUser, 'is_admin' => Bool, ]);
+```
+
+Or, if you're into Lua:
+
+```
+Bool = messages.editChatAdmin({chat_id=int, user_id=InputUser, is_admin=Bool, })
+```
+
diff --git a/old_docs/API_docs_v62/methods/messages_editChatPhoto.md b/old_docs/API_docs_v62/methods/messages_editChatPhoto.md
new file mode 100644
index 00000000..e3cbf492
--- /dev/null
+++ b/old_docs/API_docs_v62/methods/messages_editChatPhoto.md
@@ -0,0 +1,45 @@
+---
+title: messages.editChatPhoto
+description: messages.editChatPhoto parameters, return type and example
+---
+## Method: messages.editChatPhoto
+[Back to methods index](index.md)
+
+
+### Parameters:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|chat\_id|[int](../types/int.md) | Yes|
+|photo|[InputChatPhoto](../types/InputChatPhoto.md) | Yes|
+
+
+### Return type: [Updates](../types/Updates.md)
+
+### Example:
+
+
+```
+$MadelineProto = new \danog\MadelineProto\API();
+if (isset($token)) {
+ $this->bot_login($token);
+}
+if (isset($number)) {
+ $sentCode = $MadelineProto->phone_login($number);
+ echo 'Enter the code you received: ';
+ $code = '';
+ for ($x = 0; $x < $sentCode['type']['length']; $x++) {
+ $code .= fgetc(STDIN);
+ }
+ $MadelineProto->complete_phone_login($code);
+}
+
+$Updates = $MadelineProto->messages->editChatPhoto(['chat_id' => int, 'photo' => InputChatPhoto, ]);
+```
+
+Or, if you're into Lua:
+
+```
+Updates = messages.editChatPhoto({chat_id=int, photo=InputChatPhoto, })
+```
+
diff --git a/old_docs/API_docs_v62/methods/messages_editChatTitle.md b/old_docs/API_docs_v62/methods/messages_editChatTitle.md
new file mode 100644
index 00000000..60eae01c
--- /dev/null
+++ b/old_docs/API_docs_v62/methods/messages_editChatTitle.md
@@ -0,0 +1,45 @@
+---
+title: messages.editChatTitle
+description: messages.editChatTitle parameters, return type and example
+---
+## Method: messages.editChatTitle
+[Back to methods index](index.md)
+
+
+### Parameters:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|chat\_id|[int](../types/int.md) | Yes|
+|title|[string](../types/string.md) | Yes|
+
+
+### Return type: [Updates](../types/Updates.md)
+
+### Example:
+
+
+```
+$MadelineProto = new \danog\MadelineProto\API();
+if (isset($token)) {
+ $this->bot_login($token);
+}
+if (isset($number)) {
+ $sentCode = $MadelineProto->phone_login($number);
+ echo 'Enter the code you received: ';
+ $code = '';
+ for ($x = 0; $x < $sentCode['type']['length']; $x++) {
+ $code .= fgetc(STDIN);
+ }
+ $MadelineProto->complete_phone_login($code);
+}
+
+$Updates = $MadelineProto->messages->editChatTitle(['chat_id' => int, 'title' => string, ]);
+```
+
+Or, if you're into Lua:
+
+```
+Updates = messages.editChatTitle({chat_id=int, title=string, })
+```
+
diff --git a/old_docs/API_docs_v62/methods/messages_editInlineBotMessage.md b/old_docs/API_docs_v62/methods/messages_editInlineBotMessage.md
new file mode 100644
index 00000000..b275cc64
--- /dev/null
+++ b/old_docs/API_docs_v62/methods/messages_editInlineBotMessage.md
@@ -0,0 +1,80 @@
+---
+title: messages.editInlineBotMessage
+description: messages.editInlineBotMessage parameters, return type and example
+---
+## Method: messages.editInlineBotMessage
+[Back to methods index](index.md)
+
+
+### Parameters:
+
+| Name | Type | Required |
+|----------|:-------------:|---------:|
+|no\_webpage|[Bool](../types/Bool.md) | Optional|
+|id|[InputBotInlineMessageID](../types/InputBotInlineMessageID.md) | Yes|
+|message|[string](../types/string.md) | Optional|
+|reply\_markup|[ReplyMarkup](../types/ReplyMarkup.md) | Optional|
+|entities|Array of [MessageEntity](../types/MessageEntity.md) | Optional|
+|parse\_mode| [string](../types/string.md) | Optional |
+
+
+### Return type: [Bool](../types/Bool.md)
+
+### Example:
+
+
+```
+$MadelineProto = new \danog\MadelineProto\API();
+if (isset($token)) {
+ $this->bot_login($token);
+}
+if (isset($number)) {
+ $sentCode = $MadelineProto->phone_login($number);
+ echo 'Enter the code you received: ';
+ $code = '';
+ for ($x = 0; $x < $sentCode['type']['length']; $x++) {
+ $code .= fgetc(STDIN);
+ }
+ $MadelineProto->complete_phone_login($code);
+}
+
+$Bool = $MadelineProto->messages->editInlineBotMessage(['no_webpage' => Bool, 'id' => InputBotInlineMessageID, 'message' => string, 'reply_markup' => ReplyMarkup, 'entities' => [MessageEntity], 'parse_mode' => 'string', ]);
+```
+
+Or, if you're into Lua:
+
+```
+Bool = messages.editInlineBotMessage({no_webpage=Bool, id=InputBotInlineMessageID, message=string, reply_markup=ReplyMarkup, entities={MessageEntity}, parse_mode='string', })
+```
+
+
+## Usage of parse_mode:
+
+Set parse_mode to html to enable HTML parsing of the message.
+
+Set parse_mode to Markdown to enable markown AND html parsing of the message.
+
+The following tags are currently supported:
+
+```
+
a newline
+bold works ok, internal tags are stripped
+bold
+italic
+italic
+inline fixed-width code
+
pre-formatted fixed-width code block+URL +Mention by username +Mention by user id +
Pre tags can have a language attribute+``` + +You can also use normal markdown, note that to create mentions you must use the `mention:` syntax like in html: + +``` +[Mention by username](mention:@danogentili) +[Mention by user id](mention:186785362) +``` + +MadelineProto supports all html entities supported by [html_entity_decode](http://php.net/manual/en/function.html-entity-decode.php). diff --git a/old_docs/API_docs_v62/methods/messages_editMessage.md b/old_docs/API_docs_v62/methods/messages_editMessage.md new file mode 100644 index 00000000..b7d0eb36 --- /dev/null +++ b/old_docs/API_docs_v62/methods/messages_editMessage.md @@ -0,0 +1,81 @@ +--- +title: messages.editMessage +description: messages.editMessage parameters, return type and example +--- +## Method: messages.editMessage +[Back to methods index](index.md) + + +### Parameters: + +| Name | Type | Required | +|----------|:-------------:|---------:| +|no\_webpage|[Bool](../types/Bool.md) | Optional| +|peer|[InputPeer](../types/InputPeer.md) | Yes| +|id|[int](../types/int.md) | Yes| +|message|[string](../types/string.md) | Optional| +|reply\_markup|[ReplyMarkup](../types/ReplyMarkup.md) | Optional| +|entities|Array of [MessageEntity](../types/MessageEntity.md) | Optional| +|parse\_mode| [string](../types/string.md) | Optional | + + +### Return type: [Updates](../types/Updates.md) + +### Example: + + +``` +$MadelineProto = new \danog\MadelineProto\API(); +if (isset($token)) { + $this->bot_login($token); +} +if (isset($number)) { + $sentCode = $MadelineProto->phone_login($number); + echo 'Enter the code you received: '; + $code = ''; + for ($x = 0; $x < $sentCode['type']['length']; $x++) { + $code .= fgetc(STDIN); + } + $MadelineProto->complete_phone_login($code); +} + +$Updates = $MadelineProto->messages->editMessage(['no_webpage' => Bool, 'peer' => InputPeer, 'id' => int, 'message' => string, 'reply_markup' => ReplyMarkup, 'entities' => [MessageEntity], 'parse_mode' => 'string', ]); +``` + +Or, if you're into Lua: + +``` +Updates = messages.editMessage({no_webpage=Bool, peer=InputPeer, id=int, message=string, reply_markup=ReplyMarkup, entities={MessageEntity}, parse_mode='string', }) +``` + + +## Usage of parse_mode: + +Set parse_mode to html to enable HTML parsing of the message. + +Set parse_mode to Markdown to enable markown AND html parsing of the message. + +The following tags are currently supported: + +``` +
inline fixed-width code
+pre-formatted fixed-width code block+URL +Mention by username +Mention by user id +
Pre tags can have a language attribute+``` + +You can also use normal markdown, note that to create mentions you must use the `mention:` syntax like in html: + +``` +[Mention by username](mention:@danogentili) +[Mention by user id](mention:186785362) +``` + +MadelineProto supports all html entities supported by [html_entity_decode](http://php.net/manual/en/function.html-entity-decode.php). diff --git a/old_docs/API_docs_v62/methods/messages_exportChatInvite.md b/old_docs/API_docs_v62/methods/messages_exportChatInvite.md new file mode 100644 index 00000000..3efc9bf7 --- /dev/null +++ b/old_docs/API_docs_v62/methods/messages_exportChatInvite.md @@ -0,0 +1,44 @@ +--- +title: messages.exportChatInvite +description: messages.exportChatInvite parameters, return type and example +--- +## Method: messages.exportChatInvite +[Back to methods index](index.md) + + +### Parameters: + +| Name | Type | Required | +|----------|:-------------:|---------:| +|chat\_id|[int](../types/int.md) | Yes| + + +### Return type: [ExportedChatInvite](../types/ExportedChatInvite.md) + +### Example: + + +``` +$MadelineProto = new \danog\MadelineProto\API(); +if (isset($token)) { + $this->bot_login($token); +} +if (isset($number)) { + $sentCode = $MadelineProto->phone_login($number); + echo 'Enter the code you received: '; + $code = ''; + for ($x = 0; $x < $sentCode['type']['length']; $x++) { + $code .= fgetc(STDIN); + } + $MadelineProto->complete_phone_login($code); +} + +$ExportedChatInvite = $MadelineProto->messages->exportChatInvite(['chat_id' => int, ]); +``` + +Or, if you're into Lua: + +``` +ExportedChatInvite = messages.exportChatInvite({chat_id=int, }) +``` + diff --git a/old_docs/API_docs_v62/methods/messages_forwardMessage.md b/old_docs/API_docs_v62/methods/messages_forwardMessage.md new file mode 100644 index 00000000..a95d259a --- /dev/null +++ b/old_docs/API_docs_v62/methods/messages_forwardMessage.md @@ -0,0 +1,45 @@ +--- +title: messages.forwardMessage +description: messages.forwardMessage parameters, return type and example +--- +## Method: messages.forwardMessage +[Back to methods index](index.md) + + +### Parameters: + +| Name | Type | Required | +|----------|:-------------:|---------:| +|peer|[InputPeer](../types/InputPeer.md) | Yes| +|id|[int](../types/int.md) | Yes| + + +### Return type: [Updates](../types/Updates.md) + +### Example: + + +``` +$MadelineProto = new \danog\MadelineProto\API(); +if (isset($token)) { + $this->bot_login($token); +} +if (isset($number)) { + $sentCode = $MadelineProto->phone_login($number); + echo 'Enter the code you received: '; + $code = ''; + for ($x = 0; $x < $sentCode['type']['length']; $x++) { + $code .= fgetc(STDIN); + } + $MadelineProto->complete_phone_login($code); +} + +$Updates = $MadelineProto->messages->forwardMessage(['peer' => InputPeer, 'id' => int, ]); +``` + +Or, if you're into Lua: + +``` +Updates = messages.forwardMessage({peer=InputPeer, id=int, }) +``` + diff --git a/old_docs/API_docs_v62/methods/messages_forwardMessages.md b/old_docs/API_docs_v62/methods/messages_forwardMessages.md new file mode 100644 index 00000000..716a2ebf --- /dev/null +++ b/old_docs/API_docs_v62/methods/messages_forwardMessages.md @@ -0,0 +1,49 @@ +--- +title: messages.forwardMessages +description: messages.forwardMessages parameters, return type and example +--- +## Method: messages.forwardMessages +[Back to methods index](index.md) + + +### Parameters: + +| Name | Type | Required | +|----------|:-------------:|---------:| +|silent|[Bool](../types/Bool.md) | Optional| +|background|[Bool](../types/Bool.md) | Optional| +|with\_my\_score|[Bool](../types/Bool.md) | Optional| +|from\_peer|[InputPeer](../types/InputPeer.md) | Yes| +|id|Array of [int](../types/int.md) | Yes| +|to\_peer|[InputPeer](../types/InputPeer.md) | Yes| + + +### Return type: [Updates](../types/Updates.md) + +### Example: + + +``` +$MadelineProto = new \danog\MadelineProto\API(); +if (isset($token)) { + $this->bot_login($token); +} +if (isset($number)) { + $sentCode = $MadelineProto->phone_login($number); + echo 'Enter the code you received: '; + $code = ''; + for ($x = 0; $x < $sentCode['type']['length']; $x++) { + $code .= fgetc(STDIN); + } + $MadelineProto->complete_phone_login($code); +} + +$Updates = $MadelineProto->messages->forwardMessages(['silent' => Bool, 'background' => Bool, 'with_my_score' => Bool, 'from_peer' => InputPeer, 'id' => [int], 'to_peer' => InputPeer, ]); +``` + +Or, if you're into Lua: + +``` +Updates = messages.forwardMessages({silent=Bool, background=Bool, with_my_score=Bool, from_peer=InputPeer, id={int}, to_peer=InputPeer, }) +``` + diff --git a/old_docs/API_docs_v62/methods/messages_getAllChats.md b/old_docs/API_docs_v62/methods/messages_getAllChats.md new file mode 100644 index 00000000..7140903e --- /dev/null +++ b/old_docs/API_docs_v62/methods/messages_getAllChats.md @@ -0,0 +1,44 @@ +--- +title: messages.getAllChats +description: messages.getAllChats parameters, return type and example +--- +## Method: messages.getAllChats +[Back to methods index](index.md) + + +### Parameters: + +| Name | Type | Required | +|----------|:-------------:|---------:| +|except\_ids|Array of [int](../types/int.md) | Yes| + + +### Return type: [messages\_Chats](../types/messages_Chats.md) + +### Example: + + +``` +$MadelineProto = new \danog\MadelineProto\API(); +if (isset($token)) { + $this->bot_login($token); +} +if (isset($number)) { + $sentCode = $MadelineProto->phone_login($number); + echo 'Enter the code you received: '; + $code = ''; + for ($x = 0; $x < $sentCode['type']['length']; $x++) { + $code .= fgetc(STDIN); + } + $MadelineProto->complete_phone_login($code); +} + +$messages_Chats = $MadelineProto->messages->getAllChats(['except_ids' => [int], ]); +``` + +Or, if you're into Lua: + +``` +messages_Chats = messages.getAllChats({except_ids={int}, }) +``` + diff --git a/old_docs/API_docs_v62/methods/messages_getAllDrafts.md b/old_docs/API_docs_v62/methods/messages_getAllDrafts.md new file mode 100644 index 00000000..39f0a058 --- /dev/null +++ b/old_docs/API_docs_v62/methods/messages_getAllDrafts.md @@ -0,0 +1,39 @@ +--- +title: messages.getAllDrafts +description: messages.getAllDrafts parameters, return type and example +--- +## Method: messages.getAllDrafts +[Back to methods index](index.md) + + + + +### Return type: [Updates](../types/Updates.md) + +### Example: + + +``` +$MadelineProto = new \danog\MadelineProto\API(); +if (isset($token)) { + $this->bot_login($token); +} +if (isset($number)) { + $sentCode = $MadelineProto->phone_login($number); + echo 'Enter the code you received: '; + $code = ''; + for ($x = 0; $x < $sentCode['type']['length']; $x++) { + $code .= fgetc(STDIN); + } + $MadelineProto->complete_phone_login($code); +} + +$Updates = $MadelineProto->messages->getAllDrafts(); +``` + +Or, if you're into Lua: + +``` +Updates = messages.getAllDrafts({}) +``` + diff --git a/old_docs/API_docs_v62/methods/messages_getAllStickers.md b/old_docs/API_docs_v62/methods/messages_getAllStickers.md new file mode 100644 index 00000000..613db3b2 --- /dev/null +++ b/old_docs/API_docs_v62/methods/messages_getAllStickers.md @@ -0,0 +1,44 @@ +--- +title: messages.getAllStickers +description: messages.getAllStickers parameters, return type and example +--- +## Method: messages.getAllStickers +[Back to methods index](index.md) + + +### Parameters: + +| Name | Type | Required | +|----------|:-------------:|---------:| +|hash|[int](../types/int.md) | Yes| + + +### Return type: [messages\_AllStickers](../types/messages_AllStickers.md) + +### Example: + + +``` +$MadelineProto = new \danog\MadelineProto\API(); +if (isset($token)) { + $this->bot_login($token); +} +if (isset($number)) { + $sentCode = $MadelineProto->phone_login($number); + echo 'Enter the code you received: '; + $code = ''; + for ($x = 0; $x < $sentCode['type']['length']; $x++) { + $code .= fgetc(STDIN); + } + $MadelineProto->complete_phone_login($code); +} + +$messages_AllStickers = $MadelineProto->messages->getAllStickers(['hash' => int, ]); +``` + +Or, if you're into Lua: + +``` +messages_AllStickers = messages.getAllStickers({hash=int, }) +``` + diff --git a/old_docs/API_docs_v62/methods/messages_getArchivedStickers.md b/old_docs/API_docs_v62/methods/messages_getArchivedStickers.md new file mode 100644 index 00000000..a0e17df2 --- /dev/null +++ b/old_docs/API_docs_v62/methods/messages_getArchivedStickers.md @@ -0,0 +1,46 @@ +--- +title: messages.getArchivedStickers +description: messages.getArchivedStickers parameters, return type and example +--- +## Method: messages.getArchivedStickers +[Back to methods index](index.md) + + +### Parameters: + +| Name | Type | Required | +|----------|:-------------:|---------:| +|masks|[Bool](../types/Bool.md) | Optional| +|offset\_id|[long](../types/long.md) | Yes| +|limit|[int](../types/int.md) | Yes| + + +### Return type: [messages\_ArchivedStickers](../types/messages_ArchivedStickers.md) + +### Example: + + +``` +$MadelineProto = new \danog\MadelineProto\API(); +if (isset($token)) { + $this->bot_login($token); +} +if (isset($number)) { + $sentCode = $MadelineProto->phone_login($number); + echo 'Enter the code you received: '; + $code = ''; + for ($x = 0; $x < $sentCode['type']['length']; $x++) { + $code .= fgetc(STDIN); + } + $MadelineProto->complete_phone_login($code); +} + +$messages_ArchivedStickers = $MadelineProto->messages->getArchivedStickers(['masks' => Bool, 'offset_id' => long, 'limit' => int, ]); +``` + +Or, if you're into Lua: + +``` +messages_ArchivedStickers = messages.getArchivedStickers({masks=Bool, offset_id=long, limit=int, }) +``` + diff --git a/old_docs/API_docs_v62/methods/messages_getAttachedStickers.md b/old_docs/API_docs_v62/methods/messages_getAttachedStickers.md new file mode 100644 index 00000000..99806dae --- /dev/null +++ b/old_docs/API_docs_v62/methods/messages_getAttachedStickers.md @@ -0,0 +1,44 @@ +--- +title: messages.getAttachedStickers +description: messages.getAttachedStickers parameters, return type and example +--- +## Method: messages.getAttachedStickers +[Back to methods index](index.md) + + +### Parameters: + +| Name | Type | Required | +|----------|:-------------:|---------:| +|media|[InputStickeredMedia](../types/InputStickeredMedia.md) | Yes| + + +### Return type: [Vector\_of\_StickerSetCovered](../types/StickerSetCovered.md) + +### Example: + + +``` +$MadelineProto = new \danog\MadelineProto\API(); +if (isset($token)) { + $this->bot_login($token); +} +if (isset($number)) { + $sentCode = $MadelineProto->phone_login($number); + echo 'Enter the code you received: '; + $code = ''; + for ($x = 0; $x < $sentCode['type']['length']; $x++) { + $code .= fgetc(STDIN); + } + $MadelineProto->complete_phone_login($code); +} + +$Vector_of_StickerSetCovered = $MadelineProto->messages->getAttachedStickers(['media' => InputStickeredMedia, ]); +``` + +Or, if you're into Lua: + +``` +Vector_of_StickerSetCovered = messages.getAttachedStickers({media=InputStickeredMedia, }) +``` + diff --git a/old_docs/API_docs_v62/methods/messages_getBotCallbackAnswer.md b/old_docs/API_docs_v62/methods/messages_getBotCallbackAnswer.md new file mode 100644 index 00000000..2f412a3f --- /dev/null +++ b/old_docs/API_docs_v62/methods/messages_getBotCallbackAnswer.md @@ -0,0 +1,47 @@ +--- +title: messages.getBotCallbackAnswer +description: messages.getBotCallbackAnswer parameters, return type and example +--- +## Method: messages.getBotCallbackAnswer +[Back to methods index](index.md) + + +### Parameters: + +| Name | Type | Required | +|----------|:-------------:|---------:| +|game|[Bool](../types/Bool.md) | Optional| +|peer|[InputPeer](../types/InputPeer.md) | Yes| +|msg\_id|[int](../types/int.md) | Yes| +|data|[bytes](../types/bytes.md) | Optional| + + +### Return type: [messages\_BotCallbackAnswer](../types/messages_BotCallbackAnswer.md) + +### Example: + + +``` +$MadelineProto = new \danog\MadelineProto\API(); +if (isset($token)) { + $this->bot_login($token); +} +if (isset($number)) { + $sentCode = $MadelineProto->phone_login($number); + echo 'Enter the code you received: '; + $code = ''; + for ($x = 0; $x < $sentCode['type']['length']; $x++) { + $code .= fgetc(STDIN); + } + $MadelineProto->complete_phone_login($code); +} + +$messages_BotCallbackAnswer = $MadelineProto->messages->getBotCallbackAnswer(['game' => Bool, 'peer' => InputPeer, 'msg_id' => int, 'data' => bytes, ]); +``` + +Or, if you're into Lua: + +``` +messages_BotCallbackAnswer = messages.getBotCallbackAnswer({game=Bool, peer=InputPeer, msg_id=int, data=bytes, }) +``` + diff --git a/old_docs/API_docs_v62/methods/messages_getChats.md b/old_docs/API_docs_v62/methods/messages_getChats.md new file mode 100644 index 00000000..ad63744b --- /dev/null +++ b/old_docs/API_docs_v62/methods/messages_getChats.md @@ -0,0 +1,44 @@ +--- +title: messages.getChats +description: messages.getChats parameters, return type and example +--- +## Method: messages.getChats +[Back to methods index](index.md) + + +### Parameters: + +| Name | Type | Required | +|----------|:-------------:|---------:| +|id|Array of [int](../types/int.md) | Yes| + + +### Return type: [messages\_Chats](../types/messages_Chats.md) + +### Example: + + +``` +$MadelineProto = new \danog\MadelineProto\API(); +if (isset($token)) { + $this->bot_login($token); +} +if (isset($number)) { + $sentCode = $MadelineProto->phone_login($number); + echo 'Enter the code you received: '; + $code = ''; + for ($x = 0; $x < $sentCode['type']['length']; $x++) { + $code .= fgetc(STDIN); + } + $MadelineProto->complete_phone_login($code); +} + +$messages_Chats = $MadelineProto->messages->getChats(['id' => [int], ]); +``` + +Or, if you're into Lua: + +``` +messages_Chats = messages.getChats({id={int}, }) +``` + diff --git a/old_docs/API_docs_v62/methods/messages_getCommonChats.md b/old_docs/API_docs_v62/methods/messages_getCommonChats.md new file mode 100644 index 00000000..4e10d74d --- /dev/null +++ b/old_docs/API_docs_v62/methods/messages_getCommonChats.md @@ -0,0 +1,46 @@ +--- +title: messages.getCommonChats +description: messages.getCommonChats parameters, return type and example +--- +## Method: messages.getCommonChats +[Back to methods index](index.md) + + +### Parameters: + +| Name | Type | Required | +|----------|:-------------:|---------:| +|user\_id|[InputUser](../types/InputUser.md) | Yes| +|max\_id|[int](../types/int.md) | Yes| +|limit|[int](../types/int.md) | Yes| + + +### Return type: [messages\_Chats](../types/messages_Chats.md) + +### Example: + + +``` +$MadelineProto = new \danog\MadelineProto\API(); +if (isset($token)) { + $this->bot_login($token); +} +if (isset($number)) { + $sentCode = $MadelineProto->phone_login($number); + echo 'Enter the code you received: '; + $code = ''; + for ($x = 0; $x < $sentCode['type']['length']; $x++) { + $code .= fgetc(STDIN); + } + $MadelineProto->complete_phone_login($code); +} + +$messages_Chats = $MadelineProto->messages->getCommonChats(['user_id' => InputUser, 'max_id' => int, 'limit' => int, ]); +``` + +Or, if you're into Lua: + +``` +messages_Chats = messages.getCommonChats({user_id=InputUser, max_id=int, limit=int, }) +``` + diff --git a/old_docs/API_docs_v62/methods/messages_getDhConfig.md b/old_docs/API_docs_v62/methods/messages_getDhConfig.md new file mode 100644 index 00000000..bcebea55 --- /dev/null +++ b/old_docs/API_docs_v62/methods/messages_getDhConfig.md @@ -0,0 +1,45 @@ +--- +title: messages.getDhConfig +description: messages.getDhConfig parameters, return type and example +--- +## Method: messages.getDhConfig +[Back to methods index](index.md) + + +### Parameters: + +| Name | Type | Required | +|----------|:-------------:|---------:| +|version|[int](../types/int.md) | Yes| +|random\_length|[int](../types/int.md) | Yes| + + +### Return type: [messages\_DhConfig](../types/messages_DhConfig.md) + +### Example: + + +``` +$MadelineProto = new \danog\MadelineProto\API(); +if (isset($token)) { + $this->bot_login($token); +} +if (isset($number)) { + $sentCode = $MadelineProto->phone_login($number); + echo 'Enter the code you received: '; + $code = ''; + for ($x = 0; $x < $sentCode['type']['length']; $x++) { + $code .= fgetc(STDIN); + } + $MadelineProto->complete_phone_login($code); +} + +$messages_DhConfig = $MadelineProto->messages->getDhConfig(['version' => int, 'random_length' => int, ]); +``` + +Or, if you're into Lua: + +``` +messages_DhConfig = messages.getDhConfig({version=int, random_length=int, }) +``` + diff --git a/old_docs/API_docs_v62/methods/messages_getDialogs.md b/old_docs/API_docs_v62/methods/messages_getDialogs.md new file mode 100644 index 00000000..19f6ca2e --- /dev/null +++ b/old_docs/API_docs_v62/methods/messages_getDialogs.md @@ -0,0 +1,48 @@ +--- +title: messages.getDialogs +description: messages.getDialogs parameters, return type and example +--- +## Method: messages.getDialogs +[Back to methods index](index.md) + + +### Parameters: + +| Name | Type | Required | +|----------|:-------------:|---------:| +|exclude\_pinned|[Bool](../types/Bool.md) | Optional| +|offset\_date|[int](../types/int.md) | Yes| +|offset\_id|[int](../types/int.md) | Yes| +|offset\_peer|[InputPeer](../types/InputPeer.md) | Yes| +|limit|[int](../types/int.md) | Yes| + + +### Return type: [messages\_Dialogs](../types/messages_Dialogs.md) + +### Example: + + +``` +$MadelineProto = new \danog\MadelineProto\API(); +if (isset($token)) { + $this->bot_login($token); +} +if (isset($number)) { + $sentCode = $MadelineProto->phone_login($number); + echo 'Enter the code you received: '; + $code = ''; + for ($x = 0; $x < $sentCode['type']['length']; $x++) { + $code .= fgetc(STDIN); + } + $MadelineProto->complete_phone_login($code); +} + +$messages_Dialogs = $MadelineProto->messages->getDialogs(['exclude_pinned' => Bool, 'offset_date' => int, 'offset_id' => int, 'offset_peer' => InputPeer, 'limit' => int, ]); +``` + +Or, if you're into Lua: + +``` +messages_Dialogs = messages.getDialogs({exclude_pinned=Bool, offset_date=int, offset_id=int, offset_peer=InputPeer, limit=int, }) +``` + diff --git a/old_docs/API_docs_v62/methods/messages_getDocumentByHash.md b/old_docs/API_docs_v62/methods/messages_getDocumentByHash.md new file mode 100644 index 00000000..32fc1de0 --- /dev/null +++ b/old_docs/API_docs_v62/methods/messages_getDocumentByHash.md @@ -0,0 +1,46 @@ +--- +title: messages.getDocumentByHash +description: messages.getDocumentByHash parameters, return type and example +--- +## Method: messages.getDocumentByHash +[Back to methods index](index.md) + + +### Parameters: + +| Name | Type | Required | +|----------|:-------------:|---------:| +|sha256|[bytes](../types/bytes.md) | Yes| +|size|[int](../types/int.md) | Yes| +|mime\_type|[string](../types/string.md) | Yes| + + +### Return type: [Document](../types/Document.md) + +### Example: + + +``` +$MadelineProto = new \danog\MadelineProto\API(); +if (isset($token)) { + $this->bot_login($token); +} +if (isset($number)) { + $sentCode = $MadelineProto->phone_login($number); + echo 'Enter the code you received: '; + $code = ''; + for ($x = 0; $x < $sentCode['type']['length']; $x++) { + $code .= fgetc(STDIN); + } + $MadelineProto->complete_phone_login($code); +} + +$Document = $MadelineProto->messages->getDocumentByHash(['sha256' => bytes, 'size' => int, 'mime_type' => string, ]); +``` + +Or, if you're into Lua: + +``` +Document = messages.getDocumentByHash({sha256=bytes, size=int, mime_type=string, }) +``` + diff --git a/old_docs/API_docs_v62/methods/messages_getFeaturedStickers.md b/old_docs/API_docs_v62/methods/messages_getFeaturedStickers.md new file mode 100644 index 00000000..47a4d501 --- /dev/null +++ b/old_docs/API_docs_v62/methods/messages_getFeaturedStickers.md @@ -0,0 +1,44 @@ +--- +title: messages.getFeaturedStickers +description: messages.getFeaturedStickers parameters, return type and example +--- +## Method: messages.getFeaturedStickers +[Back to methods index](index.md) + + +### Parameters: + +| Name | Type | Required | +|----------|:-------------:|---------:| +|hash|[int](../types/int.md) | Yes| + + +### Return type: [messages\_FeaturedStickers](../types/messages_FeaturedStickers.md) + +### Example: + + +``` +$MadelineProto = new \danog\MadelineProto\API(); +if (isset($token)) { + $this->bot_login($token); +} +if (isset($number)) { + $sentCode = $MadelineProto->phone_login($number); + echo 'Enter the code you received: '; + $code = ''; + for ($x = 0; $x < $sentCode['type']['length']; $x++) { + $code .= fgetc(STDIN); + } + $MadelineProto->complete_phone_login($code); +} + +$messages_FeaturedStickers = $MadelineProto->messages->getFeaturedStickers(['hash' => int, ]); +``` + +Or, if you're into Lua: + +``` +messages_FeaturedStickers = messages.getFeaturedStickers({hash=int, }) +``` + diff --git a/old_docs/API_docs_v62/methods/messages_getFullChat.md b/old_docs/API_docs_v62/methods/messages_getFullChat.md new file mode 100644 index 00000000..f3c8223a --- /dev/null +++ b/old_docs/API_docs_v62/methods/messages_getFullChat.md @@ -0,0 +1,44 @@ +--- +title: messages.getFullChat +description: messages.getFullChat parameters, return type and example +--- +## Method: messages.getFullChat +[Back to methods index](index.md) + + +### Parameters: + +| Name | Type | Required | +|----------|:-------------:|---------:| +|chat\_id|[int](../types/int.md) | Yes| + + +### Return type: [messages\_ChatFull](../types/messages_ChatFull.md) + +### Example: + + +``` +$MadelineProto = new \danog\MadelineProto\API(); +if (isset($token)) { + $this->bot_login($token); +} +if (isset($number)) { + $sentCode = $MadelineProto->phone_login($number); + echo 'Enter the code you received: '; + $code = ''; + for ($x = 0; $x < $sentCode['type']['length']; $x++) { + $code .= fgetc(STDIN); + } + $MadelineProto->complete_phone_login($code); +} + +$messages_ChatFull = $MadelineProto->messages->getFullChat(['chat_id' => int, ]); +``` + +Or, if you're into Lua: + +``` +messages_ChatFull = messages.getFullChat({chat_id=int, }) +``` + diff --git a/old_docs/API_docs_v62/methods/messages_getGameHighScores.md b/old_docs/API_docs_v62/methods/messages_getGameHighScores.md new file mode 100644 index 00000000..1b8b5b44 --- /dev/null +++ b/old_docs/API_docs_v62/methods/messages_getGameHighScores.md @@ -0,0 +1,46 @@ +--- +title: messages.getGameHighScores +description: messages.getGameHighScores parameters, return type and example +--- +## Method: messages.getGameHighScores +[Back to methods index](index.md) + + +### Parameters: + +| Name | Type | Required | +|----------|:-------------:|---------:| +|peer|[InputPeer](../types/InputPeer.md) | Yes| +|id|[int](../types/int.md) | Yes| +|user\_id|[InputUser](../types/InputUser.md) | Yes| + + +### Return type: [messages\_HighScores](../types/messages_HighScores.md) + +### Example: + + +``` +$MadelineProto = new \danog\MadelineProto\API(); +if (isset($token)) { + $this->bot_login($token); +} +if (isset($number)) { + $sentCode = $MadelineProto->phone_login($number); + echo 'Enter the code you received: '; + $code = ''; + for ($x = 0; $x < $sentCode['type']['length']; $x++) { + $code .= fgetc(STDIN); + } + $MadelineProto->complete_phone_login($code); +} + +$messages_HighScores = $MadelineProto->messages->getGameHighScores(['peer' => InputPeer, 'id' => int, 'user_id' => InputUser, ]); +``` + +Or, if you're into Lua: + +``` +messages_HighScores = messages.getGameHighScores({peer=InputPeer, id=int, user_id=InputUser, }) +``` + diff --git a/old_docs/API_docs_v62/methods/messages_getHistory.md b/old_docs/API_docs_v62/methods/messages_getHistory.md new file mode 100644 index 00000000..3311df5b --- /dev/null +++ b/old_docs/API_docs_v62/methods/messages_getHistory.md @@ -0,0 +1,50 @@ +--- +title: messages.getHistory +description: messages.getHistory parameters, return type and example +--- +## Method: messages.getHistory +[Back to methods index](index.md) + + +### Parameters: + +| Name | Type | Required | +|----------|:-------------:|---------:| +|peer|[InputPeer](../types/InputPeer.md) | Yes| +|offset\_id|[int](../types/int.md) | Yes| +|offset\_date|[int](../types/int.md) | Yes| +|add\_offset|[int](../types/int.md) | Yes| +|limit|[int](../types/int.md) | Yes| +|max\_id|[int](../types/int.md) | Yes| +|min\_id|[int](../types/int.md) | Yes| + + +### Return type: [messages\_Messages](../types/messages_Messages.md) + +### Example: + + +``` +$MadelineProto = new \danog\MadelineProto\API(); +if (isset($token)) { + $this->bot_login($token); +} +if (isset($number)) { + $sentCode = $MadelineProto->phone_login($number); + echo 'Enter the code you received: '; + $code = ''; + for ($x = 0; $x < $sentCode['type']['length']; $x++) { + $code .= fgetc(STDIN); + } + $MadelineProto->complete_phone_login($code); +} + +$messages_Messages = $MadelineProto->messages->getHistory(['peer' => InputPeer, 'offset_id' => int, 'offset_date' => int, 'add_offset' => int, 'limit' => int, 'max_id' => int, 'min_id' => int, ]); +``` + +Or, if you're into Lua: + +``` +messages_Messages = messages.getHistory({peer=InputPeer, offset_id=int, offset_date=int, add_offset=int, limit=int, max_id=int, min_id=int, }) +``` + diff --git a/old_docs/API_docs_v62/methods/messages_getInlineBotResults.md b/old_docs/API_docs_v62/methods/messages_getInlineBotResults.md new file mode 100644 index 00000000..e76ee714 --- /dev/null +++ b/old_docs/API_docs_v62/methods/messages_getInlineBotResults.md @@ -0,0 +1,48 @@ +--- +title: messages.getInlineBotResults +description: messages.getInlineBotResults parameters, return type and example +--- +## Method: messages.getInlineBotResults +[Back to methods index](index.md) + + +### Parameters: + +| Name | Type | Required | +|----------|:-------------:|---------:| +|bot|[InputUser](../types/InputUser.md) | Yes| +|peer|[InputPeer](../types/InputPeer.md) | Yes| +|geo\_point|[InputGeoPoint](../types/InputGeoPoint.md) | Optional| +|query|[string](../types/string.md) | Yes| +|offset|[string](../types/string.md) | Yes| + + +### Return type: [messages\_BotResults](../types/messages_BotResults.md) + +### Example: + + +``` +$MadelineProto = new \danog\MadelineProto\API(); +if (isset($token)) { + $this->bot_login($token); +} +if (isset($number)) { + $sentCode = $MadelineProto->phone_login($number); + echo 'Enter the code you received: '; + $code = ''; + for ($x = 0; $x < $sentCode['type']['length']; $x++) { + $code .= fgetc(STDIN); + } + $MadelineProto->complete_phone_login($code); +} + +$messages_BotResults = $MadelineProto->messages->getInlineBotResults(['bot' => InputUser, 'peer' => InputPeer, 'geo_point' => InputGeoPoint, 'query' => string, 'offset' => string, ]); +``` + +Or, if you're into Lua: + +``` +messages_BotResults = messages.getInlineBotResults({bot=InputUser, peer=InputPeer, geo_point=InputGeoPoint, query=string, offset=string, }) +``` + diff --git a/old_docs/API_docs_v62/methods/messages_getInlineGameHighScores.md b/old_docs/API_docs_v62/methods/messages_getInlineGameHighScores.md new file mode 100644 index 00000000..c857cb17 --- /dev/null +++ b/old_docs/API_docs_v62/methods/messages_getInlineGameHighScores.md @@ -0,0 +1,45 @@ +--- +title: messages.getInlineGameHighScores +description: messages.getInlineGameHighScores parameters, return type and example +--- +## Method: messages.getInlineGameHighScores +[Back to methods index](index.md) + + +### Parameters: + +| Name | Type | Required | +|----------|:-------------:|---------:| +|id|[InputBotInlineMessageID](../types/InputBotInlineMessageID.md) | Yes| +|user\_id|[InputUser](../types/InputUser.md) | Yes| + + +### Return type: [messages\_HighScores](../types/messages_HighScores.md) + +### Example: + + +``` +$MadelineProto = new \danog\MadelineProto\API(); +if (isset($token)) { + $this->bot_login($token); +} +if (isset($number)) { + $sentCode = $MadelineProto->phone_login($number); + echo 'Enter the code you received: '; + $code = ''; + for ($x = 0; $x < $sentCode['type']['length']; $x++) { + $code .= fgetc(STDIN); + } + $MadelineProto->complete_phone_login($code); +} + +$messages_HighScores = $MadelineProto->messages->getInlineGameHighScores(['id' => InputBotInlineMessageID, 'user_id' => InputUser, ]); +``` + +Or, if you're into Lua: + +``` +messages_HighScores = messages.getInlineGameHighScores({id=InputBotInlineMessageID, user_id=InputUser, }) +``` + diff --git a/old_docs/API_docs_v62/methods/messages_getMaskStickers.md b/old_docs/API_docs_v62/methods/messages_getMaskStickers.md new file mode 100644 index 00000000..7a97cb33 --- /dev/null +++ b/old_docs/API_docs_v62/methods/messages_getMaskStickers.md @@ -0,0 +1,44 @@ +--- +title: messages.getMaskStickers +description: messages.getMaskStickers parameters, return type and example +--- +## Method: messages.getMaskStickers +[Back to methods index](index.md) + + +### Parameters: + +| Name | Type | Required | +|----------|:-------------:|---------:| +|hash|[int](../types/int.md) | Yes| + + +### Return type: [messages\_AllStickers](../types/messages_AllStickers.md) + +### Example: + + +``` +$MadelineProto = new \danog\MadelineProto\API(); +if (isset($token)) { + $this->bot_login($token); +} +if (isset($number)) { + $sentCode = $MadelineProto->phone_login($number); + echo 'Enter the code you received: '; + $code = ''; + for ($x = 0; $x < $sentCode['type']['length']; $x++) { + $code .= fgetc(STDIN); + } + $MadelineProto->complete_phone_login($code); +} + +$messages_AllStickers = $MadelineProto->messages->getMaskStickers(['hash' => int, ]); +``` + +Or, if you're into Lua: + +``` +messages_AllStickers = messages.getMaskStickers({hash=int, }) +``` + diff --git a/old_docs/API_docs_v62/methods/messages_getMessageEditData.md b/old_docs/API_docs_v62/methods/messages_getMessageEditData.md new file mode 100644 index 00000000..8b47e95b --- /dev/null +++ b/old_docs/API_docs_v62/methods/messages_getMessageEditData.md @@ -0,0 +1,45 @@ +--- +title: messages.getMessageEditData +description: messages.getMessageEditData parameters, return type and example +--- +## Method: messages.getMessageEditData +[Back to methods index](index.md) + + +### Parameters: + +| Name | Type | Required | +|----------|:-------------:|---------:| +|peer|[InputPeer](../types/InputPeer.md) | Yes| +|id|[int](../types/int.md) | Yes| + + +### Return type: [messages\_MessageEditData](../types/messages_MessageEditData.md) + +### Example: + + +``` +$MadelineProto = new \danog\MadelineProto\API(); +if (isset($token)) { + $this->bot_login($token); +} +if (isset($number)) { + $sentCode = $MadelineProto->phone_login($number); + echo 'Enter the code you received: '; + $code = ''; + for ($x = 0; $x < $sentCode['type']['length']; $x++) { + $code .= fgetc(STDIN); + } + $MadelineProto->complete_phone_login($code); +} + +$messages_MessageEditData = $MadelineProto->messages->getMessageEditData(['peer' => InputPeer, 'id' => int, ]); +``` + +Or, if you're into Lua: + +``` +messages_MessageEditData = messages.getMessageEditData({peer=InputPeer, id=int, }) +``` + diff --git a/old_docs/API_docs_v62/methods/messages_getMessages.md b/old_docs/API_docs_v62/methods/messages_getMessages.md new file mode 100644 index 00000000..224df903 --- /dev/null +++ b/old_docs/API_docs_v62/methods/messages_getMessages.md @@ -0,0 +1,44 @@ +--- +title: messages.getMessages +description: messages.getMessages parameters, return type and example +--- +## Method: messages.getMessages +[Back to methods index](index.md) + + +### Parameters: + +| Name | Type | Required | +|----------|:-------------:|---------:| +|id|Array of [int](../types/int.md) | Yes| + + +### Return type: [messages\_Messages](../types/messages_Messages.md) + +### Example: + + +``` +$MadelineProto = new \danog\MadelineProto\API(); +if (isset($token)) { + $this->bot_login($token); +} +if (isset($number)) { + $sentCode = $MadelineProto->phone_login($number); + echo 'Enter the code you received: '; + $code = ''; + for ($x = 0; $x < $sentCode['type']['length']; $x++) { + $code .= fgetc(STDIN); + } + $MadelineProto->complete_phone_login($code); +} + +$messages_Messages = $MadelineProto->messages->getMessages(['id' => [int], ]); +``` + +Or, if you're into Lua: + +``` +messages_Messages = messages.getMessages({id={int}, }) +``` + diff --git a/old_docs/API_docs_v62/methods/messages_getMessagesViews.md b/old_docs/API_docs_v62/methods/messages_getMessagesViews.md new file mode 100644 index 00000000..d162b668 --- /dev/null +++ b/old_docs/API_docs_v62/methods/messages_getMessagesViews.md @@ -0,0 +1,46 @@ +--- +title: messages.getMessagesViews +description: messages.getMessagesViews parameters, return type and example +--- +## Method: messages.getMessagesViews +[Back to methods index](index.md) + + +### Parameters: + +| Name | Type | Required | +|----------|:-------------:|---------:| +|peer|[InputPeer](../types/InputPeer.md) | Yes| +|id|Array of [int](../types/int.md) | Yes| +|increment|[Bool](../types/Bool.md) | Yes| + + +### Return type: [Vector\_of\_int](../types/int.md) + +### Example: + + +``` +$MadelineProto = new \danog\MadelineProto\API(); +if (isset($token)) { + $this->bot_login($token); +} +if (isset($number)) { + $sentCode = $MadelineProto->phone_login($number); + echo 'Enter the code you received: '; + $code = ''; + for ($x = 0; $x < $sentCode['type']['length']; $x++) { + $code .= fgetc(STDIN); + } + $MadelineProto->complete_phone_login($code); +} + +$Vector_of_int = $MadelineProto->messages->getMessagesViews(['peer' => InputPeer, 'id' => [int], 'increment' => Bool, ]); +``` + +Or, if you're into Lua: + +``` +Vector_of_int = messages.getMessagesViews({peer=InputPeer, id={int}, increment=Bool, }) +``` + diff --git a/old_docs/API_docs_v62/methods/messages_getPeerDialogs.md b/old_docs/API_docs_v62/methods/messages_getPeerDialogs.md new file mode 100644 index 00000000..cf6dc552 --- /dev/null +++ b/old_docs/API_docs_v62/methods/messages_getPeerDialogs.md @@ -0,0 +1,44 @@ +--- +title: messages.getPeerDialogs +description: messages.getPeerDialogs parameters, return type and example +--- +## Method: messages.getPeerDialogs +[Back to methods index](index.md) + + +### Parameters: + +| Name | Type | Required | +|----------|:-------------:|---------:| +|peers|Array of [InputPeer](../types/InputPeer.md) | Yes| + + +### Return type: [messages\_PeerDialogs](../types/messages_PeerDialogs.md) + +### Example: + + +``` +$MadelineProto = new \danog\MadelineProto\API(); +if (isset($token)) { + $this->bot_login($token); +} +if (isset($number)) { + $sentCode = $MadelineProto->phone_login($number); + echo 'Enter the code you received: '; + $code = ''; + for ($x = 0; $x < $sentCode['type']['length']; $x++) { + $code .= fgetc(STDIN); + } + $MadelineProto->complete_phone_login($code); +} + +$messages_PeerDialogs = $MadelineProto->messages->getPeerDialogs(['peers' => [InputPeer], ]); +``` + +Or, if you're into Lua: + +``` +messages_PeerDialogs = messages.getPeerDialogs({peers={InputPeer}, }) +``` + diff --git a/old_docs/API_docs_v62/methods/messages_getPeerSettings.md b/old_docs/API_docs_v62/methods/messages_getPeerSettings.md new file mode 100644 index 00000000..202867f7 --- /dev/null +++ b/old_docs/API_docs_v62/methods/messages_getPeerSettings.md @@ -0,0 +1,44 @@ +--- +title: messages.getPeerSettings +description: messages.getPeerSettings parameters, return type and example +--- +## Method: messages.getPeerSettings +[Back to methods index](index.md) + + +### Parameters: + +| Name | Type | Required | +|----------|:-------------:|---------:| +|peer|[InputPeer](../types/InputPeer.md) | Yes| + + +### Return type: [PeerSettings](../types/PeerSettings.md) + +### Example: + + +``` +$MadelineProto = new \danog\MadelineProto\API(); +if (isset($token)) { + $this->bot_login($token); +} +if (isset($number)) { + $sentCode = $MadelineProto->phone_login($number); + echo 'Enter the code you received: '; + $code = ''; + for ($x = 0; $x < $sentCode['type']['length']; $x++) { + $code .= fgetc(STDIN); + } + $MadelineProto->complete_phone_login($code); +} + +$PeerSettings = $MadelineProto->messages->getPeerSettings(['peer' => InputPeer, ]); +``` + +Or, if you're into Lua: + +``` +PeerSettings = messages.getPeerSettings({peer=InputPeer, }) +``` + diff --git a/old_docs/API_docs_v62/methods/messages_getPinnedDialogs.md b/old_docs/API_docs_v62/methods/messages_getPinnedDialogs.md new file mode 100644 index 00000000..1640794a --- /dev/null +++ b/old_docs/API_docs_v62/methods/messages_getPinnedDialogs.md @@ -0,0 +1,39 @@ +--- +title: messages.getPinnedDialogs +description: messages.getPinnedDialogs parameters, return type and example +--- +## Method: messages.getPinnedDialogs +[Back to methods index](index.md) + + + + +### Return type: [messages\_PeerDialogs](../types/messages_PeerDialogs.md) + +### Example: + + +``` +$MadelineProto = new \danog\MadelineProto\API(); +if (isset($token)) { + $this->bot_login($token); +} +if (isset($number)) { + $sentCode = $MadelineProto->phone_login($number); + echo 'Enter the code you received: '; + $code = ''; + for ($x = 0; $x < $sentCode['type']['length']; $x++) { + $code .= fgetc(STDIN); + } + $MadelineProto->complete_phone_login($code); +} + +$messages_PeerDialogs = $MadelineProto->messages->getPinnedDialogs(); +``` + +Or, if you're into Lua: + +``` +messages_PeerDialogs = messages.getPinnedDialogs({}) +``` + diff --git a/old_docs/API_docs_v62/methods/messages_getRecentStickers.md b/old_docs/API_docs_v62/methods/messages_getRecentStickers.md new file mode 100644 index 00000000..85c89101 --- /dev/null +++ b/old_docs/API_docs_v62/methods/messages_getRecentStickers.md @@ -0,0 +1,45 @@ +--- +title: messages.getRecentStickers +description: messages.getRecentStickers parameters, return type and example +--- +## Method: messages.getRecentStickers +[Back to methods index](index.md) + + +### Parameters: + +| Name | Type | Required | +|----------|:-------------:|---------:| +|attached|[Bool](../types/Bool.md) | Optional| +|hash|[int](../types/int.md) | Yes| + + +### Return type: [messages\_RecentStickers](../types/messages_RecentStickers.md) + +### Example: + + +``` +$MadelineProto = new \danog\MadelineProto\API(); +if (isset($token)) { + $this->bot_login($token); +} +if (isset($number)) { + $sentCode = $MadelineProto->phone_login($number); + echo 'Enter the code you received: '; + $code = ''; + for ($x = 0; $x < $sentCode['type']['length']; $x++) { + $code .= fgetc(STDIN); + } + $MadelineProto->complete_phone_login($code); +} + +$messages_RecentStickers = $MadelineProto->messages->getRecentStickers(['attached' => Bool, 'hash' => int, ]); +``` + +Or, if you're into Lua: + +``` +messages_RecentStickers = messages.getRecentStickers({attached=Bool, hash=int, }) +``` + diff --git a/old_docs/API_docs_v62/methods/messages_getSavedGifs.md b/old_docs/API_docs_v62/methods/messages_getSavedGifs.md new file mode 100644 index 00000000..0ca34eef --- /dev/null +++ b/old_docs/API_docs_v62/methods/messages_getSavedGifs.md @@ -0,0 +1,44 @@ +--- +title: messages.getSavedGifs +description: messages.getSavedGifs parameters, return type and example +--- +## Method: messages.getSavedGifs +[Back to methods index](index.md) + + +### Parameters: + +| Name | Type | Required | +|----------|:-------------:|---------:| +|hash|[int](../types/int.md) | Yes| + + +### Return type: [messages\_SavedGifs](../types/messages_SavedGifs.md) + +### Example: + + +``` +$MadelineProto = new \danog\MadelineProto\API(); +if (isset($token)) { + $this->bot_login($token); +} +if (isset($number)) { + $sentCode = $MadelineProto->phone_login($number); + echo 'Enter the code you received: '; + $code = ''; + for ($x = 0; $x < $sentCode['type']['length']; $x++) { + $code .= fgetc(STDIN); + } + $MadelineProto->complete_phone_login($code); +} + +$messages_SavedGifs = $MadelineProto->messages->getSavedGifs(['hash' => int, ]); +``` + +Or, if you're into Lua: + +``` +messages_SavedGifs = messages.getSavedGifs({hash=int, }) +``` + diff --git a/old_docs/API_docs_v62/methods/messages_getStickerSet.md b/old_docs/API_docs_v62/methods/messages_getStickerSet.md new file mode 100644 index 00000000..2ec2fa5d --- /dev/null +++ b/old_docs/API_docs_v62/methods/messages_getStickerSet.md @@ -0,0 +1,44 @@ +--- +title: messages.getStickerSet +description: messages.getStickerSet parameters, return type and example +--- +## Method: messages.getStickerSet +[Back to methods index](index.md) + + +### Parameters: + +| Name | Type | Required | +|----------|:-------------:|---------:| +|stickerset|[InputStickerSet](../types/InputStickerSet.md) | Yes| + + +### Return type: [messages\_StickerSet](../types/messages_StickerSet.md) + +### Example: + + +``` +$MadelineProto = new \danog\MadelineProto\API(); +if (isset($token)) { + $this->bot_login($token); +} +if (isset($number)) { + $sentCode = $MadelineProto->phone_login($number); + echo 'Enter the code you received: '; + $code = ''; + for ($x = 0; $x < $sentCode['type']['length']; $x++) { + $code .= fgetc(STDIN); + } + $MadelineProto->complete_phone_login($code); +} + +$messages_StickerSet = $MadelineProto->messages->getStickerSet(['stickerset' => InputStickerSet, ]); +``` + +Or, if you're into Lua: + +``` +messages_StickerSet = messages.getStickerSet({stickerset=InputStickerSet, }) +``` + diff --git a/old_docs/API_docs_v62/methods/messages_getWebPage.md b/old_docs/API_docs_v62/methods/messages_getWebPage.md new file mode 100644 index 00000000..2387c00a --- /dev/null +++ b/old_docs/API_docs_v62/methods/messages_getWebPage.md @@ -0,0 +1,45 @@ +--- +title: messages.getWebPage +description: messages.getWebPage parameters, return type and example +--- +## Method: messages.getWebPage +[Back to methods index](index.md) + + +### Parameters: + +| Name | Type | Required | +|----------|:-------------:|---------:| +|url|[string](../types/string.md) | Yes| +|hash|[int](../types/int.md) | Yes| + + +### Return type: [WebPage](../types/WebPage.md) + +### Example: + + +``` +$MadelineProto = new \danog\MadelineProto\API(); +if (isset($token)) { + $this->bot_login($token); +} +if (isset($number)) { + $sentCode = $MadelineProto->phone_login($number); + echo 'Enter the code you received: '; + $code = ''; + for ($x = 0; $x < $sentCode['type']['length']; $x++) { + $code .= fgetc(STDIN); + } + $MadelineProto->complete_phone_login($code); +} + +$WebPage = $MadelineProto->messages->getWebPage(['url' => string, 'hash' => int, ]); +``` + +Or, if you're into Lua: + +``` +WebPage = messages.getWebPage({url=string, hash=int, }) +``` + diff --git a/old_docs/API_docs_v62/methods/messages_getWebPagePreview.md b/old_docs/API_docs_v62/methods/messages_getWebPagePreview.md new file mode 100644 index 00000000..e2dd428d --- /dev/null +++ b/old_docs/API_docs_v62/methods/messages_getWebPagePreview.md @@ -0,0 +1,44 @@ +--- +title: messages.getWebPagePreview +description: messages.getWebPagePreview parameters, return type and example +--- +## Method: messages.getWebPagePreview +[Back to methods index](index.md) + + +### Parameters: + +| Name | Type | Required | +|----------|:-------------:|---------:| +|message|[string](../types/string.md) | Yes| + + +### Return type: [MessageMedia](../types/MessageMedia.md) + +### Example: + + +``` +$MadelineProto = new \danog\MadelineProto\API(); +if (isset($token)) { + $this->bot_login($token); +} +if (isset($number)) { + $sentCode = $MadelineProto->phone_login($number); + echo 'Enter the code you received: '; + $code = ''; + for ($x = 0; $x < $sentCode['type']['length']; $x++) { + $code .= fgetc(STDIN); + } + $MadelineProto->complete_phone_login($code); +} + +$MessageMedia = $MadelineProto->messages->getWebPagePreview(['message' => string, ]); +``` + +Or, if you're into Lua: + +``` +MessageMedia = messages.getWebPagePreview({message=string, }) +``` + diff --git a/old_docs/API_docs_v62/methods/messages_hideReportSpam.md b/old_docs/API_docs_v62/methods/messages_hideReportSpam.md new file mode 100644 index 00000000..175bbe27 --- /dev/null +++ b/old_docs/API_docs_v62/methods/messages_hideReportSpam.md @@ -0,0 +1,44 @@ +--- +title: messages.hideReportSpam +description: messages.hideReportSpam parameters, return type and example +--- +## Method: messages.hideReportSpam +[Back to methods index](index.md) + + +### Parameters: + +| Name | Type | Required | +|----------|:-------------:|---------:| +|peer|[InputPeer](../types/InputPeer.md) | Yes| + + +### Return type: [Bool](../types/Bool.md) + +### Example: + + +``` +$MadelineProto = new \danog\MadelineProto\API(); +if (isset($token)) { + $this->bot_login($token); +} +if (isset($number)) { + $sentCode = $MadelineProto->phone_login($number); + echo 'Enter the code you received: '; + $code = ''; + for ($x = 0; $x < $sentCode['type']['length']; $x++) { + $code .= fgetc(STDIN); + } + $MadelineProto->complete_phone_login($code); +} + +$Bool = $MadelineProto->messages->hideReportSpam(['peer' => InputPeer, ]); +``` + +Or, if you're into Lua: + +``` +Bool = messages.hideReportSpam({peer=InputPeer, }) +``` + diff --git a/old_docs/API_docs_v62/methods/messages_importChatInvite.md b/old_docs/API_docs_v62/methods/messages_importChatInvite.md new file mode 100644 index 00000000..250d076d --- /dev/null +++ b/old_docs/API_docs_v62/methods/messages_importChatInvite.md @@ -0,0 +1,44 @@ +--- +title: messages.importChatInvite +description: messages.importChatInvite parameters, return type and example +--- +## Method: messages.importChatInvite +[Back to methods index](index.md) + + +### Parameters: + +| Name | Type | Required | +|----------|:-------------:|---------:| +|hash|[string](../types/string.md) | Yes| + + +### Return type: [Updates](../types/Updates.md) + +### Example: + + +``` +$MadelineProto = new \danog\MadelineProto\API(); +if (isset($token)) { + $this->bot_login($token); +} +if (isset($number)) { + $sentCode = $MadelineProto->phone_login($number); + echo 'Enter the code you received: '; + $code = ''; + for ($x = 0; $x < $sentCode['type']['length']; $x++) { + $code .= fgetc(STDIN); + } + $MadelineProto->complete_phone_login($code); +} + +$Updates = $MadelineProto->messages->importChatInvite(['hash' => string, ]); +``` + +Or, if you're into Lua: + +``` +Updates = messages.importChatInvite({hash=string, }) +``` + diff --git a/old_docs/API_docs_v62/methods/messages_installStickerSet.md b/old_docs/API_docs_v62/methods/messages_installStickerSet.md new file mode 100644 index 00000000..3de799ef --- /dev/null +++ b/old_docs/API_docs_v62/methods/messages_installStickerSet.md @@ -0,0 +1,45 @@ +--- +title: messages.installStickerSet +description: messages.installStickerSet parameters, return type and example +--- +## Method: messages.installStickerSet +[Back to methods index](index.md) + + +### Parameters: + +| Name | Type | Required | +|----------|:-------------:|---------:| +|stickerset|[InputStickerSet](../types/InputStickerSet.md) | Yes| +|archived|[Bool](../types/Bool.md) | Yes| + + +### Return type: [messages\_StickerSetInstallResult](../types/messages_StickerSetInstallResult.md) + +### Example: + + +``` +$MadelineProto = new \danog\MadelineProto\API(); +if (isset($token)) { + $this->bot_login($token); +} +if (isset($number)) { + $sentCode = $MadelineProto->phone_login($number); + echo 'Enter the code you received: '; + $code = ''; + for ($x = 0; $x < $sentCode['type']['length']; $x++) { + $code .= fgetc(STDIN); + } + $MadelineProto->complete_phone_login($code); +} + +$messages_StickerSetInstallResult = $MadelineProto->messages->installStickerSet(['stickerset' => InputStickerSet, 'archived' => Bool, ]); +``` + +Or, if you're into Lua: + +``` +messages_StickerSetInstallResult = messages.installStickerSet({stickerset=InputStickerSet, archived=Bool, }) +``` + diff --git a/old_docs/API_docs_v62/methods/messages_migrateChat.md b/old_docs/API_docs_v62/methods/messages_migrateChat.md new file mode 100644 index 00000000..5b1e375a --- /dev/null +++ b/old_docs/API_docs_v62/methods/messages_migrateChat.md @@ -0,0 +1,44 @@ +--- +title: messages.migrateChat +description: messages.migrateChat parameters, return type and example +--- +## Method: messages.migrateChat +[Back to methods index](index.md) + + +### Parameters: + +| Name | Type | Required | +|----------|:-------------:|---------:| +|chat\_id|[int](../types/int.md) | Yes| + + +### Return type: [Updates](../types/Updates.md) + +### Example: + + +``` +$MadelineProto = new \danog\MadelineProto\API(); +if (isset($token)) { + $this->bot_login($token); +} +if (isset($number)) { + $sentCode = $MadelineProto->phone_login($number); + echo 'Enter the code you received: '; + $code = ''; + for ($x = 0; $x < $sentCode['type']['length']; $x++) { + $code .= fgetc(STDIN); + } + $MadelineProto->complete_phone_login($code); +} + +$Updates = $MadelineProto->messages->migrateChat(['chat_id' => int, ]); +``` + +Or, if you're into Lua: + +``` +Updates = messages.migrateChat({chat_id=int, }) +``` + diff --git a/old_docs/API_docs_v62/methods/messages_readEncryptedHistory.md b/old_docs/API_docs_v62/methods/messages_readEncryptedHistory.md new file mode 100644 index 00000000..555bffe7 --- /dev/null +++ b/old_docs/API_docs_v62/methods/messages_readEncryptedHistory.md @@ -0,0 +1,45 @@ +--- +title: messages.readEncryptedHistory +description: messages.readEncryptedHistory parameters, return type and example +--- +## Method: messages.readEncryptedHistory +[Back to methods index](index.md) + + +### Parameters: + +| Name | Type | Required | +|----------|:-------------:|---------:| +|peer|[InputEncryptedChat](../types/InputEncryptedChat.md) | Yes| +|max\_date|[int](../types/int.md) | Yes| + + +### Return type: [Bool](../types/Bool.md) + +### Example: + + +``` +$MadelineProto = new \danog\MadelineProto\API(); +if (isset($token)) { + $this->bot_login($token); +} +if (isset($number)) { + $sentCode = $MadelineProto->phone_login($number); + echo 'Enter the code you received: '; + $code = ''; + for ($x = 0; $x < $sentCode['type']['length']; $x++) { + $code .= fgetc(STDIN); + } + $MadelineProto->complete_phone_login($code); +} + +$Bool = $MadelineProto->messages->readEncryptedHistory(['peer' => InputEncryptedChat, 'max_date' => int, ]); +``` + +Or, if you're into Lua: + +``` +Bool = messages.readEncryptedHistory({peer=InputEncryptedChat, max_date=int, }) +``` + diff --git a/old_docs/API_docs_v62/methods/messages_readFeaturedStickers.md b/old_docs/API_docs_v62/methods/messages_readFeaturedStickers.md new file mode 100644 index 00000000..61ec71b8 --- /dev/null +++ b/old_docs/API_docs_v62/methods/messages_readFeaturedStickers.md @@ -0,0 +1,44 @@ +--- +title: messages.readFeaturedStickers +description: messages.readFeaturedStickers parameters, return type and example +--- +## Method: messages.readFeaturedStickers +[Back to methods index](index.md) + + +### Parameters: + +| Name | Type | Required | +|----------|:-------------:|---------:| +|id|Array of [long](../types/long.md) | Yes| + + +### Return type: [Bool](../types/Bool.md) + +### Example: + + +``` +$MadelineProto = new \danog\MadelineProto\API(); +if (isset($token)) { + $this->bot_login($token); +} +if (isset($number)) { + $sentCode = $MadelineProto->phone_login($number); + echo 'Enter the code you received: '; + $code = ''; + for ($x = 0; $x < $sentCode['type']['length']; $x++) { + $code .= fgetc(STDIN); + } + $MadelineProto->complete_phone_login($code); +} + +$Bool = $MadelineProto->messages->readFeaturedStickers(['id' => [long], ]); +``` + +Or, if you're into Lua: + +``` +Bool = messages.readFeaturedStickers({id={long}, }) +``` + diff --git a/old_docs/API_docs_v62/methods/messages_readHistory.md b/old_docs/API_docs_v62/methods/messages_readHistory.md new file mode 100644 index 00000000..1e2783ae --- /dev/null +++ b/old_docs/API_docs_v62/methods/messages_readHistory.md @@ -0,0 +1,45 @@ +--- +title: messages.readHistory +description: messages.readHistory parameters, return type and example +--- +## Method: messages.readHistory +[Back to methods index](index.md) + + +### Parameters: + +| Name | Type | Required | +|----------|:-------------:|---------:| +|peer|[InputPeer](../types/InputPeer.md) | Yes| +|max\_id|[int](../types/int.md) | Yes| + + +### Return type: [messages\_AffectedMessages](../types/messages_AffectedMessages.md) + +### Example: + + +``` +$MadelineProto = new \danog\MadelineProto\API(); +if (isset($token)) { + $this->bot_login($token); +} +if (isset($number)) { + $sentCode = $MadelineProto->phone_login($number); + echo 'Enter the code you received: '; + $code = ''; + for ($x = 0; $x < $sentCode['type']['length']; $x++) { + $code .= fgetc(STDIN); + } + $MadelineProto->complete_phone_login($code); +} + +$messages_AffectedMessages = $MadelineProto->messages->readHistory(['peer' => InputPeer, 'max_id' => int, ]); +``` + +Or, if you're into Lua: + +``` +messages_AffectedMessages = messages.readHistory({peer=InputPeer, max_id=int, }) +``` + diff --git a/old_docs/API_docs_v62/methods/messages_readMessageContents.md b/old_docs/API_docs_v62/methods/messages_readMessageContents.md new file mode 100644 index 00000000..ae75d612 --- /dev/null +++ b/old_docs/API_docs_v62/methods/messages_readMessageContents.md @@ -0,0 +1,44 @@ +--- +title: messages.readMessageContents +description: messages.readMessageContents parameters, return type and example +--- +## Method: messages.readMessageContents +[Back to methods index](index.md) + + +### Parameters: + +| Name | Type | Required | +|----------|:-------------:|---------:| +|id|Array of [int](../types/int.md) | Yes| + + +### Return type: [messages\_AffectedMessages](../types/messages_AffectedMessages.md) + +### Example: + + +``` +$MadelineProto = new \danog\MadelineProto\API(); +if (isset($token)) { + $this->bot_login($token); +} +if (isset($number)) { + $sentCode = $MadelineProto->phone_login($number); + echo 'Enter the code you received: '; + $code = ''; + for ($x = 0; $x < $sentCode['type']['length']; $x++) { + $code .= fgetc(STDIN); + } + $MadelineProto->complete_phone_login($code); +} + +$messages_AffectedMessages = $MadelineProto->messages->readMessageContents(['id' => [int], ]); +``` + +Or, if you're into Lua: + +``` +messages_AffectedMessages = messages.readMessageContents({id={int}, }) +``` + diff --git a/old_docs/API_docs_v62/methods/messages_receivedMessages.md b/old_docs/API_docs_v62/methods/messages_receivedMessages.md new file mode 100644 index 00000000..ffeaeed7 --- /dev/null +++ b/old_docs/API_docs_v62/methods/messages_receivedMessages.md @@ -0,0 +1,44 @@ +--- +title: messages.receivedMessages +description: messages.receivedMessages parameters, return type and example +--- +## Method: messages.receivedMessages +[Back to methods index](index.md) + + +### Parameters: + +| Name | Type | Required | +|----------|:-------------:|---------:| +|max\_id|[int](../types/int.md) | Yes| + + +### Return type: [Vector\_of\_ReceivedNotifyMessage](../types/ReceivedNotifyMessage.md) + +### Example: + + +``` +$MadelineProto = new \danog\MadelineProto\API(); +if (isset($token)) { + $this->bot_login($token); +} +if (isset($number)) { + $sentCode = $MadelineProto->phone_login($number); + echo 'Enter the code you received: '; + $code = ''; + for ($x = 0; $x < $sentCode['type']['length']; $x++) { + $code .= fgetc(STDIN); + } + $MadelineProto->complete_phone_login($code); +} + +$Vector_of_ReceivedNotifyMessage = $MadelineProto->messages->receivedMessages(['max_id' => int, ]); +``` + +Or, if you're into Lua: + +``` +Vector_of_ReceivedNotifyMessage = messages.receivedMessages({max_id=int, }) +``` + diff --git a/old_docs/API_docs_v62/methods/messages_receivedQueue.md b/old_docs/API_docs_v62/methods/messages_receivedQueue.md new file mode 100644 index 00000000..e514669c --- /dev/null +++ b/old_docs/API_docs_v62/methods/messages_receivedQueue.md @@ -0,0 +1,44 @@ +--- +title: messages.receivedQueue +description: messages.receivedQueue parameters, return type and example +--- +## Method: messages.receivedQueue +[Back to methods index](index.md) + + +### Parameters: + +| Name | Type | Required | +|----------|:-------------:|---------:| +|max\_qts|[int](../types/int.md) | Yes| + + +### Return type: [Vector\_of\_long](../types/long.md) + +### Example: + + +``` +$MadelineProto = new \danog\MadelineProto\API(); +if (isset($token)) { + $this->bot_login($token); +} +if (isset($number)) { + $sentCode = $MadelineProto->phone_login($number); + echo 'Enter the code you received: '; + $code = ''; + for ($x = 0; $x < $sentCode['type']['length']; $x++) { + $code .= fgetc(STDIN); + } + $MadelineProto->complete_phone_login($code); +} + +$Vector_of_long = $MadelineProto->messages->receivedQueue(['max_qts' => int, ]); +``` + +Or, if you're into Lua: + +``` +Vector_of_long = messages.receivedQueue({max_qts=int, }) +``` + diff --git a/old_docs/API_docs_v62/methods/messages_reorderPinnedDialogs.md b/old_docs/API_docs_v62/methods/messages_reorderPinnedDialogs.md new file mode 100644 index 00000000..cf85d9aa --- /dev/null +++ b/old_docs/API_docs_v62/methods/messages_reorderPinnedDialogs.md @@ -0,0 +1,45 @@ +--- +title: messages.reorderPinnedDialogs +description: messages.reorderPinnedDialogs parameters, return type and example +--- +## Method: messages.reorderPinnedDialogs +[Back to methods index](index.md) + + +### Parameters: + +| Name | Type | Required | +|----------|:-------------:|---------:| +|force|[Bool](../types/Bool.md) | Optional| +|order|Array of [InputPeer](../types/InputPeer.md) | Yes| + + +### Return type: [Bool](../types/Bool.md) + +### Example: + + +``` +$MadelineProto = new \danog\MadelineProto\API(); +if (isset($token)) { + $this->bot_login($token); +} +if (isset($number)) { + $sentCode = $MadelineProto->phone_login($number); + echo 'Enter the code you received: '; + $code = ''; + for ($x = 0; $x < $sentCode['type']['length']; $x++) { + $code .= fgetc(STDIN); + } + $MadelineProto->complete_phone_login($code); +} + +$Bool = $MadelineProto->messages->reorderPinnedDialogs(['force' => Bool, 'order' => [InputPeer], ]); +``` + +Or, if you're into Lua: + +``` +Bool = messages.reorderPinnedDialogs({force=Bool, order={InputPeer}, }) +``` + diff --git a/old_docs/API_docs_v62/methods/messages_reorderStickerSets.md b/old_docs/API_docs_v62/methods/messages_reorderStickerSets.md new file mode 100644 index 00000000..3eab4332 --- /dev/null +++ b/old_docs/API_docs_v62/methods/messages_reorderStickerSets.md @@ -0,0 +1,45 @@ +--- +title: messages.reorderStickerSets +description: messages.reorderStickerSets parameters, return type and example +--- +## Method: messages.reorderStickerSets +[Back to methods index](index.md) + + +### Parameters: + +| Name | Type | Required | +|----------|:-------------:|---------:| +|masks|[Bool](../types/Bool.md) | Optional| +|order|Array of [long](../types/long.md) | Yes| + + +### Return type: [Bool](../types/Bool.md) + +### Example: + + +``` +$MadelineProto = new \danog\MadelineProto\API(); +if (isset($token)) { + $this->bot_login($token); +} +if (isset($number)) { + $sentCode = $MadelineProto->phone_login($number); + echo 'Enter the code you received: '; + $code = ''; + for ($x = 0; $x < $sentCode['type']['length']; $x++) { + $code .= fgetc(STDIN); + } + $MadelineProto->complete_phone_login($code); +} + +$Bool = $MadelineProto->messages->reorderStickerSets(['masks' => Bool, 'order' => [long], ]); +``` + +Or, if you're into Lua: + +``` +Bool = messages.reorderStickerSets({masks=Bool, order={long}, }) +``` + diff --git a/old_docs/API_docs_v62/methods/messages_reportEncryptedSpam.md b/old_docs/API_docs_v62/methods/messages_reportEncryptedSpam.md new file mode 100644 index 00000000..a7af51d8 --- /dev/null +++ b/old_docs/API_docs_v62/methods/messages_reportEncryptedSpam.md @@ -0,0 +1,44 @@ +--- +title: messages.reportEncryptedSpam +description: messages.reportEncryptedSpam parameters, return type and example +--- +## Method: messages.reportEncryptedSpam +[Back to methods index](index.md) + + +### Parameters: + +| Name | Type | Required | +|----------|:-------------:|---------:| +|peer|[InputEncryptedChat](../types/InputEncryptedChat.md) | Yes| + + +### Return type: [Bool](../types/Bool.md) + +### Example: + + +``` +$MadelineProto = new \danog\MadelineProto\API(); +if (isset($token)) { + $this->bot_login($token); +} +if (isset($number)) { + $sentCode = $MadelineProto->phone_login($number); + echo 'Enter the code you received: '; + $code = ''; + for ($x = 0; $x < $sentCode['type']['length']; $x++) { + $code .= fgetc(STDIN); + } + $MadelineProto->complete_phone_login($code); +} + +$Bool = $MadelineProto->messages->reportEncryptedSpam(['peer' => InputEncryptedChat, ]); +``` + +Or, if you're into Lua: + +``` +Bool = messages.reportEncryptedSpam({peer=InputEncryptedChat, }) +``` + diff --git a/old_docs/API_docs_v62/methods/messages_reportSpam.md b/old_docs/API_docs_v62/methods/messages_reportSpam.md new file mode 100644 index 00000000..56975b9d --- /dev/null +++ b/old_docs/API_docs_v62/methods/messages_reportSpam.md @@ -0,0 +1,44 @@ +--- +title: messages.reportSpam +description: messages.reportSpam parameters, return type and example +--- +## Method: messages.reportSpam +[Back to methods index](index.md) + + +### Parameters: + +| Name | Type | Required | +|----------|:-------------:|---------:| +|peer|[InputPeer](../types/InputPeer.md) | Yes| + + +### Return type: [Bool](../types/Bool.md) + +### Example: + + +``` +$MadelineProto = new \danog\MadelineProto\API(); +if (isset($token)) { + $this->bot_login($token); +} +if (isset($number)) { + $sentCode = $MadelineProto->phone_login($number); + echo 'Enter the code you received: '; + $code = ''; + for ($x = 0; $x < $sentCode['type']['length']; $x++) { + $code .= fgetc(STDIN); + } + $MadelineProto->complete_phone_login($code); +} + +$Bool = $MadelineProto->messages->reportSpam(['peer' => InputPeer, ]); +``` + +Or, if you're into Lua: + +``` +Bool = messages.reportSpam({peer=InputPeer, }) +``` + diff --git a/old_docs/API_docs_v62/methods/messages_requestEncryption.md b/old_docs/API_docs_v62/methods/messages_requestEncryption.md new file mode 100644 index 00000000..e82fca54 --- /dev/null +++ b/old_docs/API_docs_v62/methods/messages_requestEncryption.md @@ -0,0 +1,45 @@ +--- +title: messages.requestEncryption +description: messages.requestEncryption parameters, return type and example +--- +## Method: messages.requestEncryption +[Back to methods index](index.md) + + +### Parameters: + +| Name | Type | Required | +|----------|:-------------:|---------:| +|user\_id|[InputUser](../types/InputUser.md) | Yes| +|g\_a|[bytes](../types/bytes.md) | Yes| + + +### Return type: [EncryptedChat](../types/EncryptedChat.md) + +### Example: + + +``` +$MadelineProto = new \danog\MadelineProto\API(); +if (isset($token)) { + $this->bot_login($token); +} +if (isset($number)) { + $sentCode = $MadelineProto->phone_login($number); + echo 'Enter the code you received: '; + $code = ''; + for ($x = 0; $x < $sentCode['type']['length']; $x++) { + $code .= fgetc(STDIN); + } + $MadelineProto->complete_phone_login($code); +} + +$EncryptedChat = $MadelineProto->messages->requestEncryption(['user_id' => InputUser, 'g_a' => bytes, ]); +``` + +Or, if you're into Lua: + +``` +EncryptedChat = messages.requestEncryption({user_id=InputUser, g_a=bytes, }) +``` + diff --git a/old_docs/API_docs_v62/methods/messages_saveDraft.md b/old_docs/API_docs_v62/methods/messages_saveDraft.md new file mode 100644 index 00000000..a9fe9721 --- /dev/null +++ b/old_docs/API_docs_v62/methods/messages_saveDraft.md @@ -0,0 +1,80 @@ +--- +title: messages.saveDraft +description: messages.saveDraft parameters, return type and example +--- +## Method: messages.saveDraft +[Back to methods index](index.md) + + +### Parameters: + +| Name | Type | Required | +|----------|:-------------:|---------:| +|no\_webpage|[Bool](../types/Bool.md) | Optional| +|reply\_to\_msg\_id|[int](../types/int.md) | Optional| +|peer|[InputPeer](../types/InputPeer.md) | Yes| +|message|[string](../types/string.md) | Yes| +|entities|Array of [MessageEntity](../types/MessageEntity.md) | Optional| +|parse\_mode| [string](../types/string.md) | Optional | + + +### Return type: [Bool](../types/Bool.md) + +### Example: + + +``` +$MadelineProto = new \danog\MadelineProto\API(); +if (isset($token)) { + $this->bot_login($token); +} +if (isset($number)) { + $sentCode = $MadelineProto->phone_login($number); + echo 'Enter the code you received: '; + $code = ''; + for ($x = 0; $x < $sentCode['type']['length']; $x++) { + $code .= fgetc(STDIN); + } + $MadelineProto->complete_phone_login($code); +} + +$Bool = $MadelineProto->messages->saveDraft(['no_webpage' => Bool, 'reply_to_msg_id' => int, 'peer' => InputPeer, 'message' => string, 'entities' => [MessageEntity], 'parse_mode' => 'string', ]); +``` + +Or, if you're into Lua: + +``` +Bool = messages.saveDraft({no_webpage=Bool, reply_to_msg_id=int, peer=InputPeer, message=string, entities={MessageEntity}, parse_mode='string', }) +``` + + +## Usage of parse_mode: + +Set parse_mode to html to enable HTML parsing of the message. + +Set parse_mode to Markdown to enable markown AND html parsing of the message. + +The following tags are currently supported: + +``` +
inline fixed-width code
+pre-formatted fixed-width code block+URL +Mention by username +Mention by user id +
Pre tags can have a language attribute+``` + +You can also use normal markdown, note that to create mentions you must use the `mention:` syntax like in html: + +``` +[Mention by username](mention:@danogentili) +[Mention by user id](mention:186785362) +``` + +MadelineProto supports all html entities supported by [html_entity_decode](http://php.net/manual/en/function.html-entity-decode.php). diff --git a/old_docs/API_docs_v62/methods/messages_saveGif.md b/old_docs/API_docs_v62/methods/messages_saveGif.md new file mode 100644 index 00000000..0bd648d8 --- /dev/null +++ b/old_docs/API_docs_v62/methods/messages_saveGif.md @@ -0,0 +1,45 @@ +--- +title: messages.saveGif +description: messages.saveGif parameters, return type and example +--- +## Method: messages.saveGif +[Back to methods index](index.md) + + +### Parameters: + +| Name | Type | Required | +|----------|:-------------:|---------:| +|id|[InputDocument](../types/InputDocument.md) | Yes| +|unsave|[Bool](../types/Bool.md) | Yes| + + +### Return type: [Bool](../types/Bool.md) + +### Example: + + +``` +$MadelineProto = new \danog\MadelineProto\API(); +if (isset($token)) { + $this->bot_login($token); +} +if (isset($number)) { + $sentCode = $MadelineProto->phone_login($number); + echo 'Enter the code you received: '; + $code = ''; + for ($x = 0; $x < $sentCode['type']['length']; $x++) { + $code .= fgetc(STDIN); + } + $MadelineProto->complete_phone_login($code); +} + +$Bool = $MadelineProto->messages->saveGif(['id' => InputDocument, 'unsave' => Bool, ]); +``` + +Or, if you're into Lua: + +``` +Bool = messages.saveGif({id=InputDocument, unsave=Bool, }) +``` + diff --git a/old_docs/API_docs_v62/methods/messages_saveRecentSticker.md b/old_docs/API_docs_v62/methods/messages_saveRecentSticker.md new file mode 100644 index 00000000..ac212205 --- /dev/null +++ b/old_docs/API_docs_v62/methods/messages_saveRecentSticker.md @@ -0,0 +1,46 @@ +--- +title: messages.saveRecentSticker +description: messages.saveRecentSticker parameters, return type and example +--- +## Method: messages.saveRecentSticker +[Back to methods index](index.md) + + +### Parameters: + +| Name | Type | Required | +|----------|:-------------:|---------:| +|attached|[Bool](../types/Bool.md) | Optional| +|id|[InputDocument](../types/InputDocument.md) | Yes| +|unsave|[Bool](../types/Bool.md) | Yes| + + +### Return type: [Bool](../types/Bool.md) + +### Example: + + +``` +$MadelineProto = new \danog\MadelineProto\API(); +if (isset($token)) { + $this->bot_login($token); +} +if (isset($number)) { + $sentCode = $MadelineProto->phone_login($number); + echo 'Enter the code you received: '; + $code = ''; + for ($x = 0; $x < $sentCode['type']['length']; $x++) { + $code .= fgetc(STDIN); + } + $MadelineProto->complete_phone_login($code); +} + +$Bool = $MadelineProto->messages->saveRecentSticker(['attached' => Bool, 'id' => InputDocument, 'unsave' => Bool, ]); +``` + +Or, if you're into Lua: + +``` +Bool = messages.saveRecentSticker({attached=Bool, id=InputDocument, unsave=Bool, }) +``` + diff --git a/old_docs/API_docs_v62/methods/messages_search.md b/old_docs/API_docs_v62/methods/messages_search.md new file mode 100644 index 00000000..fe53fb8c --- /dev/null +++ b/old_docs/API_docs_v62/methods/messages_search.md @@ -0,0 +1,51 @@ +--- +title: messages.search +description: messages.search parameters, return type and example +--- +## Method: messages.search +[Back to methods index](index.md) + + +### Parameters: + +| Name | Type | Required | +|----------|:-------------:|---------:| +|peer|[InputPeer](../types/InputPeer.md) | Yes| +|q|[string](../types/string.md) | Yes| +|filter|[MessagesFilter](../types/MessagesFilter.md) | Yes| +|min\_date|[int](../types/int.md) | Yes| +|max\_date|[int](../types/int.md) | Yes| +|offset|[int](../types/int.md) | Yes| +|max\_id|[int](../types/int.md) | Yes| +|limit|[int](../types/int.md) | Yes| + + +### Return type: [messages\_Messages](../types/messages_Messages.md) + +### Example: + + +``` +$MadelineProto = new \danog\MadelineProto\API(); +if (isset($token)) { + $this->bot_login($token); +} +if (isset($number)) { + $sentCode = $MadelineProto->phone_login($number); + echo 'Enter the code you received: '; + $code = ''; + for ($x = 0; $x < $sentCode['type']['length']; $x++) { + $code .= fgetc(STDIN); + } + $MadelineProto->complete_phone_login($code); +} + +$messages_Messages = $MadelineProto->messages->search(['peer' => InputPeer, 'q' => string, 'filter' => MessagesFilter, 'min_date' => int, 'max_date' => int, 'offset' => int, 'max_id' => int, 'limit' => int, ]); +``` + +Or, if you're into Lua: + +``` +messages_Messages = messages.search({peer=InputPeer, q=string, filter=MessagesFilter, min_date=int, max_date=int, offset=int, max_id=int, limit=int, }) +``` + diff --git a/old_docs/API_docs_v62/methods/messages_searchGifs.md b/old_docs/API_docs_v62/methods/messages_searchGifs.md new file mode 100644 index 00000000..18ad844b --- /dev/null +++ b/old_docs/API_docs_v62/methods/messages_searchGifs.md @@ -0,0 +1,45 @@ +--- +title: messages.searchGifs +description: messages.searchGifs parameters, return type and example +--- +## Method: messages.searchGifs +[Back to methods index](index.md) + + +### Parameters: + +| Name | Type | Required | +|----------|:-------------:|---------:| +|q|[string](../types/string.md) | Yes| +|offset|[int](../types/int.md) | Yes| + + +### Return type: [messages\_FoundGifs](../types/messages_FoundGifs.md) + +### Example: + + +``` +$MadelineProto = new \danog\MadelineProto\API(); +if (isset($token)) { + $this->bot_login($token); +} +if (isset($number)) { + $sentCode = $MadelineProto->phone_login($number); + echo 'Enter the code you received: '; + $code = ''; + for ($x = 0; $x < $sentCode['type']['length']; $x++) { + $code .= fgetc(STDIN); + } + $MadelineProto->complete_phone_login($code); +} + +$messages_FoundGifs = $MadelineProto->messages->searchGifs(['q' => string, 'offset' => int, ]); +``` + +Or, if you're into Lua: + +``` +messages_FoundGifs = messages.searchGifs({q=string, offset=int, }) +``` + diff --git a/old_docs/API_docs_v62/methods/messages_searchGlobal.md b/old_docs/API_docs_v62/methods/messages_searchGlobal.md new file mode 100644 index 00000000..aacdb99f --- /dev/null +++ b/old_docs/API_docs_v62/methods/messages_searchGlobal.md @@ -0,0 +1,48 @@ +--- +title: messages.searchGlobal +description: messages.searchGlobal parameters, return type and example +--- +## Method: messages.searchGlobal +[Back to methods index](index.md) + + +### Parameters: + +| Name | Type | Required | +|----------|:-------------:|---------:| +|q|[string](../types/string.md) | Yes| +|offset\_date|[int](../types/int.md) | Yes| +|offset\_peer|[InputPeer](../types/InputPeer.md) | Yes| +|offset\_id|[int](../types/int.md) | Yes| +|limit|[int](../types/int.md) | Yes| + + +### Return type: [messages\_Messages](../types/messages_Messages.md) + +### Example: + + +``` +$MadelineProto = new \danog\MadelineProto\API(); +if (isset($token)) { + $this->bot_login($token); +} +if (isset($number)) { + $sentCode = $MadelineProto->phone_login($number); + echo 'Enter the code you received: '; + $code = ''; + for ($x = 0; $x < $sentCode['type']['length']; $x++) { + $code .= fgetc(STDIN); + } + $MadelineProto->complete_phone_login($code); +} + +$messages_Messages = $MadelineProto->messages->searchGlobal(['q' => string, 'offset_date' => int, 'offset_peer' => InputPeer, 'offset_id' => int, 'limit' => int, ]); +``` + +Or, if you're into Lua: + +``` +messages_Messages = messages.searchGlobal({q=string, offset_date=int, offset_peer=InputPeer, offset_id=int, limit=int, }) +``` + diff --git a/old_docs/API_docs_v62/methods/messages_sendEncrypted.md b/old_docs/API_docs_v62/methods/messages_sendEncrypted.md new file mode 100644 index 00000000..f2c2c0c2 --- /dev/null +++ b/old_docs/API_docs_v62/methods/messages_sendEncrypted.md @@ -0,0 +1,45 @@ +--- +title: messages.sendEncrypted +description: messages.sendEncrypted parameters, return type and example +--- +## Method: messages.sendEncrypted +[Back to methods index](index.md) + + +### Parameters: + +| Name | Type | Required | +|----------|:-------------:|---------:| +|peer|[InputEncryptedChat](../types/InputEncryptedChat.md) | Yes| +|message|[DecryptedMessage](../types/DecryptedMessage.md) | Yes| + + +### Return type: [messages\_SentEncryptedMessage](../types/messages_SentEncryptedMessage.md) + +### Example: + + +``` +$MadelineProto = new \danog\MadelineProto\API(); +if (isset($token)) { + $this->bot_login($token); +} +if (isset($number)) { + $sentCode = $MadelineProto->phone_login($number); + echo 'Enter the code you received: '; + $code = ''; + for ($x = 0; $x < $sentCode['type']['length']; $x++) { + $code .= fgetc(STDIN); + } + $MadelineProto->complete_phone_login($code); +} + +$messages_SentEncryptedMessage = $MadelineProto->messages->sendEncrypted(['peer' => InputEncryptedChat, 'message' => DecryptedMessage, ]); +``` + +Or, if you're into Lua: + +``` +messages_SentEncryptedMessage = messages.sendEncrypted({peer=InputEncryptedChat, message=DecryptedMessage, }) +``` + diff --git a/old_docs/API_docs_v62/methods/messages_sendEncryptedFile.md b/old_docs/API_docs_v62/methods/messages_sendEncryptedFile.md new file mode 100644 index 00000000..a57a3dd8 --- /dev/null +++ b/old_docs/API_docs_v62/methods/messages_sendEncryptedFile.md @@ -0,0 +1,46 @@ +--- +title: messages.sendEncryptedFile +description: messages.sendEncryptedFile parameters, return type and example +--- +## Method: messages.sendEncryptedFile +[Back to methods index](index.md) + + +### Parameters: + +| Name | Type | Required | +|----------|:-------------:|---------:| +|peer|[InputEncryptedChat](../types/InputEncryptedChat.md) | Yes| +|message|[DecryptedMessage](../types/DecryptedMessage.md) | Yes| +|file|[InputEncryptedFile](../types/InputEncryptedFile.md) | Yes| + + +### Return type: [messages\_SentEncryptedMessage](../types/messages_SentEncryptedMessage.md) + +### Example: + + +``` +$MadelineProto = new \danog\MadelineProto\API(); +if (isset($token)) { + $this->bot_login($token); +} +if (isset($number)) { + $sentCode = $MadelineProto->phone_login($number); + echo 'Enter the code you received: '; + $code = ''; + for ($x = 0; $x < $sentCode['type']['length']; $x++) { + $code .= fgetc(STDIN); + } + $MadelineProto->complete_phone_login($code); +} + +$messages_SentEncryptedMessage = $MadelineProto->messages->sendEncryptedFile(['peer' => InputEncryptedChat, 'message' => DecryptedMessage, 'file' => InputEncryptedFile, ]); +``` + +Or, if you're into Lua: + +``` +messages_SentEncryptedMessage = messages.sendEncryptedFile({peer=InputEncryptedChat, message=DecryptedMessage, file=InputEncryptedFile, }) +``` + diff --git a/old_docs/API_docs_v62/methods/messages_sendEncryptedService.md b/old_docs/API_docs_v62/methods/messages_sendEncryptedService.md new file mode 100644 index 00000000..4041c4d0 --- /dev/null +++ b/old_docs/API_docs_v62/methods/messages_sendEncryptedService.md @@ -0,0 +1,45 @@ +--- +title: messages.sendEncryptedService +description: messages.sendEncryptedService parameters, return type and example +--- +## Method: messages.sendEncryptedService +[Back to methods index](index.md) + + +### Parameters: + +| Name | Type | Required | +|----------|:-------------:|---------:| +|peer|[InputEncryptedChat](../types/InputEncryptedChat.md) | Yes| +|message|[DecryptedMessage](../types/DecryptedMessage.md) | Yes| + + +### Return type: [messages\_SentEncryptedMessage](../types/messages_SentEncryptedMessage.md) + +### Example: + + +``` +$MadelineProto = new \danog\MadelineProto\API(); +if (isset($token)) { + $this->bot_login($token); +} +if (isset($number)) { + $sentCode = $MadelineProto->phone_login($number); + echo 'Enter the code you received: '; + $code = ''; + for ($x = 0; $x < $sentCode['type']['length']; $x++) { + $code .= fgetc(STDIN); + } + $MadelineProto->complete_phone_login($code); +} + +$messages_SentEncryptedMessage = $MadelineProto->messages->sendEncryptedService(['peer' => InputEncryptedChat, 'message' => DecryptedMessage, ]); +``` + +Or, if you're into Lua: + +``` +messages_SentEncryptedMessage = messages.sendEncryptedService({peer=InputEncryptedChat, message=DecryptedMessage, }) +``` + diff --git a/old_docs/API_docs_v62/methods/messages_sendInlineBotResult.md b/old_docs/API_docs_v62/methods/messages_sendInlineBotResult.md new file mode 100644 index 00000000..b2a5ab57 --- /dev/null +++ b/old_docs/API_docs_v62/methods/messages_sendInlineBotResult.md @@ -0,0 +1,50 @@ +--- +title: messages.sendInlineBotResult +description: messages.sendInlineBotResult parameters, return type and example +--- +## Method: messages.sendInlineBotResult +[Back to methods index](index.md) + + +### Parameters: + +| Name | Type | Required | +|----------|:-------------:|---------:| +|silent|[Bool](../types/Bool.md) | Optional| +|background|[Bool](../types/Bool.md) | Optional| +|clear\_draft|[Bool](../types/Bool.md) | Optional| +|peer|[InputPeer](../types/InputPeer.md) | Yes| +|reply\_to\_msg\_id|[int](../types/int.md) | Optional| +|query\_id|[long](../types/long.md) | Yes| +|id|[string](../types/string.md) | Yes| + + +### Return type: [Updates](../types/Updates.md) + +### Example: + + +``` +$MadelineProto = new \danog\MadelineProto\API(); +if (isset($token)) { + $this->bot_login($token); +} +if (isset($number)) { + $sentCode = $MadelineProto->phone_login($number); + echo 'Enter the code you received: '; + $code = ''; + for ($x = 0; $x < $sentCode['type']['length']; $x++) { + $code .= fgetc(STDIN); + } + $MadelineProto->complete_phone_login($code); +} + +$Updates = $MadelineProto->messages->sendInlineBotResult(['silent' => Bool, 'background' => Bool, 'clear_draft' => Bool, 'peer' => InputPeer, 'reply_to_msg_id' => int, 'query_id' => long, 'id' => string, ]); +``` + +Or, if you're into Lua: + +``` +Updates = messages.sendInlineBotResult({silent=Bool, background=Bool, clear_draft=Bool, peer=InputPeer, reply_to_msg_id=int, query_id=long, id=string, }) +``` + diff --git a/old_docs/API_docs_v62/methods/messages_sendMedia.md b/old_docs/API_docs_v62/methods/messages_sendMedia.md new file mode 100644 index 00000000..56c95dba --- /dev/null +++ b/old_docs/API_docs_v62/methods/messages_sendMedia.md @@ -0,0 +1,50 @@ +--- +title: messages.sendMedia +description: messages.sendMedia parameters, return type and example +--- +## Method: messages.sendMedia +[Back to methods index](index.md) + + +### Parameters: + +| Name | Type | Required | +|----------|:-------------:|---------:| +|silent|[Bool](../types/Bool.md) | Optional| +|background|[Bool](../types/Bool.md) | Optional| +|clear\_draft|[Bool](../types/Bool.md) | Optional| +|peer|[InputPeer](../types/InputPeer.md) | Yes| +|reply\_to\_msg\_id|[int](../types/int.md) | Optional| +|media|[InputMedia](../types/InputMedia.md) | Yes| +|reply\_markup|[ReplyMarkup](../types/ReplyMarkup.md) | Optional| + + +### Return type: [Updates](../types/Updates.md) + +### Example: + + +``` +$MadelineProto = new \danog\MadelineProto\API(); +if (isset($token)) { + $this->bot_login($token); +} +if (isset($number)) { + $sentCode = $MadelineProto->phone_login($number); + echo 'Enter the code you received: '; + $code = ''; + for ($x = 0; $x < $sentCode['type']['length']; $x++) { + $code .= fgetc(STDIN); + } + $MadelineProto->complete_phone_login($code); +} + +$Updates = $MadelineProto->messages->sendMedia(['silent' => Bool, 'background' => Bool, 'clear_draft' => Bool, 'peer' => InputPeer, 'reply_to_msg_id' => int, 'media' => InputMedia, 'reply_markup' => ReplyMarkup, ]); +``` + +Or, if you're into Lua: + +``` +Updates = messages.sendMedia({silent=Bool, background=Bool, clear_draft=Bool, peer=InputPeer, reply_to_msg_id=int, media=InputMedia, reply_markup=ReplyMarkup, }) +``` + diff --git a/old_docs/API_docs_v62/methods/messages_sendMessage.md b/old_docs/API_docs_v62/methods/messages_sendMessage.md new file mode 100644 index 00000000..1433e320 --- /dev/null +++ b/old_docs/API_docs_v62/methods/messages_sendMessage.md @@ -0,0 +1,84 @@ +--- +title: messages.sendMessage +description: messages.sendMessage parameters, return type and example +--- +## Method: messages.sendMessage +[Back to methods index](index.md) + + +### Parameters: + +| Name | Type | Required | +|----------|:-------------:|---------:| +|no\_webpage|[Bool](../types/Bool.md) | Optional| +|silent|[Bool](../types/Bool.md) | Optional| +|background|[Bool](../types/Bool.md) | Optional| +|clear\_draft|[Bool](../types/Bool.md) | Optional| +|peer|[InputPeer](../types/InputPeer.md) | Yes| +|reply\_to\_msg\_id|[int](../types/int.md) | Optional| +|message|[string](../types/string.md) | Yes| +|reply\_markup|[ReplyMarkup](../types/ReplyMarkup.md) | Optional| +|entities|Array of [MessageEntity](../types/MessageEntity.md) | Optional| +|parse\_mode| [string](../types/string.md) | Optional | + + +### Return type: [Updates](../types/Updates.md) + +### Example: + + +``` +$MadelineProto = new \danog\MadelineProto\API(); +if (isset($token)) { + $this->bot_login($token); +} +if (isset($number)) { + $sentCode = $MadelineProto->phone_login($number); + echo 'Enter the code you received: '; + $code = ''; + for ($x = 0; $x < $sentCode['type']['length']; $x++) { + $code .= fgetc(STDIN); + } + $MadelineProto->complete_phone_login($code); +} + +$Updates = $MadelineProto->messages->sendMessage(['no_webpage' => Bool, 'silent' => Bool, 'background' => Bool, 'clear_draft' => Bool, 'peer' => InputPeer, 'reply_to_msg_id' => int, 'message' => string, 'reply_markup' => ReplyMarkup, 'entities' => [MessageEntity], 'parse_mode' => 'string', ]); +``` + +Or, if you're into Lua: + +``` +Updates = messages.sendMessage({no_webpage=Bool, silent=Bool, background=Bool, clear_draft=Bool, peer=InputPeer, reply_to_msg_id=int, message=string, reply_markup=ReplyMarkup, entities={MessageEntity}, parse_mode='string', }) +``` + + +## Usage of parse_mode: + +Set parse_mode to html to enable HTML parsing of the message. + +Set parse_mode to Markdown to enable markown AND html parsing of the message. + +The following tags are currently supported: + +``` +
inline fixed-width code
+pre-formatted fixed-width code block+URL +Mention by username +Mention by user id +
Pre tags can have a language attribute+``` + +You can also use normal markdown, note that to create mentions you must use the `mention:` syntax like in html: + +``` +[Mention by username](mention:@danogentili) +[Mention by user id](mention:186785362) +``` + +MadelineProto supports all html entities supported by [html_entity_decode](http://php.net/manual/en/function.html-entity-decode.php). diff --git a/old_docs/API_docs_v62/methods/messages_setBotCallbackAnswer.md b/old_docs/API_docs_v62/methods/messages_setBotCallbackAnswer.md new file mode 100644 index 00000000..536e2892 --- /dev/null +++ b/old_docs/API_docs_v62/methods/messages_setBotCallbackAnswer.md @@ -0,0 +1,48 @@ +--- +title: messages.setBotCallbackAnswer +description: messages.setBotCallbackAnswer parameters, return type and example +--- +## Method: messages.setBotCallbackAnswer +[Back to methods index](index.md) + + +### Parameters: + +| Name | Type | Required | +|----------|:-------------:|---------:| +|alert|[Bool](../types/Bool.md) | Optional| +|query\_id|[long](../types/long.md) | Yes| +|message|[string](../types/string.md) | Optional| +|url|[string](../types/string.md) | Optional| +|cache\_time|[int](../types/int.md) | Yes| + + +### Return type: [Bool](../types/Bool.md) + +### Example: + + +``` +$MadelineProto = new \danog\MadelineProto\API(); +if (isset($token)) { + $this->bot_login($token); +} +if (isset($number)) { + $sentCode = $MadelineProto->phone_login($number); + echo 'Enter the code you received: '; + $code = ''; + for ($x = 0; $x < $sentCode['type']['length']; $x++) { + $code .= fgetc(STDIN); + } + $MadelineProto->complete_phone_login($code); +} + +$Bool = $MadelineProto->messages->setBotCallbackAnswer(['alert' => Bool, 'query_id' => long, 'message' => string, 'url' => string, 'cache_time' => int, ]); +``` + +Or, if you're into Lua: + +``` +Bool = messages.setBotCallbackAnswer({alert=Bool, query_id=long, message=string, url=string, cache_time=int, }) +``` + diff --git a/old_docs/API_docs_v62/methods/messages_setEncryptedTyping.md b/old_docs/API_docs_v62/methods/messages_setEncryptedTyping.md new file mode 100644 index 00000000..95364d49 --- /dev/null +++ b/old_docs/API_docs_v62/methods/messages_setEncryptedTyping.md @@ -0,0 +1,45 @@ +--- +title: messages.setEncryptedTyping +description: messages.setEncryptedTyping parameters, return type and example +--- +## Method: messages.setEncryptedTyping +[Back to methods index](index.md) + + +### Parameters: + +| Name | Type | Required | +|----------|:-------------:|---------:| +|peer|[InputEncryptedChat](../types/InputEncryptedChat.md) | Yes| +|typing|[Bool](../types/Bool.md) | Yes| + + +### Return type: [Bool](../types/Bool.md) + +### Example: + + +``` +$MadelineProto = new \danog\MadelineProto\API(); +if (isset($token)) { + $this->bot_login($token); +} +if (isset($number)) { + $sentCode = $MadelineProto->phone_login($number); + echo 'Enter the code you received: '; + $code = ''; + for ($x = 0; $x < $sentCode['type']['length']; $x++) { + $code .= fgetc(STDIN); + } + $MadelineProto->complete_phone_login($code); +} + +$Bool = $MadelineProto->messages->setEncryptedTyping(['peer' => InputEncryptedChat, 'typing' => Bool, ]); +``` + +Or, if you're into Lua: + +``` +Bool = messages.setEncryptedTyping({peer=InputEncryptedChat, typing=Bool, }) +``` + diff --git a/old_docs/API_docs_v62/methods/messages_setGameScore.md b/old_docs/API_docs_v62/methods/messages_setGameScore.md new file mode 100644 index 00000000..49427cbe --- /dev/null +++ b/old_docs/API_docs_v62/methods/messages_setGameScore.md @@ -0,0 +1,49 @@ +--- +title: messages.setGameScore +description: messages.setGameScore parameters, return type and example +--- +## Method: messages.setGameScore +[Back to methods index](index.md) + + +### Parameters: + +| Name | Type | Required | +|----------|:-------------:|---------:| +|edit\_message|[Bool](../types/Bool.md) | Optional| +|force|[Bool](../types/Bool.md) | Optional| +|peer|[InputPeer](../types/InputPeer.md) | Yes| +|id|[int](../types/int.md) | Yes| +|user\_id|[InputUser](../types/InputUser.md) | Yes| +|score|[int](../types/int.md) | Yes| + + +### Return type: [Updates](../types/Updates.md) + +### Example: + + +``` +$MadelineProto = new \danog\MadelineProto\API(); +if (isset($token)) { + $this->bot_login($token); +} +if (isset($number)) { + $sentCode = $MadelineProto->phone_login($number); + echo 'Enter the code you received: '; + $code = ''; + for ($x = 0; $x < $sentCode['type']['length']; $x++) { + $code .= fgetc(STDIN); + } + $MadelineProto->complete_phone_login($code); +} + +$Updates = $MadelineProto->messages->setGameScore(['edit_message' => Bool, 'force' => Bool, 'peer' => InputPeer, 'id' => int, 'user_id' => InputUser, 'score' => int, ]); +``` + +Or, if you're into Lua: + +``` +Updates = messages.setGameScore({edit_message=Bool, force=Bool, peer=InputPeer, id=int, user_id=InputUser, score=int, }) +``` + diff --git a/old_docs/API_docs_v62/methods/messages_setInlineBotResults.md b/old_docs/API_docs_v62/methods/messages_setInlineBotResults.md new file mode 100644 index 00000000..a2cf64b7 --- /dev/null +++ b/old_docs/API_docs_v62/methods/messages_setInlineBotResults.md @@ -0,0 +1,50 @@ +--- +title: messages.setInlineBotResults +description: messages.setInlineBotResults parameters, return type and example +--- +## Method: messages.setInlineBotResults +[Back to methods index](index.md) + + +### Parameters: + +| Name | Type | Required | +|----------|:-------------:|---------:| +|gallery|[Bool](../types/Bool.md) | Optional| +|private|[Bool](../types/Bool.md) | Optional| +|query\_id|[long](../types/long.md) | Yes| +|results|Array of [InputBotInlineResult](../types/InputBotInlineResult.md) | Yes| +|cache\_time|[int](../types/int.md) | Yes| +|next\_offset|[string](../types/string.md) | Optional| +|switch\_pm|[InlineBotSwitchPM](../types/InlineBotSwitchPM.md) | Optional| + + +### Return type: [Bool](../types/Bool.md) + +### Example: + + +``` +$MadelineProto = new \danog\MadelineProto\API(); +if (isset($token)) { + $this->bot_login($token); +} +if (isset($number)) { + $sentCode = $MadelineProto->phone_login($number); + echo 'Enter the code you received: '; + $code = ''; + for ($x = 0; $x < $sentCode['type']['length']; $x++) { + $code .= fgetc(STDIN); + } + $MadelineProto->complete_phone_login($code); +} + +$Bool = $MadelineProto->messages->setInlineBotResults(['gallery' => Bool, 'private' => Bool, 'query_id' => long, 'results' => [InputBotInlineResult], 'cache_time' => int, 'next_offset' => string, 'switch_pm' => InlineBotSwitchPM, ]); +``` + +Or, if you're into Lua: + +``` +Bool = messages.setInlineBotResults({gallery=Bool, private=Bool, query_id=long, results={InputBotInlineResult}, cache_time=int, next_offset=string, switch_pm=InlineBotSwitchPM, }) +``` + diff --git a/old_docs/API_docs_v62/methods/messages_setInlineGameScore.md b/old_docs/API_docs_v62/methods/messages_setInlineGameScore.md new file mode 100644 index 00000000..63f432e1 --- /dev/null +++ b/old_docs/API_docs_v62/methods/messages_setInlineGameScore.md @@ -0,0 +1,48 @@ +--- +title: messages.setInlineGameScore +description: messages.setInlineGameScore parameters, return type and example +--- +## Method: messages.setInlineGameScore +[Back to methods index](index.md) + + +### Parameters: + +| Name | Type | Required | +|----------|:-------------:|---------:| +|edit\_message|[Bool](../types/Bool.md) | Optional| +|force|[Bool](../types/Bool.md) | Optional| +|id|[InputBotInlineMessageID](../types/InputBotInlineMessageID.md) | Yes| +|user\_id|[InputUser](../types/InputUser.md) | Yes| +|score|[int](../types/int.md) | Yes| + + +### Return type: [Bool](../types/Bool.md) + +### Example: + + +``` +$MadelineProto = new \danog\MadelineProto\API(); +if (isset($token)) { + $this->bot_login($token); +} +if (isset($number)) { + $sentCode = $MadelineProto->phone_login($number); + echo 'Enter the code you received: '; + $code = ''; + for ($x = 0; $x < $sentCode['type']['length']; $x++) { + $code .= fgetc(STDIN); + } + $MadelineProto->complete_phone_login($code); +} + +$Bool = $MadelineProto->messages->setInlineGameScore(['edit_message' => Bool, 'force' => Bool, 'id' => InputBotInlineMessageID, 'user_id' => InputUser, 'score' => int, ]); +``` + +Or, if you're into Lua: + +``` +Bool = messages.setInlineGameScore({edit_message=Bool, force=Bool, id=InputBotInlineMessageID, user_id=InputUser, score=int, }) +``` + diff --git a/old_docs/API_docs_v62/methods/messages_setTyping.md b/old_docs/API_docs_v62/methods/messages_setTyping.md new file mode 100644 index 00000000..0ce5743d --- /dev/null +++ b/old_docs/API_docs_v62/methods/messages_setTyping.md @@ -0,0 +1,45 @@ +--- +title: messages.setTyping +description: messages.setTyping parameters, return type and example +--- +## Method: messages.setTyping +[Back to methods index](index.md) + + +### Parameters: + +| Name | Type | Required | +|----------|:-------------:|---------:| +|peer|[InputPeer](../types/InputPeer.md) | Yes| +|action|[SendMessageAction](../types/SendMessageAction.md) | Yes| + + +### Return type: [Bool](../types/Bool.md) + +### Example: + + +``` +$MadelineProto = new \danog\MadelineProto\API(); +if (isset($token)) { + $this->bot_login($token); +} +if (isset($number)) { + $sentCode = $MadelineProto->phone_login($number); + echo 'Enter the code you received: '; + $code = ''; + for ($x = 0; $x < $sentCode['type']['length']; $x++) { + $code .= fgetc(STDIN); + } + $MadelineProto->complete_phone_login($code); +} + +$Bool = $MadelineProto->messages->setTyping(['peer' => InputPeer, 'action' => SendMessageAction, ]); +``` + +Or, if you're into Lua: + +``` +Bool = messages.setTyping({peer=InputPeer, action=SendMessageAction, }) +``` + diff --git a/old_docs/API_docs_v62/methods/messages_startBot.md b/old_docs/API_docs_v62/methods/messages_startBot.md new file mode 100644 index 00000000..5f563224 --- /dev/null +++ b/old_docs/API_docs_v62/methods/messages_startBot.md @@ -0,0 +1,46 @@ +--- +title: messages.startBot +description: messages.startBot parameters, return type and example +--- +## Method: messages.startBot +[Back to methods index](index.md) + + +### Parameters: + +| Name | Type | Required | +|----------|:-------------:|---------:| +|bot|[InputUser](../types/InputUser.md) | Yes| +|peer|[InputPeer](../types/InputPeer.md) | Yes| +|start\_param|[string](../types/string.md) | Yes| + + +### Return type: [Updates](../types/Updates.md) + +### Example: + + +``` +$MadelineProto = new \danog\MadelineProto\API(); +if (isset($token)) { + $this->bot_login($token); +} +if (isset($number)) { + $sentCode = $MadelineProto->phone_login($number); + echo 'Enter the code you received: '; + $code = ''; + for ($x = 0; $x < $sentCode['type']['length']; $x++) { + $code .= fgetc(STDIN); + } + $MadelineProto->complete_phone_login($code); +} + +$Updates = $MadelineProto->messages->startBot(['bot' => InputUser, 'peer' => InputPeer, 'start_param' => string, ]); +``` + +Or, if you're into Lua: + +``` +Updates = messages.startBot({bot=InputUser, peer=InputPeer, start_param=string, }) +``` + diff --git a/old_docs/API_docs_v62/methods/messages_toggleChatAdmins.md b/old_docs/API_docs_v62/methods/messages_toggleChatAdmins.md new file mode 100644 index 00000000..0ad6ba92 --- /dev/null +++ b/old_docs/API_docs_v62/methods/messages_toggleChatAdmins.md @@ -0,0 +1,45 @@ +--- +title: messages.toggleChatAdmins +description: messages.toggleChatAdmins parameters, return type and example +--- +## Method: messages.toggleChatAdmins +[Back to methods index](index.md) + + +### Parameters: + +| Name | Type | Required | +|----------|:-------------:|---------:| +|chat\_id|[int](../types/int.md) | Yes| +|enabled|[Bool](../types/Bool.md) | Yes| + + +### Return type: [Updates](../types/Updates.md) + +### Example: + + +``` +$MadelineProto = new \danog\MadelineProto\API(); +if (isset($token)) { + $this->bot_login($token); +} +if (isset($number)) { + $sentCode = $MadelineProto->phone_login($number); + echo 'Enter the code you received: '; + $code = ''; + for ($x = 0; $x < $sentCode['type']['length']; $x++) { + $code .= fgetc(STDIN); + } + $MadelineProto->complete_phone_login($code); +} + +$Updates = $MadelineProto->messages->toggleChatAdmins(['chat_id' => int, 'enabled' => Bool, ]); +``` + +Or, if you're into Lua: + +``` +Updates = messages.toggleChatAdmins({chat_id=int, enabled=Bool, }) +``` + diff --git a/old_docs/API_docs_v62/methods/messages_toggleDialogPin.md b/old_docs/API_docs_v62/methods/messages_toggleDialogPin.md new file mode 100644 index 00000000..685d796b --- /dev/null +++ b/old_docs/API_docs_v62/methods/messages_toggleDialogPin.md @@ -0,0 +1,45 @@ +--- +title: messages.toggleDialogPin +description: messages.toggleDialogPin parameters, return type and example +--- +## Method: messages.toggleDialogPin +[Back to methods index](index.md) + + +### Parameters: + +| Name | Type | Required | +|----------|:-------------:|---------:| +|pinned|[Bool](../types/Bool.md) | Optional| +|peer|[InputPeer](../types/InputPeer.md) | Yes| + + +### Return type: [Bool](../types/Bool.md) + +### Example: + + +``` +$MadelineProto = new \danog\MadelineProto\API(); +if (isset($token)) { + $this->bot_login($token); +} +if (isset($number)) { + $sentCode = $MadelineProto->phone_login($number); + echo 'Enter the code you received: '; + $code = ''; + for ($x = 0; $x < $sentCode['type']['length']; $x++) { + $code .= fgetc(STDIN); + } + $MadelineProto->complete_phone_login($code); +} + +$Bool = $MadelineProto->messages->toggleDialogPin(['pinned' => Bool, 'peer' => InputPeer, ]); +``` + +Or, if you're into Lua: + +``` +Bool = messages.toggleDialogPin({pinned=Bool, peer=InputPeer, }) +``` + diff --git a/old_docs/API_docs_v62/methods/messages_uninstallStickerSet.md b/old_docs/API_docs_v62/methods/messages_uninstallStickerSet.md new file mode 100644 index 00000000..97fff059 --- /dev/null +++ b/old_docs/API_docs_v62/methods/messages_uninstallStickerSet.md @@ -0,0 +1,44 @@ +--- +title: messages.uninstallStickerSet +description: messages.uninstallStickerSet parameters, return type and example +--- +## Method: messages.uninstallStickerSet +[Back to methods index](index.md) + + +### Parameters: + +| Name | Type | Required | +|----------|:-------------:|---------:| +|stickerset|[InputStickerSet](../types/InputStickerSet.md) | Yes| + + +### Return type: [Bool](../types/Bool.md) + +### Example: + + +``` +$MadelineProto = new \danog\MadelineProto\API(); +if (isset($token)) { + $this->bot_login($token); +} +if (isset($number)) { + $sentCode = $MadelineProto->phone_login($number); + echo 'Enter the code you received: '; + $code = ''; + for ($x = 0; $x < $sentCode['type']['length']; $x++) { + $code .= fgetc(STDIN); + } + $MadelineProto->complete_phone_login($code); +} + +$Bool = $MadelineProto->messages->uninstallStickerSet(['stickerset' => InputStickerSet, ]); +``` + +Or, if you're into Lua: + +``` +Bool = messages.uninstallStickerSet({stickerset=InputStickerSet, }) +``` + diff --git a/old_docs/API_docs_v62/methods/phone_acceptCall.md b/old_docs/API_docs_v62/methods/phone_acceptCall.md new file mode 100644 index 00000000..cd80779b --- /dev/null +++ b/old_docs/API_docs_v62/methods/phone_acceptCall.md @@ -0,0 +1,47 @@ +--- +title: phone.acceptCall +description: phone.acceptCall parameters, return type and example +--- +## Method: phone.acceptCall +[Back to methods index](index.md) + + +### Parameters: + +| Name | Type | Required | +|----------|:-------------:|---------:| +|peer|[InputPhoneCall](../types/InputPhoneCall.md) | Yes| +|g\_b|[bytes](../types/bytes.md) | Yes| +|key\_fingerprint|[long](../types/long.md) | Yes| +|protocol|[PhoneCallProtocol](../types/PhoneCallProtocol.md) | Yes| + + +### Return type: [phone\_PhoneCall](../types/phone_PhoneCall.md) + +### Example: + + +``` +$MadelineProto = new \danog\MadelineProto\API(); +if (isset($token)) { + $this->bot_login($token); +} +if (isset($number)) { + $sentCode = $MadelineProto->phone_login($number); + echo 'Enter the code you received: '; + $code = ''; + for ($x = 0; $x < $sentCode['type']['length']; $x++) { + $code .= fgetc(STDIN); + } + $MadelineProto->complete_phone_login($code); +} + +$phone_PhoneCall = $MadelineProto->phone->acceptCall(['peer' => InputPhoneCall, 'g_b' => bytes, 'key_fingerprint' => long, 'protocol' => PhoneCallProtocol, ]); +``` + +Or, if you're into Lua: + +``` +phone_PhoneCall = phone.acceptCall({peer=InputPhoneCall, g_b=bytes, key_fingerprint=long, protocol=PhoneCallProtocol, }) +``` + diff --git a/old_docs/API_docs_v62/methods/phone_discardCall.md b/old_docs/API_docs_v62/methods/phone_discardCall.md new file mode 100644 index 00000000..9bde1032 --- /dev/null +++ b/old_docs/API_docs_v62/methods/phone_discardCall.md @@ -0,0 +1,47 @@ +--- +title: phone.discardCall +description: phone.discardCall parameters, return type and example +--- +## Method: phone.discardCall +[Back to methods index](index.md) + + +### Parameters: + +| Name | Type | Required | +|----------|:-------------:|---------:| +|peer|[InputPhoneCall](../types/InputPhoneCall.md) | Yes| +|duration|[int](../types/int.md) | Yes| +|reason|[PhoneCallDiscardReason](../types/PhoneCallDiscardReason.md) | Yes| +|connection\_id|[long](../types/long.md) | Yes| + + +### Return type: [Bool](../types/Bool.md) + +### Example: + + +``` +$MadelineProto = new \danog\MadelineProto\API(); +if (isset($token)) { + $this->bot_login($token); +} +if (isset($number)) { + $sentCode = $MadelineProto->phone_login($number); + echo 'Enter the code you received: '; + $code = ''; + for ($x = 0; $x < $sentCode['type']['length']; $x++) { + $code .= fgetc(STDIN); + } + $MadelineProto->complete_phone_login($code); +} + +$Bool = $MadelineProto->phone->discardCall(['peer' => InputPhoneCall, 'duration' => int, 'reason' => PhoneCallDiscardReason, 'connection_id' => long, ]); +``` + +Or, if you're into Lua: + +``` +Bool = phone.discardCall({peer=InputPhoneCall, duration=int, reason=PhoneCallDiscardReason, connection_id=long, }) +``` + diff --git a/old_docs/API_docs_v62/methods/phone_receivedCall.md b/old_docs/API_docs_v62/methods/phone_receivedCall.md new file mode 100644 index 00000000..7af92abc --- /dev/null +++ b/old_docs/API_docs_v62/methods/phone_receivedCall.md @@ -0,0 +1,44 @@ +--- +title: phone.receivedCall +description: phone.receivedCall parameters, return type and example +--- +## Method: phone.receivedCall +[Back to methods index](index.md) + + +### Parameters: + +| Name | Type | Required | +|----------|:-------------:|---------:| +|peer|[InputPhoneCall](../types/InputPhoneCall.md) | Yes| + + +### Return type: [Bool](../types/Bool.md) + +### Example: + + +``` +$MadelineProto = new \danog\MadelineProto\API(); +if (isset($token)) { + $this->bot_login($token); +} +if (isset($number)) { + $sentCode = $MadelineProto->phone_login($number); + echo 'Enter the code you received: '; + $code = ''; + for ($x = 0; $x < $sentCode['type']['length']; $x++) { + $code .= fgetc(STDIN); + } + $MadelineProto->complete_phone_login($code); +} + +$Bool = $MadelineProto->phone->receivedCall(['peer' => InputPhoneCall, ]); +``` + +Or, if you're into Lua: + +``` +Bool = phone.receivedCall({peer=InputPhoneCall, }) +``` + diff --git a/old_docs/API_docs_v62/methods/phone_requestCall.md b/old_docs/API_docs_v62/methods/phone_requestCall.md new file mode 100644 index 00000000..c7a95c5c --- /dev/null +++ b/old_docs/API_docs_v62/methods/phone_requestCall.md @@ -0,0 +1,46 @@ +--- +title: phone.requestCall +description: phone.requestCall parameters, return type and example +--- +## Method: phone.requestCall +[Back to methods index](index.md) + + +### Parameters: + +| Name | Type | Required | +|----------|:-------------:|---------:| +|user\_id|[InputUser](../types/InputUser.md) | Yes| +|g\_a|[bytes](../types/bytes.md) | Yes| +|protocol|[PhoneCallProtocol](../types/PhoneCallProtocol.md) | Yes| + + +### Return type: [phone\_PhoneCall](../types/phone_PhoneCall.md) + +### Example: + + +``` +$MadelineProto = new \danog\MadelineProto\API(); +if (isset($token)) { + $this->bot_login($token); +} +if (isset($number)) { + $sentCode = $MadelineProto->phone_login($number); + echo 'Enter the code you received: '; + $code = ''; + for ($x = 0; $x < $sentCode['type']['length']; $x++) { + $code .= fgetc(STDIN); + } + $MadelineProto->complete_phone_login($code); +} + +$phone_PhoneCall = $MadelineProto->phone->requestCall(['user_id' => InputUser, 'g_a' => bytes, 'protocol' => PhoneCallProtocol, ]); +``` + +Or, if you're into Lua: + +``` +phone_PhoneCall = phone.requestCall({user_id=InputUser, g_a=bytes, protocol=PhoneCallProtocol, }) +``` + diff --git a/old_docs/API_docs_v62/methods/photos_deletePhotos.md b/old_docs/API_docs_v62/methods/photos_deletePhotos.md new file mode 100644 index 00000000..6a717835 --- /dev/null +++ b/old_docs/API_docs_v62/methods/photos_deletePhotos.md @@ -0,0 +1,44 @@ +--- +title: photos.deletePhotos +description: photos.deletePhotos parameters, return type and example +--- +## Method: photos.deletePhotos +[Back to methods index](index.md) + + +### Parameters: + +| Name | Type | Required | +|----------|:-------------:|---------:| +|id|Array of [InputPhoto](../types/InputPhoto.md) | Yes| + + +### Return type: [Vector\_of\_long](../types/long.md) + +### Example: + + +``` +$MadelineProto = new \danog\MadelineProto\API(); +if (isset($token)) { + $this->bot_login($token); +} +if (isset($number)) { + $sentCode = $MadelineProto->phone_login($number); + echo 'Enter the code you received: '; + $code = ''; + for ($x = 0; $x < $sentCode['type']['length']; $x++) { + $code .= fgetc(STDIN); + } + $MadelineProto->complete_phone_login($code); +} + +$Vector_of_long = $MadelineProto->photos->deletePhotos(['id' => [InputPhoto], ]); +``` + +Or, if you're into Lua: + +``` +Vector_of_long = photos.deletePhotos({id={InputPhoto}, }) +``` + diff --git a/old_docs/API_docs_v62/methods/photos_getUserPhotos.md b/old_docs/API_docs_v62/methods/photos_getUserPhotos.md new file mode 100644 index 00000000..4aa96dfa --- /dev/null +++ b/old_docs/API_docs_v62/methods/photos_getUserPhotos.md @@ -0,0 +1,47 @@ +--- +title: photos.getUserPhotos +description: photos.getUserPhotos parameters, return type and example +--- +## Method: photos.getUserPhotos +[Back to methods index](index.md) + + +### Parameters: + +| Name | Type | Required | +|----------|:-------------:|---------:| +|user\_id|[InputUser](../types/InputUser.md) | Yes| +|offset|[int](../types/int.md) | Yes| +|max\_id|[long](../types/long.md) | Yes| +|limit|[int](../types/int.md) | Yes| + + +### Return type: [photos\_Photos](../types/photos_Photos.md) + +### Example: + + +``` +$MadelineProto = new \danog\MadelineProto\API(); +if (isset($token)) { + $this->bot_login($token); +} +if (isset($number)) { + $sentCode = $MadelineProto->phone_login($number); + echo 'Enter the code you received: '; + $code = ''; + for ($x = 0; $x < $sentCode['type']['length']; $x++) { + $code .= fgetc(STDIN); + } + $MadelineProto->complete_phone_login($code); +} + +$photos_Photos = $MadelineProto->photos->getUserPhotos(['user_id' => InputUser, 'offset' => int, 'max_id' => long, 'limit' => int, ]); +``` + +Or, if you're into Lua: + +``` +photos_Photos = photos.getUserPhotos({user_id=InputUser, offset=int, max_id=long, limit=int, }) +``` + diff --git a/old_docs/API_docs_v62/methods/photos_updateProfilePhoto.md b/old_docs/API_docs_v62/methods/photos_updateProfilePhoto.md new file mode 100644 index 00000000..bdca3ef5 --- /dev/null +++ b/old_docs/API_docs_v62/methods/photos_updateProfilePhoto.md @@ -0,0 +1,44 @@ +--- +title: photos.updateProfilePhoto +description: photos.updateProfilePhoto parameters, return type and example +--- +## Method: photos.updateProfilePhoto +[Back to methods index](index.md) + + +### Parameters: + +| Name | Type | Required | +|----------|:-------------:|---------:| +|id|[InputPhoto](../types/InputPhoto.md) | Yes| + + +### Return type: [UserProfilePhoto](../types/UserProfilePhoto.md) + +### Example: + + +``` +$MadelineProto = new \danog\MadelineProto\API(); +if (isset($token)) { + $this->bot_login($token); +} +if (isset($number)) { + $sentCode = $MadelineProto->phone_login($number); + echo 'Enter the code you received: '; + $code = ''; + for ($x = 0; $x < $sentCode['type']['length']; $x++) { + $code .= fgetc(STDIN); + } + $MadelineProto->complete_phone_login($code); +} + +$UserProfilePhoto = $MadelineProto->photos->updateProfilePhoto(['id' => InputPhoto, ]); +``` + +Or, if you're into Lua: + +``` +UserProfilePhoto = photos.updateProfilePhoto({id=InputPhoto, }) +``` + diff --git a/old_docs/API_docs_v62/methods/photos_uploadProfilePhoto.md b/old_docs/API_docs_v62/methods/photos_uploadProfilePhoto.md new file mode 100644 index 00000000..5ebe5bfe --- /dev/null +++ b/old_docs/API_docs_v62/methods/photos_uploadProfilePhoto.md @@ -0,0 +1,44 @@ +--- +title: photos.uploadProfilePhoto +description: photos.uploadProfilePhoto parameters, return type and example +--- +## Method: photos.uploadProfilePhoto +[Back to methods index](index.md) + + +### Parameters: + +| Name | Type | Required | +|----------|:-------------:|---------:| +|file|[InputFile](../types/InputFile.md) | Yes| + + +### Return type: [photos\_Photo](../types/photos_Photo.md) + +### Example: + + +``` +$MadelineProto = new \danog\MadelineProto\API(); +if (isset($token)) { + $this->bot_login($token); +} +if (isset($number)) { + $sentCode = $MadelineProto->phone_login($number); + echo 'Enter the code you received: '; + $code = ''; + for ($x = 0; $x < $sentCode['type']['length']; $x++) { + $code .= fgetc(STDIN); + } + $MadelineProto->complete_phone_login($code); +} + +$photos_Photo = $MadelineProto->photos->uploadProfilePhoto(['file' => InputFile, ]); +``` + +Or, if you're into Lua: + +``` +photos_Photo = photos.uploadProfilePhoto({file=InputFile, }) +``` + diff --git a/old_docs/API_docs_v62/methods/updates_getChannelDifference.md b/old_docs/API_docs_v62/methods/updates_getChannelDifference.md new file mode 100644 index 00000000..03333e2c --- /dev/null +++ b/old_docs/API_docs_v62/methods/updates_getChannelDifference.md @@ -0,0 +1,48 @@ +--- +title: updates.getChannelDifference +description: updates.getChannelDifference parameters, return type and example +--- +## Method: updates.getChannelDifference +[Back to methods index](index.md) + + +### Parameters: + +| Name | Type | Required | +|----------|:-------------:|---------:| +|force|[Bool](../types/Bool.md) | Optional| +|channel|[InputChannel](../types/InputChannel.md) | Yes| +|filter|[ChannelMessagesFilter](../types/ChannelMessagesFilter.md) | Yes| +|pts|[int](../types/int.md) | Yes| +|limit|[int](../types/int.md) | Yes| + + +### Return type: [updates\_ChannelDifference](../types/updates_ChannelDifference.md) + +### Example: + + +``` +$MadelineProto = new \danog\MadelineProto\API(); +if (isset($token)) { + $this->bot_login($token); +} +if (isset($number)) { + $sentCode = $MadelineProto->phone_login($number); + echo 'Enter the code you received: '; + $code = ''; + for ($x = 0; $x < $sentCode['type']['length']; $x++) { + $code .= fgetc(STDIN); + } + $MadelineProto->complete_phone_login($code); +} + +$updates_ChannelDifference = $MadelineProto->updates->getChannelDifference(['force' => Bool, 'channel' => InputChannel, 'filter' => ChannelMessagesFilter, 'pts' => int, 'limit' => int, ]); +``` + +Or, if you're into Lua: + +``` +updates_ChannelDifference = updates.getChannelDifference({force=Bool, channel=InputChannel, filter=ChannelMessagesFilter, pts=int, limit=int, }) +``` + diff --git a/old_docs/API_docs_v62/methods/updates_getDifference.md b/old_docs/API_docs_v62/methods/updates_getDifference.md new file mode 100644 index 00000000..bc0e20cc --- /dev/null +++ b/old_docs/API_docs_v62/methods/updates_getDifference.md @@ -0,0 +1,47 @@ +--- +title: updates.getDifference +description: updates.getDifference parameters, return type and example +--- +## Method: updates.getDifference +[Back to methods index](index.md) + + +### Parameters: + +| Name | Type | Required | +|----------|:-------------:|---------:| +|pts|[int](../types/int.md) | Yes| +|pts\_total\_limit|[int](../types/int.md) | Optional| +|date|[int](../types/int.md) | Yes| +|qts|[int](../types/int.md) | Yes| + + +### Return type: [updates\_Difference](../types/updates_Difference.md) + +### Example: + + +``` +$MadelineProto = new \danog\MadelineProto\API(); +if (isset($token)) { + $this->bot_login($token); +} +if (isset($number)) { + $sentCode = $MadelineProto->phone_login($number); + echo 'Enter the code you received: '; + $code = ''; + for ($x = 0; $x < $sentCode['type']['length']; $x++) { + $code .= fgetc(STDIN); + } + $MadelineProto->complete_phone_login($code); +} + +$updates_Difference = $MadelineProto->updates->getDifference(['pts' => int, 'pts_total_limit' => int, 'date' => int, 'qts' => int, ]); +``` + +Or, if you're into Lua: + +``` +updates_Difference = updates.getDifference({pts=int, pts_total_limit=int, date=int, qts=int, }) +``` + diff --git a/old_docs/API_docs_v62/methods/updates_getState.md b/old_docs/API_docs_v62/methods/updates_getState.md new file mode 100644 index 00000000..5612ca79 --- /dev/null +++ b/old_docs/API_docs_v62/methods/updates_getState.md @@ -0,0 +1,39 @@ +--- +title: updates.getState +description: updates.getState parameters, return type and example +--- +## Method: updates.getState +[Back to methods index](index.md) + + + + +### Return type: [updates\_State](../types/updates_State.md) + +### Example: + + +``` +$MadelineProto = new \danog\MadelineProto\API(); +if (isset($token)) { + $this->bot_login($token); +} +if (isset($number)) { + $sentCode = $MadelineProto->phone_login($number); + echo 'Enter the code you received: '; + $code = ''; + for ($x = 0; $x < $sentCode['type']['length']; $x++) { + $code .= fgetc(STDIN); + } + $MadelineProto->complete_phone_login($code); +} + +$updates_State = $MadelineProto->updates->getState(); +``` + +Or, if you're into Lua: + +``` +updates_State = updates.getState({}) +``` + diff --git a/old_docs/API_docs_v62/methods/upload_getFile.md b/old_docs/API_docs_v62/methods/upload_getFile.md new file mode 100644 index 00000000..a2f3d961 --- /dev/null +++ b/old_docs/API_docs_v62/methods/upload_getFile.md @@ -0,0 +1,46 @@ +--- +title: upload.getFile +description: upload.getFile parameters, return type and example +--- +## Method: upload.getFile +[Back to methods index](index.md) + + +### Parameters: + +| Name | Type | Required | +|----------|:-------------:|---------:| +|location|[InputFileLocation](../types/InputFileLocation.md) | Yes| +|offset|[int](../types/int.md) | Yes| +|limit|[int](../types/int.md) | Yes| + + +### Return type: [upload\_File](../types/upload_File.md) + +### Example: + + +``` +$MadelineProto = new \danog\MadelineProto\API(); +if (isset($token)) { + $this->bot_login($token); +} +if (isset($number)) { + $sentCode = $MadelineProto->phone_login($number); + echo 'Enter the code you received: '; + $code = ''; + for ($x = 0; $x < $sentCode['type']['length']; $x++) { + $code .= fgetc(STDIN); + } + $MadelineProto->complete_phone_login($code); +} + +$upload_File = $MadelineProto->upload->getFile(['location' => InputFileLocation, 'offset' => int, 'limit' => int, ]); +``` + +Or, if you're into Lua: + +``` +upload_File = upload.getFile({location=InputFileLocation, offset=int, limit=int, }) +``` + diff --git a/old_docs/API_docs_v62/methods/upload_saveBigFilePart.md b/old_docs/API_docs_v62/methods/upload_saveBigFilePart.md new file mode 100644 index 00000000..03641055 --- /dev/null +++ b/old_docs/API_docs_v62/methods/upload_saveBigFilePart.md @@ -0,0 +1,47 @@ +--- +title: upload.saveBigFilePart +description: upload.saveBigFilePart parameters, return type and example +--- +## Method: upload.saveBigFilePart +[Back to methods index](index.md) + + +### Parameters: + +| Name | Type | Required | +|----------|:-------------:|---------:| +|file\_id|[long](../types/long.md) | Yes| +|file\_part|[int](../types/int.md) | Yes| +|file\_total\_parts|[int](../types/int.md) | Yes| +|bytes|[bytes](../types/bytes.md) | Yes| + + +### Return type: [Bool](../types/Bool.md) + +### Example: + + +``` +$MadelineProto = new \danog\MadelineProto\API(); +if (isset($token)) { + $this->bot_login($token); +} +if (isset($number)) { + $sentCode = $MadelineProto->phone_login($number); + echo 'Enter the code you received: '; + $code = ''; + for ($x = 0; $x < $sentCode['type']['length']; $x++) { + $code .= fgetc(STDIN); + } + $MadelineProto->complete_phone_login($code); +} + +$Bool = $MadelineProto->upload->saveBigFilePart(['file_id' => long, 'file_part' => int, 'file_total_parts' => int, 'bytes' => bytes, ]); +``` + +Or, if you're into Lua: + +``` +Bool = upload.saveBigFilePart({file_id=long, file_part=int, file_total_parts=int, bytes=bytes, }) +``` + diff --git a/old_docs/API_docs_v62/methods/upload_saveFilePart.md b/old_docs/API_docs_v62/methods/upload_saveFilePart.md new file mode 100644 index 00000000..192412c8 --- /dev/null +++ b/old_docs/API_docs_v62/methods/upload_saveFilePart.md @@ -0,0 +1,46 @@ +--- +title: upload.saveFilePart +description: upload.saveFilePart parameters, return type and example +--- +## Method: upload.saveFilePart +[Back to methods index](index.md) + + +### Parameters: + +| Name | Type | Required | +|----------|:-------------:|---------:| +|file\_id|[long](../types/long.md) | Yes| +|file\_part|[int](../types/int.md) | Yes| +|bytes|[bytes](../types/bytes.md) | Yes| + + +### Return type: [Bool](../types/Bool.md) + +### Example: + + +``` +$MadelineProto = new \danog\MadelineProto\API(); +if (isset($token)) { + $this->bot_login($token); +} +if (isset($number)) { + $sentCode = $MadelineProto->phone_login($number); + echo 'Enter the code you received: '; + $code = ''; + for ($x = 0; $x < $sentCode['type']['length']; $x++) { + $code .= fgetc(STDIN); + } + $MadelineProto->complete_phone_login($code); +} + +$Bool = $MadelineProto->upload->saveFilePart(['file_id' => long, 'file_part' => int, 'bytes' => bytes, ]); +``` + +Or, if you're into Lua: + +``` +Bool = upload.saveFilePart({file_id=long, file_part=int, bytes=bytes, }) +``` + diff --git a/old_docs/API_docs_v62/methods/users_getFullUser.md b/old_docs/API_docs_v62/methods/users_getFullUser.md new file mode 100644 index 00000000..864ae387 --- /dev/null +++ b/old_docs/API_docs_v62/methods/users_getFullUser.md @@ -0,0 +1,44 @@ +--- +title: users.getFullUser +description: users.getFullUser parameters, return type and example +--- +## Method: users.getFullUser +[Back to methods index](index.md) + + +### Parameters: + +| Name | Type | Required | +|----------|:-------------:|---------:| +|id|[InputUser](../types/InputUser.md) | Yes| + + +### Return type: [UserFull](../types/UserFull.md) + +### Example: + + +``` +$MadelineProto = new \danog\MadelineProto\API(); +if (isset($token)) { + $this->bot_login($token); +} +if (isset($number)) { + $sentCode = $MadelineProto->phone_login($number); + echo 'Enter the code you received: '; + $code = ''; + for ($x = 0; $x < $sentCode['type']['length']; $x++) { + $code .= fgetc(STDIN); + } + $MadelineProto->complete_phone_login($code); +} + +$UserFull = $MadelineProto->users->getFullUser(['id' => InputUser, ]); +``` + +Or, if you're into Lua: + +``` +UserFull = users.getFullUser({id=InputUser, }) +``` + diff --git a/old_docs/API_docs_v62/methods/users_getUsers.md b/old_docs/API_docs_v62/methods/users_getUsers.md new file mode 100644 index 00000000..34816478 --- /dev/null +++ b/old_docs/API_docs_v62/methods/users_getUsers.md @@ -0,0 +1,44 @@ +--- +title: users.getUsers +description: users.getUsers parameters, return type and example +--- +## Method: users.getUsers +[Back to methods index](index.md) + + +### Parameters: + +| Name | Type | Required | +|----------|:-------------:|---------:| +|id|Array of [InputUser](../types/InputUser.md) | Yes| + + +### Return type: [Vector\_of\_User](../types/User.md) + +### Example: + + +``` +$MadelineProto = new \danog\MadelineProto\API(); +if (isset($token)) { + $this->bot_login($token); +} +if (isset($number)) { + $sentCode = $MadelineProto->phone_login($number); + echo 'Enter the code you received: '; + $code = ''; + for ($x = 0; $x < $sentCode['type']['length']; $x++) { + $code .= fgetc(STDIN); + } + $MadelineProto->complete_phone_login($code); +} + +$Vector_of_User = $MadelineProto->users->getUsers(['id' => [InputUser], ]); +``` + +Or, if you're into Lua: + +``` +Vector_of_User = users.getUsers({id={InputUser}, }) +``` + diff --git a/old_docs/API_docs_v62/types/!X.md b/old_docs/API_docs_v62/types/!X.md new file mode 100644 index 00000000..b52cc64f --- /dev/null +++ b/old_docs/API_docs_v62/types/!X.md @@ -0,0 +1,8 @@ +--- +title: !X +description: Represents a TL serialized payload +--- +## Type: !X +[Back to constructor index](index.md) + +Represents a TL serialized payload. \ No newline at end of file diff --git a/old_docs/API_docs_v62/types/AccountDaysTTL.md b/old_docs/API_docs_v62/types/AccountDaysTTL.md new file mode 100644 index 00000000..c0363572 --- /dev/null +++ b/old_docs/API_docs_v62/types/AccountDaysTTL.md @@ -0,0 +1,21 @@ +--- +title: AccountDaysTTL +description: constructors and methods of type AccountDaysTTL +--- +## Type: AccountDaysTTL +[Back to types index](index.md) + + + +### Possible values (constructors): + +[accountDaysTTL](../constructors/accountDaysTTL.md) + + + +### Methods that return an object of this type (methods): + +[$MadelineProto->account->getAccountTTL](../methods/account_getAccountTTL.md) + + + diff --git a/old_docs/API_docs_v62/types/Authorization.md b/old_docs/API_docs_v62/types/Authorization.md new file mode 100644 index 00000000..db9d3a79 --- /dev/null +++ b/old_docs/API_docs_v62/types/Authorization.md @@ -0,0 +1,19 @@ +--- +title: Authorization +description: constructors and methods of type Authorization +--- +## Type: Authorization +[Back to types index](index.md) + + + +### Possible values (constructors): + +[authorization](../constructors/authorization.md) + + + +### Methods that return an object of this type (methods): + + + diff --git a/old_docs/API_docs_v62/types/Bool.md b/old_docs/API_docs_v62/types/Bool.md new file mode 100644 index 00000000..e108e862 --- /dev/null +++ b/old_docs/API_docs_v62/types/Bool.md @@ -0,0 +1,8 @@ +--- +title: Bool +description: Represents a boolean. +--- +# Bool +[Back to types index](index.md) + +Represents a boolean. \ No newline at end of file diff --git a/old_docs/API_docs_v62/types/BotCommand.md b/old_docs/API_docs_v62/types/BotCommand.md new file mode 100644 index 00000000..9b5c86b1 --- /dev/null +++ b/old_docs/API_docs_v62/types/BotCommand.md @@ -0,0 +1,19 @@ +--- +title: BotCommand +description: constructors and methods of type BotCommand +--- +## Type: BotCommand +[Back to types index](index.md) + + + +### Possible values (constructors): + +[botCommand](../constructors/botCommand.md) + + + +### Methods that return an object of this type (methods): + + + diff --git a/old_docs/API_docs_v62/types/BotInfo.md b/old_docs/API_docs_v62/types/BotInfo.md new file mode 100644 index 00000000..5a74c1ae --- /dev/null +++ b/old_docs/API_docs_v62/types/BotInfo.md @@ -0,0 +1,19 @@ +--- +title: BotInfo +description: constructors and methods of type BotInfo +--- +## Type: BotInfo +[Back to types index](index.md) + + + +### Possible values (constructors): + +[botInfo](../constructors/botInfo.md) + + + +### Methods that return an object of this type (methods): + + + diff --git a/old_docs/API_docs_v62/types/BotInlineMessage.md b/old_docs/API_docs_v62/types/BotInlineMessage.md new file mode 100644 index 00000000..3d514e86 --- /dev/null +++ b/old_docs/API_docs_v62/types/BotInlineMessage.md @@ -0,0 +1,27 @@ +--- +title: BotInlineMessage +description: constructors and methods of type BotInlineMessage +--- +## Type: BotInlineMessage +[Back to types index](index.md) + + + +### Possible values (constructors): + +[botInlineMessageMediaAuto](../constructors/botInlineMessageMediaAuto.md) + +[botInlineMessageText](../constructors/botInlineMessageText.md) + +[botInlineMessageMediaGeo](../constructors/botInlineMessageMediaGeo.md) + +[botInlineMessageMediaVenue](../constructors/botInlineMessageMediaVenue.md) + +[botInlineMessageMediaContact](../constructors/botInlineMessageMediaContact.md) + + + +### Methods that return an object of this type (methods): + + + diff --git a/old_docs/API_docs_v62/types/BotInlineResult.md b/old_docs/API_docs_v62/types/BotInlineResult.md new file mode 100644 index 00000000..cbbc151b --- /dev/null +++ b/old_docs/API_docs_v62/types/BotInlineResult.md @@ -0,0 +1,21 @@ +--- +title: BotInlineResult +description: constructors and methods of type BotInlineResult +--- +## Type: BotInlineResult +[Back to types index](index.md) + + + +### Possible values (constructors): + +[botInlineResult](../constructors/botInlineResult.md) + +[botInlineMediaResult](../constructors/botInlineMediaResult.md) + + + +### Methods that return an object of this type (methods): + + + diff --git a/old_docs/API_docs_v62/types/ChannelMessagesFilter.md b/old_docs/API_docs_v62/types/ChannelMessagesFilter.md new file mode 100644 index 00000000..099f2dcf --- /dev/null +++ b/old_docs/API_docs_v62/types/ChannelMessagesFilter.md @@ -0,0 +1,21 @@ +--- +title: ChannelMessagesFilter +description: constructors and methods of type ChannelMessagesFilter +--- +## Type: ChannelMessagesFilter +[Back to types index](index.md) + + + +### Possible values (constructors): + +[channelMessagesFilterEmpty](../constructors/channelMessagesFilterEmpty.md) + +[channelMessagesFilter](../constructors/channelMessagesFilter.md) + + + +### Methods that return an object of this type (methods): + + + diff --git a/old_docs/API_docs_v62/types/ChannelParticipant.md b/old_docs/API_docs_v62/types/ChannelParticipant.md new file mode 100644 index 00000000..31640ae0 --- /dev/null +++ b/old_docs/API_docs_v62/types/ChannelParticipant.md @@ -0,0 +1,29 @@ +--- +title: ChannelParticipant +description: constructors and methods of type ChannelParticipant +--- +## Type: ChannelParticipant +[Back to types index](index.md) + + + +### Possible values (constructors): + +[channelParticipant](../constructors/channelParticipant.md) + +[channelParticipantSelf](../constructors/channelParticipantSelf.md) + +[channelParticipantModerator](../constructors/channelParticipantModerator.md) + +[channelParticipantEditor](../constructors/channelParticipantEditor.md) + +[channelParticipantKicked](../constructors/channelParticipantKicked.md) + +[channelParticipantCreator](../constructors/channelParticipantCreator.md) + + + +### Methods that return an object of this type (methods): + + + diff --git a/old_docs/API_docs_v62/types/ChannelParticipantRole.md b/old_docs/API_docs_v62/types/ChannelParticipantRole.md new file mode 100644 index 00000000..81bf38ec --- /dev/null +++ b/old_docs/API_docs_v62/types/ChannelParticipantRole.md @@ -0,0 +1,23 @@ +--- +title: ChannelParticipantRole +description: constructors and methods of type ChannelParticipantRole +--- +## Type: ChannelParticipantRole +[Back to types index](index.md) + + + +### Possible values (constructors): + +[channelRoleEmpty](../constructors/channelRoleEmpty.md) + +[channelRoleModerator](../constructors/channelRoleModerator.md) + +[channelRoleEditor](../constructors/channelRoleEditor.md) + + + +### Methods that return an object of this type (methods): + + + diff --git a/old_docs/API_docs_v62/types/ChannelParticipantsFilter.md b/old_docs/API_docs_v62/types/ChannelParticipantsFilter.md new file mode 100644 index 00000000..4d1e54ec --- /dev/null +++ b/old_docs/API_docs_v62/types/ChannelParticipantsFilter.md @@ -0,0 +1,25 @@ +--- +title: ChannelParticipantsFilter +description: constructors and methods of type ChannelParticipantsFilter +--- +## Type: ChannelParticipantsFilter +[Back to types index](index.md) + + + +### Possible values (constructors): + +[channelParticipantsRecent](../constructors/channelParticipantsRecent.md) + +[channelParticipantsAdmins](../constructors/channelParticipantsAdmins.md) + +[channelParticipantsKicked](../constructors/channelParticipantsKicked.md) + +[channelParticipantsBots](../constructors/channelParticipantsBots.md) + + + +### Methods that return an object of this type (methods): + + + diff --git a/old_docs/API_docs_v62/types/Chat.md b/old_docs/API_docs_v62/types/Chat.md new file mode 100644 index 00000000..c213ab8a --- /dev/null +++ b/old_docs/API_docs_v62/types/Chat.md @@ -0,0 +1,42 @@ +--- +title: Chat +description: constructors and methods of type Chat +--- +## Type: Chat +[Back to types index](index.md) + + + +The following syntaxes can also be used: + +``` +$Chat = '@username'; // Username + +$Chat = 44700; // bot API id (users) +$Chat = -492772765; // bot API id (chats) +$Chat = -10038575794; // bot API id (channels) + +$Chat = 'user#44700'; // tg-cli style id (users) +$Chat = 'chat#492772765'; // tg-cli style id (chats) +$Chat = 'channel#38575794'; // tg-cli style id (channels) +``` + + +### Possible values (constructors): + +[chatEmpty](../constructors/chatEmpty.md) + +[chat](../constructors/chat.md) + +[chatForbidden](../constructors/chatForbidden.md) + +[channel](../constructors/channel.md) + +[channelForbidden](../constructors/channelForbidden.md) + + + +### Methods that return an object of this type (methods): + + + diff --git a/old_docs/API_docs_v62/types/ChatFull.md b/old_docs/API_docs_v62/types/ChatFull.md new file mode 100644 index 00000000..e5ec1ffd --- /dev/null +++ b/old_docs/API_docs_v62/types/ChatFull.md @@ -0,0 +1,21 @@ +--- +title: ChatFull +description: constructors and methods of type ChatFull +--- +## Type: ChatFull +[Back to types index](index.md) + + + +### Possible values (constructors): + +[chatFull](../constructors/chatFull.md) + +[channelFull](../constructors/channelFull.md) + + + +### Methods that return an object of this type (methods): + + + diff --git a/old_docs/API_docs_v62/types/ChatInvite.md b/old_docs/API_docs_v62/types/ChatInvite.md new file mode 100644 index 00000000..a8e2f3ed --- /dev/null +++ b/old_docs/API_docs_v62/types/ChatInvite.md @@ -0,0 +1,23 @@ +--- +title: ChatInvite +description: constructors and methods of type ChatInvite +--- +## Type: ChatInvite +[Back to types index](index.md) + + + +### Possible values (constructors): + +[chatInviteAlready](../constructors/chatInviteAlready.md) + +[chatInvite](../constructors/chatInvite.md) + + + +### Methods that return an object of this type (methods): + +[$MadelineProto->messages->checkChatInvite](../methods/messages_checkChatInvite.md) + + + diff --git a/old_docs/API_docs_v62/types/ChatParticipant.md b/old_docs/API_docs_v62/types/ChatParticipant.md new file mode 100644 index 00000000..64996f55 --- /dev/null +++ b/old_docs/API_docs_v62/types/ChatParticipant.md @@ -0,0 +1,23 @@ +--- +title: ChatParticipant +description: constructors and methods of type ChatParticipant +--- +## Type: ChatParticipant +[Back to types index](index.md) + + + +### Possible values (constructors): + +[chatParticipant](../constructors/chatParticipant.md) + +[chatParticipantCreator](../constructors/chatParticipantCreator.md) + +[chatParticipantAdmin](../constructors/chatParticipantAdmin.md) + + + +### Methods that return an object of this type (methods): + + + diff --git a/old_docs/API_docs_v62/types/ChatParticipants.md b/old_docs/API_docs_v62/types/ChatParticipants.md new file mode 100644 index 00000000..49fca52e --- /dev/null +++ b/old_docs/API_docs_v62/types/ChatParticipants.md @@ -0,0 +1,21 @@ +--- +title: ChatParticipants +description: constructors and methods of type ChatParticipants +--- +## Type: ChatParticipants +[Back to types index](index.md) + + + +### Possible values (constructors): + +[chatParticipantsForbidden](../constructors/chatParticipantsForbidden.md) + +[chatParticipants](../constructors/chatParticipants.md) + + + +### Methods that return an object of this type (methods): + + + diff --git a/old_docs/API_docs_v62/types/ChatPhoto.md b/old_docs/API_docs_v62/types/ChatPhoto.md new file mode 100644 index 00000000..87a20f80 --- /dev/null +++ b/old_docs/API_docs_v62/types/ChatPhoto.md @@ -0,0 +1,21 @@ +--- +title: ChatPhoto +description: constructors and methods of type ChatPhoto +--- +## Type: ChatPhoto +[Back to types index](index.md) + + + +### Possible values (constructors): + +[chatPhotoEmpty](../constructors/chatPhotoEmpty.md) + +[chatPhoto](../constructors/chatPhoto.md) + + + +### Methods that return an object of this type (methods): + + + diff --git a/old_docs/API_docs_v62/types/Config.md b/old_docs/API_docs_v62/types/Config.md new file mode 100644 index 00000000..4c200515 --- /dev/null +++ b/old_docs/API_docs_v62/types/Config.md @@ -0,0 +1,21 @@ +--- +title: Config +description: constructors and methods of type Config +--- +## Type: Config +[Back to types index](index.md) + + + +### Possible values (constructors): + +[config](../constructors/config.md) + + + +### Methods that return an object of this type (methods): + +[$MadelineProto->help->getConfig](../methods/help_getConfig.md) + + + diff --git a/old_docs/API_docs_v62/types/Contact.md b/old_docs/API_docs_v62/types/Contact.md new file mode 100644 index 00000000..e8f33b6d --- /dev/null +++ b/old_docs/API_docs_v62/types/Contact.md @@ -0,0 +1,19 @@ +--- +title: Contact +description: constructors and methods of type Contact +--- +## Type: Contact +[Back to types index](index.md) + + + +### Possible values (constructors): + +[contact](../constructors/contact.md) + + + +### Methods that return an object of this type (methods): + + + diff --git a/old_docs/API_docs_v62/types/ContactBlocked.md b/old_docs/API_docs_v62/types/ContactBlocked.md new file mode 100644 index 00000000..87bb970c --- /dev/null +++ b/old_docs/API_docs_v62/types/ContactBlocked.md @@ -0,0 +1,19 @@ +--- +title: ContactBlocked +description: constructors and methods of type ContactBlocked +--- +## Type: ContactBlocked +[Back to types index](index.md) + + + +### Possible values (constructors): + +[contactBlocked](../constructors/contactBlocked.md) + + + +### Methods that return an object of this type (methods): + + + diff --git a/old_docs/API_docs_v62/types/ContactLink.md b/old_docs/API_docs_v62/types/ContactLink.md new file mode 100644 index 00000000..c9a28009 --- /dev/null +++ b/old_docs/API_docs_v62/types/ContactLink.md @@ -0,0 +1,25 @@ +--- +title: ContactLink +description: constructors and methods of type ContactLink +--- +## Type: ContactLink +[Back to types index](index.md) + + + +### Possible values (constructors): + +[contactLinkUnknown](../constructors/contactLinkUnknown.md) + +[contactLinkNone](../constructors/contactLinkNone.md) + +[contactLinkHasPhone](../constructors/contactLinkHasPhone.md) + +[contactLinkContact](../constructors/contactLinkContact.md) + + + +### Methods that return an object of this type (methods): + + + diff --git a/old_docs/API_docs_v62/types/ContactStatus.md b/old_docs/API_docs_v62/types/ContactStatus.md new file mode 100644 index 00000000..7c59a43a --- /dev/null +++ b/old_docs/API_docs_v62/types/ContactStatus.md @@ -0,0 +1,19 @@ +--- +title: ContactStatus +description: constructors and methods of type ContactStatus +--- +## Type: ContactStatus +[Back to types index](index.md) + + + +### Possible values (constructors): + + + +### Methods that return an object of this type (methods): + +[$MadelineProto->contacts->getStatuses](../methods/contacts_getStatuses.md) + + + diff --git a/old_docs/API_docs_v62/types/DcOption.md b/old_docs/API_docs_v62/types/DcOption.md new file mode 100644 index 00000000..ac726d6d --- /dev/null +++ b/old_docs/API_docs_v62/types/DcOption.md @@ -0,0 +1,19 @@ +--- +title: DcOption +description: constructors and methods of type DcOption +--- +## Type: DcOption +[Back to types index](index.md) + + + +### Possible values (constructors): + +[dcOption](../constructors/dcOption.md) + + + +### Methods that return an object of this type (methods): + + + diff --git a/old_docs/API_docs_v62/types/DestroyAuthKeyRes.md b/old_docs/API_docs_v62/types/DestroyAuthKeyRes.md new file mode 100644 index 00000000..43a53e4b --- /dev/null +++ b/old_docs/API_docs_v62/types/DestroyAuthKeyRes.md @@ -0,0 +1,25 @@ +--- +title: DestroyAuthKeyRes +description: constructors and methods of type DestroyAuthKeyRes +--- +## Type: DestroyAuthKeyRes +[Back to types index](index.md) + + + +### Possible values (constructors): + +[destroy\_auth\_key\_ok](../constructors/destroy_auth_key_ok.md) + +[destroy\_auth\_key\_none](../constructors/destroy_auth_key_none.md) + +[destroy\_auth\_key\_fail](../constructors/destroy_auth_key_fail.md) + + + +### Methods that return an object of this type (methods): + +[$MadelineProto->destroy->auth->key](../methods/destroy_auth_key.md) + + + diff --git a/old_docs/API_docs_v62/types/Dialog.md b/old_docs/API_docs_v62/types/Dialog.md new file mode 100644 index 00000000..88398fb5 --- /dev/null +++ b/old_docs/API_docs_v62/types/Dialog.md @@ -0,0 +1,19 @@ +--- +title: Dialog +description: constructors and methods of type Dialog +--- +## Type: Dialog +[Back to types index](index.md) + + + +### Possible values (constructors): + +[dialog](../constructors/dialog.md) + + + +### Methods that return an object of this type (methods): + + + diff --git a/old_docs/API_docs_v62/types/DisabledFeature.md b/old_docs/API_docs_v62/types/DisabledFeature.md new file mode 100644 index 00000000..d1695c5b --- /dev/null +++ b/old_docs/API_docs_v62/types/DisabledFeature.md @@ -0,0 +1,19 @@ +--- +title: DisabledFeature +description: constructors and methods of type DisabledFeature +--- +## Type: DisabledFeature +[Back to types index](index.md) + + + +### Possible values (constructors): + +[disabledFeature](../constructors/disabledFeature.md) + + + +### Methods that return an object of this type (methods): + + + diff --git a/old_docs/API_docs_v62/types/Document.md b/old_docs/API_docs_v62/types/Document.md new file mode 100644 index 00000000..52c3c5a9 --- /dev/null +++ b/old_docs/API_docs_v62/types/Document.md @@ -0,0 +1,23 @@ +--- +title: Document +description: constructors and methods of type Document +--- +## Type: Document +[Back to types index](index.md) + + + +### Possible values (constructors): + +[documentEmpty](../constructors/documentEmpty.md) + +[document](../constructors/document.md) + + + +### Methods that return an object of this type (methods): + +[$MadelineProto->messages->getDocumentByHash](../methods/messages_getDocumentByHash.md) + + + diff --git a/old_docs/API_docs_v62/types/DocumentAttribute.md b/old_docs/API_docs_v62/types/DocumentAttribute.md new file mode 100644 index 00000000..c8e665bf --- /dev/null +++ b/old_docs/API_docs_v62/types/DocumentAttribute.md @@ -0,0 +1,31 @@ +--- +title: DocumentAttribute +description: constructors and methods of type DocumentAttribute +--- +## Type: DocumentAttribute +[Back to types index](index.md) + + + +### Possible values (constructors): + +[documentAttributeImageSize](../constructors/documentAttributeImageSize.md) + +[documentAttributeAnimated](../constructors/documentAttributeAnimated.md) + +[documentAttributeSticker](../constructors/documentAttributeSticker.md) + +[documentAttributeVideo](../constructors/documentAttributeVideo.md) + +[documentAttributeAudio](../constructors/documentAttributeAudio.md) + +[documentAttributeFilename](../constructors/documentAttributeFilename.md) + +[documentAttributeHasStickers](../constructors/documentAttributeHasStickers.md) + + + +### Methods that return an object of this type (methods): + + + diff --git a/old_docs/API_docs_v62/types/DraftMessage.md b/old_docs/API_docs_v62/types/DraftMessage.md new file mode 100644 index 00000000..7ef53cdb --- /dev/null +++ b/old_docs/API_docs_v62/types/DraftMessage.md @@ -0,0 +1,21 @@ +--- +title: DraftMessage +description: constructors and methods of type DraftMessage +--- +## Type: DraftMessage +[Back to types index](index.md) + + + +### Possible values (constructors): + +[draftMessageEmpty](../constructors/draftMessageEmpty.md) + +[draftMessage](../constructors/draftMessage.md) + + + +### Methods that return an object of this type (methods): + + + diff --git a/old_docs/API_docs_v62/types/EncryptedChat.md b/old_docs/API_docs_v62/types/EncryptedChat.md new file mode 100644 index 00000000..d352bfb2 --- /dev/null +++ b/old_docs/API_docs_v62/types/EncryptedChat.md @@ -0,0 +1,31 @@ +--- +title: EncryptedChat +description: constructors and methods of type EncryptedChat +--- +## Type: EncryptedChat +[Back to types index](index.md) + + + +### Possible values (constructors): + +[encryptedChatEmpty](../constructors/encryptedChatEmpty.md) + +[encryptedChatWaiting](../constructors/encryptedChatWaiting.md) + +[encryptedChatRequested](../constructors/encryptedChatRequested.md) + +[encryptedChat](../constructors/encryptedChat.md) + +[encryptedChatDiscarded](../constructors/encryptedChatDiscarded.md) + + + +### Methods that return an object of this type (methods): + +[$MadelineProto->messages->requestEncryption](../methods/messages_requestEncryption.md) + +[$MadelineProto->messages->acceptEncryption](../methods/messages_acceptEncryption.md) + + + diff --git a/old_docs/API_docs_v62/types/EncryptedFile.md b/old_docs/API_docs_v62/types/EncryptedFile.md new file mode 100644 index 00000000..5926c088 --- /dev/null +++ b/old_docs/API_docs_v62/types/EncryptedFile.md @@ -0,0 +1,21 @@ +--- +title: EncryptedFile +description: constructors and methods of type EncryptedFile +--- +## Type: EncryptedFile +[Back to types index](index.md) + + + +### Possible values (constructors): + +[encryptedFileEmpty](../constructors/encryptedFileEmpty.md) + +[encryptedFile](../constructors/encryptedFile.md) + + + +### Methods that return an object of this type (methods): + + + diff --git a/old_docs/API_docs_v62/types/EncryptedMessage.md b/old_docs/API_docs_v62/types/EncryptedMessage.md new file mode 100644 index 00000000..f7474a3b --- /dev/null +++ b/old_docs/API_docs_v62/types/EncryptedMessage.md @@ -0,0 +1,21 @@ +--- +title: EncryptedMessage +description: constructors and methods of type EncryptedMessage +--- +## Type: EncryptedMessage +[Back to types index](index.md) + + + +### Possible values (constructors): + +[encryptedMessage](../constructors/encryptedMessage.md) + +[encryptedMessageService](../constructors/encryptedMessageService.md) + + + +### Methods that return an object of this type (methods): + + + diff --git a/old_docs/API_docs_v62/types/Error.md b/old_docs/API_docs_v62/types/Error.md new file mode 100644 index 00000000..a3ab3577 --- /dev/null +++ b/old_docs/API_docs_v62/types/Error.md @@ -0,0 +1,19 @@ +--- +title: Error +description: constructors and methods of type Error +--- +## Type: Error +[Back to types index](index.md) + + + +### Possible values (constructors): + +[error](../constructors/error.md) + + + +### Methods that return an object of this type (methods): + + + diff --git a/old_docs/API_docs_v62/types/ExportedChatInvite.md b/old_docs/API_docs_v62/types/ExportedChatInvite.md new file mode 100644 index 00000000..60c51dfc --- /dev/null +++ b/old_docs/API_docs_v62/types/ExportedChatInvite.md @@ -0,0 +1,25 @@ +--- +title: ExportedChatInvite +description: constructors and methods of type ExportedChatInvite +--- +## Type: ExportedChatInvite +[Back to types index](index.md) + + + +### Possible values (constructors): + +[chatInviteEmpty](../constructors/chatInviteEmpty.md) + +[chatInviteExported](../constructors/chatInviteExported.md) + + + +### Methods that return an object of this type (methods): + +[$MadelineProto->messages->exportChatInvite](../methods/messages_exportChatInvite.md) + +[$MadelineProto->channels->exportInvite](../methods/channels_exportInvite.md) + + + diff --git a/old_docs/API_docs_v62/types/ExportedMessageLink.md b/old_docs/API_docs_v62/types/ExportedMessageLink.md new file mode 100644 index 00000000..6d8dbd5b --- /dev/null +++ b/old_docs/API_docs_v62/types/ExportedMessageLink.md @@ -0,0 +1,21 @@ +--- +title: ExportedMessageLink +description: constructors and methods of type ExportedMessageLink +--- +## Type: ExportedMessageLink +[Back to types index](index.md) + + + +### Possible values (constructors): + +[exportedMessageLink](../constructors/exportedMessageLink.md) + + + +### Methods that return an object of this type (methods): + +[$MadelineProto->channels->exportMessageLink](../methods/channels_exportMessageLink.md) + + + diff --git a/old_docs/API_docs_v62/types/FileLocation.md b/old_docs/API_docs_v62/types/FileLocation.md new file mode 100644 index 00000000..09ad6ded --- /dev/null +++ b/old_docs/API_docs_v62/types/FileLocation.md @@ -0,0 +1,21 @@ +--- +title: FileLocation +description: constructors and methods of type FileLocation +--- +## Type: FileLocation +[Back to types index](index.md) + + + +### Possible values (constructors): + +[fileLocationUnavailable](../constructors/fileLocationUnavailable.md) + +[fileLocation](../constructors/fileLocation.md) + + + +### Methods that return an object of this type (methods): + + + diff --git a/old_docs/API_docs_v62/types/FoundGif.md b/old_docs/API_docs_v62/types/FoundGif.md new file mode 100644 index 00000000..e366c303 --- /dev/null +++ b/old_docs/API_docs_v62/types/FoundGif.md @@ -0,0 +1,21 @@ +--- +title: FoundGif +description: constructors and methods of type FoundGif +--- +## Type: FoundGif +[Back to types index](index.md) + + + +### Possible values (constructors): + +[foundGif](../constructors/foundGif.md) + +[foundGifCached](../constructors/foundGifCached.md) + + + +### Methods that return an object of this type (methods): + + + diff --git a/old_docs/API_docs_v62/types/Game.md b/old_docs/API_docs_v62/types/Game.md new file mode 100644 index 00000000..80a81431 --- /dev/null +++ b/old_docs/API_docs_v62/types/Game.md @@ -0,0 +1,19 @@ +--- +title: Game +description: constructors and methods of type Game +--- +## Type: Game +[Back to types index](index.md) + + + +### Possible values (constructors): + +[game](../constructors/game.md) + + + +### Methods that return an object of this type (methods): + + + diff --git a/old_docs/API_docs_v62/types/GeoPoint.md b/old_docs/API_docs_v62/types/GeoPoint.md new file mode 100644 index 00000000..0b0b8a0b --- /dev/null +++ b/old_docs/API_docs_v62/types/GeoPoint.md @@ -0,0 +1,21 @@ +--- +title: GeoPoint +description: constructors and methods of type GeoPoint +--- +## Type: GeoPoint +[Back to types index](index.md) + + + +### Possible values (constructors): + +[geoPointEmpty](../constructors/geoPointEmpty.md) + +[geoPoint](../constructors/geoPoint.md) + + + +### Methods that return an object of this type (methods): + + + diff --git a/old_docs/API_docs_v62/types/HighScore.md b/old_docs/API_docs_v62/types/HighScore.md new file mode 100644 index 00000000..0294d239 --- /dev/null +++ b/old_docs/API_docs_v62/types/HighScore.md @@ -0,0 +1,19 @@ +--- +title: HighScore +description: constructors and methods of type HighScore +--- +## Type: HighScore +[Back to types index](index.md) + + + +### Possible values (constructors): + +[highScore](../constructors/highScore.md) + + + +### Methods that return an object of this type (methods): + + + diff --git a/old_docs/API_docs_v62/types/ImportedContact.md b/old_docs/API_docs_v62/types/ImportedContact.md new file mode 100644 index 00000000..c6aca02c --- /dev/null +++ b/old_docs/API_docs_v62/types/ImportedContact.md @@ -0,0 +1,19 @@ +--- +title: ImportedContact +description: constructors and methods of type ImportedContact +--- +## Type: ImportedContact +[Back to types index](index.md) + + + +### Possible values (constructors): + +[importedContact](../constructors/importedContact.md) + + + +### Methods that return an object of this type (methods): + + + diff --git a/old_docs/API_docs_v62/types/InlineBotSwitchPM.md b/old_docs/API_docs_v62/types/InlineBotSwitchPM.md new file mode 100644 index 00000000..f9d4c077 --- /dev/null +++ b/old_docs/API_docs_v62/types/InlineBotSwitchPM.md @@ -0,0 +1,19 @@ +--- +title: InlineBotSwitchPM +description: constructors and methods of type InlineBotSwitchPM +--- +## Type: InlineBotSwitchPM +[Back to types index](index.md) + + + +### Possible values (constructors): + +[inlineBotSwitchPM](../constructors/inlineBotSwitchPM.md) + + + +### Methods that return an object of this type (methods): + + + diff --git a/old_docs/API_docs_v62/types/InputAppEvent.md b/old_docs/API_docs_v62/types/InputAppEvent.md new file mode 100644 index 00000000..5cacbf28 --- /dev/null +++ b/old_docs/API_docs_v62/types/InputAppEvent.md @@ -0,0 +1,19 @@ +--- +title: InputAppEvent +description: constructors and methods of type InputAppEvent +--- +## Type: InputAppEvent +[Back to types index](index.md) + + + +### Possible values (constructors): + +[inputAppEvent](../constructors/inputAppEvent.md) + + + +### Methods that return an object of this type (methods): + + + diff --git a/old_docs/API_docs_v62/types/InputBotInlineMessage.md b/old_docs/API_docs_v62/types/InputBotInlineMessage.md new file mode 100644 index 00000000..c2592f16 --- /dev/null +++ b/old_docs/API_docs_v62/types/InputBotInlineMessage.md @@ -0,0 +1,29 @@ +--- +title: InputBotInlineMessage +description: constructors and methods of type InputBotInlineMessage +--- +## Type: InputBotInlineMessage +[Back to types index](index.md) + + + +### Possible values (constructors): + +[inputBotInlineMessageMediaAuto](../constructors/inputBotInlineMessageMediaAuto.md) + +[inputBotInlineMessageText](../constructors/inputBotInlineMessageText.md) + +[inputBotInlineMessageMediaGeo](../constructors/inputBotInlineMessageMediaGeo.md) + +[inputBotInlineMessageMediaVenue](../constructors/inputBotInlineMessageMediaVenue.md) + +[inputBotInlineMessageMediaContact](../constructors/inputBotInlineMessageMediaContact.md) + +[inputBotInlineMessageGame](../constructors/inputBotInlineMessageGame.md) + + + +### Methods that return an object of this type (methods): + + + diff --git a/old_docs/API_docs_v62/types/InputBotInlineMessageID.md b/old_docs/API_docs_v62/types/InputBotInlineMessageID.md new file mode 100644 index 00000000..9e5ef2e3 --- /dev/null +++ b/old_docs/API_docs_v62/types/InputBotInlineMessageID.md @@ -0,0 +1,19 @@ +--- +title: InputBotInlineMessageID +description: constructors and methods of type InputBotInlineMessageID +--- +## Type: InputBotInlineMessageID +[Back to types index](index.md) + + + +### Possible values (constructors): + +[inputBotInlineMessageID](../constructors/inputBotInlineMessageID.md) + + + +### Methods that return an object of this type (methods): + + + diff --git a/old_docs/API_docs_v62/types/InputBotInlineResult.md b/old_docs/API_docs_v62/types/InputBotInlineResult.md new file mode 100644 index 00000000..29482655 --- /dev/null +++ b/old_docs/API_docs_v62/types/InputBotInlineResult.md @@ -0,0 +1,25 @@ +--- +title: InputBotInlineResult +description: constructors and methods of type InputBotInlineResult +--- +## Type: InputBotInlineResult +[Back to types index](index.md) + + + +### Possible values (constructors): + +[inputBotInlineResult](../constructors/inputBotInlineResult.md) + +[inputBotInlineResultPhoto](../constructors/inputBotInlineResultPhoto.md) + +[inputBotInlineResultDocument](../constructors/inputBotInlineResultDocument.md) + +[inputBotInlineResultGame](../constructors/inputBotInlineResultGame.md) + + + +### Methods that return an object of this type (methods): + + + diff --git a/old_docs/API_docs_v62/types/InputChannel.md b/old_docs/API_docs_v62/types/InputChannel.md new file mode 100644 index 00000000..7c34525a --- /dev/null +++ b/old_docs/API_docs_v62/types/InputChannel.md @@ -0,0 +1,36 @@ +--- +title: InputChannel +description: constructors and methods of type InputChannel +--- +## Type: InputChannel +[Back to types index](index.md) + + + +The following syntaxes can also be used: + +``` +$InputChannel = '@username'; // Username + +$InputChannel = 44700; // bot API id (users) +$InputChannel = -492772765; // bot API id (chats) +$InputChannel = -10038575794; // bot API id (channels) + +$InputChannel = 'user#44700'; // tg-cli style id (users) +$InputChannel = 'chat#492772765'; // tg-cli style id (chats) +$InputChannel = 'channel#38575794'; // tg-cli style id (channels) +``` + + +### Possible values (constructors): + +[inputChannelEmpty](../constructors/inputChannelEmpty.md) + +[inputChannel](../constructors/inputChannel.md) + + + +### Methods that return an object of this type (methods): + + + diff --git a/old_docs/API_docs_v62/types/InputChatPhoto.md b/old_docs/API_docs_v62/types/InputChatPhoto.md new file mode 100644 index 00000000..02670513 --- /dev/null +++ b/old_docs/API_docs_v62/types/InputChatPhoto.md @@ -0,0 +1,23 @@ +--- +title: InputChatPhoto +description: constructors and methods of type InputChatPhoto +--- +## Type: InputChatPhoto +[Back to types index](index.md) + + + +### Possible values (constructors): + +[inputChatPhotoEmpty](../constructors/inputChatPhotoEmpty.md) + +[inputChatUploadedPhoto](../constructors/inputChatUploadedPhoto.md) + +[inputChatPhoto](../constructors/inputChatPhoto.md) + + + +### Methods that return an object of this type (methods): + + + diff --git a/old_docs/API_docs_v62/types/InputContact.md b/old_docs/API_docs_v62/types/InputContact.md new file mode 100644 index 00000000..d02cb4a4 --- /dev/null +++ b/old_docs/API_docs_v62/types/InputContact.md @@ -0,0 +1,19 @@ +--- +title: InputContact +description: constructors and methods of type InputContact +--- +## Type: InputContact +[Back to types index](index.md) + + + +### Possible values (constructors): + +[inputPhoneContact](../constructors/inputPhoneContact.md) + + + +### Methods that return an object of this type (methods): + + + diff --git a/old_docs/API_docs_v62/types/InputDocument.md b/old_docs/API_docs_v62/types/InputDocument.md new file mode 100644 index 00000000..ef551639 --- /dev/null +++ b/old_docs/API_docs_v62/types/InputDocument.md @@ -0,0 +1,21 @@ +--- +title: InputDocument +description: constructors and methods of type InputDocument +--- +## Type: InputDocument +[Back to types index](index.md) + + + +### Possible values (constructors): + +[inputDocumentEmpty](../constructors/inputDocumentEmpty.md) + +[inputDocument](../constructors/inputDocument.md) + + + +### Methods that return an object of this type (methods): + + + diff --git a/old_docs/API_docs_v62/types/InputEncryptedChat.md b/old_docs/API_docs_v62/types/InputEncryptedChat.md new file mode 100644 index 00000000..20d62ebf --- /dev/null +++ b/old_docs/API_docs_v62/types/InputEncryptedChat.md @@ -0,0 +1,26 @@ +--- +title: InputEncryptedChat +description: constructors and methods of type InputEncryptedChat +--- +## Type: InputEncryptedChat +[Back to types index](index.md) + + + +The following syntax can also be used: + +``` +$InputEncryptedChat = -147286699; // Numeric chat id returned by request_secret_chat, can be positive or negative +``` + + +### Possible values (constructors): + +[inputEncryptedChat](../constructors/inputEncryptedChat.md) + + + +### Methods that return an object of this type (methods): + + + diff --git a/old_docs/API_docs_v62/types/InputEncryptedFile.md b/old_docs/API_docs_v62/types/InputEncryptedFile.md new file mode 100644 index 00000000..ef69ee82 --- /dev/null +++ b/old_docs/API_docs_v62/types/InputEncryptedFile.md @@ -0,0 +1,25 @@ +--- +title: InputEncryptedFile +description: constructors and methods of type InputEncryptedFile +--- +## Type: InputEncryptedFile +[Back to types index](index.md) + + + +### Possible values (constructors): + +[inputEncryptedFileEmpty](../constructors/inputEncryptedFileEmpty.md) + +[inputEncryptedFileUploaded](../constructors/inputEncryptedFileUploaded.md) + +[inputEncryptedFile](../constructors/inputEncryptedFile.md) + +[inputEncryptedFileBigUploaded](../constructors/inputEncryptedFileBigUploaded.md) + + + +### Methods that return an object of this type (methods): + + + diff --git a/old_docs/API_docs_v62/types/InputFile.md b/old_docs/API_docs_v62/types/InputFile.md new file mode 100644 index 00000000..aa204fa9 --- /dev/null +++ b/old_docs/API_docs_v62/types/InputFile.md @@ -0,0 +1,21 @@ +--- +title: InputFile +description: constructors and methods of type InputFile +--- +## Type: InputFile +[Back to types index](index.md) + + + +### Possible values (constructors): + +[inputFile](../constructors/inputFile.md) + +[inputFileBig](../constructors/inputFileBig.md) + + + +### Methods that return an object of this type (methods): + + + diff --git a/old_docs/API_docs_v62/types/InputFileLocation.md b/old_docs/API_docs_v62/types/InputFileLocation.md new file mode 100644 index 00000000..e15184d4 --- /dev/null +++ b/old_docs/API_docs_v62/types/InputFileLocation.md @@ -0,0 +1,23 @@ +--- +title: InputFileLocation +description: constructors and methods of type InputFileLocation +--- +## Type: InputFileLocation +[Back to types index](index.md) + + + +### Possible values (constructors): + +[inputFileLocation](../constructors/inputFileLocation.md) + +[inputEncryptedFileLocation](../constructors/inputEncryptedFileLocation.md) + +[inputDocumentFileLocation](../constructors/inputDocumentFileLocation.md) + + + +### Methods that return an object of this type (methods): + + + diff --git a/old_docs/API_docs_v62/types/InputGame.md b/old_docs/API_docs_v62/types/InputGame.md new file mode 100644 index 00000000..8b48138b --- /dev/null +++ b/old_docs/API_docs_v62/types/InputGame.md @@ -0,0 +1,21 @@ +--- +title: InputGame +description: constructors and methods of type InputGame +--- +## Type: InputGame +[Back to types index](index.md) + + + +### Possible values (constructors): + +[inputGameID](../constructors/inputGameID.md) + +[inputGameShortName](../constructors/inputGameShortName.md) + + + +### Methods that return an object of this type (methods): + + + diff --git a/old_docs/API_docs_v62/types/InputGeoPoint.md b/old_docs/API_docs_v62/types/InputGeoPoint.md new file mode 100644 index 00000000..cde0c7a9 --- /dev/null +++ b/old_docs/API_docs_v62/types/InputGeoPoint.md @@ -0,0 +1,21 @@ +--- +title: InputGeoPoint +description: constructors and methods of type InputGeoPoint +--- +## Type: InputGeoPoint +[Back to types index](index.md) + + + +### Possible values (constructors): + +[inputGeoPointEmpty](../constructors/inputGeoPointEmpty.md) + +[inputGeoPoint](../constructors/inputGeoPoint.md) + + + +### Methods that return an object of this type (methods): + + + diff --git a/old_docs/API_docs_v62/types/InputMedia.md b/old_docs/API_docs_v62/types/InputMedia.md new file mode 100644 index 00000000..57d4b92a --- /dev/null +++ b/old_docs/API_docs_v62/types/InputMedia.md @@ -0,0 +1,43 @@ +--- +title: InputMedia +description: constructors and methods of type InputMedia +--- +## Type: InputMedia +[Back to types index](index.md) + + + +### Possible values (constructors): + +[inputMediaEmpty](../constructors/inputMediaEmpty.md) + +[inputMediaUploadedPhoto](../constructors/inputMediaUploadedPhoto.md) + +[inputMediaPhoto](../constructors/inputMediaPhoto.md) + +[inputMediaGeoPoint](../constructors/inputMediaGeoPoint.md) + +[inputMediaContact](../constructors/inputMediaContact.md) + +[inputMediaUploadedDocument](../constructors/inputMediaUploadedDocument.md) + +[inputMediaUploadedThumbDocument](../constructors/inputMediaUploadedThumbDocument.md) + +[inputMediaDocument](../constructors/inputMediaDocument.md) + +[inputMediaVenue](../constructors/inputMediaVenue.md) + +[inputMediaGifExternal](../constructors/inputMediaGifExternal.md) + +[inputMediaPhotoExternal](../constructors/inputMediaPhotoExternal.md) + +[inputMediaDocumentExternal](../constructors/inputMediaDocumentExternal.md) + +[inputMediaGame](../constructors/inputMediaGame.md) + + + +### Methods that return an object of this type (methods): + + + diff --git a/old_docs/API_docs_v62/types/InputNotifyPeer.md b/old_docs/API_docs_v62/types/InputNotifyPeer.md new file mode 100644 index 00000000..896c992d --- /dev/null +++ b/old_docs/API_docs_v62/types/InputNotifyPeer.md @@ -0,0 +1,25 @@ +--- +title: InputNotifyPeer +description: constructors and methods of type InputNotifyPeer +--- +## Type: InputNotifyPeer +[Back to types index](index.md) + + + +### Possible values (constructors): + +[inputNotifyPeer](../constructors/inputNotifyPeer.md) + +[inputNotifyUsers](../constructors/inputNotifyUsers.md) + +[inputNotifyChats](../constructors/inputNotifyChats.md) + +[inputNotifyAll](../constructors/inputNotifyAll.md) + + + +### Methods that return an object of this type (methods): + + + diff --git a/old_docs/API_docs_v62/types/InputPeer.md b/old_docs/API_docs_v62/types/InputPeer.md new file mode 100644 index 00000000..03e69596 --- /dev/null +++ b/old_docs/API_docs_v62/types/InputPeer.md @@ -0,0 +1,42 @@ +--- +title: InputPeer +description: constructors and methods of type InputPeer +--- +## Type: InputPeer +[Back to types index](index.md) + + + +The following syntaxes can also be used: + +``` +$InputPeer = '@username'; // Username + +$InputPeer = 44700; // bot API id (users) +$InputPeer = -492772765; // bot API id (chats) +$InputPeer = -10038575794; // bot API id (channels) + +$InputPeer = 'user#44700'; // tg-cli style id (users) +$InputPeer = 'chat#492772765'; // tg-cli style id (chats) +$InputPeer = 'channel#38575794'; // tg-cli style id (channels) +``` + + +### Possible values (constructors): + +[inputPeerEmpty](../constructors/inputPeerEmpty.md) + +[inputPeerSelf](../constructors/inputPeerSelf.md) + +[inputPeerChat](../constructors/inputPeerChat.md) + +[inputPeerUser](../constructors/inputPeerUser.md) + +[inputPeerChannel](../constructors/inputPeerChannel.md) + + + +### Methods that return an object of this type (methods): + + + diff --git a/old_docs/API_docs_v62/types/InputPeerNotifyEvents.md b/old_docs/API_docs_v62/types/InputPeerNotifyEvents.md new file mode 100644 index 00000000..7ac6803e --- /dev/null +++ b/old_docs/API_docs_v62/types/InputPeerNotifyEvents.md @@ -0,0 +1,21 @@ +--- +title: InputPeerNotifyEvents +description: constructors and methods of type InputPeerNotifyEvents +--- +## Type: InputPeerNotifyEvents +[Back to types index](index.md) + + + +### Possible values (constructors): + +[inputPeerNotifyEventsEmpty](../constructors/inputPeerNotifyEventsEmpty.md) + +[inputPeerNotifyEventsAll](../constructors/inputPeerNotifyEventsAll.md) + + + +### Methods that return an object of this type (methods): + + + diff --git a/old_docs/API_docs_v62/types/InputPeerNotifySettings.md b/old_docs/API_docs_v62/types/InputPeerNotifySettings.md new file mode 100644 index 00000000..49afc1f3 --- /dev/null +++ b/old_docs/API_docs_v62/types/InputPeerNotifySettings.md @@ -0,0 +1,19 @@ +--- +title: InputPeerNotifySettings +description: constructors and methods of type InputPeerNotifySettings +--- +## Type: InputPeerNotifySettings +[Back to types index](index.md) + + + +### Possible values (constructors): + +[inputPeerNotifySettings](../constructors/inputPeerNotifySettings.md) + + + +### Methods that return an object of this type (methods): + + + diff --git a/old_docs/API_docs_v62/types/InputPhoneCall.md b/old_docs/API_docs_v62/types/InputPhoneCall.md new file mode 100644 index 00000000..aa98debc --- /dev/null +++ b/old_docs/API_docs_v62/types/InputPhoneCall.md @@ -0,0 +1,19 @@ +--- +title: InputPhoneCall +description: constructors and methods of type InputPhoneCall +--- +## Type: InputPhoneCall +[Back to types index](index.md) + + + +### Possible values (constructors): + +[inputPhoneCall](../constructors/inputPhoneCall.md) + + + +### Methods that return an object of this type (methods): + + + diff --git a/old_docs/API_docs_v62/types/InputPhoto.md b/old_docs/API_docs_v62/types/InputPhoto.md new file mode 100644 index 00000000..fa563d57 --- /dev/null +++ b/old_docs/API_docs_v62/types/InputPhoto.md @@ -0,0 +1,21 @@ +--- +title: InputPhoto +description: constructors and methods of type InputPhoto +--- +## Type: InputPhoto +[Back to types index](index.md) + + + +### Possible values (constructors): + +[inputPhotoEmpty](../constructors/inputPhotoEmpty.md) + +[inputPhoto](../constructors/inputPhoto.md) + + + +### Methods that return an object of this type (methods): + + + diff --git a/old_docs/API_docs_v62/types/InputPrivacyKey.md b/old_docs/API_docs_v62/types/InputPrivacyKey.md new file mode 100644 index 00000000..f4b3d31c --- /dev/null +++ b/old_docs/API_docs_v62/types/InputPrivacyKey.md @@ -0,0 +1,23 @@ +--- +title: InputPrivacyKey +description: constructors and methods of type InputPrivacyKey +--- +## Type: InputPrivacyKey +[Back to types index](index.md) + + + +### Possible values (constructors): + +[inputPrivacyKeyStatusTimestamp](../constructors/inputPrivacyKeyStatusTimestamp.md) + +[inputPrivacyKeyChatInvite](../constructors/inputPrivacyKeyChatInvite.md) + +[inputPrivacyKeyPhoneCall](../constructors/inputPrivacyKeyPhoneCall.md) + + + +### Methods that return an object of this type (methods): + + + diff --git a/old_docs/API_docs_v62/types/InputPrivacyRule.md b/old_docs/API_docs_v62/types/InputPrivacyRule.md new file mode 100644 index 00000000..55869dea --- /dev/null +++ b/old_docs/API_docs_v62/types/InputPrivacyRule.md @@ -0,0 +1,29 @@ +--- +title: InputPrivacyRule +description: constructors and methods of type InputPrivacyRule +--- +## Type: InputPrivacyRule +[Back to types index](index.md) + + + +### Possible values (constructors): + +[inputPrivacyValueAllowContacts](../constructors/inputPrivacyValueAllowContacts.md) + +[inputPrivacyValueAllowAll](../constructors/inputPrivacyValueAllowAll.md) + +[inputPrivacyValueAllowUsers](../constructors/inputPrivacyValueAllowUsers.md) + +[inputPrivacyValueDisallowContacts](../constructors/inputPrivacyValueDisallowContacts.md) + +[inputPrivacyValueDisallowAll](../constructors/inputPrivacyValueDisallowAll.md) + +[inputPrivacyValueDisallowUsers](../constructors/inputPrivacyValueDisallowUsers.md) + + + +### Methods that return an object of this type (methods): + + + diff --git a/old_docs/API_docs_v62/types/InputStickerSet.md b/old_docs/API_docs_v62/types/InputStickerSet.md new file mode 100644 index 00000000..bc9abeca --- /dev/null +++ b/old_docs/API_docs_v62/types/InputStickerSet.md @@ -0,0 +1,23 @@ +--- +title: InputStickerSet +description: constructors and methods of type InputStickerSet +--- +## Type: InputStickerSet +[Back to types index](index.md) + + + +### Possible values (constructors): + +[inputStickerSetEmpty](../constructors/inputStickerSetEmpty.md) + +[inputStickerSetID](../constructors/inputStickerSetID.md) + +[inputStickerSetShortName](../constructors/inputStickerSetShortName.md) + + + +### Methods that return an object of this type (methods): + + + diff --git a/old_docs/API_docs_v62/types/InputStickeredMedia.md b/old_docs/API_docs_v62/types/InputStickeredMedia.md new file mode 100644 index 00000000..984e7318 --- /dev/null +++ b/old_docs/API_docs_v62/types/InputStickeredMedia.md @@ -0,0 +1,21 @@ +--- +title: InputStickeredMedia +description: constructors and methods of type InputStickeredMedia +--- +## Type: InputStickeredMedia +[Back to types index](index.md) + + + +### Possible values (constructors): + +[inputStickeredMediaPhoto](../constructors/inputStickeredMediaPhoto.md) + +[inputStickeredMediaDocument](../constructors/inputStickeredMediaDocument.md) + + + +### Methods that return an object of this type (methods): + + + diff --git a/old_docs/API_docs_v62/types/InputUser.md b/old_docs/API_docs_v62/types/InputUser.md new file mode 100644 index 00000000..d8830b5c --- /dev/null +++ b/old_docs/API_docs_v62/types/InputUser.md @@ -0,0 +1,38 @@ +--- +title: InputUser +description: constructors and methods of type InputUser +--- +## Type: InputUser +[Back to types index](index.md) + + + +The following syntaxes can also be used: + +``` +$InputUser = '@username'; // Username + +$InputUser = 44700; // bot API id (users) +$InputUser = -492772765; // bot API id (chats) +$InputUser = -10038575794; // bot API id (channels) + +$InputUser = 'user#44700'; // tg-cli style id (users) +$InputUser = 'chat#492772765'; // tg-cli style id (chats) +$InputUser = 'channel#38575794'; // tg-cli style id (channels) +``` + + +### Possible values (constructors): + +[inputUserEmpty](../constructors/inputUserEmpty.md) + +[inputUserSelf](../constructors/inputUserSelf.md) + +[inputUser](../constructors/inputUser.md) + + + +### Methods that return an object of this type (methods): + + + diff --git a/old_docs/API_docs_v62/types/KeyboardButton.md b/old_docs/API_docs_v62/types/KeyboardButton.md new file mode 100644 index 00000000..9826a9b3 --- /dev/null +++ b/old_docs/API_docs_v62/types/KeyboardButton.md @@ -0,0 +1,31 @@ +--- +title: KeyboardButton +description: constructors and methods of type KeyboardButton +--- +## Type: KeyboardButton +[Back to types index](index.md) + + + +### Possible values (constructors): + +[keyboardButton](../constructors/keyboardButton.md) + +[keyboardButtonUrl](../constructors/keyboardButtonUrl.md) + +[keyboardButtonCallback](../constructors/keyboardButtonCallback.md) + +[keyboardButtonRequestPhone](../constructors/keyboardButtonRequestPhone.md) + +[keyboardButtonRequestGeoLocation](../constructors/keyboardButtonRequestGeoLocation.md) + +[keyboardButtonSwitchInline](../constructors/keyboardButtonSwitchInline.md) + +[keyboardButtonGame](../constructors/keyboardButtonGame.md) + + + +### Methods that return an object of this type (methods): + + + diff --git a/old_docs/API_docs_v62/types/KeyboardButtonRow.md b/old_docs/API_docs_v62/types/KeyboardButtonRow.md new file mode 100644 index 00000000..ab050e25 --- /dev/null +++ b/old_docs/API_docs_v62/types/KeyboardButtonRow.md @@ -0,0 +1,19 @@ +--- +title: KeyboardButtonRow +description: constructors and methods of type KeyboardButtonRow +--- +## Type: KeyboardButtonRow +[Back to types index](index.md) + + + +### Possible values (constructors): + +[keyboardButtonRow](../constructors/keyboardButtonRow.md) + + + +### Methods that return an object of this type (methods): + + + diff --git a/old_docs/API_docs_v62/types/MaskCoords.md b/old_docs/API_docs_v62/types/MaskCoords.md new file mode 100644 index 00000000..026fa2cc --- /dev/null +++ b/old_docs/API_docs_v62/types/MaskCoords.md @@ -0,0 +1,19 @@ +--- +title: MaskCoords +description: constructors and methods of type MaskCoords +--- +## Type: MaskCoords +[Back to types index](index.md) + + + +### Possible values (constructors): + +[maskCoords](../constructors/maskCoords.md) + + + +### Methods that return an object of this type (methods): + + + diff --git a/old_docs/API_docs_v62/types/Message.md b/old_docs/API_docs_v62/types/Message.md new file mode 100644 index 00000000..ab006ce0 --- /dev/null +++ b/old_docs/API_docs_v62/types/Message.md @@ -0,0 +1,23 @@ +--- +title: Message +description: constructors and methods of type Message +--- +## Type: Message +[Back to types index](index.md) + + + +### Possible values (constructors): + +[messageEmpty](../constructors/messageEmpty.md) + +[message](../constructors/message.md) + +[messageService](../constructors/messageService.md) + + + +### Methods that return an object of this type (methods): + + + diff --git a/old_docs/API_docs_v62/types/MessageAction.md b/old_docs/API_docs_v62/types/MessageAction.md new file mode 100644 index 00000000..3af027d1 --- /dev/null +++ b/old_docs/API_docs_v62/types/MessageAction.md @@ -0,0 +1,47 @@ +--- +title: MessageAction +description: constructors and methods of type MessageAction +--- +## Type: MessageAction +[Back to types index](index.md) + + + +### Possible values (constructors): + +[messageActionEmpty](../constructors/messageActionEmpty.md) + +[messageActionChatCreate](../constructors/messageActionChatCreate.md) + +[messageActionChatEditTitle](../constructors/messageActionChatEditTitle.md) + +[messageActionChatEditPhoto](../constructors/messageActionChatEditPhoto.md) + +[messageActionChatDeletePhoto](../constructors/messageActionChatDeletePhoto.md) + +[messageActionChatAddUser](../constructors/messageActionChatAddUser.md) + +[messageActionChatDeleteUser](../constructors/messageActionChatDeleteUser.md) + +[messageActionChatJoinedByLink](../constructors/messageActionChatJoinedByLink.md) + +[messageActionChannelCreate](../constructors/messageActionChannelCreate.md) + +[messageActionChatMigrateTo](../constructors/messageActionChatMigrateTo.md) + +[messageActionChannelMigrateFrom](../constructors/messageActionChannelMigrateFrom.md) + +[messageActionPinMessage](../constructors/messageActionPinMessage.md) + +[messageActionHistoryClear](../constructors/messageActionHistoryClear.md) + +[messageActionGameScore](../constructors/messageActionGameScore.md) + +[messageActionPhoneCall](../constructors/messageActionPhoneCall.md) + + + +### Methods that return an object of this type (methods): + + + diff --git a/old_docs/API_docs_v62/types/MessageEntity.md b/old_docs/API_docs_v62/types/MessageEntity.md new file mode 100644 index 00000000..22f1a0b4 --- /dev/null +++ b/old_docs/API_docs_v62/types/MessageEntity.md @@ -0,0 +1,43 @@ +--- +title: MessageEntity +description: constructors and methods of type MessageEntity +--- +## Type: MessageEntity +[Back to types index](index.md) + + + +### Possible values (constructors): + +[messageEntityUnknown](../constructors/messageEntityUnknown.md) + +[messageEntityMention](../constructors/messageEntityMention.md) + +[messageEntityHashtag](../constructors/messageEntityHashtag.md) + +[messageEntityBotCommand](../constructors/messageEntityBotCommand.md) + +[messageEntityUrl](../constructors/messageEntityUrl.md) + +[messageEntityEmail](../constructors/messageEntityEmail.md) + +[messageEntityBold](../constructors/messageEntityBold.md) + +[messageEntityItalic](../constructors/messageEntityItalic.md) + +[messageEntityCode](../constructors/messageEntityCode.md) + +[messageEntityPre](../constructors/messageEntityPre.md) + +[messageEntityTextUrl](../constructors/messageEntityTextUrl.md) + +[messageEntityMentionName](../constructors/messageEntityMentionName.md) + +[inputMessageEntityMentionName](../constructors/inputMessageEntityMentionName.md) + + + +### Methods that return an object of this type (methods): + + + diff --git a/old_docs/API_docs_v62/types/MessageFwdHeader.md b/old_docs/API_docs_v62/types/MessageFwdHeader.md new file mode 100644 index 00000000..df742e47 --- /dev/null +++ b/old_docs/API_docs_v62/types/MessageFwdHeader.md @@ -0,0 +1,19 @@ +--- +title: MessageFwdHeader +description: constructors and methods of type MessageFwdHeader +--- +## Type: MessageFwdHeader +[Back to types index](index.md) + + + +### Possible values (constructors): + +[messageFwdHeader](../constructors/messageFwdHeader.md) + + + +### Methods that return an object of this type (methods): + + + diff --git a/old_docs/API_docs_v62/types/MessageMedia.md b/old_docs/API_docs_v62/types/MessageMedia.md new file mode 100644 index 00000000..2f5d294b --- /dev/null +++ b/old_docs/API_docs_v62/types/MessageMedia.md @@ -0,0 +1,37 @@ +--- +title: MessageMedia +description: constructors and methods of type MessageMedia +--- +## Type: MessageMedia +[Back to types index](index.md) + + + +### Possible values (constructors): + +[messageMediaEmpty](../constructors/messageMediaEmpty.md) + +[messageMediaPhoto](../constructors/messageMediaPhoto.md) + +[messageMediaGeo](../constructors/messageMediaGeo.md) + +[messageMediaContact](../constructors/messageMediaContact.md) + +[messageMediaUnsupported](../constructors/messageMediaUnsupported.md) + +[messageMediaDocument](../constructors/messageMediaDocument.md) + +[messageMediaWebPage](../constructors/messageMediaWebPage.md) + +[messageMediaVenue](../constructors/messageMediaVenue.md) + +[messageMediaGame](../constructors/messageMediaGame.md) + + + +### Methods that return an object of this type (methods): + +[$MadelineProto->messages->getWebPagePreview](../methods/messages_getWebPagePreview.md) + + + diff --git a/old_docs/API_docs_v62/types/MessageRange.md b/old_docs/API_docs_v62/types/MessageRange.md new file mode 100644 index 00000000..e2226ae8 --- /dev/null +++ b/old_docs/API_docs_v62/types/MessageRange.md @@ -0,0 +1,19 @@ +--- +title: MessageRange +description: constructors and methods of type MessageRange +--- +## Type: MessageRange +[Back to types index](index.md) + + + +### Possible values (constructors): + +[messageRange](../constructors/messageRange.md) + + + +### Methods that return an object of this type (methods): + + + diff --git a/old_docs/API_docs_v62/types/MessagesFilter.md b/old_docs/API_docs_v62/types/MessagesFilter.md new file mode 100644 index 00000000..42118a7b --- /dev/null +++ b/old_docs/API_docs_v62/types/MessagesFilter.md @@ -0,0 +1,41 @@ +--- +title: MessagesFilter +description: constructors and methods of type MessagesFilter +--- +## Type: MessagesFilter +[Back to types index](index.md) + + + +### Possible values (constructors): + +[inputMessagesFilterEmpty](../constructors/inputMessagesFilterEmpty.md) + +[inputMessagesFilterPhotos](../constructors/inputMessagesFilterPhotos.md) + +[inputMessagesFilterVideo](../constructors/inputMessagesFilterVideo.md) + +[inputMessagesFilterPhotoVideo](../constructors/inputMessagesFilterPhotoVideo.md) + +[inputMessagesFilterPhotoVideoDocuments](../constructors/inputMessagesFilterPhotoVideoDocuments.md) + +[inputMessagesFilterDocument](../constructors/inputMessagesFilterDocument.md) + +[inputMessagesFilterUrl](../constructors/inputMessagesFilterUrl.md) + +[inputMessagesFilterGif](../constructors/inputMessagesFilterGif.md) + +[inputMessagesFilterVoice](../constructors/inputMessagesFilterVoice.md) + +[inputMessagesFilterMusic](../constructors/inputMessagesFilterMusic.md) + +[inputMessagesFilterChatPhotos](../constructors/inputMessagesFilterChatPhotos.md) + +[inputMessagesFilterPhoneCalls](../constructors/inputMessagesFilterPhoneCalls.md) + + + +### Methods that return an object of this type (methods): + + + diff --git a/old_docs/API_docs_v62/types/NearestDc.md b/old_docs/API_docs_v62/types/NearestDc.md new file mode 100644 index 00000000..5068710d --- /dev/null +++ b/old_docs/API_docs_v62/types/NearestDc.md @@ -0,0 +1,21 @@ +--- +title: NearestDc +description: constructors and methods of type NearestDc +--- +## Type: NearestDc +[Back to types index](index.md) + + + +### Possible values (constructors): + +[nearestDc](../constructors/nearestDc.md) + + + +### Methods that return an object of this type (methods): + +[$MadelineProto->help->getNearestDc](../methods/help_getNearestDc.md) + + + diff --git a/old_docs/API_docs_v62/types/NotifyPeer.md b/old_docs/API_docs_v62/types/NotifyPeer.md new file mode 100644 index 00000000..c9a5b684 --- /dev/null +++ b/old_docs/API_docs_v62/types/NotifyPeer.md @@ -0,0 +1,25 @@ +--- +title: NotifyPeer +description: constructors and methods of type NotifyPeer +--- +## Type: NotifyPeer +[Back to types index](index.md) + + + +### Possible values (constructors): + +[notifyPeer](../constructors/notifyPeer.md) + +[notifyUsers](../constructors/notifyUsers.md) + +[notifyChats](../constructors/notifyChats.md) + +[notifyAll](../constructors/notifyAll.md) + + + +### Methods that return an object of this type (methods): + + + diff --git a/old_docs/API_docs_v62/types/Null.md b/old_docs/API_docs_v62/types/Null.md new file mode 100644 index 00000000..64470311 --- /dev/null +++ b/old_docs/API_docs_v62/types/Null.md @@ -0,0 +1,19 @@ +--- +title: Null +description: constructors and methods of type Null +--- +## Type: Null +[Back to types index](index.md) + + + +### Possible values (constructors): + +[null](../constructors/null.md) + + + +### Methods that return an object of this type (methods): + + + diff --git a/old_docs/API_docs_v62/types/Page.md b/old_docs/API_docs_v62/types/Page.md new file mode 100644 index 00000000..0db9c279 --- /dev/null +++ b/old_docs/API_docs_v62/types/Page.md @@ -0,0 +1,21 @@ +--- +title: Page +description: constructors and methods of type Page +--- +## Type: Page +[Back to types index](index.md) + + + +### Possible values (constructors): + +[pagePart](../constructors/pagePart.md) + +[pageFull](../constructors/pageFull.md) + + + +### Methods that return an object of this type (methods): + + + diff --git a/old_docs/API_docs_v62/types/PageBlock.md b/old_docs/API_docs_v62/types/PageBlock.md new file mode 100644 index 00000000..c71dd5f1 --- /dev/null +++ b/old_docs/API_docs_v62/types/PageBlock.md @@ -0,0 +1,59 @@ +--- +title: PageBlock +description: constructors and methods of type PageBlock +--- +## Type: PageBlock +[Back to types index](index.md) + + + +### Possible values (constructors): + +[pageBlockUnsupported](../constructors/pageBlockUnsupported.md) + +[pageBlockTitle](../constructors/pageBlockTitle.md) + +[pageBlockSubtitle](../constructors/pageBlockSubtitle.md) + +[pageBlockAuthorDate](../constructors/pageBlockAuthorDate.md) + +[pageBlockHeader](../constructors/pageBlockHeader.md) + +[pageBlockSubheader](../constructors/pageBlockSubheader.md) + +[pageBlockParagraph](../constructors/pageBlockParagraph.md) + +[pageBlockPreformatted](../constructors/pageBlockPreformatted.md) + +[pageBlockFooter](../constructors/pageBlockFooter.md) + +[pageBlockDivider](../constructors/pageBlockDivider.md) + +[pageBlockAnchor](../constructors/pageBlockAnchor.md) + +[pageBlockList](../constructors/pageBlockList.md) + +[pageBlockBlockquote](../constructors/pageBlockBlockquote.md) + +[pageBlockPullquote](../constructors/pageBlockPullquote.md) + +[pageBlockPhoto](../constructors/pageBlockPhoto.md) + +[pageBlockVideo](../constructors/pageBlockVideo.md) + +[pageBlockCover](../constructors/pageBlockCover.md) + +[pageBlockEmbed](../constructors/pageBlockEmbed.md) + +[pageBlockEmbedPost](../constructors/pageBlockEmbedPost.md) + +[pageBlockCollage](../constructors/pageBlockCollage.md) + +[pageBlockSlideshow](../constructors/pageBlockSlideshow.md) + + + +### Methods that return an object of this type (methods): + + + diff --git a/old_docs/API_docs_v62/types/Peer.md b/old_docs/API_docs_v62/types/Peer.md new file mode 100644 index 00000000..f4ffb2b2 --- /dev/null +++ b/old_docs/API_docs_v62/types/Peer.md @@ -0,0 +1,38 @@ +--- +title: Peer +description: constructors and methods of type Peer +--- +## Type: Peer +[Back to types index](index.md) + + + +The following syntaxes can also be used: + +``` +$Peer = '@username'; // Username + +$Peer = 44700; // bot API id (users) +$Peer = -492772765; // bot API id (chats) +$Peer = -10038575794; // bot API id (channels) + +$Peer = 'user#44700'; // tg-cli style id (users) +$Peer = 'chat#492772765'; // tg-cli style id (chats) +$Peer = 'channel#38575794'; // tg-cli style id (channels) +``` + + +### Possible values (constructors): + +[peerUser](../constructors/peerUser.md) + +[peerChat](../constructors/peerChat.md) + +[peerChannel](../constructors/peerChannel.md) + + + +### Methods that return an object of this type (methods): + + + diff --git a/old_docs/API_docs_v62/types/PeerNotifyEvents.md b/old_docs/API_docs_v62/types/PeerNotifyEvents.md new file mode 100644 index 00000000..4c70898a --- /dev/null +++ b/old_docs/API_docs_v62/types/PeerNotifyEvents.md @@ -0,0 +1,21 @@ +--- +title: PeerNotifyEvents +description: constructors and methods of type PeerNotifyEvents +--- +## Type: PeerNotifyEvents +[Back to types index](index.md) + + + +### Possible values (constructors): + +[peerNotifyEventsEmpty](../constructors/peerNotifyEventsEmpty.md) + +[peerNotifyEventsAll](../constructors/peerNotifyEventsAll.md) + + + +### Methods that return an object of this type (methods): + + + diff --git a/old_docs/API_docs_v62/types/PeerNotifySettings.md b/old_docs/API_docs_v62/types/PeerNotifySettings.md new file mode 100644 index 00000000..65db3e5b --- /dev/null +++ b/old_docs/API_docs_v62/types/PeerNotifySettings.md @@ -0,0 +1,23 @@ +--- +title: PeerNotifySettings +description: constructors and methods of type PeerNotifySettings +--- +## Type: PeerNotifySettings +[Back to types index](index.md) + + + +### Possible values (constructors): + +[peerNotifySettingsEmpty](../constructors/peerNotifySettingsEmpty.md) + +[peerNotifySettings](../constructors/peerNotifySettings.md) + + + +### Methods that return an object of this type (methods): + +[$MadelineProto->account->getNotifySettings](../methods/account_getNotifySettings.md) + + + diff --git a/old_docs/API_docs_v62/types/PeerSettings.md b/old_docs/API_docs_v62/types/PeerSettings.md new file mode 100644 index 00000000..b08909e8 --- /dev/null +++ b/old_docs/API_docs_v62/types/PeerSettings.md @@ -0,0 +1,21 @@ +--- +title: PeerSettings +description: constructors and methods of type PeerSettings +--- +## Type: PeerSettings +[Back to types index](index.md) + + + +### Possible values (constructors): + +[peerSettings](../constructors/peerSettings.md) + + + +### Methods that return an object of this type (methods): + +[$MadelineProto->messages->getPeerSettings](../methods/messages_getPeerSettings.md) + + + diff --git a/old_docs/API_docs_v62/types/PhoneCall.md b/old_docs/API_docs_v62/types/PhoneCall.md new file mode 100644 index 00000000..0f4b7546 --- /dev/null +++ b/old_docs/API_docs_v62/types/PhoneCall.md @@ -0,0 +1,27 @@ +--- +title: PhoneCall +description: constructors and methods of type PhoneCall +--- +## Type: PhoneCall +[Back to types index](index.md) + + + +### Possible values (constructors): + +[phoneCallEmpty](../constructors/phoneCallEmpty.md) + +[phoneCallWaiting](../constructors/phoneCallWaiting.md) + +[phoneCallRequested](../constructors/phoneCallRequested.md) + +[phoneCall](../constructors/phoneCall.md) + +[phoneCallDiscarded](../constructors/phoneCallDiscarded.md) + + + +### Methods that return an object of this type (methods): + + + diff --git a/old_docs/API_docs_v62/types/PhoneCallDiscardReason.md b/old_docs/API_docs_v62/types/PhoneCallDiscardReason.md new file mode 100644 index 00000000..0565e99a --- /dev/null +++ b/old_docs/API_docs_v62/types/PhoneCallDiscardReason.md @@ -0,0 +1,25 @@ +--- +title: PhoneCallDiscardReason +description: constructors and methods of type PhoneCallDiscardReason +--- +## Type: PhoneCallDiscardReason +[Back to types index](index.md) + + + +### Possible values (constructors): + +[phoneCallDiscardReasonMissed](../constructors/phoneCallDiscardReasonMissed.md) + +[phoneCallDiscardReasonDisconnect](../constructors/phoneCallDiscardReasonDisconnect.md) + +[phoneCallDiscardReasonHangup](../constructors/phoneCallDiscardReasonHangup.md) + +[phoneCallDiscardReasonBusy](../constructors/phoneCallDiscardReasonBusy.md) + + + +### Methods that return an object of this type (methods): + + + diff --git a/old_docs/API_docs_v62/types/PhoneCallProtocol.md b/old_docs/API_docs_v62/types/PhoneCallProtocol.md new file mode 100644 index 00000000..fb349ffe --- /dev/null +++ b/old_docs/API_docs_v62/types/PhoneCallProtocol.md @@ -0,0 +1,19 @@ +--- +title: PhoneCallProtocol +description: constructors and methods of type PhoneCallProtocol +--- +## Type: PhoneCallProtocol +[Back to types index](index.md) + + + +### Possible values (constructors): + +[phoneCallProtocol](../constructors/phoneCallProtocol.md) + + + +### Methods that return an object of this type (methods): + + + diff --git a/old_docs/API_docs_v62/types/PhoneConnection.md b/old_docs/API_docs_v62/types/PhoneConnection.md new file mode 100644 index 00000000..f1a1171e --- /dev/null +++ b/old_docs/API_docs_v62/types/PhoneConnection.md @@ -0,0 +1,19 @@ +--- +title: PhoneConnection +description: constructors and methods of type PhoneConnection +--- +## Type: PhoneConnection +[Back to types index](index.md) + + + +### Possible values (constructors): + +[phoneConnection](../constructors/phoneConnection.md) + + + +### Methods that return an object of this type (methods): + + + diff --git a/old_docs/API_docs_v62/types/Photo.md b/old_docs/API_docs_v62/types/Photo.md new file mode 100644 index 00000000..40ee0717 --- /dev/null +++ b/old_docs/API_docs_v62/types/Photo.md @@ -0,0 +1,21 @@ +--- +title: Photo +description: constructors and methods of type Photo +--- +## Type: Photo +[Back to types index](index.md) + + + +### Possible values (constructors): + +[photoEmpty](../constructors/photoEmpty.md) + +[photo](../constructors/photo.md) + + + +### Methods that return an object of this type (methods): + + + diff --git a/old_docs/API_docs_v62/types/PhotoSize.md b/old_docs/API_docs_v62/types/PhotoSize.md new file mode 100644 index 00000000..c62ec0ae --- /dev/null +++ b/old_docs/API_docs_v62/types/PhotoSize.md @@ -0,0 +1,23 @@ +--- +title: PhotoSize +description: constructors and methods of type PhotoSize +--- +## Type: PhotoSize +[Back to types index](index.md) + + + +### Possible values (constructors): + +[photoSizeEmpty](../constructors/photoSizeEmpty.md) + +[photoSize](../constructors/photoSize.md) + +[photoCachedSize](../constructors/photoCachedSize.md) + + + +### Methods that return an object of this type (methods): + + + diff --git a/old_docs/API_docs_v62/types/PrivacyKey.md b/old_docs/API_docs_v62/types/PrivacyKey.md new file mode 100644 index 00000000..0fd7a53f --- /dev/null +++ b/old_docs/API_docs_v62/types/PrivacyKey.md @@ -0,0 +1,23 @@ +--- +title: PrivacyKey +description: constructors and methods of type PrivacyKey +--- +## Type: PrivacyKey +[Back to types index](index.md) + + + +### Possible values (constructors): + +[privacyKeyStatusTimestamp](../constructors/privacyKeyStatusTimestamp.md) + +[privacyKeyChatInvite](../constructors/privacyKeyChatInvite.md) + +[privacyKeyPhoneCall](../constructors/privacyKeyPhoneCall.md) + + + +### Methods that return an object of this type (methods): + + + diff --git a/old_docs/API_docs_v62/types/PrivacyRule.md b/old_docs/API_docs_v62/types/PrivacyRule.md new file mode 100644 index 00000000..39554bf1 --- /dev/null +++ b/old_docs/API_docs_v62/types/PrivacyRule.md @@ -0,0 +1,29 @@ +--- +title: PrivacyRule +description: constructors and methods of type PrivacyRule +--- +## Type: PrivacyRule +[Back to types index](index.md) + + + +### Possible values (constructors): + +[privacyValueAllowContacts](../constructors/privacyValueAllowContacts.md) + +[privacyValueAllowAll](../constructors/privacyValueAllowAll.md) + +[privacyValueAllowUsers](../constructors/privacyValueAllowUsers.md) + +[privacyValueDisallowContacts](../constructors/privacyValueDisallowContacts.md) + +[privacyValueDisallowAll](../constructors/privacyValueDisallowAll.md) + +[privacyValueDisallowUsers](../constructors/privacyValueDisallowUsers.md) + + + +### Methods that return an object of this type (methods): + + + diff --git a/old_docs/API_docs_v62/types/README.md b/old_docs/API_docs_v62/types/README.md new file mode 100644 index 00000000..0e7317c3 --- /dev/null +++ b/old_docs/API_docs_v62/types/README.md @@ -0,0 +1,366 @@ +--- +title: Types +description: List of types +--- +# Types +[Back to API documentation index](..) + + +[AccountDaysTTL](AccountDaysTTL.md) + +[Authorization](Authorization.md) + +[Bool](Bool.md) + +[BotCommand](BotCommand.md) + +[BotInfo](BotInfo.md) + +[BotInlineMessage](BotInlineMessage.md) + +[BotInlineResult](BotInlineResult.md) + +[ChannelMessagesFilter](ChannelMessagesFilter.md) + +[ChannelParticipant](ChannelParticipant.md) + +[ChannelParticipantRole](ChannelParticipantRole.md) + +[ChannelParticipantsFilter](ChannelParticipantsFilter.md) + +[Chat](Chat.md) + +[ChatFull](ChatFull.md) + +[ChatInvite](ChatInvite.md) + +[ChatParticipant](ChatParticipant.md) + +[ChatParticipants](ChatParticipants.md) + +[ChatPhoto](ChatPhoto.md) + +[Config](Config.md) + +[Contact](Contact.md) + +[ContactBlocked](ContactBlocked.md) + +[ContactLink](ContactLink.md) + +[ContactStatus](ContactStatus.md) + +[DcOption](DcOption.md) + +[DestroyAuthKeyRes](DestroyAuthKeyRes.md) + +[Dialog](Dialog.md) + +[DisabledFeature](DisabledFeature.md) + +[Document](Document.md) + +[DocumentAttribute](DocumentAttribute.md) + +[DraftMessage](DraftMessage.md) + +[EncryptedChat](EncryptedChat.md) + +[EncryptedFile](EncryptedFile.md) + +[EncryptedMessage](EncryptedMessage.md) + +[Error](Error.md) + +[ExportedChatInvite](ExportedChatInvite.md) + +[ExportedMessageLink](ExportedMessageLink.md) + +[FileLocation](FileLocation.md) + +[FoundGif](FoundGif.md) + +[Game](Game.md) + +[GeoPoint](GeoPoint.md) + +[HighScore](HighScore.md) + +[ImportedContact](ImportedContact.md) + +[InlineBotSwitchPM](InlineBotSwitchPM.md) + +[InputAppEvent](InputAppEvent.md) + +[InputBotInlineMessage](InputBotInlineMessage.md) + +[InputBotInlineMessageID](InputBotInlineMessageID.md) + +[InputBotInlineResult](InputBotInlineResult.md) + +[InputChannel](InputChannel.md) + +[InputChatPhoto](InputChatPhoto.md) + +[InputContact](InputContact.md) + +[InputDocument](InputDocument.md) + +[InputEncryptedChat](InputEncryptedChat.md) + +[InputEncryptedFile](InputEncryptedFile.md) + +[InputFile](InputFile.md) + +[InputFileLocation](InputFileLocation.md) + +[InputGame](InputGame.md) + +[InputGeoPoint](InputGeoPoint.md) + +[InputMedia](InputMedia.md) + +[InputNotifyPeer](InputNotifyPeer.md) + +[InputPeer](InputPeer.md) + +[InputPeerNotifyEvents](InputPeerNotifyEvents.md) + +[InputPeerNotifySettings](InputPeerNotifySettings.md) + +[InputPhoneCall](InputPhoneCall.md) + +[InputPhoto](InputPhoto.md) + +[InputPrivacyKey](InputPrivacyKey.md) + +[InputPrivacyRule](InputPrivacyRule.md) + +[InputStickerSet](InputStickerSet.md) + +[InputStickeredMedia](InputStickeredMedia.md) + +[InputUser](InputUser.md) + +[KeyboardButton](KeyboardButton.md) + +[KeyboardButtonRow](KeyboardButtonRow.md) + +[MaskCoords](MaskCoords.md) + +[Message](Message.md) + +[MessageAction](MessageAction.md) + +[MessageEntity](MessageEntity.md) + +[MessageFwdHeader](MessageFwdHeader.md) + +[MessageMedia](MessageMedia.md) + +[MessageRange](MessageRange.md) + +[MessagesFilter](MessagesFilter.md) + +[NearestDc](NearestDc.md) + +[NotifyPeer](NotifyPeer.md) + +[Null](Null.md) + +[Page](Page.md) + +[PageBlock](PageBlock.md) + +[Peer](Peer.md) + +[PeerNotifyEvents](PeerNotifyEvents.md) + +[PeerNotifySettings](PeerNotifySettings.md) + +[PeerSettings](PeerSettings.md) + +[PhoneCall](PhoneCall.md) + +[PhoneCallDiscardReason](PhoneCallDiscardReason.md) + +[PhoneCallProtocol](PhoneCallProtocol.md) + +[PhoneConnection](PhoneConnection.md) + +[Photo](Photo.md) + +[PhotoSize](PhotoSize.md) + +[PrivacyKey](PrivacyKey.md) + +[PrivacyRule](PrivacyRule.md) + +[ReceivedNotifyMessage](ReceivedNotifyMessage.md) + +[ReplyMarkup](ReplyMarkup.md) + +[ReportReason](ReportReason.md) + +[RichText](RichText.md) + +[SendMessageAction](SendMessageAction.md) + +[StickerPack](StickerPack.md) + +[StickerSet](StickerSet.md) + +[StickerSetCovered](StickerSetCovered.md) + +[TopPeer](TopPeer.md) + +[TopPeerCategory](TopPeerCategory.md) + +[TopPeerCategoryPeers](TopPeerCategoryPeers.md) + +[True](True.md) + +[Update](Update.md) + +[Updates](Updates.md) + +[User](User.md) + +[UserFull](UserFull.md) + +[UserProfilePhoto](UserProfilePhoto.md) + +[UserStatus](UserStatus.md) + +[ContactStatus](ContactStatus.md) + +[ReceivedNotifyMessage](ReceivedNotifyMessage.md) + +[StickerSetCovered](StickerSetCovered.md) + +[User](User.md) + +[WallPaper](WallPaper.md) + +[int](int.md) + +[long](long.md) + +[WallPaper](WallPaper.md) + +[WebPage](WebPage.md) + +[X](X.md) + +[account\_Authorizations](account_Authorizations.md) + +[account\_Password](account_Password.md) + +[account\_PasswordInputSettings](account_PasswordInputSettings.md) + +[account\_PasswordSettings](account_PasswordSettings.md) + +[account\_PrivacyRules](account_PrivacyRules.md) + +[auth\_Authorization](auth_Authorization.md) + +[auth\_CheckedPhone](auth_CheckedPhone.md) + +[auth\_CodeType](auth_CodeType.md) + +[auth\_ExportedAuthorization](auth_ExportedAuthorization.md) + +[auth\_PasswordRecovery](auth_PasswordRecovery.md) + +[auth\_SentCode](auth_SentCode.md) + +[auth\_SentCodeType](auth_SentCodeType.md) + +[channels\_ChannelParticipant](channels_ChannelParticipant.md) + +[channels\_ChannelParticipants](channels_ChannelParticipants.md) + +[contacts\_Blocked](contacts_Blocked.md) + +[contacts\_Contacts](contacts_Contacts.md) + +[contacts\_Found](contacts_Found.md) + +[contacts\_ImportedContacts](contacts_ImportedContacts.md) + +[contacts\_Link](contacts_Link.md) + +[contacts\_ResolvedPeer](contacts_ResolvedPeer.md) + +[contacts\_TopPeers](contacts_TopPeers.md) + +[help\_AppChangelog](help_AppChangelog.md) + +[help\_AppUpdate](help_AppUpdate.md) + +[help\_InviteText](help_InviteText.md) + +[help\_Support](help_Support.md) + +[help\_TermsOfService](help_TermsOfService.md) + +[messages\_AffectedHistory](messages_AffectedHistory.md) + +[messages\_AffectedMessages](messages_AffectedMessages.md) + +[messages\_AllStickers](messages_AllStickers.md) + +[messages\_ArchivedStickers](messages_ArchivedStickers.md) + +[messages\_BotCallbackAnswer](messages_BotCallbackAnswer.md) + +[messages\_BotResults](messages_BotResults.md) + +[messages\_ChatFull](messages_ChatFull.md) + +[messages\_Chats](messages_Chats.md) + +[messages\_DhConfig](messages_DhConfig.md) + +[messages\_Dialogs](messages_Dialogs.md) + +[messages\_FeaturedStickers](messages_FeaturedStickers.md) + +[messages\_FoundGifs](messages_FoundGifs.md) + +[messages\_HighScores](messages_HighScores.md) + +[messages\_MessageEditData](messages_MessageEditData.md) + +[messages\_Messages](messages_Messages.md) + +[messages\_PeerDialogs](messages_PeerDialogs.md) + +[messages\_RecentStickers](messages_RecentStickers.md) + +[messages\_SavedGifs](messages_SavedGifs.md) + +[messages\_SentEncryptedMessage](messages_SentEncryptedMessage.md) + +[messages\_StickerSet](messages_StickerSet.md) + +[messages\_StickerSetInstallResult](messages_StickerSetInstallResult.md) + +[messages\_Stickers](messages_Stickers.md) + +[phone\_PhoneCall](phone_PhoneCall.md) + +[photos\_Photo](photos_Photo.md) + +[photos\_Photos](photos_Photos.md) + +[storage\_FileType](storage_FileType.md) + +[updates\_ChannelDifference](updates_ChannelDifference.md) + +[updates\_Difference](updates_Difference.md) + +[updates\_State](updates_State.md) + +[upload\_File](upload_File.md) + diff --git a/old_docs/API_docs_v62/types/ReceivedNotifyMessage.md b/old_docs/API_docs_v62/types/ReceivedNotifyMessage.md new file mode 100644 index 00000000..16a1be6e --- /dev/null +++ b/old_docs/API_docs_v62/types/ReceivedNotifyMessage.md @@ -0,0 +1,19 @@ +--- +title: ReceivedNotifyMessage +description: constructors and methods of type ReceivedNotifyMessage +--- +## Type: ReceivedNotifyMessage +[Back to types index](index.md) + + + +### Possible values (constructors): + + + +### Methods that return an object of this type (methods): + +[$MadelineProto->messages->receivedMessages](../methods/messages_receivedMessages.md) + + + diff --git a/old_docs/API_docs_v62/types/ReplyMarkup.md b/old_docs/API_docs_v62/types/ReplyMarkup.md new file mode 100644 index 00000000..6e4d41bc --- /dev/null +++ b/old_docs/API_docs_v62/types/ReplyMarkup.md @@ -0,0 +1,25 @@ +--- +title: ReplyMarkup +description: constructors and methods of type ReplyMarkup +--- +## Type: ReplyMarkup +[Back to types index](index.md) + + + +### Possible values (constructors): + +[replyKeyboardHide](../constructors/replyKeyboardHide.md) + +[replyKeyboardForceReply](../constructors/replyKeyboardForceReply.md) + +[replyKeyboardMarkup](../constructors/replyKeyboardMarkup.md) + +[replyInlineMarkup](../constructors/replyInlineMarkup.md) + + + +### Methods that return an object of this type (methods): + + + diff --git a/old_docs/API_docs_v62/types/ReportReason.md b/old_docs/API_docs_v62/types/ReportReason.md new file mode 100644 index 00000000..d04f6e1d --- /dev/null +++ b/old_docs/API_docs_v62/types/ReportReason.md @@ -0,0 +1,25 @@ +--- +title: ReportReason +description: constructors and methods of type ReportReason +--- +## Type: ReportReason +[Back to types index](index.md) + + + +### Possible values (constructors): + +[inputReportReasonSpam](../constructors/inputReportReasonSpam.md) + +[inputReportReasonViolence](../constructors/inputReportReasonViolence.md) + +[inputReportReasonPornography](../constructors/inputReportReasonPornography.md) + +[inputReportReasonOther](../constructors/inputReportReasonOther.md) + + + +### Methods that return an object of this type (methods): + + + diff --git a/old_docs/API_docs_v62/types/RichText.md b/old_docs/API_docs_v62/types/RichText.md new file mode 100644 index 00000000..1d39c0a4 --- /dev/null +++ b/old_docs/API_docs_v62/types/RichText.md @@ -0,0 +1,37 @@ +--- +title: RichText +description: constructors and methods of type RichText +--- +## Type: RichText +[Back to types index](index.md) + + + +### Possible values (constructors): + +[textEmpty](../constructors/textEmpty.md) + +[textPlain](../constructors/textPlain.md) + +[textBold](../constructors/textBold.md) + +[textItalic](../constructors/textItalic.md) + +[textUnderline](../constructors/textUnderline.md) + +[textStrike](../constructors/textStrike.md) + +[textFixed](../constructors/textFixed.md) + +[textUrl](../constructors/textUrl.md) + +[textEmail](../constructors/textEmail.md) + +[textConcat](../constructors/textConcat.md) + + + +### Methods that return an object of this type (methods): + + + diff --git a/old_docs/API_docs_v62/types/SendMessageAction.md b/old_docs/API_docs_v62/types/SendMessageAction.md new file mode 100644 index 00000000..faa6a8ff --- /dev/null +++ b/old_docs/API_docs_v62/types/SendMessageAction.md @@ -0,0 +1,39 @@ +--- +title: SendMessageAction +description: constructors and methods of type SendMessageAction +--- +## Type: SendMessageAction +[Back to types index](index.md) + + + +### Possible values (constructors): + +[sendMessageTypingAction](../constructors/sendMessageTypingAction.md) + +[sendMessageCancelAction](../constructors/sendMessageCancelAction.md) + +[sendMessageRecordVideoAction](../constructors/sendMessageRecordVideoAction.md) + +[sendMessageUploadVideoAction](../constructors/sendMessageUploadVideoAction.md) + +[sendMessageRecordAudioAction](../constructors/sendMessageRecordAudioAction.md) + +[sendMessageUploadAudioAction](../constructors/sendMessageUploadAudioAction.md) + +[sendMessageUploadPhotoAction](../constructors/sendMessageUploadPhotoAction.md) + +[sendMessageUploadDocumentAction](../constructors/sendMessageUploadDocumentAction.md) + +[sendMessageGeoLocationAction](../constructors/sendMessageGeoLocationAction.md) + +[sendMessageChooseContactAction](../constructors/sendMessageChooseContactAction.md) + +[sendMessageGamePlayAction](../constructors/sendMessageGamePlayAction.md) + + + +### Methods that return an object of this type (methods): + + + diff --git a/old_docs/API_docs_v62/types/StickerPack.md b/old_docs/API_docs_v62/types/StickerPack.md new file mode 100644 index 00000000..18879439 --- /dev/null +++ b/old_docs/API_docs_v62/types/StickerPack.md @@ -0,0 +1,19 @@ +--- +title: StickerPack +description: constructors and methods of type StickerPack +--- +## Type: StickerPack +[Back to types index](index.md) + + + +### Possible values (constructors): + +[stickerPack](../constructors/stickerPack.md) + + + +### Methods that return an object of this type (methods): + + + diff --git a/old_docs/API_docs_v62/types/StickerSet.md b/old_docs/API_docs_v62/types/StickerSet.md new file mode 100644 index 00000000..01141ecd --- /dev/null +++ b/old_docs/API_docs_v62/types/StickerSet.md @@ -0,0 +1,19 @@ +--- +title: StickerSet +description: constructors and methods of type StickerSet +--- +## Type: StickerSet +[Back to types index](index.md) + + + +### Possible values (constructors): + +[stickerSet](../constructors/stickerSet.md) + + + +### Methods that return an object of this type (methods): + + + diff --git a/old_docs/API_docs_v62/types/StickerSetCovered.md b/old_docs/API_docs_v62/types/StickerSetCovered.md new file mode 100644 index 00000000..5158b759 --- /dev/null +++ b/old_docs/API_docs_v62/types/StickerSetCovered.md @@ -0,0 +1,19 @@ +--- +title: StickerSetCovered +description: constructors and methods of type StickerSetCovered +--- +## Type: StickerSetCovered +[Back to types index](index.md) + + + +### Possible values (constructors): + + + +### Methods that return an object of this type (methods): + +[$MadelineProto->messages->getAttachedStickers](../methods/messages_getAttachedStickers.md) + + + diff --git a/old_docs/API_docs_v62/types/TopPeer.md b/old_docs/API_docs_v62/types/TopPeer.md new file mode 100644 index 00000000..a9334990 --- /dev/null +++ b/old_docs/API_docs_v62/types/TopPeer.md @@ -0,0 +1,19 @@ +--- +title: TopPeer +description: constructors and methods of type TopPeer +--- +## Type: TopPeer +[Back to types index](index.md) + + + +### Possible values (constructors): + +[topPeer](../constructors/topPeer.md) + + + +### Methods that return an object of this type (methods): + + + diff --git a/old_docs/API_docs_v62/types/TopPeerCategory.md b/old_docs/API_docs_v62/types/TopPeerCategory.md new file mode 100644 index 00000000..5ada15d4 --- /dev/null +++ b/old_docs/API_docs_v62/types/TopPeerCategory.md @@ -0,0 +1,27 @@ +--- +title: TopPeerCategory +description: constructors and methods of type TopPeerCategory +--- +## Type: TopPeerCategory +[Back to types index](index.md) + + + +### Possible values (constructors): + +[topPeerCategoryBotsPM](../constructors/topPeerCategoryBotsPM.md) + +[topPeerCategoryBotsInline](../constructors/topPeerCategoryBotsInline.md) + +[topPeerCategoryCorrespondents](../constructors/topPeerCategoryCorrespondents.md) + +[topPeerCategoryGroups](../constructors/topPeerCategoryGroups.md) + +[topPeerCategoryChannels](../constructors/topPeerCategoryChannels.md) + + + +### Methods that return an object of this type (methods): + + + diff --git a/old_docs/API_docs_v62/types/TopPeerCategoryPeers.md b/old_docs/API_docs_v62/types/TopPeerCategoryPeers.md new file mode 100644 index 00000000..ad56620b --- /dev/null +++ b/old_docs/API_docs_v62/types/TopPeerCategoryPeers.md @@ -0,0 +1,19 @@ +--- +title: TopPeerCategoryPeers +description: constructors and methods of type TopPeerCategoryPeers +--- +## Type: TopPeerCategoryPeers +[Back to types index](index.md) + + + +### Possible values (constructors): + +[topPeerCategoryPeers](../constructors/topPeerCategoryPeers.md) + + + +### Methods that return an object of this type (methods): + + + diff --git a/old_docs/API_docs_v62/types/True.md b/old_docs/API_docs_v62/types/True.md new file mode 100644 index 00000000..4d93e161 --- /dev/null +++ b/old_docs/API_docs_v62/types/True.md @@ -0,0 +1,19 @@ +--- +title: True +description: constructors and methods of type True +--- +## Type: True +[Back to types index](index.md) + + + +### Possible values (constructors): + +[true](../constructors/true.md) + + + +### Methods that return an object of this type (methods): + + + diff --git a/old_docs/API_docs_v62/types/Update.md b/old_docs/API_docs_v62/types/Update.md new file mode 100644 index 00000000..6095fd28 --- /dev/null +++ b/old_docs/API_docs_v62/types/Update.md @@ -0,0 +1,129 @@ +--- +title: Update +description: constructors and methods of type Update +--- +## Type: Update +[Back to types index](index.md) + + + +### Possible values (constructors): + +[updateNewMessage](../constructors/updateNewMessage.md) + +[updateMessageID](../constructors/updateMessageID.md) + +[updateDeleteMessages](../constructors/updateDeleteMessages.md) + +[updateUserTyping](../constructors/updateUserTyping.md) + +[updateChatUserTyping](../constructors/updateChatUserTyping.md) + +[updateChatParticipants](../constructors/updateChatParticipants.md) + +[updateUserStatus](../constructors/updateUserStatus.md) + +[updateUserName](../constructors/updateUserName.md) + +[updateUserPhoto](../constructors/updateUserPhoto.md) + +[updateContactRegistered](../constructors/updateContactRegistered.md) + +[updateContactLink](../constructors/updateContactLink.md) + +[updateNewEncryptedMessage](../constructors/updateNewEncryptedMessage.md) + +[updateEncryptedChatTyping](../constructors/updateEncryptedChatTyping.md) + +[updateEncryption](../constructors/updateEncryption.md) + +[updateEncryptedMessagesRead](../constructors/updateEncryptedMessagesRead.md) + +[updateChatParticipantAdd](../constructors/updateChatParticipantAdd.md) + +[updateChatParticipantDelete](../constructors/updateChatParticipantDelete.md) + +[updateDcOptions](../constructors/updateDcOptions.md) + +[updateUserBlocked](../constructors/updateUserBlocked.md) + +[updateNotifySettings](../constructors/updateNotifySettings.md) + +[updateServiceNotification](../constructors/updateServiceNotification.md) + +[updatePrivacy](../constructors/updatePrivacy.md) + +[updateUserPhone](../constructors/updateUserPhone.md) + +[updateReadHistoryInbox](../constructors/updateReadHistoryInbox.md) + +[updateReadHistoryOutbox](../constructors/updateReadHistoryOutbox.md) + +[updateWebPage](../constructors/updateWebPage.md) + +[updateReadMessagesContents](../constructors/updateReadMessagesContents.md) + +[updateChannelTooLong](../constructors/updateChannelTooLong.md) + +[updateChannel](../constructors/updateChannel.md) + +[updateNewChannelMessage](../constructors/updateNewChannelMessage.md) + +[updateReadChannelInbox](../constructors/updateReadChannelInbox.md) + +[updateDeleteChannelMessages](../constructors/updateDeleteChannelMessages.md) + +[updateChannelMessageViews](../constructors/updateChannelMessageViews.md) + +[updateChatAdmins](../constructors/updateChatAdmins.md) + +[updateChatParticipantAdmin](../constructors/updateChatParticipantAdmin.md) + +[updateNewStickerSet](../constructors/updateNewStickerSet.md) + +[updateStickerSetsOrder](../constructors/updateStickerSetsOrder.md) + +[updateStickerSets](../constructors/updateStickerSets.md) + +[updateSavedGifs](../constructors/updateSavedGifs.md) + +[updateBotInlineQuery](../constructors/updateBotInlineQuery.md) + +[updateBotInlineSend](../constructors/updateBotInlineSend.md) + +[updateEditChannelMessage](../constructors/updateEditChannelMessage.md) + +[updateChannelPinnedMessage](../constructors/updateChannelPinnedMessage.md) + +[updateBotCallbackQuery](../constructors/updateBotCallbackQuery.md) + +[updateEditMessage](../constructors/updateEditMessage.md) + +[updateInlineBotCallbackQuery](../constructors/updateInlineBotCallbackQuery.md) + +[updateReadChannelOutbox](../constructors/updateReadChannelOutbox.md) + +[updateDraftMessage](../constructors/updateDraftMessage.md) + +[updateReadFeaturedStickers](../constructors/updateReadFeaturedStickers.md) + +[updateRecentStickers](../constructors/updateRecentStickers.md) + +[updateConfig](../constructors/updateConfig.md) + +[updatePtsChanged](../constructors/updatePtsChanged.md) + +[updateChannelWebPage](../constructors/updateChannelWebPage.md) + +[updatePhoneCall](../constructors/updatePhoneCall.md) + +[updateDialogPinned](../constructors/updateDialogPinned.md) + +[updatePinnedDialogs](../constructors/updatePinnedDialogs.md) + + + +### Methods that return an object of this type (methods): + + + diff --git a/old_docs/API_docs_v62/types/Updates.md b/old_docs/API_docs_v62/types/Updates.md new file mode 100644 index 00000000..30e6d42f --- /dev/null +++ b/old_docs/API_docs_v62/types/Updates.md @@ -0,0 +1,89 @@ +--- +title: Updates +description: constructors and methods of type Updates +--- +## Type: Updates +[Back to types index](index.md) + + + +### Possible values (constructors): + +[updatesTooLong](../constructors/updatesTooLong.md) + +[updateShortMessage](../constructors/updateShortMessage.md) + +[updateShortChatMessage](../constructors/updateShortChatMessage.md) + +[updateShort](../constructors/updateShort.md) + +[updatesCombined](../constructors/updatesCombined.md) + +[updates](../constructors/updates.md) + +[updateShortSentMessage](../constructors/updateShortSentMessage.md) + + + +### Methods that return an object of this type (methods): + +[$MadelineProto->messages->sendMessage](../methods/messages_sendMessage.md) + +[$MadelineProto->messages->sendMedia](../methods/messages_sendMedia.md) + +[$MadelineProto->messages->forwardMessages](../methods/messages_forwardMessages.md) + +[$MadelineProto->messages->editChatTitle](../methods/messages_editChatTitle.md) + +[$MadelineProto->messages->editChatPhoto](../methods/messages_editChatPhoto.md) + +[$MadelineProto->messages->addChatUser](../methods/messages_addChatUser.md) + +[$MadelineProto->messages->deleteChatUser](../methods/messages_deleteChatUser.md) + +[$MadelineProto->messages->createChat](../methods/messages_createChat.md) + +[$MadelineProto->messages->forwardMessage](../methods/messages_forwardMessage.md) + +[$MadelineProto->messages->importChatInvite](../methods/messages_importChatInvite.md) + +[$MadelineProto->messages->startBot](../methods/messages_startBot.md) + +[$MadelineProto->messages->toggleChatAdmins](../methods/messages_toggleChatAdmins.md) + +[$MadelineProto->messages->migrateChat](../methods/messages_migrateChat.md) + +[$MadelineProto->messages->sendInlineBotResult](../methods/messages_sendInlineBotResult.md) + +[$MadelineProto->messages->editMessage](../methods/messages_editMessage.md) + +[$MadelineProto->messages->getAllDrafts](../methods/messages_getAllDrafts.md) + +[$MadelineProto->messages->setGameScore](../methods/messages_setGameScore.md) + +[$MadelineProto->channels->createChannel](../methods/channels_createChannel.md) + +[$MadelineProto->channels->editAdmin](../methods/channels_editAdmin.md) + +[$MadelineProto->channels->editTitle](../methods/channels_editTitle.md) + +[$MadelineProto->channels->editPhoto](../methods/channels_editPhoto.md) + +[$MadelineProto->channels->joinChannel](../methods/channels_joinChannel.md) + +[$MadelineProto->channels->leaveChannel](../methods/channels_leaveChannel.md) + +[$MadelineProto->channels->inviteToChannel](../methods/channels_inviteToChannel.md) + +[$MadelineProto->channels->kickFromChannel](../methods/channels_kickFromChannel.md) + +[$MadelineProto->channels->deleteChannel](../methods/channels_deleteChannel.md) + +[$MadelineProto->channels->toggleInvites](../methods/channels_toggleInvites.md) + +[$MadelineProto->channels->toggleSignatures](../methods/channels_toggleSignatures.md) + +[$MadelineProto->channels->updatePinnedMessage](../methods/channels_updatePinnedMessage.md) + + + diff --git a/old_docs/API_docs_v62/types/User.md b/old_docs/API_docs_v62/types/User.md new file mode 100644 index 00000000..ba846e99 --- /dev/null +++ b/old_docs/API_docs_v62/types/User.md @@ -0,0 +1,34 @@ +--- +title: User +description: constructors and methods of type User +--- +## Type: User +[Back to types index](index.md) + + + +The following syntaxes can also be used: + +``` +$User = '@username'; // Username + +$User = 44700; // bot API id (users) +$User = -492772765; // bot API id (chats) +$User = -10038575794; // bot API id (channels) + +$User = 'user#44700'; // tg-cli style id (users) +$User = 'chat#492772765'; // tg-cli style id (chats) +$User = 'channel#38575794'; // tg-cli style id (channels) +``` + + +### Possible values (constructors): + + + +### Methods that return an object of this type (methods): + +[$MadelineProto->users->getUsers](../methods/users_getUsers.md) + + + diff --git a/old_docs/API_docs_v62/types/UserFull.md b/old_docs/API_docs_v62/types/UserFull.md new file mode 100644 index 00000000..6a761784 --- /dev/null +++ b/old_docs/API_docs_v62/types/UserFull.md @@ -0,0 +1,21 @@ +--- +title: UserFull +description: constructors and methods of type UserFull +--- +## Type: UserFull +[Back to types index](index.md) + + + +### Possible values (constructors): + +[userFull](../constructors/userFull.md) + + + +### Methods that return an object of this type (methods): + +[$MadelineProto->users->getFullUser](../methods/users_getFullUser.md) + + + diff --git a/old_docs/API_docs_v62/types/UserProfilePhoto.md b/old_docs/API_docs_v62/types/UserProfilePhoto.md new file mode 100644 index 00000000..62eb560c --- /dev/null +++ b/old_docs/API_docs_v62/types/UserProfilePhoto.md @@ -0,0 +1,23 @@ +--- +title: UserProfilePhoto +description: constructors and methods of type UserProfilePhoto +--- +## Type: UserProfilePhoto +[Back to types index](index.md) + + + +### Possible values (constructors): + +[userProfilePhotoEmpty](../constructors/userProfilePhotoEmpty.md) + +[userProfilePhoto](../constructors/userProfilePhoto.md) + + + +### Methods that return an object of this type (methods): + +[$MadelineProto->photos->updateProfilePhoto](../methods/photos_updateProfilePhoto.md) + + + diff --git a/old_docs/API_docs_v62/types/UserStatus.md b/old_docs/API_docs_v62/types/UserStatus.md new file mode 100644 index 00000000..87eeb5d0 --- /dev/null +++ b/old_docs/API_docs_v62/types/UserStatus.md @@ -0,0 +1,29 @@ +--- +title: UserStatus +description: constructors and methods of type UserStatus +--- +## Type: UserStatus +[Back to types index](index.md) + + + +### Possible values (constructors): + +[userStatusEmpty](../constructors/userStatusEmpty.md) + +[userStatusOnline](../constructors/userStatusOnline.md) + +[userStatusOffline](../constructors/userStatusOffline.md) + +[userStatusRecently](../constructors/userStatusRecently.md) + +[userStatusLastWeek](../constructors/userStatusLastWeek.md) + +[userStatusLastMonth](../constructors/userStatusLastMonth.md) + + + +### Methods that return an object of this type (methods): + + + diff --git a/old_docs/API_docs_v62/types/WallPaper.md b/old_docs/API_docs_v62/types/WallPaper.md new file mode 100644 index 00000000..5610100e --- /dev/null +++ b/old_docs/API_docs_v62/types/WallPaper.md @@ -0,0 +1,21 @@ +--- +title: WallPaper +description: constructors and methods of type WallPaper +--- +## Type: WallPaper +[Back to types index](index.md) + + + +### Possible values (constructors): + +[wallPaper](../constructors/wallPaper.md) + +[wallPaperSolid](../constructors/wallPaperSolid.md) + + + +### Methods that return an object of this type (methods): + + + diff --git a/old_docs/API_docs_v62/types/WebPage.md b/old_docs/API_docs_v62/types/WebPage.md new file mode 100644 index 00000000..90a5014f --- /dev/null +++ b/old_docs/API_docs_v62/types/WebPage.md @@ -0,0 +1,27 @@ +--- +title: WebPage +description: constructors and methods of type WebPage +--- +## Type: WebPage +[Back to types index](index.md) + + + +### Possible values (constructors): + +[webPageEmpty](../constructors/webPageEmpty.md) + +[webPagePending](../constructors/webPagePending.md) + +[webPage](../constructors/webPage.md) + +[webPageNotModified](../constructors/webPageNotModified.md) + + + +### Methods that return an object of this type (methods): + +[$MadelineProto->messages->getWebPage](../methods/messages_getWebPage.md) + + + diff --git a/old_docs/API_docs_v62/types/X.md b/old_docs/API_docs_v62/types/X.md new file mode 100644 index 00000000..ca50e8ae --- /dev/null +++ b/old_docs/API_docs_v62/types/X.md @@ -0,0 +1,8 @@ +--- +title: X +description: Represents a TL serialized payload +--- +## Type: X +[Back to constructor index](index.md) + +Represents a TL serialized payload. \ No newline at end of file diff --git a/old_docs/API_docs_v62/types/account_Authorizations.md b/old_docs/API_docs_v62/types/account_Authorizations.md new file mode 100644 index 00000000..b3b3cfb8 --- /dev/null +++ b/old_docs/API_docs_v62/types/account_Authorizations.md @@ -0,0 +1,21 @@ +--- +title: account_Authorizations +description: constructors and methods of type account_Authorizations +--- +## Type: account\_Authorizations +[Back to types index](index.md) + + + +### Possible values (constructors): + +[account\_authorizations](../constructors/account_authorizations.md) + + + +### Methods that return an object of this type (methods): + +[$MadelineProto->account->getAuthorizations](../methods/account_getAuthorizations.md) + + + diff --git a/old_docs/API_docs_v62/types/account_Password.md b/old_docs/API_docs_v62/types/account_Password.md new file mode 100644 index 00000000..9b97c70e --- /dev/null +++ b/old_docs/API_docs_v62/types/account_Password.md @@ -0,0 +1,23 @@ +--- +title: account_Password +description: constructors and methods of type account_Password +--- +## Type: account\_Password +[Back to types index](index.md) + + + +### Possible values (constructors): + +[account\_noPassword](../constructors/account_noPassword.md) + +[account\_password](../constructors/account_password.md) + + + +### Methods that return an object of this type (methods): + +[$MadelineProto->account->getPassword](../methods/account_getPassword.md) + + + diff --git a/old_docs/API_docs_v62/types/account_PasswordInputSettings.md b/old_docs/API_docs_v62/types/account_PasswordInputSettings.md new file mode 100644 index 00000000..9e93a2a7 --- /dev/null +++ b/old_docs/API_docs_v62/types/account_PasswordInputSettings.md @@ -0,0 +1,19 @@ +--- +title: account_PasswordInputSettings +description: constructors and methods of type account_PasswordInputSettings +--- +## Type: account\_PasswordInputSettings +[Back to types index](index.md) + + + +### Possible values (constructors): + +[account\_passwordInputSettings](../constructors/account_passwordInputSettings.md) + + + +### Methods that return an object of this type (methods): + + + diff --git a/old_docs/API_docs_v62/types/account_PasswordSettings.md b/old_docs/API_docs_v62/types/account_PasswordSettings.md new file mode 100644 index 00000000..cc76f319 --- /dev/null +++ b/old_docs/API_docs_v62/types/account_PasswordSettings.md @@ -0,0 +1,21 @@ +--- +title: account_PasswordSettings +description: constructors and methods of type account_PasswordSettings +--- +## Type: account\_PasswordSettings +[Back to types index](index.md) + + + +### Possible values (constructors): + +[account\_passwordSettings](../constructors/account_passwordSettings.md) + + + +### Methods that return an object of this type (methods): + +[$MadelineProto->account->getPasswordSettings](../methods/account_getPasswordSettings.md) + + + diff --git a/old_docs/API_docs_v62/types/account_PrivacyRules.md b/old_docs/API_docs_v62/types/account_PrivacyRules.md new file mode 100644 index 00000000..195a8719 --- /dev/null +++ b/old_docs/API_docs_v62/types/account_PrivacyRules.md @@ -0,0 +1,23 @@ +--- +title: account_PrivacyRules +description: constructors and methods of type account_PrivacyRules +--- +## Type: account\_PrivacyRules +[Back to types index](index.md) + + + +### Possible values (constructors): + +[account\_privacyRules](../constructors/account_privacyRules.md) + + + +### Methods that return an object of this type (methods): + +[$MadelineProto->account->getPrivacy](../methods/account_getPrivacy.md) + +[$MadelineProto->account->setPrivacy](../methods/account_setPrivacy.md) + + + diff --git a/old_docs/API_docs_v62/types/auth_Authorization.md b/old_docs/API_docs_v62/types/auth_Authorization.md new file mode 100644 index 00000000..5f188c84 --- /dev/null +++ b/old_docs/API_docs_v62/types/auth_Authorization.md @@ -0,0 +1,31 @@ +--- +title: auth_Authorization +description: constructors and methods of type auth_Authorization +--- +## Type: auth\_Authorization +[Back to types index](index.md) + + + +### Possible values (constructors): + +[auth\_authorization](../constructors/auth_authorization.md) + + + +### Methods that return an object of this type (methods): + +[$MadelineProto->auth->signUp](../methods/auth_signUp.md) + +[$MadelineProto->auth->signIn](../methods/auth_signIn.md) + +[$MadelineProto->auth->importAuthorization](../methods/auth_importAuthorization.md) + +[$MadelineProto->auth->importBotAuthorization](../methods/auth_importBotAuthorization.md) + +[$MadelineProto->auth->checkPassword](../methods/auth_checkPassword.md) + +[$MadelineProto->auth->recoverPassword](../methods/auth_recoverPassword.md) + + + diff --git a/old_docs/API_docs_v62/types/auth_CheckedPhone.md b/old_docs/API_docs_v62/types/auth_CheckedPhone.md new file mode 100644 index 00000000..350d64e9 --- /dev/null +++ b/old_docs/API_docs_v62/types/auth_CheckedPhone.md @@ -0,0 +1,21 @@ +--- +title: auth_CheckedPhone +description: constructors and methods of type auth_CheckedPhone +--- +## Type: auth\_CheckedPhone +[Back to types index](index.md) + + + +### Possible values (constructors): + +[auth\_checkedPhone](../constructors/auth_checkedPhone.md) + + + +### Methods that return an object of this type (methods): + +[$MadelineProto->auth->checkPhone](../methods/auth_checkPhone.md) + + + diff --git a/old_docs/API_docs_v62/types/auth_CodeType.md b/old_docs/API_docs_v62/types/auth_CodeType.md new file mode 100644 index 00000000..34bffaa7 --- /dev/null +++ b/old_docs/API_docs_v62/types/auth_CodeType.md @@ -0,0 +1,23 @@ +--- +title: auth_CodeType +description: constructors and methods of type auth_CodeType +--- +## Type: auth\_CodeType +[Back to types index](index.md) + + + +### Possible values (constructors): + +[auth\_codeTypeSms](../constructors/auth_codeTypeSms.md) + +[auth\_codeTypeCall](../constructors/auth_codeTypeCall.md) + +[auth\_codeTypeFlashCall](../constructors/auth_codeTypeFlashCall.md) + + + +### Methods that return an object of this type (methods): + + + diff --git a/old_docs/API_docs_v62/types/auth_ExportedAuthorization.md b/old_docs/API_docs_v62/types/auth_ExportedAuthorization.md new file mode 100644 index 00000000..83c8dc5e --- /dev/null +++ b/old_docs/API_docs_v62/types/auth_ExportedAuthorization.md @@ -0,0 +1,21 @@ +--- +title: auth_ExportedAuthorization +description: constructors and methods of type auth_ExportedAuthorization +--- +## Type: auth\_ExportedAuthorization +[Back to types index](index.md) + + + +### Possible values (constructors): + +[auth\_exportedAuthorization](../constructors/auth_exportedAuthorization.md) + + + +### Methods that return an object of this type (methods): + +[$MadelineProto->auth->exportAuthorization](../methods/auth_exportAuthorization.md) + + + diff --git a/old_docs/API_docs_v62/types/auth_PasswordRecovery.md b/old_docs/API_docs_v62/types/auth_PasswordRecovery.md new file mode 100644 index 00000000..2a453cb9 --- /dev/null +++ b/old_docs/API_docs_v62/types/auth_PasswordRecovery.md @@ -0,0 +1,21 @@ +--- +title: auth_PasswordRecovery +description: constructors and methods of type auth_PasswordRecovery +--- +## Type: auth\_PasswordRecovery +[Back to types index](index.md) + + + +### Possible values (constructors): + +[auth\_passwordRecovery](../constructors/auth_passwordRecovery.md) + + + +### Methods that return an object of this type (methods): + +[$MadelineProto->auth->requestPasswordRecovery](../methods/auth_requestPasswordRecovery.md) + + + diff --git a/old_docs/API_docs_v62/types/auth_SentCode.md b/old_docs/API_docs_v62/types/auth_SentCode.md new file mode 100644 index 00000000..35ee5886 --- /dev/null +++ b/old_docs/API_docs_v62/types/auth_SentCode.md @@ -0,0 +1,27 @@ +--- +title: auth_SentCode +description: constructors and methods of type auth_SentCode +--- +## Type: auth\_SentCode +[Back to types index](index.md) + + + +### Possible values (constructors): + +[auth\_sentCode](../constructors/auth_sentCode.md) + + + +### Methods that return an object of this type (methods): + +[$MadelineProto->auth->sendCode](../methods/auth_sendCode.md) + +[$MadelineProto->auth->resendCode](../methods/auth_resendCode.md) + +[$MadelineProto->account->sendChangePhoneCode](../methods/account_sendChangePhoneCode.md) + +[$MadelineProto->account->sendConfirmPhoneCode](../methods/account_sendConfirmPhoneCode.md) + + + diff --git a/old_docs/API_docs_v62/types/auth_SentCodeType.md b/old_docs/API_docs_v62/types/auth_SentCodeType.md new file mode 100644 index 00000000..d86eaa86 --- /dev/null +++ b/old_docs/API_docs_v62/types/auth_SentCodeType.md @@ -0,0 +1,25 @@ +--- +title: auth_SentCodeType +description: constructors and methods of type auth_SentCodeType +--- +## Type: auth\_SentCodeType +[Back to types index](index.md) + + + +### Possible values (constructors): + +[auth\_sentCodeTypeApp](../constructors/auth_sentCodeTypeApp.md) + +[auth\_sentCodeTypeSms](../constructors/auth_sentCodeTypeSms.md) + +[auth\_sentCodeTypeCall](../constructors/auth_sentCodeTypeCall.md) + +[auth\_sentCodeTypeFlashCall](../constructors/auth_sentCodeTypeFlashCall.md) + + + +### Methods that return an object of this type (methods): + + + diff --git a/old_docs/API_docs_v62/types/bytes.md b/old_docs/API_docs_v62/types/bytes.md new file mode 100644 index 00000000..583bb956 --- /dev/null +++ b/old_docs/API_docs_v62/types/bytes.md @@ -0,0 +1,8 @@ +--- +title: bytes +description: A string of variable length +--- +## Type: bytes +[Back to constructor index](index.md) + +A string of variable length. \ No newline at end of file diff --git a/old_docs/API_docs_v62/types/channels_ChannelParticipant.md b/old_docs/API_docs_v62/types/channels_ChannelParticipant.md new file mode 100644 index 00000000..eee6bded --- /dev/null +++ b/old_docs/API_docs_v62/types/channels_ChannelParticipant.md @@ -0,0 +1,21 @@ +--- +title: channels_ChannelParticipant +description: constructors and methods of type channels_ChannelParticipant +--- +## Type: channels\_ChannelParticipant +[Back to types index](index.md) + + + +### Possible values (constructors): + +[channels\_channelParticipant](../constructors/channels_channelParticipant.md) + + + +### Methods that return an object of this type (methods): + +[$MadelineProto->channels->getParticipant](../methods/channels_getParticipant.md) + + + diff --git a/old_docs/API_docs_v62/types/channels_ChannelParticipants.md b/old_docs/API_docs_v62/types/channels_ChannelParticipants.md new file mode 100644 index 00000000..c5104b22 --- /dev/null +++ b/old_docs/API_docs_v62/types/channels_ChannelParticipants.md @@ -0,0 +1,21 @@ +--- +title: channels_ChannelParticipants +description: constructors and methods of type channels_ChannelParticipants +--- +## Type: channels\_ChannelParticipants +[Back to types index](index.md) + + + +### Possible values (constructors): + +[channels\_channelParticipants](../constructors/channels_channelParticipants.md) + + + +### Methods that return an object of this type (methods): + +[$MadelineProto->channels->getParticipants](../methods/channels_getParticipants.md) + + + diff --git a/old_docs/API_docs_v62/types/contacts_Blocked.md b/old_docs/API_docs_v62/types/contacts_Blocked.md new file mode 100644 index 00000000..d1c4bad6 --- /dev/null +++ b/old_docs/API_docs_v62/types/contacts_Blocked.md @@ -0,0 +1,23 @@ +--- +title: contacts_Blocked +description: constructors and methods of type contacts_Blocked +--- +## Type: contacts\_Blocked +[Back to types index](index.md) + + + +### Possible values (constructors): + +[contacts\_blocked](../constructors/contacts_blocked.md) + +[contacts\_blockedSlice](../constructors/contacts_blockedSlice.md) + + + +### Methods that return an object of this type (methods): + +[$MadelineProto->contacts->getBlocked](../methods/contacts_getBlocked.md) + + + diff --git a/old_docs/API_docs_v62/types/contacts_Contacts.md b/old_docs/API_docs_v62/types/contacts_Contacts.md new file mode 100644 index 00000000..cc08280b --- /dev/null +++ b/old_docs/API_docs_v62/types/contacts_Contacts.md @@ -0,0 +1,23 @@ +--- +title: contacts_Contacts +description: constructors and methods of type contacts_Contacts +--- +## Type: contacts\_Contacts +[Back to types index](index.md) + + + +### Possible values (constructors): + +[contacts\_contactsNotModified](../constructors/contacts_contactsNotModified.md) + +[contacts\_contacts](../constructors/contacts_contacts.md) + + + +### Methods that return an object of this type (methods): + +[$MadelineProto->contacts->getContacts](../methods/contacts_getContacts.md) + + + diff --git a/old_docs/API_docs_v62/types/contacts_Found.md b/old_docs/API_docs_v62/types/contacts_Found.md new file mode 100644 index 00000000..4ff40d5d --- /dev/null +++ b/old_docs/API_docs_v62/types/contacts_Found.md @@ -0,0 +1,21 @@ +--- +title: contacts_Found +description: constructors and methods of type contacts_Found +--- +## Type: contacts\_Found +[Back to types index](index.md) + + + +### Possible values (constructors): + +[contacts\_found](../constructors/contacts_found.md) + + + +### Methods that return an object of this type (methods): + +[$MadelineProto->contacts->search](../methods/contacts_search.md) + + + diff --git a/old_docs/API_docs_v62/types/contacts_ImportedContacts.md b/old_docs/API_docs_v62/types/contacts_ImportedContacts.md new file mode 100644 index 00000000..4fb75b51 --- /dev/null +++ b/old_docs/API_docs_v62/types/contacts_ImportedContacts.md @@ -0,0 +1,21 @@ +--- +title: contacts_ImportedContacts +description: constructors and methods of type contacts_ImportedContacts +--- +## Type: contacts\_ImportedContacts +[Back to types index](index.md) + + + +### Possible values (constructors): + +[contacts\_importedContacts](../constructors/contacts_importedContacts.md) + + + +### Methods that return an object of this type (methods): + +[$MadelineProto->contacts->importContacts](../methods/contacts_importContacts.md) + + + diff --git a/old_docs/API_docs_v62/types/contacts_Link.md b/old_docs/API_docs_v62/types/contacts_Link.md new file mode 100644 index 00000000..9d71bf53 --- /dev/null +++ b/old_docs/API_docs_v62/types/contacts_Link.md @@ -0,0 +1,21 @@ +--- +title: contacts_Link +description: constructors and methods of type contacts_Link +--- +## Type: contacts\_Link +[Back to types index](index.md) + + + +### Possible values (constructors): + +[contacts\_link](../constructors/contacts_link.md) + + + +### Methods that return an object of this type (methods): + +[$MadelineProto->contacts->deleteContact](../methods/contacts_deleteContact.md) + + + diff --git a/old_docs/API_docs_v62/types/contacts_ResolvedPeer.md b/old_docs/API_docs_v62/types/contacts_ResolvedPeer.md new file mode 100644 index 00000000..f59f4510 --- /dev/null +++ b/old_docs/API_docs_v62/types/contacts_ResolvedPeer.md @@ -0,0 +1,21 @@ +--- +title: contacts_ResolvedPeer +description: constructors and methods of type contacts_ResolvedPeer +--- +## Type: contacts\_ResolvedPeer +[Back to types index](index.md) + + + +### Possible values (constructors): + +[contacts\_resolvedPeer](../constructors/contacts_resolvedPeer.md) + + + +### Methods that return an object of this type (methods): + +[$MadelineProto->contacts->resolveUsername](../methods/contacts_resolveUsername.md) + + + diff --git a/old_docs/API_docs_v62/types/contacts_TopPeers.md b/old_docs/API_docs_v62/types/contacts_TopPeers.md new file mode 100644 index 00000000..729e76d7 --- /dev/null +++ b/old_docs/API_docs_v62/types/contacts_TopPeers.md @@ -0,0 +1,23 @@ +--- +title: contacts_TopPeers +description: constructors and methods of type contacts_TopPeers +--- +## Type: contacts\_TopPeers +[Back to types index](index.md) + + + +### Possible values (constructors): + +[contacts\_topPeersNotModified](../constructors/contacts_topPeersNotModified.md) + +[contacts\_topPeers](../constructors/contacts_topPeers.md) + + + +### Methods that return an object of this type (methods): + +[$MadelineProto->contacts->getTopPeers](../methods/contacts_getTopPeers.md) + + + diff --git a/old_docs/API_docs_v62/types/double.md b/old_docs/API_docs_v62/types/double.md new file mode 100644 index 00000000..9e7ac255 --- /dev/null +++ b/old_docs/API_docs_v62/types/double.md @@ -0,0 +1,8 @@ +--- +title: double +description: A double precision floating point number +--- +## Type: double +[Back to constructor index](index.md) + +A double precision floating point number, single precision can also be used (float). \ No newline at end of file diff --git a/docs/API_docs/types/help_AppChangelog.md b/old_docs/API_docs_v62/types/help_AppChangelog.md similarity index 100% rename from docs/API_docs/types/help_AppChangelog.md rename to old_docs/API_docs_v62/types/help_AppChangelog.md diff --git a/old_docs/API_docs_v62/types/help_AppUpdate.md b/old_docs/API_docs_v62/types/help_AppUpdate.md new file mode 100644 index 00000000..92cabbf6 --- /dev/null +++ b/old_docs/API_docs_v62/types/help_AppUpdate.md @@ -0,0 +1,23 @@ +--- +title: help_AppUpdate +description: constructors and methods of type help_AppUpdate +--- +## Type: help\_AppUpdate +[Back to types index](index.md) + + + +### Possible values (constructors): + +[help\_appUpdate](../constructors/help_appUpdate.md) + +[help\_noAppUpdate](../constructors/help_noAppUpdate.md) + + + +### Methods that return an object of this type (methods): + +[$MadelineProto->help->getAppUpdate](../methods/help_getAppUpdate.md) + + + diff --git a/old_docs/API_docs_v62/types/help_InviteText.md b/old_docs/API_docs_v62/types/help_InviteText.md new file mode 100644 index 00000000..15442f2b --- /dev/null +++ b/old_docs/API_docs_v62/types/help_InviteText.md @@ -0,0 +1,21 @@ +--- +title: help_InviteText +description: constructors and methods of type help_InviteText +--- +## Type: help\_InviteText +[Back to types index](index.md) + + + +### Possible values (constructors): + +[help\_inviteText](../constructors/help_inviteText.md) + + + +### Methods that return an object of this type (methods): + +[$MadelineProto->help->getInviteText](../methods/help_getInviteText.md) + + + diff --git a/old_docs/API_docs_v62/types/help_Support.md b/old_docs/API_docs_v62/types/help_Support.md new file mode 100644 index 00000000..6c184734 --- /dev/null +++ b/old_docs/API_docs_v62/types/help_Support.md @@ -0,0 +1,21 @@ +--- +title: help_Support +description: constructors and methods of type help_Support +--- +## Type: help\_Support +[Back to types index](index.md) + + + +### Possible values (constructors): + +[help\_support](../constructors/help_support.md) + + + +### Methods that return an object of this type (methods): + +[$MadelineProto->help->getSupport](../methods/help_getSupport.md) + + + diff --git a/old_docs/API_docs_v62/types/help_TermsOfService.md b/old_docs/API_docs_v62/types/help_TermsOfService.md new file mode 100644 index 00000000..b57b19cc --- /dev/null +++ b/old_docs/API_docs_v62/types/help_TermsOfService.md @@ -0,0 +1,21 @@ +--- +title: help_TermsOfService +description: constructors and methods of type help_TermsOfService +--- +## Type: help\_TermsOfService +[Back to types index](index.md) + + + +### Possible values (constructors): + +[help\_termsOfService](../constructors/help_termsOfService.md) + + + +### Methods that return an object of this type (methods): + +[$MadelineProto->help->getTermsOfService](../methods/help_getTermsOfService.md) + + + diff --git a/old_docs/API_docs_v62/types/int.md b/old_docs/API_docs_v62/types/int.md new file mode 100644 index 00000000..a8ba6976 --- /dev/null +++ b/old_docs/API_docs_v62/types/int.md @@ -0,0 +1,8 @@ +--- +title: integer +description: A 32 bit signed integer ranging from -2147483647 to 2147483647 +--- +## Type: int +[Back to constructor index](index.md) + +A 32 bit signed integer ranging from `-2147483647` to `2147483647`. \ No newline at end of file diff --git a/old_docs/API_docs_v62/types/int128.md b/old_docs/API_docs_v62/types/int128.md new file mode 100644 index 00000000..43471bd6 --- /dev/null +++ b/old_docs/API_docs_v62/types/int128.md @@ -0,0 +1,8 @@ +--- +title: int128 +description: A 128 bit signed integer +--- +## Type: int128 +[Back to constructor index](index.md) + +A 128 bit signed integer represented in little-endian base256 (`string`) format. \ No newline at end of file diff --git a/old_docs/API_docs_v62/types/int256.md b/old_docs/API_docs_v62/types/int256.md new file mode 100644 index 00000000..73e056e8 --- /dev/null +++ b/old_docs/API_docs_v62/types/int256.md @@ -0,0 +1,8 @@ +--- +title: int256 +description: A 256 bit signed integer +--- +## Type: int256 +[Back to constructor index](index.md) + +A 256 bit signed integer represented in little-endian base256 (`string`) format. \ No newline at end of file diff --git a/old_docs/API_docs_v62/types/int512.md b/old_docs/API_docs_v62/types/int512.md new file mode 100644 index 00000000..0b3b1a55 --- /dev/null +++ b/old_docs/API_docs_v62/types/int512.md @@ -0,0 +1,8 @@ +--- +title: int512 +description: A 512 bit signed integer +--- +## Type: int512 +[Back to constructor index](index.md) + +A 512 bit signed integer represented in little-endian base256 (`string`) format. \ No newline at end of file diff --git a/old_docs/API_docs_v62/types/long.md b/old_docs/API_docs_v62/types/long.md new file mode 100644 index 00000000..487295f5 --- /dev/null +++ b/old_docs/API_docs_v62/types/long.md @@ -0,0 +1,8 @@ +--- +title: long +description: A 32 bit signed integer ranging from -9223372036854775807 to 9223372036854775807 +--- +## Type: long +[Back to constructor index](index.md) + +A 64 bit signed integer ranging from `-9223372036854775807` to `9223372036854775807`. \ No newline at end of file diff --git a/old_docs/API_docs_v62/types/messages_AffectedHistory.md b/old_docs/API_docs_v62/types/messages_AffectedHistory.md new file mode 100644 index 00000000..2c1e9d9a --- /dev/null +++ b/old_docs/API_docs_v62/types/messages_AffectedHistory.md @@ -0,0 +1,23 @@ +--- +title: messages_AffectedHistory +description: constructors and methods of type messages_AffectedHistory +--- +## Type: messages\_AffectedHistory +[Back to types index](index.md) + + + +### Possible values (constructors): + +[messages\_affectedHistory](../constructors/messages_affectedHistory.md) + + + +### Methods that return an object of this type (methods): + +[$MadelineProto->messages->deleteHistory](../methods/messages_deleteHistory.md) + +[$MadelineProto->channels->deleteUserHistory](../methods/channels_deleteUserHistory.md) + + + diff --git a/old_docs/API_docs_v62/types/messages_AffectedMessages.md b/old_docs/API_docs_v62/types/messages_AffectedMessages.md new file mode 100644 index 00000000..0ccb1a7f --- /dev/null +++ b/old_docs/API_docs_v62/types/messages_AffectedMessages.md @@ -0,0 +1,27 @@ +--- +title: messages_AffectedMessages +description: constructors and methods of type messages_AffectedMessages +--- +## Type: messages\_AffectedMessages +[Back to types index](index.md) + + + +### Possible values (constructors): + +[messages\_affectedMessages](../constructors/messages_affectedMessages.md) + + + +### Methods that return an object of this type (methods): + +[$MadelineProto->messages->readHistory](../methods/messages_readHistory.md) + +[$MadelineProto->messages->deleteMessages](../methods/messages_deleteMessages.md) + +[$MadelineProto->messages->readMessageContents](../methods/messages_readMessageContents.md) + +[$MadelineProto->channels->deleteMessages](../methods/channels_deleteMessages.md) + + + diff --git a/old_docs/API_docs_v62/types/messages_AllStickers.md b/old_docs/API_docs_v62/types/messages_AllStickers.md new file mode 100644 index 00000000..f0f51899 --- /dev/null +++ b/old_docs/API_docs_v62/types/messages_AllStickers.md @@ -0,0 +1,25 @@ +--- +title: messages_AllStickers +description: constructors and methods of type messages_AllStickers +--- +## Type: messages\_AllStickers +[Back to types index](index.md) + + + +### Possible values (constructors): + +[messages\_allStickersNotModified](../constructors/messages_allStickersNotModified.md) + +[messages\_allStickers](../constructors/messages_allStickers.md) + + + +### Methods that return an object of this type (methods): + +[$MadelineProto->messages->getAllStickers](../methods/messages_getAllStickers.md) + +[$MadelineProto->messages->getMaskStickers](../methods/messages_getMaskStickers.md) + + + diff --git a/old_docs/API_docs_v62/types/messages_ArchivedStickers.md b/old_docs/API_docs_v62/types/messages_ArchivedStickers.md new file mode 100644 index 00000000..88a9ab37 --- /dev/null +++ b/old_docs/API_docs_v62/types/messages_ArchivedStickers.md @@ -0,0 +1,21 @@ +--- +title: messages_ArchivedStickers +description: constructors and methods of type messages_ArchivedStickers +--- +## Type: messages\_ArchivedStickers +[Back to types index](index.md) + + + +### Possible values (constructors): + +[messages\_archivedStickers](../constructors/messages_archivedStickers.md) + + + +### Methods that return an object of this type (methods): + +[$MadelineProto->messages->getArchivedStickers](../methods/messages_getArchivedStickers.md) + + + diff --git a/old_docs/API_docs_v62/types/messages_BotCallbackAnswer.md b/old_docs/API_docs_v62/types/messages_BotCallbackAnswer.md new file mode 100644 index 00000000..00b06cf1 --- /dev/null +++ b/old_docs/API_docs_v62/types/messages_BotCallbackAnswer.md @@ -0,0 +1,21 @@ +--- +title: messages_BotCallbackAnswer +description: constructors and methods of type messages_BotCallbackAnswer +--- +## Type: messages\_BotCallbackAnswer +[Back to types index](index.md) + + + +### Possible values (constructors): + +[messages\_botCallbackAnswer](../constructors/messages_botCallbackAnswer.md) + + + +### Methods that return an object of this type (methods): + +[$MadelineProto->messages->getBotCallbackAnswer](../methods/messages_getBotCallbackAnswer.md) + + + diff --git a/old_docs/API_docs_v62/types/messages_BotResults.md b/old_docs/API_docs_v62/types/messages_BotResults.md new file mode 100644 index 00000000..e07a2e57 --- /dev/null +++ b/old_docs/API_docs_v62/types/messages_BotResults.md @@ -0,0 +1,21 @@ +--- +title: messages_BotResults +description: constructors and methods of type messages_BotResults +--- +## Type: messages\_BotResults +[Back to types index](index.md) + + + +### Possible values (constructors): + +[messages\_botResults](../constructors/messages_botResults.md) + + + +### Methods that return an object of this type (methods): + +[$MadelineProto->messages->getInlineBotResults](../methods/messages_getInlineBotResults.md) + + + diff --git a/old_docs/API_docs_v62/types/messages_ChatFull.md b/old_docs/API_docs_v62/types/messages_ChatFull.md new file mode 100644 index 00000000..52040db4 --- /dev/null +++ b/old_docs/API_docs_v62/types/messages_ChatFull.md @@ -0,0 +1,23 @@ +--- +title: messages_ChatFull +description: constructors and methods of type messages_ChatFull +--- +## Type: messages\_ChatFull +[Back to types index](index.md) + + + +### Possible values (constructors): + +[messages\_chatFull](../constructors/messages_chatFull.md) + + + +### Methods that return an object of this type (methods): + +[$MadelineProto->messages->getFullChat](../methods/messages_getFullChat.md) + +[$MadelineProto->channels->getFullChannel](../methods/channels_getFullChannel.md) + + + diff --git a/old_docs/API_docs_v62/types/messages_Chats.md b/old_docs/API_docs_v62/types/messages_Chats.md new file mode 100644 index 00000000..26ecd5c6 --- /dev/null +++ b/old_docs/API_docs_v62/types/messages_Chats.md @@ -0,0 +1,31 @@ +--- +title: messages_Chats +description: constructors and methods of type messages_Chats +--- +## Type: messages\_Chats +[Back to types index](index.md) + + + +### Possible values (constructors): + +[messages\_chats](../constructors/messages_chats.md) + +[messages\_chatsSlice](../constructors/messages_chatsSlice.md) + + + +### Methods that return an object of this type (methods): + +[$MadelineProto->messages->getChats](../methods/messages_getChats.md) + +[$MadelineProto->messages->getCommonChats](../methods/messages_getCommonChats.md) + +[$MadelineProto->messages->getAllChats](../methods/messages_getAllChats.md) + +[$MadelineProto->channels->getChannels](../methods/channels_getChannels.md) + +[$MadelineProto->channels->getAdminedPublicChannels](../methods/channels_getAdminedPublicChannels.md) + + + diff --git a/old_docs/API_docs_v62/types/messages_DhConfig.md b/old_docs/API_docs_v62/types/messages_DhConfig.md new file mode 100644 index 00000000..86a5f919 --- /dev/null +++ b/old_docs/API_docs_v62/types/messages_DhConfig.md @@ -0,0 +1,23 @@ +--- +title: messages_DhConfig +description: constructors and methods of type messages_DhConfig +--- +## Type: messages\_DhConfig +[Back to types index](index.md) + + + +### Possible values (constructors): + +[messages\_dhConfigNotModified](../constructors/messages_dhConfigNotModified.md) + +[messages\_dhConfig](../constructors/messages_dhConfig.md) + + + +### Methods that return an object of this type (methods): + +[$MadelineProto->messages->getDhConfig](../methods/messages_getDhConfig.md) + + + diff --git a/old_docs/API_docs_v62/types/messages_Dialogs.md b/old_docs/API_docs_v62/types/messages_Dialogs.md new file mode 100644 index 00000000..8ea2dc95 --- /dev/null +++ b/old_docs/API_docs_v62/types/messages_Dialogs.md @@ -0,0 +1,23 @@ +--- +title: messages_Dialogs +description: constructors and methods of type messages_Dialogs +--- +## Type: messages\_Dialogs +[Back to types index](index.md) + + + +### Possible values (constructors): + +[messages\_dialogs](../constructors/messages_dialogs.md) + +[messages\_dialogsSlice](../constructors/messages_dialogsSlice.md) + + + +### Methods that return an object of this type (methods): + +[$MadelineProto->messages->getDialogs](../methods/messages_getDialogs.md) + + + diff --git a/old_docs/API_docs_v62/types/messages_FeaturedStickers.md b/old_docs/API_docs_v62/types/messages_FeaturedStickers.md new file mode 100644 index 00000000..4c9642e1 --- /dev/null +++ b/old_docs/API_docs_v62/types/messages_FeaturedStickers.md @@ -0,0 +1,23 @@ +--- +title: messages_FeaturedStickers +description: constructors and methods of type messages_FeaturedStickers +--- +## Type: messages\_FeaturedStickers +[Back to types index](index.md) + + + +### Possible values (constructors): + +[messages\_featuredStickersNotModified](../constructors/messages_featuredStickersNotModified.md) + +[messages\_featuredStickers](../constructors/messages_featuredStickers.md) + + + +### Methods that return an object of this type (methods): + +[$MadelineProto->messages->getFeaturedStickers](../methods/messages_getFeaturedStickers.md) + + + diff --git a/old_docs/API_docs_v62/types/messages_FoundGifs.md b/old_docs/API_docs_v62/types/messages_FoundGifs.md new file mode 100644 index 00000000..2992f9d7 --- /dev/null +++ b/old_docs/API_docs_v62/types/messages_FoundGifs.md @@ -0,0 +1,21 @@ +--- +title: messages_FoundGifs +description: constructors and methods of type messages_FoundGifs +--- +## Type: messages\_FoundGifs +[Back to types index](index.md) + + + +### Possible values (constructors): + +[messages\_foundGifs](../constructors/messages_foundGifs.md) + + + +### Methods that return an object of this type (methods): + +[$MadelineProto->messages->searchGifs](../methods/messages_searchGifs.md) + + + diff --git a/old_docs/API_docs_v62/types/messages_HighScores.md b/old_docs/API_docs_v62/types/messages_HighScores.md new file mode 100644 index 00000000..f9a638cc --- /dev/null +++ b/old_docs/API_docs_v62/types/messages_HighScores.md @@ -0,0 +1,23 @@ +--- +title: messages_HighScores +description: constructors and methods of type messages_HighScores +--- +## Type: messages\_HighScores +[Back to types index](index.md) + + + +### Possible values (constructors): + +[messages\_highScores](../constructors/messages_highScores.md) + + + +### Methods that return an object of this type (methods): + +[$MadelineProto->messages->getGameHighScores](../methods/messages_getGameHighScores.md) + +[$MadelineProto->messages->getInlineGameHighScores](../methods/messages_getInlineGameHighScores.md) + + + diff --git a/old_docs/API_docs_v62/types/messages_MessageEditData.md b/old_docs/API_docs_v62/types/messages_MessageEditData.md new file mode 100644 index 00000000..9e231425 --- /dev/null +++ b/old_docs/API_docs_v62/types/messages_MessageEditData.md @@ -0,0 +1,21 @@ +--- +title: messages_MessageEditData +description: constructors and methods of type messages_MessageEditData +--- +## Type: messages\_MessageEditData +[Back to types index](index.md) + + + +### Possible values (constructors): + +[messages\_messageEditData](../constructors/messages_messageEditData.md) + + + +### Methods that return an object of this type (methods): + +[$MadelineProto->messages->getMessageEditData](../methods/messages_getMessageEditData.md) + + + diff --git a/old_docs/API_docs_v62/types/messages_Messages.md b/old_docs/API_docs_v62/types/messages_Messages.md new file mode 100644 index 00000000..1e796101 --- /dev/null +++ b/old_docs/API_docs_v62/types/messages_Messages.md @@ -0,0 +1,33 @@ +--- +title: messages_Messages +description: constructors and methods of type messages_Messages +--- +## Type: messages\_Messages +[Back to types index](index.md) + + + +### Possible values (constructors): + +[messages\_messages](../constructors/messages_messages.md) + +[messages\_messagesSlice](../constructors/messages_messagesSlice.md) + +[messages\_channelMessages](../constructors/messages_channelMessages.md) + + + +### Methods that return an object of this type (methods): + +[$MadelineProto->messages->getMessages](../methods/messages_getMessages.md) + +[$MadelineProto->messages->getHistory](../methods/messages_getHistory.md) + +[$MadelineProto->messages->search](../methods/messages_search.md) + +[$MadelineProto->messages->searchGlobal](../methods/messages_searchGlobal.md) + +[$MadelineProto->channels->getMessages](../methods/channels_getMessages.md) + + + diff --git a/old_docs/API_docs_v62/types/messages_PeerDialogs.md b/old_docs/API_docs_v62/types/messages_PeerDialogs.md new file mode 100644 index 00000000..60ed8b3c --- /dev/null +++ b/old_docs/API_docs_v62/types/messages_PeerDialogs.md @@ -0,0 +1,23 @@ +--- +title: messages_PeerDialogs +description: constructors and methods of type messages_PeerDialogs +--- +## Type: messages\_PeerDialogs +[Back to types index](index.md) + + + +### Possible values (constructors): + +[messages\_peerDialogs](../constructors/messages_peerDialogs.md) + + + +### Methods that return an object of this type (methods): + +[$MadelineProto->messages->getPeerDialogs](../methods/messages_getPeerDialogs.md) + +[$MadelineProto->messages->getPinnedDialogs](../methods/messages_getPinnedDialogs.md) + + + diff --git a/old_docs/API_docs_v62/types/messages_RecentStickers.md b/old_docs/API_docs_v62/types/messages_RecentStickers.md new file mode 100644 index 00000000..e10980ec --- /dev/null +++ b/old_docs/API_docs_v62/types/messages_RecentStickers.md @@ -0,0 +1,23 @@ +--- +title: messages_RecentStickers +description: constructors and methods of type messages_RecentStickers +--- +## Type: messages\_RecentStickers +[Back to types index](index.md) + + + +### Possible values (constructors): + +[messages\_recentStickersNotModified](../constructors/messages_recentStickersNotModified.md) + +[messages\_recentStickers](../constructors/messages_recentStickers.md) + + + +### Methods that return an object of this type (methods): + +[$MadelineProto->messages->getRecentStickers](../methods/messages_getRecentStickers.md) + + + diff --git a/old_docs/API_docs_v62/types/messages_SavedGifs.md b/old_docs/API_docs_v62/types/messages_SavedGifs.md new file mode 100644 index 00000000..0aa766ec --- /dev/null +++ b/old_docs/API_docs_v62/types/messages_SavedGifs.md @@ -0,0 +1,23 @@ +--- +title: messages_SavedGifs +description: constructors and methods of type messages_SavedGifs +--- +## Type: messages\_SavedGifs +[Back to types index](index.md) + + + +### Possible values (constructors): + +[messages\_savedGifsNotModified](../constructors/messages_savedGifsNotModified.md) + +[messages\_savedGifs](../constructors/messages_savedGifs.md) + + + +### Methods that return an object of this type (methods): + +[$MadelineProto->messages->getSavedGifs](../methods/messages_getSavedGifs.md) + + + diff --git a/old_docs/API_docs_v62/types/messages_SentEncryptedMessage.md b/old_docs/API_docs_v62/types/messages_SentEncryptedMessage.md new file mode 100644 index 00000000..a5376e4b --- /dev/null +++ b/old_docs/API_docs_v62/types/messages_SentEncryptedMessage.md @@ -0,0 +1,27 @@ +--- +title: messages_SentEncryptedMessage +description: constructors and methods of type messages_SentEncryptedMessage +--- +## Type: messages\_SentEncryptedMessage +[Back to types index](index.md) + + + +### Possible values (constructors): + +[messages\_sentEncryptedMessage](../constructors/messages_sentEncryptedMessage.md) + +[messages\_sentEncryptedFile](../constructors/messages_sentEncryptedFile.md) + + + +### Methods that return an object of this type (methods): + +[$MadelineProto->messages->sendEncrypted](../methods/messages_sendEncrypted.md) + +[$MadelineProto->messages->sendEncryptedFile](../methods/messages_sendEncryptedFile.md) + +[$MadelineProto->messages->sendEncryptedService](../methods/messages_sendEncryptedService.md) + + + diff --git a/old_docs/API_docs_v62/types/messages_StickerSet.md b/old_docs/API_docs_v62/types/messages_StickerSet.md new file mode 100644 index 00000000..6fb356d0 --- /dev/null +++ b/old_docs/API_docs_v62/types/messages_StickerSet.md @@ -0,0 +1,21 @@ +--- +title: messages_StickerSet +description: constructors and methods of type messages_StickerSet +--- +## Type: messages\_StickerSet +[Back to types index](index.md) + + + +### Possible values (constructors): + +[messages\_stickerSet](../constructors/messages_stickerSet.md) + + + +### Methods that return an object of this type (methods): + +[$MadelineProto->messages->getStickerSet](../methods/messages_getStickerSet.md) + + + diff --git a/old_docs/API_docs_v62/types/messages_StickerSetInstallResult.md b/old_docs/API_docs_v62/types/messages_StickerSetInstallResult.md new file mode 100644 index 00000000..69808867 --- /dev/null +++ b/old_docs/API_docs_v62/types/messages_StickerSetInstallResult.md @@ -0,0 +1,23 @@ +--- +title: messages_StickerSetInstallResult +description: constructors and methods of type messages_StickerSetInstallResult +--- +## Type: messages\_StickerSetInstallResult +[Back to types index](index.md) + + + +### Possible values (constructors): + +[messages\_stickerSetInstallResultSuccess](../constructors/messages_stickerSetInstallResultSuccess.md) + +[messages\_stickerSetInstallResultArchive](../constructors/messages_stickerSetInstallResultArchive.md) + + + +### Methods that return an object of this type (methods): + +[$MadelineProto->messages->installStickerSet](../methods/messages_installStickerSet.md) + + + diff --git a/old_docs/API_docs_v62/types/messages_Stickers.md b/old_docs/API_docs_v62/types/messages_Stickers.md new file mode 100644 index 00000000..1a159684 --- /dev/null +++ b/old_docs/API_docs_v62/types/messages_Stickers.md @@ -0,0 +1,21 @@ +--- +title: messages_Stickers +description: constructors and methods of type messages_Stickers +--- +## Type: messages\_Stickers +[Back to types index](index.md) + + + +### Possible values (constructors): + +[messages\_stickersNotModified](../constructors/messages_stickersNotModified.md) + +[messages\_stickers](../constructors/messages_stickers.md) + + + +### Methods that return an object of this type (methods): + + + diff --git a/old_docs/API_docs_v62/types/phone_PhoneCall.md b/old_docs/API_docs_v62/types/phone_PhoneCall.md new file mode 100644 index 00000000..5071067a --- /dev/null +++ b/old_docs/API_docs_v62/types/phone_PhoneCall.md @@ -0,0 +1,23 @@ +--- +title: phone_PhoneCall +description: constructors and methods of type phone_PhoneCall +--- +## Type: phone\_PhoneCall +[Back to types index](index.md) + + + +### Possible values (constructors): + +[phone\_phoneCall](../constructors/phone_phoneCall.md) + + + +### Methods that return an object of this type (methods): + +[$MadelineProto->phone->requestCall](../methods/phone_requestCall.md) + +[$MadelineProto->phone->acceptCall](../methods/phone_acceptCall.md) + + + diff --git a/old_docs/API_docs_v62/types/photos_Photo.md b/old_docs/API_docs_v62/types/photos_Photo.md new file mode 100644 index 00000000..e4d99c03 --- /dev/null +++ b/old_docs/API_docs_v62/types/photos_Photo.md @@ -0,0 +1,21 @@ +--- +title: photos_Photo +description: constructors and methods of type photos_Photo +--- +## Type: photos\_Photo +[Back to types index](index.md) + + + +### Possible values (constructors): + +[photos\_photo](../constructors/photos_photo.md) + + + +### Methods that return an object of this type (methods): + +[$MadelineProto->photos->uploadProfilePhoto](../methods/photos_uploadProfilePhoto.md) + + + diff --git a/old_docs/API_docs_v62/types/photos_Photos.md b/old_docs/API_docs_v62/types/photos_Photos.md new file mode 100644 index 00000000..e8de2da7 --- /dev/null +++ b/old_docs/API_docs_v62/types/photos_Photos.md @@ -0,0 +1,23 @@ +--- +title: photos_Photos +description: constructors and methods of type photos_Photos +--- +## Type: photos\_Photos +[Back to types index](index.md) + + + +### Possible values (constructors): + +[photos\_photos](../constructors/photos_photos.md) + +[photos\_photosSlice](../constructors/photos_photosSlice.md) + + + +### Methods that return an object of this type (methods): + +[$MadelineProto->photos->getUserPhotos](../methods/photos_getUserPhotos.md) + + + diff --git a/old_docs/API_docs_v62/types/storage_FileType.md b/old_docs/API_docs_v62/types/storage_FileType.md new file mode 100644 index 00000000..81b5cfb4 --- /dev/null +++ b/old_docs/API_docs_v62/types/storage_FileType.md @@ -0,0 +1,37 @@ +--- +title: storage_FileType +description: constructors and methods of type storage_FileType +--- +## Type: storage\_FileType +[Back to types index](index.md) + + + +### Possible values (constructors): + +[storage\_fileUnknown](../constructors/storage_fileUnknown.md) + +[storage\_fileJpeg](../constructors/storage_fileJpeg.md) + +[storage\_fileGif](../constructors/storage_fileGif.md) + +[storage\_filePng](../constructors/storage_filePng.md) + +[storage\_filePdf](../constructors/storage_filePdf.md) + +[storage\_fileMp3](../constructors/storage_fileMp3.md) + +[storage\_fileMov](../constructors/storage_fileMov.md) + +[storage\_filePartial](../constructors/storage_filePartial.md) + +[storage\_fileMp4](../constructors/storage_fileMp4.md) + +[storage\_fileWebp](../constructors/storage_fileWebp.md) + + + +### Methods that return an object of this type (methods): + + + diff --git a/old_docs/API_docs_v62/types/string.md b/old_docs/API_docs_v62/types/string.md new file mode 100644 index 00000000..7682db48 --- /dev/null +++ b/old_docs/API_docs_v62/types/string.md @@ -0,0 +1,8 @@ +--- +title: string +description: A UTF8 string of variable length +--- +## Type: string +[Back to constructor index](index.md) + +A string of variable length. \ No newline at end of file diff --git a/old_docs/API_docs_v62/types/updates_ChannelDifference.md b/old_docs/API_docs_v62/types/updates_ChannelDifference.md new file mode 100644 index 00000000..c19a8c3c --- /dev/null +++ b/old_docs/API_docs_v62/types/updates_ChannelDifference.md @@ -0,0 +1,25 @@ +--- +title: updates_ChannelDifference +description: constructors and methods of type updates_ChannelDifference +--- +## Type: updates\_ChannelDifference +[Back to types index](index.md) + + + +### Possible values (constructors): + +[updates\_channelDifferenceEmpty](../constructors/updates_channelDifferenceEmpty.md) + +[updates\_channelDifferenceTooLong](../constructors/updates_channelDifferenceTooLong.md) + +[updates\_channelDifference](../constructors/updates_channelDifference.md) + + + +### Methods that return an object of this type (methods): + +[$MadelineProto->updates->getChannelDifference](../methods/updates_getChannelDifference.md) + + + diff --git a/old_docs/API_docs_v62/types/updates_Difference.md b/old_docs/API_docs_v62/types/updates_Difference.md new file mode 100644 index 00000000..2a6def1f --- /dev/null +++ b/old_docs/API_docs_v62/types/updates_Difference.md @@ -0,0 +1,27 @@ +--- +title: updates_Difference +description: constructors and methods of type updates_Difference +--- +## Type: updates\_Difference +[Back to types index](index.md) + + + +### Possible values (constructors): + +[updates\_differenceEmpty](../constructors/updates_differenceEmpty.md) + +[updates\_difference](../constructors/updates_difference.md) + +[updates\_differenceSlice](../constructors/updates_differenceSlice.md) + +[updates\_differenceTooLong](../constructors/updates_differenceTooLong.md) + + + +### Methods that return an object of this type (methods): + +[$MadelineProto->updates->getDifference](../methods/updates_getDifference.md) + + + diff --git a/old_docs/API_docs_v62/types/updates_State.md b/old_docs/API_docs_v62/types/updates_State.md new file mode 100644 index 00000000..b24df144 --- /dev/null +++ b/old_docs/API_docs_v62/types/updates_State.md @@ -0,0 +1,21 @@ +--- +title: updates_State +description: constructors and methods of type updates_State +--- +## Type: updates\_State +[Back to types index](index.md) + + + +### Possible values (constructors): + +[updates\_state](../constructors/updates_state.md) + + + +### Methods that return an object of this type (methods): + +[$MadelineProto->updates->getState](../methods/updates_getState.md) + + + diff --git a/old_docs/API_docs_v62/types/upload_File.md b/old_docs/API_docs_v62/types/upload_File.md new file mode 100644 index 00000000..1c0aabdc --- /dev/null +++ b/old_docs/API_docs_v62/types/upload_File.md @@ -0,0 +1,21 @@ +--- +title: upload_File +description: constructors and methods of type upload_File +--- +## Type: upload\_File +[Back to types index](index.md) + + + +### Possible values (constructors): + +[upload\_file](../constructors/upload_file.md) + + + +### Methods that return an object of this type (methods): + +[$MadelineProto->upload->getFile](../methods/upload_getFile.md) + + + diff --git a/old_docs/README.md b/old_docs/README.md index 701b2d1a..a4efac8b 100644 --- a/old_docs/README.md +++ b/old_docs/README.md @@ -4,4 +4,4 @@ description: Documentation of old mtproto layers --- # Documentation of old mtproto layers -[Layer v57](API_docs_v57/) +[Layer v62](API_docs_v62/) diff --git a/src/danog/MadelineProto/APIFactory.php b/src/danog/MadelineProto/APIFactory.php index a9ea165d..83aea7d2 100644 --- a/src/danog/MadelineProto/APIFactory.php +++ b/src/danog/MadelineProto/APIFactory.php @@ -20,6 +20,18 @@ class APIFactory * @var phone */ public $phone; + /** + * @internal this is a internal property generated by build_docs.php, don't change manually + * + * @var payments + */ + public $payments; + /** + * @internal this is a internal property generated by build_docs.php, don't change manually + * + * @var bots + */ + public $bots; /** * @internal this is a internal property generated by build_docs.php, don't change manually * @@ -80,6 +92,12 @@ class APIFactory * @var auth */ public $auth; + /** + * @internal this is a internal property generated by build_docs.php, don't change manually + * + * @var contest + */ + public $contest; public $namespace; public $API; diff --git a/src/danog/MadelineProto/InternalDoc.php b/src/danog/MadelineProto/InternalDoc.php index d3d99c99..93806165 100644 --- a/src/danog/MadelineProto/InternalDoc.php +++ b/src/danog/MadelineProto/InternalDoc.php @@ -7,6 +7,22 @@ namespace danog\MadelineProto; +interface contest +{ + /** + * @param array params [ + * int vk_id, + * string name, + * string phone_number, + * int age, + * string city, + * ] + * + * @return bool + */ + public function saveDeveloperInfo(array $params); +} + interface auth { /** @@ -400,6 +416,16 @@ interface account * @return bool */ public function confirmPhone(array $params); + + /** + * @param array params [ + * bytes password_hash, + * int period, + * ] + * + * @return account_TmpPassword + */ + public function getTmpPassword(array $params); } interface users @@ -1429,6 +1455,28 @@ interface messages * @return messages_PeerDialogs */ public function getPinnedDialogs(); + + /** + * @param array params [ + * long query_id, + * string error, + * ShippingOption shipping_options, + * ] + * + * @return bool + */ + public function setBotShippingResults(array $params); + + /** + * @param array params [ + * boolean success, + * long query_id, + * string error, + * ] + * + * @return bool + */ + public function setBotPrecheckoutResults(array $params); } interface updates @@ -1541,6 +1589,17 @@ interface upload * @return bool */ public function saveBigFilePart(array $params); + + /** + * @param array params [ + * InputWebFileLocation location, + * int offset, + * int limit, + * ] + * + * @return upload_WebFile + */ + public function getWebFile(array $params); } interface help @@ -1580,9 +1639,13 @@ interface help public function getSupport(); /** - * @return help_AppChangelog + * @param array params [ + * string prev_app_version, + * ] + * + * @return Updates */ - public function getAppChangelog(); + public function getAppChangelog(array $params); /** * @return help_TermsOfService @@ -1870,12 +1933,99 @@ interface channels public function getAdminedPublicChannels(); } -interface phone +interface bots { + /** + * @param array params [ + * string custom_method, + * DataJSON params, + * ] + * + * @return DataJSON + */ + public function sendCustomRequest(array $params); + + /** + * @param array params [ + * long query_id, + * DataJSON data, + * ] + * + * @return bool + */ + public function answerWebhookJSONQuery(array $params); +} + +interface payments +{ + /** + * @param array params [ + * int msg_id, + * ] + * + * @return payments_PaymentForm + */ + public function getPaymentForm(array $params); + + /** + * @param array params [ + * int msg_id, + * ] + * + * @return payments_PaymentReceipt + */ + public function getPaymentReceipt(array $params); + + /** + * @param array params [ + * boolean save, + * int msg_id, + * PaymentRequestedInfo info, + * ] + * + * @return payments_ValidatedRequestedInfo + */ + public function validateRequestedInfo(array $params); + + /** + * @param array params [ + * int msg_id, + * string requested_info_id, + * string shipping_option_id, + * InputPaymentCredentials credentials, + * ] + * + * @return payments_PaymentResult + */ + public function sendPaymentForm(array $params); + + /** + * @return payments_SavedInfo + */ + public function getSavedInfo(); + + /** + * @param array params [ + * boolean credentials, + * boolean info, + * ] + * + * @return bool + */ + public function clearSavedInfo(array $params); +} + +interface phone +{ + /** + * @return DataJSON + */ + public function getCallConfig(); + /** * @param array params [ * InputUser user_id, - * bytes g_a, + * bytes g_a_hash, * PhoneCallProtocol protocol, * ] * @@ -1887,7 +2037,6 @@ interface phone * @param array params [ * InputPhoneCall peer, * bytes g_b, - * long key_fingerprint, * PhoneCallProtocol protocol, * ] * @@ -1898,14 +2047,14 @@ interface phone /** * @param array params [ * InputPhoneCall peer, - * int duration, - * PhoneCallDiscardReason reason, - * long connection_id, + * bytes g_a, + * long key_fingerprint, + * PhoneCallProtocol protocol, * ] * - * @return bool + * @return phone_PhoneCall */ - public function discardCall(array $params); + public function confirmCall(array $params); /** * @param array params [ @@ -1915,4 +2064,37 @@ interface phone * @return bool */ public function receivedCall(array $params); + + /** + * @param array params [ + * InputPhoneCall peer, + * int duration, + * PhoneCallDiscardReason reason, + * long connection_id, + * ] + * + * @return Updates + */ + public function discardCall(array $params); + + /** + * @param array params [ + * InputPhoneCall peer, + * int rating, + * string comment, + * ] + * + * @return Updates + */ + public function setCallRating(array $params); + + /** + * @param array params [ + * InputPhoneCall peer, + * DataJSON debug, + * ] + * + * @return bool + */ + public function saveCallDebug(array $params); } diff --git a/src/danog/MadelineProto/MTProto.php b/src/danog/MadelineProto/MTProto.php index 7b730b31..f545424c 100644 --- a/src/danog/MadelineProto/MTProto.php +++ b/src/danog/MadelineProto/MTProto.php @@ -31,6 +31,8 @@ class MTProto use \danog\MadelineProto\MTProtoTools\Files; use \danog\MadelineProto\SecretChats\AuthKeyHandler; use \danog\MadelineProto\SecretChats\MessageHandler; + use \danog\MadelineProto\SecretChats\ResponseHandler; + use \danog\MadelineProto\SecretChats\SeqNoHandler; use \danog\MadelineProto\TL\TL; use \danog\MadelineProto\TL\Conversion\BotAPI; use \danog\MadelineProto\TL\Conversion\BotAPIFiles; @@ -170,6 +172,7 @@ class MTProto { if (isset($this->reader_pool)) { $this->run_workers = false; + while ($this->reader_pool->collect()); \danog\MadelineProto\Logger::log(['Shutting down reader pool...'], Logger::NOTICE); $this->reader_pool->shutdown(); } @@ -279,11 +282,12 @@ Slv8kg9qv1m6XHVQY3PnEw+QQtqSIXklHwIDAQAB 'lang_code' => 'en', ], 'tl_schema' => [ // TL scheme files - 'layer' => 62, // layer version + 'layer' => 65, // layer version 'src' => [ 'mtproto' => __DIR__.'/TL_mtproto_v1.json', // mtproto TL scheme - 'telegram' => __DIR__.'/TL_telegram_v62.tl', // telegram TL scheme + 'telegram' => __DIR__.'/TL_telegram_v65.tl', // telegram TL scheme 'secret' => __DIR__.'/TL_secret.tl', // secret chats TL scheme + 'calls' => __DIR__.'/TL_calls.tl', // calls TL scheme 'td' => __DIR__.'/TL_td.tl', // telegram-cli TL scheme 'botAPI' => __DIR__.'/TL_botAPI.tl', // bot API TL scheme for file ids ], @@ -483,7 +487,7 @@ Slv8kg9qv1m6XHVQY3PnEw+QQtqSIXklHwIDAQAB public function getV() { - return 6; + return 8; } public function get_self() diff --git a/src/danog/MadelineProto/MTProtoTools/CallHandler.php b/src/danog/MadelineProto/MTProtoTools/CallHandler.php index 71231ddd..41cd23c9 100644 --- a/src/danog/MadelineProto/MTProtoTools/CallHandler.php +++ b/src/danog/MadelineProto/MTProtoTools/CallHandler.php @@ -129,11 +129,15 @@ trait CallHandler //sleep(1); // To avoid flooding continue; } finally { - if (((isset($aargs['heavy']) && $aargs['heavy']) || $method === 'req_pq') && isset($int_message_id)) { + if (isset($aargs['heavy']) && $aargs['heavy'] && isset($int_message_id)) { //$this->datacenter->sockets[$aargs['datacenter']]->outgoing_messages[$int_message_id]['args'] = []; $this->datacenter->sockets[$aargs['datacenter']]->outgoing_messages[$int_message_id] = []; unset($this->datacenter->sockets[$aargs['datacenter']]->new_outgoing[$int_message_id]); } + if (isset($int_message_id) && $method === 'req_pq') { + unset($this->datacenter->sockets[$aargs['datacenter']]->outgoing_messages[$int_message_id]); + unset($this->datacenter->sockets[$aargs['datacenter']]->new_outgoing[$int_message_id]); + } } if ($server_answer === null) { throw new \danog\MadelineProto\Exception('An error occurred while calling method '.$method.' ('.$last_error.').'); diff --git a/src/danog/MadelineProto/MTProtoTools/Files.php b/src/danog/MadelineProto/MTProtoTools/Files.php index 0e9a1f3a..22f5777f 100644 --- a/src/danog/MadelineProto/MTProtoTools/Files.php +++ b/src/danog/MadelineProto/MTProtoTools/Files.php @@ -69,7 +69,8 @@ trait Files if ($encrypted === true) { $constructor['key_fingerprint'] = $fingerprint; $constructor['key'] = $key; - $constructor['key'] = $iv; + $constructor['iv'] = $iv; + $constructor['md5_checksum'] = ''; } return $constructor; diff --git a/src/danog/MadelineProto/MTProtoTools/MsgIdHandler.php b/src/danog/MadelineProto/MTProtoTools/MsgIdHandler.php index 31420535..7b9984e5 100644 --- a/src/danog/MadelineProto/MTProtoTools/MsgIdHandler.php +++ b/src/danog/MadelineProto/MTProtoTools/MsgIdHandler.php @@ -26,11 +26,10 @@ trait MsgIdHandler if ($min_message_id->compare($new_message_id) > 0) { \danog\MadelineProto\Logger::log(['Given message id ('.$new_message_id.') is too old compared to the min value ('.$min_message_id.').'], \danog\MadelineProto\Logger::WARNING); } - /* - if (((int) ((time() + $this->datacenter->sockets[$datacenter]->time_delta + 30) << 32)) < $new_message_id) { + $max_message_id = (new \phpseclib\Math\BigInteger(time() + $this->datacenter->sockets[$aargs['datacenter']]->time_delta + 30))->bitwise_leftShift(32); + if ($max_message_id->compare($new_message_id) < 0) { throw new \danog\MadelineProto\Exception('Given message id ('.$new_message_id.') is too new.'); } - */ if ($aargs['outgoing']) { if (!$new_message_id->divide($this->four)[1]->equals($this->zero)) { throw new \danog\MadelineProto\Exception('Given message id ('.$new_message_id.') is not divisible by 4.'); @@ -71,13 +70,6 @@ trait MsgIdHandler public function generate_message_id($datacenter) { $message_id = (new \phpseclib\Math\BigInteger(time() + $this->datacenter->sockets[$datacenter]->time_delta))->bitwise_leftShift(32); - /* - $int_message_id = (int) ( - ((int) ($ms_time / 1000) << 32) | - ($this->posmod($ms_time, 1000) << 22) | - rand(0, 524288) << 2 - ); - */ $key = $this->get_max_id($datacenter, false); if ($message_id->compare($key) <= 0) { $message_id = $key->add($this->four); diff --git a/src/danog/MadelineProto/MTProtoTools/PeerHandler.php b/src/danog/MadelineProto/MTProtoTools/PeerHandler.php index 41bbe208..dd1ee3f2 100644 --- a/src/danog/MadelineProto/MTProtoTools/PeerHandler.php +++ b/src/danog/MadelineProto/MTProtoTools/PeerHandler.php @@ -69,11 +69,11 @@ trait PeerHandler break; case 'channel': case 'channelForbidden': - if (!isset($this->chats[(int) ('-100'.$chat['id'])]) || $this->chats[(int) ('-100'.$chat['id'])] !== $chat) { - $this->chats[(int) ('-100'.$chat['id'])] = $chat; + if (!isset($this->chats[$this->to_supergroup($chat['id'])]) || $this->chats[$this->to_supergroup($chat['id'])] !== $chat) { + $this->chats[$this->to_supergroup($chat['id'])] = $chat; $this->should_serialize = true; try { - $this->get_pwr_chat('-100'.$chat['id'], true, true); + $this->get_pwr_chat($this->to_supergroup($chat['id']), true, true); } catch (\danog\MadelineProto\Exception $e) { \danog\MadelineProto\Logger::log([$e->getMessage()], \danog\MadelineProto\Logger::WARNING); } catch (\danog\MadelineProto\RPCErrorException $e) { @@ -164,16 +164,16 @@ trait PeerHandler break; case 'channel': - $id = '-100'.$id['id']; + $id = $this->to_supergroup($id['id']); break; case 'channelFull': - $id = '-100'.$id['id']; + $id = $this->to_supergroup($id['id']); break; case 'inputPeerChannel': case 'inputChannel': case 'peerChannel': - $id = '-100'.$id['channel_id']; + $id = $this->to_supergroup($id['channel_id']); break; default: throw new \danog\MadelineProto\Exception('Invalid constructor given '.var_export($id, true)); @@ -182,7 +182,7 @@ trait PeerHandler } if (preg_match('/^channel#/', $id)) { - $id = preg_replace('|\D+|', '-100', $id); + $id = $this->to_supergroup(preg_replace('|\D+|', '', $id)); } if (preg_match('/^chat#/', $id)) { $id = preg_replace('|\D+|', '-', $id); @@ -192,7 +192,7 @@ trait PeerHandler } if (is_numeric($id)) { - $id = (int) $id; + if (is_string($id)) $id = $this->bigint ? ((float) $id) : ((int) $id); if (isset($this->chats[$id])) { return $this->gen_all($this->chats[$id]); } @@ -257,7 +257,7 @@ trait PeerHandler } $res['Peer'] = ['_' => 'peerChannel', 'channel_id' => $constructor['id']]; $res['channel_id'] = $constructor['id']; - $res['bot_api_id'] = (int) ('-100'.$constructor['id']); + $res['bot_api_id'] = $this->to_supergroup($constructor['id']); $res['type'] = $constructor['megagroup'] ? 'supergroup' : 'channel'; break; default: @@ -505,4 +505,7 @@ trait PeerHandler } throw new \danog\MadelineProto\Exception('resolve_username returned an unexpected constructor: '.var_export($res, true)); } + public function to_supergroup($id) { + return -($id + pow(10, (int) floor(log($id, 10)+3))); + } } diff --git a/src/danog/MadelineProto/MTProtoTools/ResponseHandler.php b/src/danog/MadelineProto/MTProtoTools/ResponseHandler.php index 3cd927d2..a5e5dd20 100644 --- a/src/danog/MadelineProto/MTProtoTools/ResponseHandler.php +++ b/src/danog/MadelineProto/MTProtoTools/ResponseHandler.php @@ -427,68 +427,4 @@ trait ResponseHandler break; } } - - public function handle_decrypted_update($update) - { - if (isset($update['message']['decrypted_message']['random_bytes']) && strlen($update['message']['decrypted_message']['random_bytes']) < 15) { - throw new \danog\MadelineProto\ResponseException('random_bytes is too short!'); - } - $this->secret_chats[$update['message']['chat_id']]['incoming'][] = $update['message']; - switch ($update['message']['decrypted_message']['_']) { - case 'decryptedMessageService': - switch ($update['message']['decrypted_message']['action']) { - case 'decryptedMessageActionRequestKey': - $this->accept_rekey($update['message']['chat_id'], $update['message']['decrypted_message']['action']); - - return; - - case 'decryptedMessageActionAcceptKey': - $this->commit_rekey($update['message']['chat_id'], $update['message']['decrypted_message']['action']); - - return; - - case 'decryptedMessageActionCommitKey': - $this->complete_rekey($update['message']['chat_id'], $update['message']['decrypted_message']['action']); - - return; - - case 'decryptedMessageActionNotifyLayer': - $this->secret_chats[$update['message']['chat_id']]['layer'] = $update['message']['decrypted_message']['action']['layer']; - if ($update['message']['decrypted_message']['action']['layer'] >= 17 && time() - $this->secret_chats[$update['message']['chat_id']]['created'] > 15) { - $this->notify_layer($update['message']['chat_id']); - } - - return; - - case 'decryptedMessageActionSetMessageTTL': - $this->secret_chats[$update['message']['chat_id']]['ttl'] = $update['message']['decrypted_message']['action']['ttl_seconds']; - - return; - - case 'decryptedMessageActionResend': - foreach ($this->secret_chats[$update['message']['chat_id']]['outgoing'] as $seq => $update['message']['decrypted_message']) { - if ($seq >= $update['message']['decrypted_message']['action']['start_seq_no'] && $seq <= $update['message']['decrypted_message']['action']['end_seq_no']) { - throw new \danog\MadelineProto\ResponseException('Resending of messages is not yet supported'); -// $this->send_encrypted_message($update['message']['chat_id'], $update['message']['decrypted_message']); - } - } - - return; - default: -// $this->save_update(['_' => 'updateNewDecryptedMessage', 'peer' => $this->secret_chats[$update['message']['chat_id']]['InputEncryptedChat'], 'in_seq_no' => $this->get_in_seq_no($update['message']['chat_id']), 'out_seq_no' => $this->get_out_seq_no($update['message']['chat_id']), 'message' => $update['message']['decrypted_message']]); - $this->save_update($update); - } - break; - case 'decryptedMessage': - $this->save_update($update); - break; - case 'decryptedMessageLayer': - $update['message']['decrypted_message'] = $update['message']['decrypted_message']['message']; - $this->handle_decrypted_update($update); - break; - default: - throw new \danog\MadelineProto\ResponseException('Unrecognized decrypted message received: '.var_export($update)); - break; - } - } } diff --git a/src/danog/MadelineProto/MTProtoTools/UpdateHandler.php b/src/danog/MadelineProto/MTProtoTools/UpdateHandler.php index 627404ef..8342a976 100644 --- a/src/danog/MadelineProto/MTProtoTools/UpdateHandler.php +++ b/src/danog/MadelineProto/MTProtoTools/UpdateHandler.php @@ -316,7 +316,7 @@ trait UpdateHandler (isset($update['message']['fwd_from']) && !$this->fwd_peer_isset($update['message']['fwd_from']))) { \danog\MadelineProto\Logger::log(['Not enough data for message update, getting difference...'], \danog\MadelineProto\Logger::VERBOSE); - if ($channel_id !== false && $this->peer_isset('-100'.$channel_id)) { + if ($channel_id !== false && $this->peer_isset($this->to_supergroup($channel_id))) { $this->get_channel_difference($channel_id); } else { $this->force_get_updates_difference(); @@ -348,7 +348,7 @@ trait UpdateHandler $this->cur_state['pending_pts_updates'][] = $update; - if ($channel_id !== false && $this->peer_isset('-100'.$channel_id)) { + if ($channel_id !== false && $this->peer_isset($this->to_supergroup($channel_id))) { $this->get_channel_difference($channel_id); } else { $this->get_updates_difference(); @@ -513,7 +513,6 @@ trait UpdateHandler if ($update['qts'] > $cur_state['qts'] + 1) { \danog\MadelineProto\Logger::log(['Qts hole. update qts: '.$update['qts'].' > current qts '.$cur_state['qts'].'+1, chat id: '.$update['message']['chat_id']], \danog\MadelineProto\Logger::ERROR); $this->get_updates_difference(); - return false; } \danog\MadelineProto\Logger::log(['Applying qts: '.$update['qts'].' over current qts '.$cur_state['qts'].', chat id: '.$update['message']['chat_id']], \danog\MadelineProto\Logger::VERBOSE); diff --git a/src/danog/MadelineProto/SecretChats/AuthKeyHandler.php b/src/danog/MadelineProto/SecretChats/AuthKeyHandler.php index bf6856a6..a4c90cba 100644 --- a/src/danog/MadelineProto/SecretChats/AuthKeyHandler.php +++ b/src/danog/MadelineProto/SecretChats/AuthKeyHandler.php @@ -24,6 +24,7 @@ trait AuthKeyHandler public function accept_secret_chat($params) { + $this->should_serialize = true; $dh_config = $this->get_dh_config(); \danog\MadelineProto\Logger::log(['Generating b...'], \danog\MadelineProto\Logger::VERBOSE); $b = new \phpseclib\Math\BigInteger($this->random(256), 256); @@ -33,7 +34,7 @@ trait AuthKeyHandler $key['fingerprint'] = substr(sha1($key['auth_key'], true), -8); $key['visualization_orig'] = substr(sha1($key['auth_key'], true), 16); $key['visualization_46'] = substr(hash('sha256', $key['auth_key'], true), 20); - $this->secret_chats[$params['id']] = ['key' => $key, 'admin' => false, 'user_id' => $params['admin_id'], 'InputEncryptedChat' => ['_' => 'inputEncryptedChat', 'chat_id' => $params['id'], 'access_hash' => $params['access_hash']], 'in_seq_no_x' => 1, 'out_seq_no_x' => 0, 'layer' => 8, 'ttl' => PHP_INT_MAX, 'ttr' => 100, 'updated' => time(), 'incoming' => [], 'outgoing' => [], 'created' => time(), 'rekeying' => [0]]; + $this->secret_chats[$params['id']] = ['key' => $key, 'admin' => false, 'user_id' => $params['admin_id'], 'InputEncryptedChat' => ['_' => 'inputEncryptedChat', 'chat_id' => $params['id'], 'access_hash' => $params['access_hash']], 'in_seq_no_x' => 1, 'out_seq_no_x' => 0, 'in_seq_no' => 0, 'out_seq_no' => 0, 'layer' => 8, 'ttl' => 0, 'ttr' => 100, 'updated' => time(), 'incoming' => [], 'outgoing' => [], 'created' => time(), 'rekeying' => [0]]; $g_b = $dh_config['g']->powMod($b, $dh_config['p']); $this->check_G($g_b, $dh_config['p']); $this->notify_layer($params['id']); @@ -42,6 +43,7 @@ trait AuthKeyHandler public function request_secret_chat($user) { + $this->should_serialize = true; $user = $this->get_info($user)['InputUser']; \danog\MadelineProto\Logger::log(['Creating secret chat with '.$user['user_id'].'...'], \danog\MadelineProto\Logger::VERBOSE); $dh_config = $this->get_dh_config(); @@ -65,6 +67,7 @@ trait AuthKeyHandler return false; } + $this->should_serialize = true; $dh_config = $this->get_dh_config(); $params['g_a_or_b'] = new \phpseclib\Math\BigInteger($params['g_a_or_b'], 256); $this->check_G($params['g_a_or_b'], $dh_config['p']); @@ -78,7 +81,7 @@ trait AuthKeyHandler } $key['visualization_orig'] = substr(sha1($key['auth_key'], true), 16); $key['visualization_46'] = substr(hash('sha256', $key['auth_key'], true), 20); - $this->secret_chats[$params['id']] = ['key' => $key, 'admin' => true, 'user_id' => $params['participant_id'], 'InputEncryptedChat' => ['chat_id' => $params['id'], 'access_hash' => $params['access_hash'], '_' => 'inputEncryptedChat'], 'in_seq_no_x' => 0, 'out_seq_no_x' => 1, 'layer' => 8, 'ttl' => PHP_INT_MAX, 'ttr' => 100, 'updated' => time(), 'incoming' => [], 'outgoing' => [], 'created' => time(), 'rekeying' => [0]]; + $this->secret_chats[$params['id']] = ['key' => $key, 'admin' => true, 'user_id' => $params['participant_id'], 'InputEncryptedChat' => ['chat_id' => $params['id'], 'access_hash' => $params['access_hash'], '_' => 'inputEncryptedChat'], 'in_seq_no_x' => 0, 'out_seq_no_x' => 1, 'in_seq_no' => 0, 'out_seq_no' => 0, 'layer' => 8, 'ttl' => 0, 'ttr' => 100, 'updated' => time(), 'incoming' => [], 'outgoing' => [], 'created' => time(), 'rekeying' => [0]]; $this->notify_layer($params['id']); $this->handle_pending_updates(); } @@ -95,6 +98,7 @@ trait AuthKeyHandler if ($this->secret_chats[$chat]['rekeying'][0] !== 0) { return; } + $this->should_serialize = true; \danog\MadelineProto\Logger::log(['Rekeying secret chat '.$chat.'...'], \danog\MadelineProto\Logger::VERBOSE); $dh_config = $this->get_dh_config(); \danog\MadelineProto\Logger::log(['Generating a...'], \danog\MadelineProto\Logger::VERBOSE); @@ -103,9 +107,9 @@ trait AuthKeyHandler $g_a = $dh_config['g']->powMod($a, $dh_config['p']); $this->check_G($g_a, $dh_config['p']); $e = $this->random(8); - $this->method_call('messages.sendEncryptedService', ['peer' => $chat, 'message' => ['_' => 'decryptedMessageService', 'action' => ['_' => 'decryptedMessageActionRequestKey', 'g_a' => $g_a->toBytes(), 'exchange_id' => $e]]], ['datacenter' => $this->datacenter->curdc]); $this->temp_rekeyed_secret_chats[$e] = $a; $this->secret_chats[$chat]['rekeying'] = [1, $e]; + $this->method_call('messages.sendEncryptedService', ['peer' => $chat, 'message' => ['_' => 'decryptedMessageService', 'action' => ['_' => 'decryptedMessageActionRequestKey', 'g_a' => $g_a->toBytes(), 'exchange_id' => $e]]], ['datacenter' => $this->datacenter->curdc]); $this->handle_pending_updates(); $this->get_updates_difference(); @@ -126,6 +130,7 @@ trait AuthKeyHandler return; } } + $this->should_serialize = true; \danog\MadelineProto\Logger::log(['Accepting rekeying of secret chat '.$chat.'...'], \danog\MadelineProto\Logger::VERBOSE); $dh_config = $this->get_dh_config(); \danog\MadelineProto\Logger::log(['Generating b...'], \danog\MadelineProto\Logger::VERBOSE); @@ -151,6 +156,7 @@ trait AuthKeyHandler if ($this->secret_chats[$chat]['rekeying'][0] !== 1) { return; } + $this->should_serialize = true; \danog\MadelineProto\Logger::log(['Committing rekeying of secret chat '.$chat.'...'], \danog\MadelineProto\Logger::VERBOSE); $dh_config = $this->get_dh_config(); $params['g_b'] = new \phpseclib\Math\BigInteger($params['g_b'], 256); @@ -166,6 +172,7 @@ trait AuthKeyHandler $this->method_call('messages.sendEncryptedService', ['peer' => $chat, 'message' => ['_' => 'decryptedMessageService', 'action' => ['_' => 'decryptedMessageActionCommitKey', 'exchange_id' => $params['exchange_id'], 'key_fingerprint' => $key['fingerprint']]]], ['datacenter' => $this->datacenter->curdc]); unset($this->temp_rekeyed_secret_chats[$chat]); $this->secret_chats[$chat]['rekeying'] = [0]; + $this->secret_chats[$chat]['old_key'] = $this->secret_chats[$chat]['key']; $this->secret_chats[$chat]['key'] = $key; $this->secret_chats[$chat]['ttr'] = 100; $this->secret_chats[$chat]['updated'] = time(); @@ -183,9 +190,11 @@ trait AuthKeyHandler $this->method_call('messages.sendEncryptedService', ['peer' => $chat, 'message' => ['_' => 'decryptedMessageService', 'action' => ['_' => 'decryptedMessageActionAbortKey', 'exchange_id' => $params['exchange_id']]]], ['datacenter' => $this->datacenter->curdc]); throw new \danog\MadelineProto\SecurityException('Invalid key fingerprint!'); } + $this->should_serialize = true; \danog\MadelineProto\Logger::log(['Completing rekeying of secret chat '.$chat.'...'], \danog\MadelineProto\Logger::VERBOSE); $this->secret_chats[$chat]['rekeying'] = [0]; - $this->secret_chats[$chat]['key'] = $this->temp_rekeyed_secret_chats; + $this->secret_chats[$chat]['old_key'] = $this->secret_chats[$chat]['key']; + $this->secret_chats[$chat]['key'] = $this->temp_rekeyed_secret_chats[$chat]; $this->secret_chats[$chat]['ttr'] = 100; $this->secret_chats[$chat]['updated'] = time(); unset($this->temp_rekeyed_secret_chats[$params['exchange_id']]); diff --git a/src/danog/MadelineProto/SecretChats/MessageHandler.php b/src/danog/MadelineProto/SecretChats/MessageHandler.php index e9cede6f..38d86136 100644 --- a/src/danog/MadelineProto/SecretChats/MessageHandler.php +++ b/src/danog/MadelineProto/SecretChats/MessageHandler.php @@ -24,19 +24,25 @@ trait MessageHandler return false; } - $message = $this->serialize_object(['type' => $message['_']], $message, $this->secret_chats[$chat_id]['layer']); - $this->secret_chats[$chat_id]['outgoing'][] = $message; + $this->secret_chats[$chat_id]['ttr']--; - if (($this->secret_chats[$chat_id]['ttr'] <= 0 || time() - $this->secret_chats[$chat_id]['updated'] > 7 * 24 * 60 * 60) && $this->secret_chats[$chat_id]['rekeying'] === 0) { + if (($this->secret_chats[$chat_id]['ttr'] <= 0 || time() - $this->secret_chats[$chat_id]['updated'] > 7 * 24 * 60 * 60) && $this->secret_chats[$chat_id]['rekeying'][0] === 0) { $this->rekey($chat_id); } - + if ($this->secret_chats[$chat_id]['layer'] !== 8) { + $message = ['_' => 'decryptedMessageLayer', 'layer' => $this->secret_chats[$chat_id]['layer'], 'in_seq_no' => $this->generate_secret_in_seq_no($chat_id), 'out_seq_no' => $this->generate_secret_out_seq_no($chat_id), 'message' => $message]; + } + $this->secret_chats[$chat_id]['outgoing'][$this->secret_chats[$chat_id]['out_seq_no']] = $message; + $message = $this->serialize_object(['type' => $this->secret_chats[$chat_id]['layer'] === 8 ? 'DecryptedMessage' : 'DecryptedMessageLayer'], $message, $this->secret_chats[$chat_id]['layer']); $message = \danog\PHP\Struct::pack('aes_calculate($message_key, $this->secret_chats[$chat_id]['key']['auth_key'], 'to server'); - $padding = $this->random($this->posmod(-strlen($message), 16)); - $message = $this->secret_chats[$chat_id]['key']['fingerprint'].$message_key.$this->ige_encrypt($message.$padding, $aes_key, $aes_iv); + $message .= $this->random($this->posmod(-strlen($message), 16)); + $this->secret_chats[$chat_id]['out_seq_no']++; + + $message = $this->secret_chats[$chat_id]['key']['fingerprint'].$message_key.$this->ige_encrypt($message, $aes_key, $aes_iv); return $message; } @@ -48,12 +54,17 @@ trait MessageHandler return false; } $auth_key_id = substr($message['message']['bytes'], 0, 8); + $old = false; if ($auth_key_id !== $this->secret_chats[$message['message']['chat_id']]['key']['fingerprint']) { - throw new \danog\MadelineProto\SecurityException('Key fingerprint mismatch'); + if (isset($this->secret_chats[$message['message']['chat_id']]['old_key']['fingerprint'])) { + if ($auth_key_id !== $this->secret_chats[$message['message']['chat_id']]['old_key']['fingerprint']) throw new \danog\MadelineProto\SecurityException('Key fingerprint mismatch'); + $old = true; + } else throw new \danog\MadelineProto\SecurityException('Key fingerprint mismatch'); + } $message_key = substr($message['message']['bytes'], 8, 16); $encrypted_data = substr($message['message']['bytes'], 24); - list($aes_key, $aes_iv) = $this->aes_calculate($message_key, $this->secret_chats[$message['message']['chat_id']]['key']['auth_key'], 'to server'); + list($aes_key, $aes_iv) = $this->aes_calculate($message_key, $this->secret_chats[$message['message']['chat_id']][$old ? 'old_key' : 'key']['auth_key'], 'to server'); $decrypted_data = $this->ige_decrypt($encrypted_data, $aes_key, $aes_iv); $message_data_length = \danog\PHP\Struct::unpack(' strlen($decrypted_data)) { @@ -64,23 +75,21 @@ trait MessageHandler throw new \danog\MadelineProto\SecurityException('difference between message_data_length and the length of the remaining decrypted buffer is too big'); } - if ($message_data_length % 4 != 0) { - throw new \danog\MadelineProto\SecurityException('message_data_length not divisible by 4'); + if (strlen($decrypted_data) % 16 != 0) { + throw new \danog\MadelineProto\SecurityException('length of decrypted data is not divisible by 16'); } $message_data = substr($decrypted_data, 4, $message_data_length); if ($message_key != substr(sha1(substr($decrypted_data, 0, 4 + $message_data_length), true), -16)) { throw new \danog\MadelineProto\SecurityException('msg_key mismatch'); } $deserialized = $this->deserialize($message_data, ['type' => '']); - if (strlen($deserialized['random_bytes']) < 15) { - throw new \danog\MadelineProto\SecurityException('random_bytes is too short'); - } $this->secret_chats[$message['message']['chat_id']]['ttr']--; - if (($this->secret_chats[$message['message']['chat_id']]['ttr'] <= 0 || time() - $this->secret_chats[$message['message']['chat_id']]['updated'] > 7 * 24 * 60 * 60) && $this->secret_chats[$message['message']['chat_id']]['rekeying'] === 0) { + if (($this->secret_chats[$message['message']['chat_id']]['ttr'] <= 0 || time() - $this->secret_chats[$message['message']['chat_id']]['updated'] > 7 * 24 * 60 * 60) && $this->secret_chats[$message['message']['chat_id']]['rekeying'][0] === 0) { $this->rekey($message['message']['chat_id']); } unset($message['message']['bytes']); $message['message']['decrypted_message'] = $deserialized; + $this->secret_chats[$message['message']['chat_id']]['incoming'][$this->secret_chats[$message['message']['chat_id']]['in_seq_no']++] = $message['message']; $this->handle_decrypted_update($message); } } diff --git a/src/danog/MadelineProto/SecretChats/ResponseHandler.php b/src/danog/MadelineProto/SecretChats/ResponseHandler.php new file mode 100644 index 00000000..89a33505 --- /dev/null +++ b/src/danog/MadelineProto/SecretChats/ResponseHandler.php @@ -0,0 +1,84 @@ +. +*/ + +namespace danog\MadelineProto\SecretChats; + +/** + * Manages responses. + */ +trait ResponseHandler +{ + public function handle_decrypted_update($update) + { + if (isset($update['message']['decrypted_message']['random_bytes']) && strlen($update['message']['decrypted_message']['random_bytes']) < 15) { + throw new \danog\MadelineProto\ResponseException('random_bytes is too short!'); + } + switch ($update['message']['decrypted_message']['_']) { + case 'decryptedMessageService': + switch ($update['message']['decrypted_message']['action']['_']) { + case 'decryptedMessageActionRequestKey': + $this->accept_rekey($update['message']['chat_id'], $update['message']['decrypted_message']['action']); + + return; + + case 'decryptedMessageActionAcceptKey': + $this->commit_rekey($update['message']['chat_id'], $update['message']['decrypted_message']['action']); + + return; + + case 'decryptedMessageActionCommitKey': + $this->complete_rekey($update['message']['chat_id'], $update['message']['decrypted_message']['action']); + + return; + + case 'decryptedMessageActionNotifyLayer': + $this->secret_chats[$update['message']['chat_id']]['layer'] = $update['message']['decrypted_message']['action']['layer']; + if ($update['message']['decrypted_message']['action']['layer'] >= 17 && time() - $this->secret_chats[$update['message']['chat_id']]['created'] > 15) { + $this->notify_layer($update['message']['chat_id']); + } + + return; + + case 'decryptedMessageActionSetMessageTTL': + $this->secret_chats[$update['message']['chat_id']]['ttl'] = $update['message']['decrypted_message']['action']['ttl_seconds']; + + return; + + case 'decryptedMessageActionResend': + foreach ($this->secret_chats[$update['message']['chat_id']]['outgoing'] as $seq => $update['message']['decrypted_message']) { + if ($seq >= $update['message']['decrypted_message']['action']['start_seq_no'] && $seq <= $update['message']['decrypted_message']['action']['end_seq_no']) { + throw new \danog\MadelineProto\ResponseException('Resending of messages is not yet supported'); +// $this->send_encrypted_message($update['message']['chat_id'], $update['message']['decrypted_message']); + } + } + + return; + default: +// $this->save_update(['_' => 'updateNewDecryptedMessage', 'peer' => $this->secret_chats[$update['message']['chat_id']]['InputEncryptedChat'], 'in_seq_no' => $this->get_in_seq_no($update['message']['chat_id']), 'out_seq_no' => $this->get_out_seq_no($update['message']['chat_id']), 'message' => $update['message']['decrypted_message']]); + $this->save_update($update); + } + break; + case 'decryptedMessage': + $this->save_update($update); + break; + case 'decryptedMessageLayer': + if ($this->check_secret_out_seq_no($update['message']['chat_id'], $update['message']['decrypted_message']['out_seq_no']) && $this->check_secret_in_seq_no($update['message']['chat_id'], $update['message']['decrypted_message']['in_seq_no'])) { + $update['message']['decrypted_message'] = $update['message']['decrypted_message']['message']; + $this->handle_decrypted_update($update); + } + break; + default: + throw new \danog\MadelineProto\ResponseException('Unrecognized decrypted message received: '.var_export($update)); + break; + } + } +} diff --git a/src/danog/MadelineProto/SecretChats/SeqNoHandler.php b/src/danog/MadelineProto/SecretChats/SeqNoHandler.php new file mode 100644 index 00000000..08d7eb43 --- /dev/null +++ b/src/danog/MadelineProto/SecretChats/SeqNoHandler.php @@ -0,0 +1,75 @@ +. +*/ + +namespace danog\MadelineProto\SecretChats; + +/** + * Manages sequence numbers. + */ +trait SeqNoHandler +{ + public function check_secret_in_seq_no($chat_id, $seqno) + { + $seqno = ($seqno - $this->secret_chats[$chat_id]['out_seq_no_x'])/2; + $last = 0; + foreach ($this->secret_chats[$chat_id]['incoming'] as $message) { + if (isset($message['decrypted_message']['in_seq_no'])) { + if (($message['decrypted_message']['in_seq_no'] - $this->secret_chats[$chat_id]['out_seq_no_x'])/2 < $last) { + + unset($this->secret_chats[$chat_id]); + throw new \danog\MadelineProto\SecurityException('in_seq_no is not increasing'); + } + $last = ($message['decrypted_message']['in_seq_no'] - $this->secret_chats[$chat_id]['out_seq_no_x'])/2; + } + } + if ($seqno > $this->secret_chats[$chat_id]['out_seq_no']+1) { + unset($this->secret_chats[$chat_id]); + throw new \danog\MadelineProto\SecurityException('in_seq_no is too big'); + } + return true; + + } + public function check_secret_out_seq_no($chat_id, $seqno) + { + $seqno = ($seqno - $this->secret_chats[$chat_id]['in_seq_no_x'])/2; + $C = 0; + foreach ($this->secret_chats[$chat_id]['incoming'] as $message) { + if (isset($message['decrypted_message']['out_seq_no']) && $C !== $this->secret_chats[$chat_id]['in_seq_no']-1) { + if (($message['decrypted_message']['out_seq_no'] - $this->secret_chats[$chat_id]['in_seq_no_x']) / 2 !== $C) { + throw new \danog\MadelineProto\SecurityException('out_seq_no hole: should be '.$C.', is '.(($message['decrypted_message']['out_seq_no'] - $this->secret_chats[$chat_id]['in_seq_no_x'])/2)); + } else $C++; + } + } + if ($seqno < $C) { // <= C + \danog\MadelineProto\Logger::log(['WARNING: dropping repeated message with seqno '.$seqno]); + $this->secret_chats[$chat_id]['in_seq_no']--; + return false; + } + if ($seqno > $C) { // > C+1 + unset($this->secret_chats[$chat_id]); + throw new \danog\MadelineProto\SecurityException('WARNING: out_seq_no gap detected ('.$seqno.' > '.$C.')!'); + return false; + } + return true; + } + + public function generate_secret_in_seq_no($chat) + { + return ($this->secret_chats[$chat]['in_seq_no'] * 2) + $this->secret_chats[$chat]['in_seq_no_x']; + } + + public function generate_secret_out_seq_no($chat) + { + return ($this->secret_chats[$chat]['out_seq_no'] * 2) + $this->secret_chats[$chat]['out_seq_no_x']; + } + +} diff --git a/src/danog/MadelineProto/Serialization.php b/src/danog/MadelineProto/Serialization.php index ca8c8ee0..830f0a31 100644 --- a/src/danog/MadelineProto/Serialization.php +++ b/src/danog/MadelineProto/Serialization.php @@ -52,7 +52,7 @@ class Serialization if (file_exists($filename)) { $file = fopen($filename, 'r+'); - flock($file, LOCK_EX); + flock($file, LOCK_SH); $unserialized = stream_get_contents($file); flock($file, LOCK_UN); fclose($file); diff --git a/src/danog/MadelineProto/TL/Conversion/BotAPIFiles.php b/src/danog/MadelineProto/TL/Conversion/BotAPIFiles.php index be8f61f1..d9843fa9 100644 --- a/src/danog/MadelineProto/TL/Conversion/BotAPIFiles.php +++ b/src/danog/MadelineProto/TL/Conversion/BotAPIFiles.php @@ -87,7 +87,7 @@ trait BotAPIFiles throw new Exception('Invalid last byte'); } $deserialized = $this->deserialize($file_id); - $res = ['type' => str_replace('bot_', $deserialized['_'])]; + $res = ['type' => str_replace('bot_', '', $deserialized['_'])]; switch ($deserialized['_']) { case 'bot_thumbnail': case 'bot_photo': diff --git a/src/danog/MadelineProto/TL/TL.php b/src/danog/MadelineProto/TL/TL.php index 115fdef9..13d88441 100644 --- a/src/danog/MadelineProto/TL/TL.php +++ b/src/danog/MadelineProto/TL/TL.php @@ -79,7 +79,7 @@ trait TL continue; } if (preg_match('|^===\d*===$|', $line)) { - $layer = preg_replace('|\D*|', '', $line); + $layer = (int) preg_replace('|\D*|', '', $line); continue; } if (preg_match('/^vector#/', $line)) { @@ -280,7 +280,7 @@ trait TL $l = strlen($object); $concat = ''; if ($l <= 253) { - $concat .= \danog\PHP\Struct::pack('posmod((-$l - 1), 4)); } else { @@ -322,7 +322,7 @@ trait TL } $predicate = $object['_']; - $constructorData = $this->constructors->find_by_predicate($predicate); + $constructorData = $this->constructors->find_by_predicate($predicate, $layer); if ($constructorData === false) { \danog\MadelineProto\Logger::log([$object], \danog\MadelineProto\Logger::FATAL_ERROR); throw new Exception('Could not extract type'); @@ -343,8 +343,7 @@ trait TL if (!$bare) { $concat .= \danog\PHP\Struct::pack('serialize_params($constructorData, $object); + return $concat.$this->serialize_params($constructorData, $object, $layer); } public function serialize_method($method, $arguments) @@ -357,7 +356,7 @@ trait TL return \danog\PHP\Struct::pack('serialize_params($tl, $arguments); } - public function serialize_params($tl, $arguments) + public function serialize_params($tl, $arguments, $layer = -1) { $serialized = ''; @@ -391,7 +390,7 @@ trait TL continue; } if ($current_argument['name'] === 'random_bytes') { - $serialized .= $this->random(15 + random_int(0, 10)); + $serialized .= $this->serialize_object(['type' => 'bytes'], $this->random(15+(4*(random_int(0, PHP_INT_MAX) % 3)))); continue; } if ($current_argument['name'] === 'data' && isset($arguments['message'])) { @@ -421,7 +420,7 @@ trait TL $arguments[$current_argument['name']] = $this->secret_chats[$arguments[$current_argument['name']]]['InputEncryptedChat']; } //\danog\MadelineProto\Logger::log(['Serializing '.$current_argument['name'].' of type '.$current_argument['type']); - $serialized .= $this->serialize_object($current_argument, $arguments[$current_argument['name']]); + $serialized .= $this->serialize_object($current_argument, $arguments[$current_argument['name']], $layer); } return $serialized; @@ -555,10 +554,15 @@ trait TL break; } } - if (in_array($arg['name'], ['msg_ids', 'msg_id', 'bad_msg_id', 'req_msg_id', 'answer_msg_id', 'first_msg_id', 'key_fingerprint', 'server_salt', 'new_server_salt', 'server_public_key_fingerprints', 'ping_id'])) { + if (in_array($arg['name'], ['msg_ids', 'msg_id', 'bad_msg_id', 'req_msg_id', 'answer_msg_id', 'first_msg_id', 'key_fingerprint', 'server_salt', 'new_server_salt', 'server_public_key_fingerprints', 'ping_id', 'exchange_id'])) { $arg['strlong'] = true; } $x[$arg['name']] = $this->deserialize($bytes_io, $arg); + if ($arg['name'] === 'random_bytes') { + if (strlen($x[$arg['name']]) < 15) { + throw new \danog\MadelineProto\SecurityException('random_bytes is too small!'); + } else unset($x[$arg['name']]); + } } if (isset($x['flags'])) { // I don't think we need this anymore unset($x['flags']); diff --git a/src/danog/MadelineProto/TL/TLConstructor.php b/src/danog/MadelineProto/TL/TLConstructor.php index d59ed39c..4a73806a 100644 --- a/src/danog/MadelineProto/TL/TLConstructor.php +++ b/src/danog/MadelineProto/TL/TLConstructor.php @@ -49,20 +49,18 @@ class TLConstructor extends TLParams public function find_by_predicate($predicate, $layer = -1) { if ($layer !== -1) { - $key = 0; + $newlayer = -1; $keys = array_keys($this->predicate, $predicate); foreach ($keys as $k) { - if ($this->layer[$k] === $layer) { + if ($this->layer[$k] <= $layer && $this->layer[$k] > $newlayer) { $key = $k; + $newlayer = $this->layer[$k]; } - } - if ($key === 0) { - $key = array_search($predicate, $this->predicate); + if (!isset($key)) $key = $keys[0]; } } else { $key = array_search($predicate, $this->predicate); } - return ($key === false) ? false : [ 'id' => $this->id[$key], 'predicate' => $this->predicate[$key], diff --git a/src/danog/MadelineProto/TL_calls.tl b/src/danog/MadelineProto/TL_calls.tl new file mode 100644 index 00000000..a0019ee8 --- /dev/null +++ b/src/danog/MadelineProto/TL_calls.tl @@ -0,0 +1,3 @@ +decryptedDataBlock#dbf948c1 random_id:long random_bytes:string flags:# voice_call_id:flags.2?int128 in_seq_no:flags.4?int out_seq_no:flags.4?int recent_received_mask:flags.5?int proto:flags.3?int extra:flags.1?string raw_data:flags.0?string = DecryptedDataBlock; +simpleDataBlock#cc0d0e76 random_id:long random_bytes:string raw_data:string = DecryptedDataBlock; + diff --git a/src/danog/MadelineProto/TL_telegram_v62.tl b/src/danog/MadelineProto/TL_telegram_v62.tl index 7ca4abb4..dbfa5229 100644 --- a/src/danog/MadelineProto/TL_telegram_v62.tl +++ b/src/danog/MadelineProto/TL_telegram_v62.tl @@ -279,7 +279,6 @@ updateContactRegistered#2575bbb9 user_id:int date:int = Update; updateContactLink#9d2e67c5 user_id:int my_link:ContactLink foreign_link:ContactLink = Update; updateNewEncryptedMessage#12bcbd9a message:EncryptedMessage qts:int = Update; -//updateNewDecryptedMessage#8de1330e message:DecryptedMessage peer:InputEncryptedChat in_seq_no:int out_seq_no:int = Update updateEncryptedChatTyping#1710f156 chat_id:int = Update; updateEncryption#b4a2e88d chat:EncryptedChat date:int = Update; diff --git a/src/danog/MadelineProto/TL_telegram_v65.tl b/src/danog/MadelineProto/TL_telegram_v65.tl new file mode 100644 index 00000000..270b5bab --- /dev/null +++ b/src/danog/MadelineProto/TL_telegram_v65.tl @@ -0,0 +1,1085 @@ +// Core types (no need to gen) + +//vector#1cb5c415 {t:Type} # [ t ] = Vector t; + +/////////////////////////////// +/////////////////// Layer cons +/////////////////////////////// + +//invokeAfterMsg#cb9f372d msg_id:long query:!X = X; +//invokeAfterMsgs#3dc4b4f0 msg_ids:Vector