Update to layer 117

This commit is contained in:
Daniil Gentili 2020-10-01 18:05:42 +02:00
parent 9600315809
commit ffe056b625
Signed by: danog
GPG Key ID: 8C1BE3B34B230CA7
1426 changed files with 42683 additions and 4528 deletions

View File

@ -1,6 +1,6 @@
---
title: botCommand
description: Represents command supported by bot
description: Describes a bot command that can be used in a chat
image: https://docs.madelineproto.xyz/favicons/android-chrome-256x256.png
---
# Constructor: botCommand
@ -8,14 +8,14 @@ image: https://docs.madelineproto.xyz/favicons/android-chrome-256x256.png
Represents command supported by bot
Describes a bot command that can be used in a chat
### Attributes:
| Name | Type | Required | Description |
|----------|---------------|----------|-------------|
|command|[string](../types/string.md) | Yes|Text of the bot command|
|description|[string](../types/string.md) | Yes|Description of the bot command|
|command|[string](../types/string.md) | Yes|`/command` name|
|description|[string](../types/string.md) | Yes|Description of the command|

View File

@ -21,6 +21,7 @@ Full info about a [channel/supergroup](https://core.telegram.org/api/channel)
|can\_set\_location|[Bool](../types/Bool.md) | Optional|Can we set the geolocation of this group (for geogroups)|
|has\_scheduled|[Bool](../types/Bool.md) | Optional|Whether scheduled messages are available|
|can\_view\_stats|[Bool](../types/Bool.md) | Optional|Can the user view [channel statistics](https://core.telegram.org/api/stats) for this channel|
|blocked|[Bool](../types/Bool.md) | Optional|
|id|[int](../types/int.md) | Yes|ID of the channel|
|about|[string](../types/string.md) | Yes|Info about the channel|
|participants\_count|[int](../types/int.md) | Optional|Number of participants of the channel|
@ -56,14 +57,14 @@ Full info about a [channel/supergroup](https://core.telegram.org/api/channel)
### Example:
```php
$channelFull = ['_' => 'channelFull', 'can_view_participants' => Bool, 'can_set_username' => Bool, 'can_set_stickers' => Bool, 'hidden_prehistory' => Bool, 'can_set_location' => Bool, 'has_scheduled' => Bool, 'can_view_stats' => Bool, 'id' => int, 'about' => 'string', 'participants_count' => int, 'admins_count' => int, 'kicked_count' => int, 'banned_count' => int, 'online_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, BotInfo], 'migrated_from_chat_id' => int, 'migrated_from_max_id' => int, 'pinned_msg_id' => int, 'stickerset' => StickerSet, 'available_min_id' => int, 'folder_id' => int, 'linked_chat_id' => int, 'location' => ChannelLocation, 'slowmode_seconds' => int, 'slowmode_next_send_date' => int, 'stats_dc' => int, 'pts' => int];
$channelFull = ['_' => 'channelFull', 'can_view_participants' => Bool, 'can_set_username' => Bool, 'can_set_stickers' => Bool, 'hidden_prehistory' => Bool, 'can_set_location' => Bool, 'has_scheduled' => Bool, 'can_view_stats' => Bool, 'blocked' => Bool, 'id' => int, 'about' => 'string', 'participants_count' => int, 'admins_count' => int, 'kicked_count' => int, 'banned_count' => int, 'online_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, BotInfo], 'migrated_from_chat_id' => int, 'migrated_from_max_id' => int, 'pinned_msg_id' => int, 'stickerset' => StickerSet, 'available_min_id' => int, 'folder_id' => int, 'linked_chat_id' => int, 'location' => ChannelLocation, 'slowmode_seconds' => int, 'slowmode_next_send_date' => int, 'stats_dc' => int, 'pts' => int];
```
Or, if you're into Lua:
```lua
channelFull={_='channelFull', can_view_participants=Bool, can_set_username=Bool, can_set_stickers=Bool, hidden_prehistory=Bool, can_set_location=Bool, has_scheduled=Bool, can_view_stats=Bool, id=int, about='string', participants_count=int, admins_count=int, kicked_count=int, banned_count=int, online_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, stickerset=StickerSet, available_min_id=int, folder_id=int, linked_chat_id=int, location=ChannelLocation, slowmode_seconds=int, slowmode_next_send_date=int, stats_dc=int, pts=int}
channelFull={_='channelFull', can_view_participants=Bool, can_set_username=Bool, can_set_stickers=Bool, hidden_prehistory=Bool, can_set_location=Bool, has_scheduled=Bool, can_view_stats=Bool, blocked=Bool, id=int, about='string', participants_count=int, admins_count=int, kicked_count=int, banned_count=int, online_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, stickerset=StickerSet, available_min_id=int, folder_id=int, linked_chat_id=int, location=ChannelLocation, slowmode_seconds=int, slowmode_next_send_date=int, stats_dc=int, pts=int}
```

View File

@ -15,6 +15,7 @@ Channel/supergroup creator
| Name | Type | Required | Description |
|----------|---------------|----------|-------------|
|user\_id|[int](../types/int.md) | Yes|User ID|
|admin\_rights|[ChatAdminRights](../types/ChatAdminRights.md) | Yes|
|rank|[string](../types/string.md) | Optional|The role (rank) of the group creator in the group: just an arbitrary string, `admin` by default|
@ -25,14 +26,14 @@ Channel/supergroup creator
### Example:
```php
$channelParticipantCreator = ['_' => 'channelParticipantCreator', 'user_id' => int, 'rank' => 'string'];
$channelParticipantCreator = ['_' => 'channelParticipantCreator', 'user_id' => int, 'admin_rights' => ChatAdminRights, 'rank' => 'string'];
```
Or, if you're into Lua:
```lua
channelParticipantCreator={_='channelParticipantCreator', user_id=int, rank='string'}
channelParticipantCreator={_='channelParticipantCreator', user_id=int, admin_rights=ChatAdminRights, rank='string'}
```

View File

@ -22,6 +22,7 @@ Represents the rights of an admin in a [channel/supergroup](https://core.telegra
|invite\_users|[Bool](../types/Bool.md) | Optional|If set, allows the admin to invite users in the [channel/supergroup](https://core.telegram.org/api/channel)|
|pin\_messages|[Bool](../types/Bool.md) | Optional|If set, allows the admin to pin messages in the [channel/supergroup](https://core.telegram.org/api/channel)|
|add\_admins|[Bool](../types/Bool.md) | Optional|If set, allows the admin to add other admins with the same (or more limited) permissions in the [channel/supergroup](https://core.telegram.org/api/channel)|
|anonymous|[Bool](../types/Bool.md) | Optional|
@ -31,14 +32,14 @@ Represents the rights of an admin in a [channel/supergroup](https://core.telegra
### Example:
```php
$chatAdminRights = ['_' => 'chatAdminRights', 'change_info' => Bool, 'post_messages' => Bool, 'edit_messages' => Bool, 'delete_messages' => Bool, 'ban_users' => Bool, 'invite_users' => Bool, 'pin_messages' => Bool, 'add_admins' => Bool];
$chatAdminRights = ['_' => 'chatAdminRights', 'change_info' => Bool, 'post_messages' => Bool, 'edit_messages' => Bool, 'delete_messages' => Bool, 'ban_users' => Bool, 'invite_users' => Bool, 'pin_messages' => Bool, 'add_admins' => Bool, 'anonymous' => Bool];
```
Or, if you're into Lua:
```lua
chatAdminRights={_='chatAdminRights', change_info=Bool, post_messages=Bool, edit_messages=Bool, delete_messages=Bool, ban_users=Bool, invite_users=Bool, pin_messages=Bool, add_admins=Bool}
chatAdminRights={_='chatAdminRights', change_info=Bool, post_messages=Bool, edit_messages=Bool, delete_messages=Bool, ban_users=Bool, invite_users=Bool, pin_messages=Bool, add_admins=Bool, anonymous=Bool}
```

View File

@ -26,7 +26,7 @@ Represents the rights of a normal user in a [supergroup/channel/chat](https://co
|change\_info|[Bool](../types/Bool.md) | Optional|If set, does not allow any user to change the description of a [supergroup/chat](https://core.telegram.org/api/channel)|
|invite\_users|[Bool](../types/Bool.md) | Optional|If set, does not allow any user to invite users in a [supergroup/chat](https://core.telegram.org/api/channel)|
|pin\_messages|[Bool](../types/Bool.md) | Optional|If set, does not allow any user to pin messages in a [supergroup/chat](https://core.telegram.org/api/channel)|
|until\_date|[int](../types/int.md) | Yes|Validity of said permissions (it is considered forever any value less then 30 seconds or more then 366 days).|
|until\_date|[int](../types/int.md) | Yes|Validity of said permissions (0 = forever, forever = 2^31-1 for now).|

View File

@ -1,39 +0,0 @@
---
title: contactBlocked
description: A blocked user.
image: https://docs.madelineproto.xyz/favicons/android-chrome-256x256.png
---
# Constructor: contactBlocked
[Back to constructors index](index.md)
A blocked user.
### Attributes:
| Name | Type | Required | Description |
|----------|---------------|----------|-------------|
|user\_id|[int](../types/int.md) | Yes|User identifier|
|date|[int](../types/int.md) | Yes|Date blacklisted|
### Type: [ContactBlocked](../types/ContactBlocked.md)
### Example:
```php
$contactBlocked = ['_' => 'contactBlocked', 'user_id' => int, 'date' => int];
```
Or, if you're into Lua:
```lua
contactBlocked={_='contactBlocked', user_id=int, date=int}
```

View File

@ -15,7 +15,8 @@ Full list of blocked users.
| Name | Type | Required | Description |
|----------|---------------|----------|-------------|
|blocked|Array of [ContactBlocked](../types/ContactBlocked.md) | Yes|List of blocked users|
|blocked|Array of [PeerBlocked](../types/PeerBlocked.md) | Yes|List of blocked users|
|chats|Array of [Chat](../types/Chat.md) | Yes|
|users|Array of [User](../types/User.md) | Yes|List of users|
@ -26,14 +27,14 @@ Full list of blocked users.
### Example:
```php
$contacts.blocked = ['_' => 'contacts.blocked', 'blocked' => [ContactBlocked, ContactBlocked], 'users' => [User, User]];
$contacts.blocked = ['_' => 'contacts.blocked', 'blocked' => [PeerBlocked, PeerBlocked], 'chats' => [Chat, Chat], 'users' => [User, User]];
```
Or, if you're into Lua:
```lua
contacts.blocked={_='contacts.blocked', blocked={ContactBlocked}, users={User}}
contacts.blocked={_='contacts.blocked', blocked={PeerBlocked}, chats={Chat}, users={User}}
```

View File

@ -16,7 +16,8 @@ Incomplete list of blocked users.
| Name | Type | Required | Description |
|----------|---------------|----------|-------------|
|count|[int](../types/int.md) | Yes|Total number of elements in the list|
|blocked|Array of [ContactBlocked](../types/ContactBlocked.md) | Yes|List of blocked users|
|blocked|Array of [PeerBlocked](../types/PeerBlocked.md) | Yes|List of blocked users|
|chats|Array of [Chat](../types/Chat.md) | Yes|
|users|Array of [User](../types/User.md) | Yes|List of users|
@ -27,14 +28,14 @@ Incomplete list of blocked users.
### Example:
```php
$contacts.blockedSlice = ['_' => 'contacts.blockedSlice', 'count' => int, 'blocked' => [ContactBlocked, ContactBlocked], 'users' => [User, User]];
$contacts.blockedSlice = ['_' => 'contacts.blockedSlice', 'count' => int, 'blocked' => [PeerBlocked, PeerBlocked], 'chats' => [Chat, Chat], 'users' => [User, User]];
```
Or, if you're into Lua:
```lua
contacts.blockedSlice={_='contacts.blockedSlice', count=int, blocked={ContactBlocked}, users={User}}
contacts.blockedSlice={_='contacts.blockedSlice', count=int, blocked={PeerBlocked}, chats={Chat}, users={User}}
```

View File

@ -0,0 +1,38 @@
---
title: help.countriesList
description: help.countriesList attributes, type and example
image: https://docs.madelineproto.xyz/favicons/android-chrome-256x256.png
redirect_from: /API_docs/constructors/help_countriesList.html
---
# Constructor: help.countriesList
[Back to constructors index](index.md)
### Attributes:
| Name | Type | Required |
|----------|---------------|----------|
|countries|Array of [help.Country](../constructors/help.Country.md) | Yes|
|hash|[int](../types/int.md) | Yes|
### Type: [help.CountriesList](../types/help.CountriesList.md)
### Example:
```php
$help.countriesList = ['_' => 'help.countriesList', 'countries' => [help.Country, help.Country], 'hash' => int];
```
Or, if you're into Lua:
```lua
help.countriesList={_='help.countriesList', countries={help.Country}, hash=int}
```

View File

@ -0,0 +1,32 @@
---
title: help.countriesListNotModified
description: help.countriesListNotModified attributes, type and example
image: https://docs.madelineproto.xyz/favicons/android-chrome-256x256.png
redirect_from: /API_docs/constructors/help_countriesListNotModified.html
---
# Constructor: help.countriesListNotModified
[Back to constructors index](index.md)
### Type: [help.CountriesList](../types/help.CountriesList.md)
### Example:
```php
$help.countriesListNotModified = ['_' => 'help.countriesListNotModified'];
```
Or, if you're into Lua:
```lua
help.countriesListNotModified={_='help.countriesListNotModified'}
```

View File

@ -0,0 +1,41 @@
---
title: help.country
description: help.country attributes, type and example
image: https://docs.madelineproto.xyz/favicons/android-chrome-256x256.png
redirect_from: /API_docs/constructors/help_country.html
---
# Constructor: help.country
[Back to constructors index](index.md)
### Attributes:
| Name | Type | Required |
|----------|---------------|----------|
|hidden|[Bool](../types/Bool.md) | Optional|
|iso2|[string](../types/string.md) | Yes|
|default\_name|[string](../types/string.md) | Yes|
|name|[string](../types/string.md) | Optional|
|country\_codes|Array of [help.CountryCode](../constructors/help.CountryCode.md) | Yes|
### Type: [help.Country](../types/help.Country.md)
### Example:
```php
$help.country = ['_' => 'help.country', 'hidden' => Bool, 'iso2' => 'string', 'default_name' => 'string', 'name' => 'string', 'country_codes' => [help.CountryCode, help.CountryCode]];
```
Or, if you're into Lua:
```lua
help.country={_='help.country', hidden=Bool, iso2='string', default_name='string', name='string', country_codes={help.CountryCode}}
```

View File

@ -0,0 +1,39 @@
---
title: help.countryCode
description: help.countryCode attributes, type and example
image: https://docs.madelineproto.xyz/favicons/android-chrome-256x256.png
redirect_from: /API_docs/constructors/help_countryCode.html
---
# Constructor: help.countryCode
[Back to constructors index](index.md)
### Attributes:
| Name | Type | Required |
|----------|---------------|----------|
|country\_code|[string](../types/string.md) | Yes|
|prefixes|Array of [string](../types/string.md) | Optional|
|patterns|Array of [string](../types/string.md) | Optional|
### Type: [help.CountryCode](../types/help.CountryCode.md)
### Example:
```php
$help.countryCode = ['_' => 'help.countryCode', 'country_code' => 'string', 'prefixes' => ['string', 'string'], 'patterns' => ['string', 'string']];
```
Or, if you're into Lua:
```lua
help.countryCode={_='help.countryCode', country_code='string', prefixes={'string'}, patterns={'string'}}
```

View File

@ -241,7 +241,7 @@ image: https://docs.madelineproto.xyz/favicons/android-chrome-256x256.png
<br><br>[$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), 'until_date' => [int](../types/int.md), \];<a name="channelForbidden"></a>
***
<br><br>[$channelFull](../constructors/channelFull.md) = \['can_view_participants' => [Bool](../types/Bool.md), 'can_set_username' => [Bool](../types/Bool.md), 'can_set_stickers' => [Bool](../types/Bool.md), 'hidden_prehistory' => [Bool](../types/Bool.md), 'can_set_location' => [Bool](../types/Bool.md), 'has_scheduled' => [Bool](../types/Bool.md), 'can_view_stats' => [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), 'banned_count' => [int](../types/int.md), 'online_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), 'stickerset' => [StickerSet](../types/StickerSet.md), 'available_min_id' => [int](../types/int.md), 'folder_id' => [int](../types/int.md), 'linked_chat_id' => [int](../types/int.md), 'location' => [ChannelLocation](../types/ChannelLocation.md), 'slowmode_seconds' => [int](../types/int.md), 'slowmode_next_send_date' => [int](../types/int.md), 'stats_dc' => [int](../types/int.md), 'pts' => [int](../types/int.md), \];<a name="channelFull"></a>
<br><br>[$channelFull](../constructors/channelFull.md) = \['can_view_participants' => [Bool](../types/Bool.md), 'can_set_username' => [Bool](../types/Bool.md), 'can_set_stickers' => [Bool](../types/Bool.md), 'hidden_prehistory' => [Bool](../types/Bool.md), 'can_set_location' => [Bool](../types/Bool.md), 'has_scheduled' => [Bool](../types/Bool.md), 'can_view_stats' => [Bool](../types/Bool.md), 'blocked' => [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), 'banned_count' => [int](../types/int.md), 'online_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), 'stickerset' => [StickerSet](../types/StickerSet.md), 'available_min_id' => [int](../types/int.md), 'folder_id' => [int](../types/int.md), 'linked_chat_id' => [int](../types/int.md), 'location' => [ChannelLocation](../types/ChannelLocation.md), 'slowmode_seconds' => [int](../types/int.md), 'slowmode_next_send_date' => [int](../types/int.md), 'stats_dc' => [int](../types/int.md), 'pts' => [int](../types/int.md), \];<a name="channelFull"></a>
***
<br><br>[$channelLocation](../constructors/channelLocation.md) = \['geo_point' => [GeoPoint](../types/GeoPoint.md), 'address' => [string](../types/string.md), \];<a name="channelLocation"></a>
@ -265,7 +265,7 @@ image: https://docs.madelineproto.xyz/favicons/android-chrome-256x256.png
<br><br>[$channelParticipantBanned](../constructors/channelParticipantBanned.md) = \['left' => [Bool](../types/Bool.md), 'user_id' => [int](../types/int.md), 'kicked_by' => [int](../types/int.md), 'date' => [int](../types/int.md), 'banned_rights' => [ChatBannedRights](../types/ChatBannedRights.md), \];<a name="channelParticipantBanned"></a>
***
<br><br>[$channelParticipantCreator](../constructors/channelParticipantCreator.md) = \['user_id' => [int](../types/int.md), 'rank' => [string](../types/string.md), \];<a name="channelParticipantCreator"></a>
<br><br>[$channelParticipantCreator](../constructors/channelParticipantCreator.md) = \['user_id' => [int](../types/int.md), 'admin_rights' => [ChatAdminRights](../types/ChatAdminRights.md), 'rank' => [string](../types/string.md), \];<a name="channelParticipantCreator"></a>
***
<br><br>[$channelParticipantSelf](../constructors/channelParticipantSelf.md) = \['user_id' => [int](../types/int.md), 'inviter_id' => [int](../types/int.md), 'date' => [int](../types/int.md), \];<a name="channelParticipantSelf"></a>
@ -307,7 +307,7 @@ image: https://docs.madelineproto.xyz/favicons/android-chrome-256x256.png
<br><br>[$chat](../constructors/chat.md) = \['creator' => [Bool](../types/Bool.md), 'kicked' => [Bool](../types/Bool.md), 'left' => [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), 'admin_rights' => [ChatAdminRights](../types/ChatAdminRights.md), 'default_banned_rights' => [ChatBannedRights](../types/ChatBannedRights.md), \];<a name="chat"></a>
***
<br><br>[$chatAdminRights](../constructors/chatAdminRights.md) = \['change_info' => [Bool](../types/Bool.md), 'post_messages' => [Bool](../types/Bool.md), 'edit_messages' => [Bool](../types/Bool.md), 'delete_messages' => [Bool](../types/Bool.md), 'ban_users' => [Bool](../types/Bool.md), 'invite_users' => [Bool](../types/Bool.md), 'pin_messages' => [Bool](../types/Bool.md), 'add_admins' => [Bool](../types/Bool.md), \];<a name="chatAdminRights"></a>
<br><br>[$chatAdminRights](../constructors/chatAdminRights.md) = \['change_info' => [Bool](../types/Bool.md), 'post_messages' => [Bool](../types/Bool.md), 'edit_messages' => [Bool](../types/Bool.md), 'delete_messages' => [Bool](../types/Bool.md), 'ban_users' => [Bool](../types/Bool.md), 'invite_users' => [Bool](../types/Bool.md), 'pin_messages' => [Bool](../types/Bool.md), 'add_admins' => [Bool](../types/Bool.md), 'anonymous' => [Bool](../types/Bool.md), \];<a name="chatAdminRights"></a>
***
<br><br>[$chatBannedRights](../constructors/chatBannedRights.md) = \['view_messages' => [Bool](../types/Bool.md), 'send_messages' => [Bool](../types/Bool.md), 'send_media' => [Bool](../types/Bool.md), 'send_stickers' => [Bool](../types/Bool.md), 'send_gifs' => [Bool](../types/Bool.md), 'send_games' => [Bool](../types/Bool.md), 'send_inline' => [Bool](../types/Bool.md), 'embed_links' => [Bool](../types/Bool.md), 'send_polls' => [Bool](../types/Bool.md), 'change_info' => [Bool](../types/Bool.md), 'invite_users' => [Bool](../types/Bool.md), 'pin_messages' => [Bool](../types/Bool.md), 'until_date' => [int](../types/int.md), \];<a name="chatBannedRights"></a>
@ -369,17 +369,14 @@ image: https://docs.madelineproto.xyz/favicons/android-chrome-256x256.png
***
<br><br>[$contact](../constructors/contact.md) = \['user_id' => [int](../types/int.md), 'mutual' => [Bool](../types/Bool.md), \];<a name="contact"></a>
***
<br><br>[$contactBlocked](../constructors/contactBlocked.md) = \['user_id' => [int](../types/int.md), 'date' => [int](../types/int.md), \];<a name="contactBlocked"></a>
***
<br><br>[$contactStatus](../constructors/contactStatus.md) = \['user_id' => [int](../types/int.md), 'status' => [UserStatus](../types/UserStatus.md), \];<a name="contactStatus"></a>
***
<br><br>[$contacts.blocked](../constructors/contacts.blocked.md) = \['blocked' => \[[ContactBlocked](../types/ContactBlocked.md)\], 'users' => \[[User](../types/User.md)\], \];<a name="contacts.blocked"></a>
<br><br>[$contacts.blocked](../constructors/contacts.blocked.md) = \['blocked' => \[[PeerBlocked](../types/PeerBlocked.md)\], 'chats' => \[[Chat](../types/Chat.md)\], 'users' => \[[User](../types/User.md)\], \];<a name="contacts.blocked"></a>
***
<br><br>[$contacts.blockedSlice](../constructors/contacts.blockedSlice.md) = \['count' => [int](../types/int.md), 'blocked' => \[[ContactBlocked](../types/ContactBlocked.md)\], 'users' => \[[User](../types/User.md)\], \];<a name="contacts.blockedSlice"></a>
<br><br>[$contacts.blockedSlice](../constructors/contacts.blockedSlice.md) = \['count' => [int](../types/int.md), 'blocked' => \[[PeerBlocked](../types/PeerBlocked.md)\], 'chats' => \[[Chat](../types/Chat.md)\], 'users' => \[[User](../types/User.md)\], \];<a name="contacts.blockedSlice"></a>
***
<br><br>[$contacts.contacts](../constructors/contacts.contacts.md) = \['contacts' => \[[Contact](../types/Contact.md)\], 'saved_count' => [int](../types/int.md), 'users' => \[[User](../types/User.md)\], \];<a name="contacts.contacts"></a>
@ -621,6 +618,18 @@ image: https://docs.madelineproto.xyz/favicons/android-chrome-256x256.png
***
<br><br>[$help.appUpdate](../constructors/help.appUpdate.md) = \['can_not_skip' => [Bool](../types/Bool.md), 'id' => [int](../types/int.md), 'version' => [string](../types/string.md), 'text' => [string](../types/string.md), 'entities' => \[[MessageEntity](../types/MessageEntity.md)\], 'document' => [Document](../types/Document.md), 'url' => [string](../types/string.md), \];<a name="help.appUpdate"></a>
***
<br><br>[$help.countriesList](../constructors/help.countriesList.md) = \['countries' => \[[help.Country](../types/help.Country.md)\], 'hash' => [int](../types/int.md), \];<a name="help.countriesList"></a>
***
<br><br>[$help.countriesListNotModified](../constructors/help.countriesListNotModified.md) = \[\];<a name="help.countriesListNotModified"></a>
***
<br><br>[$help.country](../constructors/help.country.md) = \['hidden' => [Bool](../types/Bool.md), 'iso2' => [string](../types/string.md), 'default_name' => [string](../types/string.md), 'name' => [string](../types/string.md), 'country_codes' => \[[help.CountryCode](../types/help.CountryCode.md)\], \];<a name="help.country"></a>
***
<br><br>[$help.countryCode](../constructors/help.countryCode.md) = \['country_code' => [string](../types/string.md), 'prefixes' => \[[string](../types/string.md)\], 'patterns' => \[[string](../types/string.md)\], \];<a name="help.countryCode"></a>
***
<br><br>[$help.deepLinkInfo](../constructors/help.deepLinkInfo.md) = \['update_app' => [Bool](../types/Bool.md), 'message' => [string](../types/string.md), 'entities' => \[[MessageEntity](../types/MessageEntity.md)\], \];<a name="help.deepLinkInfo"></a>
@ -1159,7 +1168,7 @@ image: https://docs.madelineproto.xyz/favicons/android-chrome-256x256.png
<br><br>[$keyboardButtonBuy](../constructors/keyboardButtonBuy.md) = \['text' => [string](../types/string.md), \];<a name="keyboardButtonBuy"></a>
***
<br><br>[$keyboardButtonCallback](../constructors/keyboardButtonCallback.md) = \['text' => [string](../types/string.md), 'data' => [bytes](../types/bytes.md), \];<a name="keyboardButtonCallback"></a>
<br><br>[$keyboardButtonCallback](../constructors/keyboardButtonCallback.md) = \['requires_password' => [Bool](../types/Bool.md), 'text' => [string](../types/string.md), 'data' => [bytes](../types/bytes.md), \];<a name="keyboardButtonCallback"></a>
***
<br><br>[$keyboardButtonGame](../constructors/keyboardButtonGame.md) = \['text' => [string](../types/string.md), \];<a name="keyboardButtonGame"></a>
@ -1207,7 +1216,7 @@ image: https://docs.madelineproto.xyz/favicons/android-chrome-256x256.png
<br><br>[$maskCoords](../constructors/maskCoords.md) = \['n' => [int](../types/int.md), 'x' => [double](../types/double.md), 'y' => [double](../types/double.md), 'zoom' => [double](../types/double.md), \];<a name="maskCoords"></a>
***
<br><br>[$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), 'from_scheduled' => [Bool](../types/Bool.md), 'legacy' => [Bool](../types/Bool.md), 'edit_hide' => [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), 'post_author' => [string](../types/string.md), 'grouped_id' => [long](../types/long.md), 'restriction_reason' => \[[RestrictionReason](../types/RestrictionReason.md)\], \];<a name="message"></a>
<br><br>[$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), 'from_scheduled' => [Bool](../types/Bool.md), 'legacy' => [Bool](../types/Bool.md), 'edit_hide' => [Bool](../types/Bool.md), 'id' => [int](../types/int.md), 'from_id' => [Peer](../types/Peer.md), 'peer_id' => [Peer](../types/Peer.md), 'fwd_from' => [MessageFwdHeader](../types/MessageFwdHeader.md), 'via_bot_id' => [int](../types/int.md), 'reply_to' => [MessageReplyHeader](../types/MessageReplyHeader.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), 'forwards' => [int](../types/int.md), 'replies' => [MessageReplies](../types/MessageReplies.md), 'edit_date' => [int](../types/int.md), 'post_author' => [string](../types/string.md), 'grouped_id' => [long](../types/long.md), 'restriction_reason' => \[[RestrictionReason](../types/RestrictionReason.md)\], \];<a name="message"></a>
***
<br><br>[$messageActionBotAllowed](../constructors/messageActionBotAllowed.md) = \['domain' => [string](../types/string.md), \];<a name="messageActionBotAllowed"></a>
@ -1336,7 +1345,7 @@ image: https://docs.madelineproto.xyz/favicons/android-chrome-256x256.png
<br><br>[$messageEntityUrl](../constructors/messageEntityUrl.md) = \['offset' => [int](../types/int.md), 'length' => [int](../types/int.md), \];<a name="messageEntityUrl"></a>
***
<br><br>[$messageFwdHeader](../constructors/messageFwdHeader.md) = \['from_id' => [int](../types/int.md), 'from_name' => [string](../types/string.md), 'date' => [int](../types/int.md), 'channel_id' => [int](../types/int.md), 'channel_post' => [int](../types/int.md), 'post_author' => [string](../types/string.md), 'saved_from_peer' => [Peer](../types/Peer.md), 'saved_from_msg_id' => [int](../types/int.md), 'psa_type' => [string](../types/string.md), \];<a name="messageFwdHeader"></a>
<br><br>[$messageFwdHeader](../constructors/messageFwdHeader.md) = \['from_id' => [Peer](../types/Peer.md), 'from_name' => [string](../types/string.md), 'date' => [int](../types/int.md), 'channel_post' => [int](../types/int.md), 'post_author' => [string](../types/string.md), 'saved_from_peer' => [Peer](../types/Peer.md), 'saved_from_msg_id' => [int](../types/int.md), 'psa_type' => [string](../types/string.md), \];<a name="messageFwdHeader"></a>
***
<br><br>[$messageInteractionCounters](../constructors/messageInteractionCounters.md) = \['msg_id' => [int](../types/int.md), 'views' => [int](../types/int.md), 'forwards' => [int](../types/int.md), \];<a name="messageInteractionCounters"></a>
@ -1384,7 +1393,13 @@ image: https://docs.madelineproto.xyz/favicons/android-chrome-256x256.png
<br><br>[$messageRange](../constructors/messageRange.md) = \['min_id' => [int](../types/int.md), 'max_id' => [int](../types/int.md), \];<a name="messageRange"></a>
***
<br><br>[$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), 'legacy' => [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), \];<a name="messageService"></a>
<br><br>[$messageReplies](../constructors/messageReplies.md) = \['comments' => [Bool](../types/Bool.md), 'replies' => [int](../types/int.md), 'replies_pts' => [int](../types/int.md), 'recent_repliers' => \[[Peer](../types/Peer.md)\], 'channel_id' => [int](../types/int.md), 'max_id' => [int](../types/int.md), 'read_max_id' => [int](../types/int.md), \];<a name="messageReplies"></a>
***
<br><br>[$messageReplyHeader](../constructors/messageReplyHeader.md) = \['reply_to_msg_id' => [int](../types/int.md), 'reply_to_peer_id' => [Peer](../types/Peer.md), 'reply_to_top_id' => [int](../types/int.md), \];<a name="messageReplyHeader"></a>
***
<br><br>[$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), 'legacy' => [Bool](../types/Bool.md), 'id' => [int](../types/int.md), 'from_id' => [Peer](../types/Peer.md), 'peer_id' => [Peer](../types/Peer.md), 'reply_to' => [MessageReplyHeader](../types/MessageReplyHeader.md), 'date' => [int](../types/int.md), 'action' => [MessageAction](../types/MessageAction.md), \];<a name="messageService"></a>
***
<br><br>[$messageUserVote](../constructors/messageUserVote.md) = \['user_id' => [int](../types/int.md), 'option' => [bytes](../types/bytes.md), 'date' => [int](../types/int.md), \];<a name="messageUserVote"></a>
@ -1395,6 +1410,9 @@ image: https://docs.madelineproto.xyz/favicons/android-chrome-256x256.png
***
<br><br>[$messageUserVoteMultiple](../constructors/messageUserVoteMultiple.md) = \['user_id' => [int](../types/int.md), 'options' => \[[bytes](../types/bytes.md)\], 'date' => [int](../types/int.md), \];<a name="messageUserVoteMultiple"></a>
***
<br><br>[$messageViews](../constructors/messageViews.md) = \['views' => [int](../types/int.md), 'forwards' => [int](../types/int.md), 'replies' => [MessageReplies](../types/MessageReplies.md), \];<a name="messageViews"></a>
***
<br><br>[$messages.affectedHistory](../constructors/messages.affectedHistory.md) = \['pts' => [int](../types/int.md), 'pts_count' => [int](../types/int.md), 'offset' => [int](../types/int.md), \];<a name="messages.affectedHistory"></a>
@ -1443,6 +1461,9 @@ image: https://docs.madelineproto.xyz/favicons/android-chrome-256x256.png
***
<br><br>[$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)\], \];<a name="messages.dialogsSlice"></a>
***
<br><br>[$messages.discussionMessage](../constructors/messages.discussionMessage.md) = \['messages' => \[[Message](../types/Message.md)\], 'max_id' => [int](../types/int.md), 'read_inbox_max_id' => [int](../types/int.md), 'read_outbox_max_id' => [int](../types/int.md), 'chats' => \[[Chat](../types/Chat.md)\], 'users' => \[[User](../types/User.md)\], \];<a name="messages.discussionMessage"></a>
***
<br><br>[$messages.favedStickers](../constructors/messages.favedStickers.md) = \['hash' => [int](../types/int.md), 'packs' => \[[StickerPack](../types/StickerPack.md)\], 'stickers' => \[[Document](../types/Document.md)\], \];<a name="messages.favedStickers"></a>
@ -1470,6 +1491,9 @@ image: https://docs.madelineproto.xyz/favicons/android-chrome-256x256.png
***
<br><br>[$messages.messageEditData](../constructors/messages.messageEditData.md) = \['caption' => [Bool](../types/Bool.md), \];<a name="messages.messageEditData"></a>
***
<br><br>[$messages.messageViews](../constructors/messages.messageViews.md) = \['views' => \[[MessageViews](../types/MessageViews.md)\], 'chats' => \[[Chat](../types/Chat.md)\], 'users' => \[[User](../types/User.md)\], \];<a name="messages.messageViews"></a>
***
<br><br>[$messages.messages](../constructors/messages.messages.md) = \['messages' => \[[Message](../types/Message.md)\], 'chats' => \[[Chat](../types/Chat.md)\], 'users' => \[[User](../types/User.md)\], \];<a name="messages.messages"></a>
@ -1689,6 +1713,9 @@ image: https://docs.madelineproto.xyz/favicons/android-chrome-256x256.png
***
<br><br>[$payments.validatedRequestedInfo](../constructors/payments.validatedRequestedInfo.md) = \['id' => [string](../types/string.md), 'shipping_options' => \[[ShippingOption](../types/ShippingOption.md)\], \];<a name="payments.validatedRequestedInfo"></a>
***
<br><br>[$peerBlocked](../constructors/peerBlocked.md) = \['peer_id' => [Peer](../types/Peer.md), 'date' => [int](../types/int.md), \];<a name="peerBlocked"></a>
***
<br><br>[$peerChannel](../constructors/peerChannel.md) = \['channel_id' => [int](../types/int.md), \];<a name="peerChannel"></a>
@ -1767,6 +1794,9 @@ image: https://docs.madelineproto.xyz/favicons/android-chrome-256x256.png
***
<br><br>[$photoSizeEmpty](../constructors/photoSizeEmpty.md) = \['type' => [string](../types/string.md), \];<a name="photoSizeEmpty"></a>
***
<br><br>[$photoSizeProgressive](../constructors/photoSizeProgressive.md) = \['type' => [string](../types/string.md), 'location' => [FileLocation](../types/FileLocation.md), 'w' => [int](../types/int.md), 'h' => [int](../types/int.md), 'sizes' => \[[int](../types/int.md)\], \];<a name="photoSizeProgressive"></a>
***
<br><br>[$photoStrippedSize](../constructors/photoStrippedSize.md) = \['type' => [string](../types/string.md), 'bytes' => [bytes](../types/bytes.md), \];<a name="photoStrippedSize"></a>
@ -2037,6 +2067,9 @@ image: https://docs.madelineproto.xyz/favicons/android-chrome-256x256.png
***
<br><br>[$stats.megagroupStats](../constructors/stats.megagroupStats.md) = \['period' => [StatsDateRangeDays](../types/StatsDateRangeDays.md), 'members' => [StatsAbsValueAndPrev](../types/StatsAbsValueAndPrev.md), 'messages' => [StatsAbsValueAndPrev](../types/StatsAbsValueAndPrev.md), 'viewers' => [StatsAbsValueAndPrev](../types/StatsAbsValueAndPrev.md), 'posters' => [StatsAbsValueAndPrev](../types/StatsAbsValueAndPrev.md), 'growth_graph' => [StatsGraph](../types/StatsGraph.md), 'members_graph' => [StatsGraph](../types/StatsGraph.md), 'new_members_by_source_graph' => [StatsGraph](../types/StatsGraph.md), 'languages_graph' => [StatsGraph](../types/StatsGraph.md), 'messages_graph' => [StatsGraph](../types/StatsGraph.md), 'actions_graph' => [StatsGraph](../types/StatsGraph.md), 'top_hours_graph' => [StatsGraph](../types/StatsGraph.md), 'weekdays_graph' => [StatsGraph](../types/StatsGraph.md), 'top_posters' => \[[StatsGroupTopPoster](../types/StatsGroupTopPoster.md)\], 'top_admins' => \[[StatsGroupTopAdmin](../types/StatsGroupTopAdmin.md)\], 'top_inviters' => \[[StatsGroupTopInviter](../types/StatsGroupTopInviter.md)\], 'users' => \[[User](../types/User.md)\], \];<a name="stats.megagroupStats"></a>
***
<br><br>[$stats.messageStats](../constructors/stats.messageStats.md) = \['views_graph' => [StatsGraph](../types/StatsGraph.md), \];<a name="stats.messageStats"></a>
***
<br><br>[$statsAbsValueAndPrev](../constructors/statsAbsValueAndPrev.md) = \['current' => [double](../types/double.md), 'previous' => [double](../types/double.md), \];<a name="statsAbsValueAndPrev"></a>
@ -2223,6 +2256,9 @@ image: https://docs.madelineproto.xyz/favicons/android-chrome-256x256.png
***
<br><br>[$updateChannelAvailableMessages](../constructors/updateChannelAvailableMessages.md) = \['channel_id' => [int](../types/int.md), 'available_min_id' => [int](../types/int.md), \];<a name="updateChannelAvailableMessages"></a>
***
<br><br>[$updateChannelMessageForwards](../constructors/updateChannelMessageForwards.md) = \['channel_id' => [int](../types/int.md), 'id' => [int](../types/int.md), 'forwards' => [int](../types/int.md), \];<a name="updateChannelMessageForwards"></a>
***
<br><br>[$updateChannelMessageViews](../constructors/updateChannelMessageViews.md) = \['channel_id' => [int](../types/int.md), 'id' => [int](../types/int.md), 'views' => [int](../types/int.md), \];<a name="updateChannelMessageViews"></a>
@ -2238,6 +2274,9 @@ image: https://docs.madelineproto.xyz/favicons/android-chrome-256x256.png
***
<br><br>[$updateChannelTooLong](../constructors/updateChannelTooLong.md) = \['channel_id' => [int](../types/int.md), 'pts' => [int](../types/int.md), \];<a name="updateChannelTooLong"></a>
***
<br><br>[$updateChannelUserTyping](../constructors/updateChannelUserTyping.md) = \['channel_id' => [int](../types/int.md), 'top_msg_id' => [int](../types/int.md), 'user_id' => [int](../types/int.md), 'action' => [SendMessageAction](../types/SendMessageAction.md), \];<a name="updateChannelUserTyping"></a>
***
<br><br>[$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), \];<a name="updateChannelWebPage"></a>
@ -2361,6 +2400,9 @@ image: https://docs.madelineproto.xyz/favicons/android-chrome-256x256.png
***
<br><br>[$updateNotifySettings](../constructors/updateNotifySettings.md) = \['peer' => [NotifyPeer](../types/NotifyPeer.md), 'notify_settings' => [PeerNotifySettings](../types/PeerNotifySettings.md), \];<a name="updateNotifySettings"></a>
***
<br><br>[$updatePeerBlocked](../constructors/updatePeerBlocked.md) = \['peer_id' => [Peer](../types/Peer.md), 'blocked' => [Bool](../types/Bool.md), \];<a name="updatePeerBlocked"></a>
***
<br><br>[$updatePeerLocated](../constructors/updatePeerLocated.md) = \['peers' => \[[PeerLocated](../types/PeerLocated.md)\], \];<a name="updatePeerLocated"></a>
@ -2382,6 +2424,12 @@ image: https://docs.madelineproto.xyz/favicons/android-chrome-256x256.png
***
<br><br>[$updatePtsChanged](../constructors/updatePtsChanged.md) = \[\];<a name="updatePtsChanged"></a>
***
<br><br>[$updateReadChannelDiscussionInbox](../constructors/updateReadChannelDiscussionInbox.md) = \['channel_id' => [int](../types/int.md), 'top_msg_id' => [int](../types/int.md), 'read_max_id' => [int](../types/int.md), 'broadcast_id' => [int](../types/int.md), 'broadcast_post' => [int](../types/int.md), \];<a name="updateReadChannelDiscussionInbox"></a>
***
<br><br>[$updateReadChannelDiscussionOutbox](../constructors/updateReadChannelDiscussionOutbox.md) = \['channel_id' => [int](../types/int.md), 'top_msg_id' => [int](../types/int.md), 'read_max_id' => [int](../types/int.md), \];<a name="updateReadChannelDiscussionOutbox"></a>
***
<br><br>[$updateReadChannelInbox](../constructors/updateReadChannelInbox.md) = \['folder_id' => [int](../types/int.md), 'channel_id' => [int](../types/int.md), 'max_id' => [int](../types/int.md), 'still_unread_count' => [int](../types/int.md), 'pts' => [int](../types/int.md), \];<a name="updateReadChannelInbox"></a>
@ -2413,10 +2461,10 @@ image: https://docs.madelineproto.xyz/favicons/android-chrome-256x256.png
<br><br>[$updateShort](../constructors/updateShort.md) = \['update' => [Update](../types/Update.md), 'date' => [int](../types/int.md), \];<a name="updateShort"></a>
***
<br><br>[$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)\], \];<a name="updateShortChatMessage"></a>
<br><br>[$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' => [MessageReplyHeader](../types/MessageReplyHeader.md), 'entities' => \[[MessageEntity](../types/MessageEntity.md)\], \];<a name="updateShortChatMessage"></a>
***
<br><br>[$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)\], \];<a name="updateShortMessage"></a>
<br><br>[$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' => [MessageReplyHeader](../types/MessageReplyHeader.md), 'entities' => \[[MessageEntity](../types/MessageEntity.md)\], \];<a name="updateShortMessage"></a>
***
<br><br>[$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)\], \];<a name="updateShortSentMessage"></a>
@ -2430,9 +2478,6 @@ image: https://docs.madelineproto.xyz/favicons/android-chrome-256x256.png
***
<br><br>[$updateTheme](../constructors/updateTheme.md) = \['theme' => [Theme](../types/Theme.md), \];<a name="updateTheme"></a>
***
<br><br>[$updateUserBlocked](../constructors/updateUserBlocked.md) = \['user_id' => [int](../types/int.md), 'blocked' => [Bool](../types/Bool.md), \];<a name="updateUserBlocked"></a>
***
<br><br>[$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), \];<a name="updateUserName"></a>

View File

@ -14,6 +14,7 @@ Callback button
| Name | Type | Required | Description |
|----------|---------------|----------|-------------|
|requires\_password|[Bool](../types/Bool.md) | Optional|
|text|[string](../types/string.md) | Yes|Button text|
|data|[bytes](../types/bytes.md) | Yes|Callback data|
@ -25,14 +26,14 @@ Callback button
### Example:
```php
$keyboardButtonCallback = ['_' => 'keyboardButtonCallback', 'text' => 'string', 'data' => 'bytes'];
$keyboardButtonCallback = ['_' => 'keyboardButtonCallback', 'requires_password' => Bool, 'text' => 'string', 'data' => 'bytes'];
```
Or, if you're into Lua:
```lua
keyboardButtonCallback={_='keyboardButtonCallback', text='string', data='bytes'}
keyboardButtonCallback={_='keyboardButtonCallback', requires_password=Bool, text='string', data='bytes'}
```

View File

@ -23,17 +23,19 @@ A message
|legacy|[Bool](../types/Bool.md) | Optional|This is a legacy message: it has to be refetched with the new layer|
|edit\_hide|[Bool](../types/Bool.md) | Optional|Whether the message should be shown as not modified to the user, even if an edit date is present|
|id|[int](../types/int.md) | Yes|ID of the message|
|from\_id|[int](../types/int.md) | Optional|ID of the sender of the message|
|to\_id|[Peer](../types/Peer.md) | Yes|ID of the chat were the message was sent|
|from\_id|[Peer](../types/Peer.md) | Optional|
|peer\_id|[Peer](../types/Peer.md) | Yes|
|fwd\_from|[MessageFwdHeader](../types/MessageFwdHeader.md) | Optional|Info about forwarded messages|
|via\_bot\_id|[int](../types/int.md) | Optional|ID of the inline bot that generated the message|
|reply\_to\_msg\_id|[int](../types/int.md) | Optional|ID of the message this message replies to|
|reply\_to|[MessageReplyHeader](../types/MessageReplyHeader.md) | Optional|
|date|[int](../types/int.md) | Yes|Date of the message|
|message|[string](../types/string.md) | Yes|The message|
|media|[MessageMedia](../types/MessageMedia.md) | Optional|Media attachment|
|reply\_markup|[ReplyMarkup](../types/ReplyMarkup.md) | Optional|Reply markup (bot/inline keyboards)|
|entities|Array of [MessageEntity](../types/MessageEntity.md) | Optional|Message [entities](https://core.telegram.org/api/entities) for styled text|
|views|[int](../types/int.md) | Optional|View count for channel posts|
|forwards|[int](../types/int.md) | Optional|
|replies|[MessageReplies](../types/MessageReplies.md) | Optional|
|edit\_date|[int](../types/int.md) | Optional|Last edit date of this message|
|post\_author|[string](../types/string.md) | Optional|Name of the author of this message for channel posts (with signatures enabled)|
|grouped\_id|[long](../types/long.md) | Optional|Multiple media messages sent using [messages.sendMultiMedia](../methods/messages.sendMultiMedia.md) with the same grouped ID indicate an album|
@ -47,14 +49,14 @@ A message
### Example:
```php
$message = ['_' => 'message', 'out' => Bool, 'mentioned' => Bool, 'media_unread' => Bool, 'silent' => Bool, 'post' => Bool, 'from_scheduled' => Bool, 'legacy' => Bool, 'edit_hide' => 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, MessageEntity], 'views' => int, 'edit_date' => int, 'post_author' => 'string', 'grouped_id' => long, 'restriction_reason' => [RestrictionReason, RestrictionReason]];
$message = ['_' => 'message', 'out' => Bool, 'mentioned' => Bool, 'media_unread' => Bool, 'silent' => Bool, 'post' => Bool, 'from_scheduled' => Bool, 'legacy' => Bool, 'edit_hide' => Bool, 'id' => int, 'from_id' => Peer, 'peer_id' => Peer, 'fwd_from' => MessageFwdHeader, 'via_bot_id' => int, 'reply_to' => MessageReplyHeader, 'date' => int, 'message' => 'string', 'media' => MessageMedia, 'reply_markup' => ReplyMarkup, 'entities' => [MessageEntity, MessageEntity], 'views' => int, 'forwards' => int, 'replies' => MessageReplies, 'edit_date' => int, 'post_author' => 'string', 'grouped_id' => long, 'restriction_reason' => [RestrictionReason, RestrictionReason]];
```
Or, if you're into Lua:
```lua
message={_='message', out=Bool, mentioned=Bool, media_unread=Bool, silent=Bool, post=Bool, from_scheduled=Bool, legacy=Bool, edit_hide=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, post_author='string', grouped_id=long, restriction_reason={RestrictionReason}}
message={_='message', out=Bool, mentioned=Bool, media_unread=Bool, silent=Bool, post=Bool, from_scheduled=Bool, legacy=Bool, edit_hide=Bool, id=int, from_id=Peer, peer_id=Peer, fwd_from=MessageFwdHeader, via_bot_id=int, reply_to=MessageReplyHeader, date=int, message='string', media=MessageMedia, reply_markup=ReplyMarkup, entities={MessageEntity}, views=int, forwards=int, replies=MessageReplies, edit_date=int, post_author='string', grouped_id=long, restriction_reason={RestrictionReason}}
```

View File

@ -14,10 +14,9 @@ Info about a forwarded message
| Name | Type | Required | Description |
|----------|---------------|----------|-------------|
|from\_id|[int](../types/int.md) | Optional|The ID of the user that originally sent the message|
|from\_id|[Peer](../types/Peer.md) | Optional|
|from\_name|[string](../types/string.md) | Optional|The name of the user that originally sent the message|
|date|[int](../types/int.md) | Yes|When was the message originally sent|
|channel\_id|[int](../types/int.md) | Optional|ID of the channel from which the message was forwarded|
|channel\_post|[int](../types/int.md) | Optional|ID of the channel message that was forwarded|
|post\_author|[string](../types/string.md) | Optional|For channels and if signatures are enabled, author of the channel message|
|saved\_from\_peer|[Peer](../types/Peer.md) | Optional|Only for messages forwarded to the current user (inputPeerSelf), full info about the user/channel that originally sent the message|
@ -32,14 +31,14 @@ Info about a forwarded message
### Example:
```php
$messageFwdHeader = ['_' => 'messageFwdHeader', 'from_id' => int, 'from_name' => 'string', 'date' => int, 'channel_id' => int, 'channel_post' => int, 'post_author' => 'string', 'saved_from_peer' => Peer, 'saved_from_msg_id' => int, 'psa_type' => 'string'];
$messageFwdHeader = ['_' => 'messageFwdHeader', 'from_id' => Peer, 'from_name' => 'string', 'date' => int, 'channel_post' => int, 'post_author' => 'string', 'saved_from_peer' => Peer, 'saved_from_msg_id' => int, 'psa_type' => 'string'];
```
Or, if you're into Lua:
```lua
messageFwdHeader={_='messageFwdHeader', from_id=int, from_name='string', date=int, channel_id=int, channel_post=int, post_author='string', saved_from_peer=Peer, saved_from_msg_id=int, psa_type='string'}
messageFwdHeader={_='messageFwdHeader', from_id=Peer, from_name='string', date=int, channel_post=int, post_author='string', saved_from_peer=Peer, saved_from_msg_id=int, psa_type='string'}
```

View File

@ -0,0 +1,42 @@
---
title: messageReplies
description: messageReplies attributes, type and example
image: https://docs.madelineproto.xyz/favicons/android-chrome-256x256.png
---
# Constructor: messageReplies
[Back to constructors index](index.md)
### Attributes:
| Name | Type | Required |
|----------|---------------|----------|
|comments|[Bool](../types/Bool.md) | Optional|
|replies|[int](../types/int.md) | Yes|
|replies\_pts|[int](../types/int.md) | Yes|
|recent\_repliers|Array of [Peer](../types/Peer.md) | Optional|
|channel\_id|[int](../types/int.md) | Optional|
|max\_id|[int](../types/int.md) | Optional|
|read\_max\_id|[int](../types/int.md) | Optional|
### Type: [MessageReplies](../types/MessageReplies.md)
### Example:
```php
$messageReplies = ['_' => 'messageReplies', 'comments' => Bool, 'replies' => int, 'replies_pts' => int, 'recent_repliers' => [Peer, Peer], 'channel_id' => int, 'max_id' => int, 'read_max_id' => int];
```
Or, if you're into Lua:
```lua
messageReplies={_='messageReplies', comments=Bool, replies=int, replies_pts=int, recent_repliers={Peer}, channel_id=int, max_id=int, read_max_id=int}
```

View File

@ -0,0 +1,38 @@
---
title: messageReplyHeader
description: messageReplyHeader attributes, type and example
image: https://docs.madelineproto.xyz/favicons/android-chrome-256x256.png
---
# Constructor: messageReplyHeader
[Back to constructors index](index.md)
### Attributes:
| Name | Type | Required |
|----------|---------------|----------|
|reply\_to\_msg\_id|[int](../types/int.md) | Yes|
|reply\_to\_peer\_id|[Peer](../types/Peer.md) | Optional|
|reply\_to\_top\_id|[int](../types/int.md) | Optional|
### Type: [MessageReplyHeader](../types/MessageReplyHeader.md)
### Example:
```php
$messageReplyHeader = ['_' => 'messageReplyHeader', 'reply_to_msg_id' => int, 'reply_to_peer_id' => Peer, 'reply_to_top_id' => int];
```
Or, if you're into Lua:
```lua
messageReplyHeader={_='messageReplyHeader', reply_to_msg_id=int, reply_to_peer_id=Peer, reply_to_top_id=int}
```

View File

@ -21,9 +21,9 @@ Indicates a service message
|post|[Bool](../types/Bool.md) | Optional|Whether it's a channel post|
|legacy|[Bool](../types/Bool.md) | Optional|This is a legacy message: it has to be refetched with the new layer|
|id|[int](../types/int.md) | Yes|Message ID|
|from\_id|[int](../types/int.md) | Optional|Id of te sender of the message|
|to\_id|[Peer](../types/Peer.md) | Yes|ID of the destination of the message|
|reply\_to\_msg\_id|[int](../types/int.md) | Optional|ID of the message this message replies to|
|from\_id|[Peer](../types/Peer.md) | Optional|
|peer\_id|[Peer](../types/Peer.md) | Yes|
|reply\_to|[MessageReplyHeader](../types/MessageReplyHeader.md) | Optional|
|date|[int](../types/int.md) | Yes|Message date|
|action|[MessageAction](../types/MessageAction.md) | Optional|Event connected with the service message|
@ -35,14 +35,14 @@ Indicates a service message
### Example:
```php
$messageService = ['_' => 'messageService', 'out' => Bool, 'mentioned' => Bool, 'media_unread' => Bool, 'silent' => Bool, 'post' => Bool, 'legacy' => Bool, 'id' => int, 'from_id' => int, 'to_id' => Peer, 'reply_to_msg_id' => int, 'date' => int, 'action' => MessageAction];
$messageService = ['_' => 'messageService', 'out' => Bool, 'mentioned' => Bool, 'media_unread' => Bool, 'silent' => Bool, 'post' => Bool, 'legacy' => Bool, 'id' => int, 'from_id' => Peer, 'peer_id' => Peer, 'reply_to' => MessageReplyHeader, 'date' => int, 'action' => MessageAction];
```
Or, if you're into Lua:
```lua
messageService={_='messageService', out=Bool, mentioned=Bool, media_unread=Bool, silent=Bool, post=Bool, legacy=Bool, id=int, from_id=int, to_id=Peer, reply_to_msg_id=int, date=int, action=MessageAction}
messageService={_='messageService', out=Bool, mentioned=Bool, media_unread=Bool, silent=Bool, post=Bool, legacy=Bool, id=int, from_id=Peer, peer_id=Peer, reply_to=MessageReplyHeader, date=int, action=MessageAction}
```

View File

@ -0,0 +1,38 @@
---
title: messageViews
description: messageViews attributes, type and example
image: https://docs.madelineproto.xyz/favicons/android-chrome-256x256.png
---
# Constructor: messageViews
[Back to constructors index](index.md)
### Attributes:
| Name | Type | Required |
|----------|---------------|----------|
|views|[int](../types/int.md) | Optional|
|forwards|[int](../types/int.md) | Optional|
|replies|[MessageReplies](../types/MessageReplies.md) | Optional|
### Type: [MessageViews](../types/MessageViews.md)
### Example:
```php
$messageViews = ['_' => 'messageViews', 'views' => int, 'forwards' => int, 'replies' => MessageReplies];
```
Or, if you're into Lua:
```lua
messageViews={_='messageViews', views=int, forwards=int, replies=MessageReplies}
```

View File

@ -0,0 +1,42 @@
---
title: messages.discussionMessage
description: messages.discussionMessage attributes, type and example
image: https://docs.madelineproto.xyz/favicons/android-chrome-256x256.png
redirect_from: /API_docs/constructors/messages_discussionMessage.html
---
# Constructor: messages.discussionMessage
[Back to constructors index](index.md)
### Attributes:
| Name | Type | Required |
|----------|---------------|----------|
|messages|Array of [Message](../types/Message.md) | Yes|
|max\_id|[int](../types/int.md) | Optional|
|read\_inbox\_max\_id|[int](../types/int.md) | Optional|
|read\_outbox\_max\_id|[int](../types/int.md) | Optional|
|chats|Array of [Chat](../types/Chat.md) | Yes|
|users|Array of [User](../types/User.md) | Yes|
### Type: [messages.DiscussionMessage](../types/messages.DiscussionMessage.md)
### Example:
```php
$messages.discussionMessage = ['_' => 'messages.discussionMessage', 'messages' => [Message, Message], 'max_id' => int, 'read_inbox_max_id' => int, 'read_outbox_max_id' => int, 'chats' => [Chat, Chat], 'users' => [User, User]];
```
Or, if you're into Lua:
```lua
messages.discussionMessage={_='messages.discussionMessage', messages={Message}, max_id=int, read_inbox_max_id=int, read_outbox_max_id=int, chats={Chat}, users={User}}
```

View File

@ -0,0 +1,39 @@
---
title: messages.messageViews
description: messages.messageViews attributes, type and example
image: https://docs.madelineproto.xyz/favicons/android-chrome-256x256.png
redirect_from: /API_docs/constructors/messages_messageViews.html
---
# Constructor: messages.messageViews
[Back to constructors index](index.md)
### Attributes:
| Name | Type | Required |
|----------|---------------|----------|
|views|Array of [MessageViews](../types/MessageViews.md) | Yes|
|chats|Array of [Chat](../types/Chat.md) | Yes|
|users|Array of [User](../types/User.md) | Yes|
### Type: [messages.MessageViews](../types/messages.MessageViews.md)
### Example:
```php
$messages.messageViews = ['_' => 'messages.messageViews', 'views' => [MessageViews, MessageViews], 'chats' => [Chat, Chat], 'users' => [User, User]];
```
Or, if you're into Lua:
```lua
messages.messageViews={_='messages.messageViews', views={MessageViews}, chats={Chat}, users={User}}
```

View File

@ -1,6 +1,6 @@
---
title: pageBlockAnchor
description: Invisible anchor on a page which can be used in a URL to open a page from the specified anchor
description: Link to section within the page itself (like `<a href="#target">anchor</a>`)
image: https://docs.madelineproto.xyz/favicons/android-chrome-256x256.png
---
# Constructor: pageBlockAnchor
@ -8,13 +8,13 @@ image: https://docs.madelineproto.xyz/favicons/android-chrome-256x256.png
Invisible anchor on a page which can be used in a URL to open a page from the specified anchor
Link to section within the page itself (like `<a href="#target">anchor</a>`)
### Attributes:
| Name | Type | Required | Description |
|----------|---------------|----------|-------------|
|name|[string](../types/string.md) | Yes|Name of the anchor|
|name|[string](../types/string.md) | Yes|Name of target section|

View File

@ -1,6 +1,6 @@
---
title: pageBlockCover
description: Page cover
description: A page cover
image: https://docs.madelineproto.xyz/favicons/android-chrome-256x256.png
---
# Constructor: pageBlockCover
@ -8,13 +8,13 @@ image: https://docs.madelineproto.xyz/favicons/android-chrome-256x256.png
Page cover
A page cover
### Attributes:
| Name | Type | Required | Description |
|----------|---------------|----------|-------------|
|cover|[PageBlock](../types/PageBlock.md) | Yes|The cover|
|cover|[PageBlock](../types/PageBlock.md) | Yes|Cover|

View File

@ -1,6 +1,6 @@
---
title: pageBlockDivider
description: An empty block separating parts of a page
description: An empty block separating a page
image: https://docs.madelineproto.xyz/favicons/android-chrome-256x256.png
---
# Constructor: pageBlockDivider
@ -8,7 +8,7 @@ image: https://docs.madelineproto.xyz/favicons/android-chrome-256x256.png
An empty block separating parts of a page
An empty block separating a page

View File

@ -1,6 +1,6 @@
---
title: pageBlockParagraph
description: A text paragraph
description: A paragraph
image: https://docs.madelineproto.xyz/favicons/android-chrome-256x256.png
---
# Constructor: pageBlockParagraph
@ -8,13 +8,13 @@ image: https://docs.madelineproto.xyz/favicons/android-chrome-256x256.png
A text paragraph
A paragraph
### Attributes:
| Name | Type | Required | Description |
|----------|---------------|----------|-------------|
|text|[RichText](../types/RichText.md) | Yes|Paragraph text|
|text|[RichText](../types/RichText.md) | Yes|Text|

View File

@ -1,6 +1,6 @@
---
title: pageBlockPreformatted
description: Preformatted text paragraph
description: Preformatted (`<pre>` text)
image: https://docs.madelineproto.xyz/favicons/android-chrome-256x256.png
---
# Constructor: pageBlockPreformatted
@ -8,14 +8,14 @@ image: https://docs.madelineproto.xyz/favicons/android-chrome-256x256.png
Preformatted text paragraph
Preformatted (`<pre>` text)
### Attributes:
| Name | Type | Required | Description |
|----------|---------------|----------|-------------|
|text|[RichText](../types/RichText.md) | Yes|Paragraph text|
|language|[string](../types/string.md) | Yes|Programming language for which the text should be formatted|
|text|[RichText](../types/RichText.md) | Yes|Text|
|language|[string](../types/string.md) | Yes|Programming language of preformatted text|

View File

@ -0,0 +1,37 @@
---
title: peerBlocked
description: peerBlocked attributes, type and example
image: https://docs.madelineproto.xyz/favicons/android-chrome-256x256.png
---
# Constructor: peerBlocked
[Back to constructors index](index.md)
### Attributes:
| Name | Type | Required |
|----------|---------------|----------|
|peer\_id|[Peer](../types/Peer.md) | Yes|
|date|[int](../types/int.md) | Yes|
### Type: [PeerBlocked](../types/PeerBlocked.md)
### Example:
```php
$peerBlocked = ['_' => 'peerBlocked', 'peer_id' => Peer, 'date' => int];
```
Or, if you're into Lua:
```lua
peerBlocked={_='peerBlocked', peer_id=Peer, date=int}
```

View File

@ -0,0 +1,40 @@
---
title: photoSizeProgressive
description: photoSizeProgressive attributes, type and example
image: https://docs.madelineproto.xyz/favicons/android-chrome-256x256.png
---
# Constructor: photoSizeProgressive
[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|
|sizes|Array of [int](../types/int.md) | Yes|
### Type: [PhotoSize](../types/PhotoSize.md)
### Example:
```php
$photoSizeProgressive = ['_' => 'photoSizeProgressive', 'type' => 'string', 'location' => FileLocation, 'w' => int, 'h' => int, 'sizes' => [int, int]];
```
Or, if you're into Lua:
```lua
photoSizeProgressive={_='photoSizeProgressive', type='string', location=FileLocation, w=int, h=int, sizes={int}}
```

View File

@ -1,6 +1,6 @@
---
title: privacyKeyChatInvite
description: Privacy key for managing ability of invitation of the user to chats
description: Whether the user can be invited to chats
image: https://docs.madelineproto.xyz/favicons/android-chrome-256x256.png
---
# Constructor: privacyKeyChatInvite
@ -8,7 +8,7 @@ image: https://docs.madelineproto.xyz/favicons/android-chrome-256x256.png
Privacy key for managing ability of invitation of the user to chats
Whether the user can be invited to chats

View File

@ -0,0 +1,37 @@
---
title: stats.messageStats
description: stats.messageStats attributes, type and example
image: https://docs.madelineproto.xyz/favicons/android-chrome-256x256.png
redirect_from: /API_docs/constructors/stats_messageStats.html
---
# Constructor: stats.messageStats
[Back to constructors index](index.md)
### Attributes:
| Name | Type | Required |
|----------|---------------|----------|
|views\_graph|[StatsGraph](../types/StatsGraph.md) | Yes|
### Type: [stats.MessageStats](../types/stats.MessageStats.md)
### Example:
```php
$stats.messageStats = ['_' => 'stats.messageStats', 'views_graph' => StatsGraph];
```
Or, if you're into Lua:
```lua
stats.messageStats={_='stats.messageStats', views_graph=StatsGraph}
```

View File

@ -0,0 +1,38 @@
---
title: updateChannelMessageForwards
description: updateChannelMessageForwards attributes, type and example
image: https://docs.madelineproto.xyz/favicons/android-chrome-256x256.png
---
# Constructor: updateChannelMessageForwards
[Back to constructors index](index.md)
### Attributes:
| Name | Type | Required |
|----------|---------------|----------|
|channel\_id|[int](../types/int.md) | Yes|
|id|[int](../types/int.md) | Yes|
|forwards|[int](../types/int.md) | Yes|
### Type: [Update](../types/Update.md)
### Example:
```php
$updateChannelMessageForwards = ['_' => 'updateChannelMessageForwards', 'channel_id' => int, 'id' => int, 'forwards' => int];
```
Or, if you're into Lua:
```lua
updateChannelMessageForwards={_='updateChannelMessageForwards', channel_id=int, id=int, forwards=int}
```

View File

@ -8,8 +8,7 @@ image: https://docs.madelineproto.xyz/favicons/android-chrome-256x256.png
A message was pinned in a [channel/supergroup](https://core.telegram.org/api/channel).
This update is also typically emitted as an [updateNewChannelMessage](updateNewChannelMessage.md) with [messageService](messageService.md).
A message was pinned in a [channel/supergroup](https://core.telegram.org/api/channel).
### Attributes:

View File

@ -0,0 +1,39 @@
---
title: updateChannelUserTyping
description: updateChannelUserTyping attributes, type and example
image: https://docs.madelineproto.xyz/favicons/android-chrome-256x256.png
---
# Constructor: updateChannelUserTyping
[Back to constructors index](index.md)
### Attributes:
| Name | Type | Required |
|----------|---------------|----------|
|channel\_id|[int](../types/int.md) | Yes|
|top\_msg\_id|[int](../types/int.md) | Optional|
|user\_id|[int](../types/int.md) | Yes|
|action|[SendMessageAction](../types/SendMessageAction.md) | Yes|
### Type: [Update](../types/Update.md)
### Example:
```php
$updateChannelUserTyping = ['_' => 'updateChannelUserTyping', 'channel_id' => int, 'top_msg_id' => int, 'user_id' => int, 'action' => SendMessageAction];
```
Or, if you're into Lua:
```lua
updateChannelUserTyping={_='updateChannelUserTyping', channel_id=int, top_msg_id=int, user_id=int, action=SendMessageAction}
```

View File

@ -8,8 +8,7 @@ image: https://docs.madelineproto.xyz/favicons/android-chrome-256x256.png
New group member.
This update is also typically emitted as an [updateNewMessage](updateNewMessage.md) with [messageService](messageService.md).
New group member.
### Attributes:

View File

@ -8,8 +8,7 @@ image: https://docs.madelineproto.xyz/favicons/android-chrome-256x256.png
A member has left the group.
This update is also typically emitted as an [updateNewMessage](updateNewMessage.md) with [messageService](messageService.md).
A member has left the group.
### Attributes:

View File

@ -8,8 +8,7 @@ image: https://docs.madelineproto.xyz/favicons/android-chrome-256x256.png
A message was pinned in a [legacy group](https://core.telegram.org/api/channel)
This update is also typically emitted as an [updateNewMessage](updateNewMessage.md) with [messageService](messageService.md).
A message was pinned in a [legacy group](https://core.telegram.org/api/channel)
### Attributes:

View File

@ -8,7 +8,7 @@ image: https://docs.madelineproto.xyz/favicons/android-chrome-256x256.png
New message in a private chat or in a [legacy group](https://core.telegram.org/api/channel)
New message.
### Attributes:

View File

@ -0,0 +1,37 @@
---
title: updatePeerBlocked
description: updatePeerBlocked attributes, type and example
image: https://docs.madelineproto.xyz/favicons/android-chrome-256x256.png
---
# Constructor: updatePeerBlocked
[Back to constructors index](index.md)
### Attributes:
| Name | Type | Required |
|----------|---------------|----------|
|peer\_id|[Peer](../types/Peer.md) | Yes|
|blocked|[Bool](../types/Bool.md) | Yes|
### Type: [Update](../types/Update.md)
### Example:
```php
$updatePeerBlocked = ['_' => 'updatePeerBlocked', 'peer_id' => Peer, 'blocked' => Bool];
```
Or, if you're into Lua:
```lua
updatePeerBlocked={_='updatePeerBlocked', peer_id=Peer, blocked=Bool}
```

View File

@ -0,0 +1,40 @@
---
title: updateReadChannelDiscussionInbox
description: updateReadChannelDiscussionInbox attributes, type and example
image: https://docs.madelineproto.xyz/favicons/android-chrome-256x256.png
---
# Constructor: updateReadChannelDiscussionInbox
[Back to constructors index](index.md)
### Attributes:
| Name | Type | Required |
|----------|---------------|----------|
|channel\_id|[int](../types/int.md) | Yes|
|top\_msg\_id|[int](../types/int.md) | Yes|
|read\_max\_id|[int](../types/int.md) | Yes|
|broadcast\_id|[int](../types/int.md) | Optional|
|broadcast\_post|[int](../types/int.md) | Optional|
### Type: [Update](../types/Update.md)
### Example:
```php
$updateReadChannelDiscussionInbox = ['_' => 'updateReadChannelDiscussionInbox', 'channel_id' => int, 'top_msg_id' => int, 'read_max_id' => int, 'broadcast_id' => int, 'broadcast_post' => int];
```
Or, if you're into Lua:
```lua
updateReadChannelDiscussionInbox={_='updateReadChannelDiscussionInbox', channel_id=int, top_msg_id=int, read_max_id=int, broadcast_id=int, broadcast_post=int}
```

View File

@ -0,0 +1,38 @@
---
title: updateReadChannelDiscussionOutbox
description: updateReadChannelDiscussionOutbox attributes, type and example
image: https://docs.madelineproto.xyz/favicons/android-chrome-256x256.png
---
# Constructor: updateReadChannelDiscussionOutbox
[Back to constructors index](index.md)
### Attributes:
| Name | Type | Required |
|----------|---------------|----------|
|channel\_id|[int](../types/int.md) | Yes|
|top\_msg\_id|[int](../types/int.md) | Yes|
|read\_max\_id|[int](../types/int.md) | Yes|
### Type: [Update](../types/Update.md)
### Example:
```php
$updateReadChannelDiscussionOutbox = ['_' => 'updateReadChannelDiscussionOutbox', 'channel_id' => int, 'top_msg_id' => int, 'read_max_id' => int];
```
Or, if you're into Lua:
```lua
updateReadChannelDiscussionOutbox={_='updateReadChannelDiscussionOutbox', channel_id=int, top_msg_id=int, read_max_id=int}
```

View File

@ -27,7 +27,7 @@ Shortened constructor containing info on one new incoming text message from a ch
|date|[int](../types/int.md) | Yes|[date](https://core.telegram.org/api/updates)|
|fwd\_from|[MessageFwdHeader](../types/MessageFwdHeader.md) | Optional|Info about a forwarded message|
|via\_bot\_id|[int](../types/int.md) | Optional|Info about the inline bot used to generate this message|
|reply\_to\_msg\_id|[int](../types/int.md) | Optional|ID of the message this message replies to|
|reply\_to|[MessageReplyHeader](../types/MessageReplyHeader.md) | Optional|
|entities|Array of [MessageEntity](../types/MessageEntity.md) | Optional|[Entities](https://core.telegram.org/api/entities) for styled text|
@ -38,14 +38,14 @@ Shortened constructor containing info on one new incoming text message from a ch
### Example:
```php
$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, MessageEntity]];
$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' => MessageReplyHeader, 'entities' => [MessageEntity, MessageEntity]];
```
Or, if you're into Lua:
```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}}
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=MessageReplyHeader, entities={MessageEntity}}
```

View File

@ -26,7 +26,7 @@ Info about a message sent to (received from) another user
|date|[int](../types/int.md) | Yes|[date](https://core.telegram.org/api/updates)|
|fwd\_from|[MessageFwdHeader](../types/MessageFwdHeader.md) | Optional|Info about a forwarded message|
|via\_bot\_id|[int](../types/int.md) | Optional|Info about the inline bot used to generate this message|
|reply\_to\_msg\_id|[int](../types/int.md) | Optional|ID of the message this message replies to|
|reply\_to|[MessageReplyHeader](../types/MessageReplyHeader.md) | Optional|
|entities|Array of [MessageEntity](../types/MessageEntity.md) | Optional|[Entities](https://core.telegram.org/api/entities) for styled text|
@ -37,14 +37,14 @@ Info about a message sent to (received from) another user
### Example:
```php
$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, MessageEntity]];
$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' => MessageReplyHeader, 'entities' => [MessageEntity, MessageEntity]];
```
Or, if you're into Lua:
```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}}
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=MessageReplyHeader, entities={MessageEntity}}
```

View File

@ -1,39 +0,0 @@
---
title: updateUserBlocked
description: User was added to the blacklist (method [contacts.block](../methods/contacts.block.md)) or removed from the blacklist (method [contacts.unblock](../methods/contacts.unblock.md)).
image: https://docs.madelineproto.xyz/favicons/android-chrome-256x256.png
---
# Constructor: updateUserBlocked
[Back to constructors index](index.md)
User was added to the blacklist (method [contacts.block](../methods/contacts.block.md)) or removed from the blacklist (method [contacts.unblock](../methods/contacts.unblock.md)).
### Attributes:
| Name | Type | Required | Description |
|----------|---------------|----------|-------------|
|user\_id|[int](../types/int.md) | Yes|User id|
|blocked|[Bool](../types/Bool.md) | Yes|([boolTrue](../constructors/boolTrue.md)) if the the user is blocked|
### Type: [Update](../types/Update.md)
### Example:
```php
$updateUserBlocked = ['_' => 'updateUserBlocked', 'user_id' => int, 'blocked' => Bool];
```
Or, if you're into Lua:
```lua
updateUserBlocked={_='updateUserBlocked', user_id=int, blocked=Bool}
```

View File

@ -1,6 +1,6 @@
---
title: updateUserStatus
description: User went online/offline
description: Contact status update.
image: https://docs.madelineproto.xyz/favicons/android-chrome-256x256.png
---
# Constructor: updateUserStatus
@ -8,14 +8,14 @@ image: https://docs.madelineproto.xyz/favicons/android-chrome-256x256.png
User went online/offline
Contact status update.
### Attributes:
| Name | Type | Required | Description |
|----------|---------------|----------|-------------|
|user\_id|[int](../types/int.md) | Yes|User identifier|
|status|[UserStatus](../types/UserStatus.md) | Optional|New user status|
|status|[UserStatus](../types/UserStatus.md) | Optional|New status|

View File

@ -1,6 +1,6 @@
---
title: userStatusEmpty
description: User status was newer changed
description: User status has not been set yet.
image: https://docs.madelineproto.xyz/favicons/android-chrome-256x256.png
---
# Constructor: userStatusEmpty
@ -8,7 +8,7 @@ image: https://docs.madelineproto.xyz/favicons/android-chrome-256x256.png
User status was newer changed
User status has not been set yet.

View File

@ -1,6 +1,6 @@
---
title: userStatusLastMonth
description: User is offline, but was online last month
description: Online status: last seen last month
image: https://docs.madelineproto.xyz/favicons/android-chrome-256x256.png
---
# Constructor: userStatusLastMonth
@ -8,7 +8,7 @@ image: https://docs.madelineproto.xyz/favicons/android-chrome-256x256.png
User is offline, but was online last month
Online status: last seen last month

View File

@ -1,6 +1,6 @@
---
title: userStatusLastWeek
description: User is offline, but was online last week
description: Online status: last seen last week
image: https://docs.madelineproto.xyz/favicons/android-chrome-256x256.png
---
# Constructor: userStatusLastWeek
@ -8,7 +8,7 @@ image: https://docs.madelineproto.xyz/favicons/android-chrome-256x256.png
User is offline, but was online last week
Online status: last seen last week

View File

@ -1,6 +1,6 @@
---
title: userStatusOffline
description: User is offline
description: The user's offline status.
image: https://docs.madelineproto.xyz/favicons/android-chrome-256x256.png
---
# Constructor: userStatusOffline
@ -8,13 +8,13 @@ image: https://docs.madelineproto.xyz/favicons/android-chrome-256x256.png
User is offline
The user's offline status.
### Attributes:
| Name | Type | Required | Description |
|----------|---------------|----------|-------------|
|was\_online|[int](../types/int.md) | Yes|Unix time user was online last time|
|was\_online|[int](../types/int.md) | Yes|Time the user was last seen online|

View File

@ -1,6 +1,6 @@
---
title: userStatusOnline
description: User is online
description: Online status of the user.
image: https://docs.madelineproto.xyz/favicons/android-chrome-256x256.png
---
# Constructor: userStatusOnline
@ -8,13 +8,13 @@ image: https://docs.madelineproto.xyz/favicons/android-chrome-256x256.png
User is online
Online status of the user.
### Attributes:
| Name | Type | Required | Description |
|----------|---------------|----------|-------------|
|expires|[int](../types/int.md) | Yes|Unix time when user's online status will expire|
|expires|[int](../types/int.md) | Yes|Time to expiration of the current online status|

View File

@ -1,6 +1,6 @@
---
title: userStatusRecently
description: User was online recently
description: Online status: last seen recently
image: https://docs.madelineproto.xyz/favicons/android-chrome-256x256.png
---
# Constructor: userStatusRecently
@ -8,7 +8,7 @@ image: https://docs.madelineproto.xyz/favicons/android-chrome-256x256.png
User was online recently
Online status: last seen recently

View File

@ -1,9 +1,9 @@
---
title: MadelineProto API documentation (layer 117)
description: MadelineProto API documentation (layer 117)
title: MadelineProto API documentation (layer 119)
description: MadelineProto API documentation (layer 119)
image: https://docs.madelineproto.xyz/favicons/android-chrome-256x256.png
---
# MadelineProto API documentation (layer 117)
# MadelineProto API documentation (layer 119)
[Back to main documentation](..)

View File

@ -436,7 +436,7 @@ $MadelineProto->[channels->editTitle](channels.editTitle.md)(\['channel' => [Inp
***
<br><br>
$MadelineProto->[channels->exportMessageLink](channels.exportMessageLink.md)(\['channel' => [InputChannel](../types/InputChannel.md), 'id' => [int](../types/int.md), 'grouped' => [Bool](../types/Bool.md), \]) === [$ExportedMessageLink](../types/ExportedMessageLink.md)<a name="channels.exportMessageLink"></a>
$MadelineProto->[channels->exportMessageLink](channels.exportMessageLink.md)(\['grouped' => [Bool](../types/Bool.md), 'thread' => [Bool](../types/Bool.md), 'channel' => [InputChannel](../types/InputChannel.md), 'id' => [int](../types/int.md), \]) === [$ExportedMessageLink](../types/ExportedMessageLink.md)<a name="channels.exportMessageLink"></a>
***
<br><br>
@ -536,7 +536,11 @@ $MadelineProto->[contacts->addContact](contacts.addContact.md)(\['add_phone_priv
***
<br><br>
$MadelineProto->[contacts->block](contacts.block.md)(\['id' => [InputUser](../types/InputUser.md), \]) === [$Bool](../types/Bool.md)<a name="contacts.block"></a>
$MadelineProto->[contacts->block](contacts.block.md)(\['id' => [InputPeer](../types/InputPeer.md), \]) === [$Bool](../types/Bool.md)<a name="contacts.block"></a>
***
<br><br>
$MadelineProto->[contacts->blockFromReplies](contacts.blockFromReplies.md)(\['delete_message' => [Bool](../types/Bool.md), 'delete_history' => [Bool](../types/Bool.md), 'report_spam' => [Bool](../types/Bool.md), 'msg_id' => [int](../types/int.md), \]) === [$Updates](../types/Updates.md)<a name="contacts.blockFromReplies"></a>
***
<br><br>
@ -600,7 +604,7 @@ $MadelineProto->[contacts->toggleTopPeers](contacts.toggleTopPeers.md)(\['enable
***
<br><br>
$MadelineProto->[contacts->unblock](contacts.unblock.md)(\['id' => [InputUser](../types/InputUser.md), \]) === [$Bool](../types/Bool.md)<a name="contacts.unblock"></a>
$MadelineProto->[contacts->unblock](contacts.unblock.md)(\['id' => [InputPeer](../types/InputPeer.md), \]) === [$Bool](../types/Bool.md)<a name="contacts.unblock"></a>
***
<br><br>
@ -642,6 +646,10 @@ $MadelineProto->[help->getCdnConfig](help.getCdnConfig.md)(\[\]) === [$CdnConfig
<br><br>
$MadelineProto->[help->getConfig](help.getConfig.md)(\[\]) === [$Config](../types/Config.md)<a name="help.getConfig"></a>
***
<br><br>
$MadelineProto->[help->getCountriesList](help.getCountriesList.md)(\['lang_code' => [string](../types/string.md), 'hash' => [int](../types/int.md), \]) === [$help.CountriesList](../types/help.CountriesList.md)<a name="help.getCountriesList"></a>
***
<br><br>
$MadelineProto->[help->getDeepLinkInfo](help.getDeepLinkInfo.md)(\['path' => [string](../types/string.md), \]) === [$help.DeepLinkInfo](../types/help.DeepLinkInfo.md)<a name="help.getDeepLinkInfo"></a>
@ -828,7 +836,7 @@ $MadelineProto->[messages->faveSticker](messages.faveSticker.md)(\['id' => [Inpu
***
<br><br>
$MadelineProto->[messages->forwardMessages](messages.forwardMessages.md)(\['silent' => [Bool](../types/Bool.md), 'background' => [Bool](../types/Bool.md), 'with_my_score' => [Bool](../types/Bool.md), 'grouped' => [Bool](../types/Bool.md), 'from_peer' => [InputPeer](../types/InputPeer.md), 'id' => \[[int](../types/int.md)\], 'to_peer' => [InputPeer](../types/InputPeer.md), 'schedule_date' => [int](../types/int.md), \]) === [$Updates](../types/Updates.md)<a name="messages.forwardMessages"></a>
$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), 'schedule_date' => [int](../types/int.md), \]) === [$Updates](../types/Updates.md)<a name="messages.forwardMessages"></a>
***
<br><br>
@ -852,7 +860,7 @@ $MadelineProto->[messages->getAttachedStickers](messages.getAttachedStickers.md)
***
<br><br>
$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)<a name="messages.getBotCallbackAnswer"></a>
$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), 'password' => [InputCheckPasswordSRP](../types/InputCheckPasswordSRP.md), \]) === [$messages.BotCallbackAnswer](../types/messages.BotCallbackAnswer.md)<a name="messages.getBotCallbackAnswer"></a>
***
<br><br>
@ -878,6 +886,10 @@ $MadelineProto->[messages->getDialogUnreadMarks](messages.getDialogUnreadMarks.m
<br><br>
$MadelineProto->[messages->getDialogs](messages.getDialogs.md)(\['exclude_pinned' => [Bool](../types/Bool.md), 'folder_id' => [int](../types/int.md), 'offset_date' => [int](../types/int.md), 'offset_id' => [int](../types/int.md), 'offset_peer' => [InputPeer](../types/InputPeer.md), 'limit' => [int](../types/int.md), 'hash' => [int](../types/int.md), \]) === [$messages.Dialogs](../types/messages.Dialogs.md)<a name="messages.getDialogs"></a>
***
<br><br>
$MadelineProto->[messages->getDiscussionMessage](messages.getDiscussionMessage.md)(\['peer' => [InputPeer](../types/InputPeer.md), 'msg_id' => [int](../types/int.md), \]) === [$messages.DiscussionMessage](../types/messages.DiscussionMessage.md)<a name="messages.getDiscussionMessage"></a>
***
<br><br>
$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)<a name="messages.getDocumentByHash"></a>
@ -940,7 +952,7 @@ $MadelineProto->[messages->getMessages](messages.getMessages.md)(\['id' => \[[In
***
<br><br>
$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)<a name="messages.getMessagesViews"></a>
$MadelineProto->[messages->getMessagesViews](messages.getMessagesViews.md)(\['peer' => [InputPeer](../types/InputPeer.md), 'id' => \[[int](../types/int.md)\], 'increment' => [Bool](../types/Bool.md), \]) === [$messages.MessageViews](../types/messages.MessageViews.md)<a name="messages.getMessagesViews"></a>
***
<br><br>
@ -978,6 +990,10 @@ $MadelineProto->[messages->getRecentLocations](messages.getRecentLocations.md)(\
<br><br>
$MadelineProto->[messages->getRecentStickers](messages.getRecentStickers.md)(\['attached' => [Bool](../types/Bool.md), 'hash' => [int](../types/int.md), \]) === [$messages.RecentStickers](../types/messages.RecentStickers.md)<a name="messages.getRecentStickers"></a>
***
<br><br>
$MadelineProto->[messages->getReplies](messages.getReplies.md)(\['peer' => [InputPeer](../types/InputPeer.md), 'msg_id' => [int](../types/int.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), 'hash' => [int](../types/int.md), \]) === [$messages.Messages](../types/messages.Messages.md)<a name="messages.getReplies"></a>
***
<br><br>
$MadelineProto->[messages->getSavedGifs](messages.getSavedGifs.md)(\['hash' => [int](../types/int.md), \]) === [$messages.SavedGifs](../types/messages.SavedGifs.md)<a name="messages.getSavedGifs"></a>
@ -1046,6 +1062,10 @@ $MadelineProto->[messages->markDialogUnread](messages.markDialogUnread.md)(\['un
<br><br>
$MadelineProto->[messages->migrateChat](messages.migrateChat.md)(\['chat_id' => [InputPeer](../types/InputPeer.md), \]) === [$Updates](../types/Updates.md)<a name="messages.migrateChat"></a>
***
<br><br>
$MadelineProto->[messages->readDiscussion](messages.readDiscussion.md)(\['peer' => [InputPeer](../types/InputPeer.md), 'msg_id' => [int](../types/int.md), 'read_max_id' => [int](../types/int.md), \]) === [$Bool](../types/Bool.md)<a name="messages.readDiscussion"></a>
***
<br><br>
$MadelineProto->[messages->readEncryptedHistory](messages.readEncryptedHistory.md)(\['peer' => [InputEncryptedChat](../types/InputEncryptedChat.md), 'max_date' => [int](../types/int.md), \]) === [$Bool](../types/Bool.md)<a name="messages.readEncryptedHistory"></a>
@ -1116,11 +1136,11 @@ $MadelineProto->[messages->saveRecentSticker](messages.saveRecentSticker.md)(\['
***
<br><br>
$MadelineProto->[messages->search](messages.search.md)(\['peer' => [InputPeer](../types/InputPeer.md), 'q' => [string](../types/string.md), 'from_id' => [InputUser](../types/InputUser.md), 'filter' => [MessagesFilter](../types/MessagesFilter.md), 'min_date' => [int](../types/int.md), 'max_date' => [int](../types/int.md), 'offset_id' => [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), 'hash' => [int](../types/int.md), \]) === [$messages.Messages](../types/messages.Messages.md)<a name="messages.search"></a>
$MadelineProto->[messages->search](messages.search.md)(\['peer' => [InputPeer](../types/InputPeer.md), 'q' => [string](../types/string.md), 'from_id' => [InputUser](../types/InputUser.md), 'top_msg_id' => [int](../types/int.md), 'filter' => [MessagesFilter](../types/MessagesFilter.md), 'min_date' => [int](../types/int.md), 'max_date' => [int](../types/int.md), 'offset_id' => [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), 'hash' => [int](../types/int.md), \]) === [$messages.Messages](../types/messages.Messages.md)<a name="messages.search"></a>
***
<br><br>
$MadelineProto->[messages->searchGlobal](messages.searchGlobal.md)(\['folder_id' => [int](../types/int.md), 'q' => [string](../types/string.md), 'offset_rate' => [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)<a name="messages.searchGlobal"></a>
$MadelineProto->[messages->searchGlobal](messages.searchGlobal.md)(\['folder_id' => [int](../types/int.md), 'q' => [string](../types/string.md), 'filter' => [MessagesFilter](../types/MessagesFilter.md), 'min_date' => [int](../types/int.md), 'max_date' => [int](../types/int.md), 'offset_rate' => [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)<a name="messages.searchGlobal"></a>
***
<br><br>
@ -1128,11 +1148,11 @@ $MadelineProto->[messages->searchStickerSets](messages.searchStickerSets.md)(\['
***
<br><br>
$MadelineProto->[messages->sendEncrypted](messages.sendEncrypted.md)(\['peer' => [InputEncryptedChat](../types/InputEncryptedChat.md), 'data' => [bytes](../types/bytes.md), \]) === [$messages.SentEncryptedMessage](../types/messages.SentEncryptedMessage.md)<a name="messages.sendEncrypted"></a>
$MadelineProto->[messages->sendEncrypted](messages.sendEncrypted.md)(\['silent' => [Bool](../types/Bool.md), 'peer' => [InputEncryptedChat](../types/InputEncryptedChat.md), 'data' => [bytes](../types/bytes.md), \]) === [$messages.SentEncryptedMessage](../types/messages.SentEncryptedMessage.md)<a name="messages.sendEncrypted"></a>
***
<br><br>
$MadelineProto->[messages->sendEncryptedFile](messages.sendEncryptedFile.md)(\['peer' => [InputEncryptedChat](../types/InputEncryptedChat.md), 'data' => [bytes](../types/bytes.md), 'file' => [InputEncryptedFile](../types/InputEncryptedFile.md), \]) === [$messages.SentEncryptedMessage](../types/messages.SentEncryptedMessage.md)<a name="messages.sendEncryptedFile"></a>
$MadelineProto->[messages->sendEncryptedFile](messages.sendEncryptedFile.md)(\['silent' => [Bool](../types/Bool.md), 'peer' => [InputEncryptedChat](../types/InputEncryptedChat.md), 'data' => [bytes](../types/bytes.md), 'file' => [InputEncryptedFile](../types/InputEncryptedFile.md), \]) === [$messages.SentEncryptedMessage](../types/messages.SentEncryptedMessage.md)<a name="messages.sendEncryptedFile"></a>
***
<br><br>
@ -1196,7 +1216,7 @@ $MadelineProto->[messages->setInlineGameScore](messages.setInlineGameScore.md)(\
***
<br><br>
$MadelineProto->[messages->setTyping](messages.setTyping.md)(\['peer' => [InputPeer](../types/InputPeer.md), 'action' => [SendMessageAction](../types/SendMessageAction.md), \]) === [$Bool](../types/Bool.md)<a name="messages.setTyping"></a>
$MadelineProto->[messages->setTyping](messages.setTyping.md)(\['peer' => [InputPeer](../types/InputPeer.md), 'top_msg_id' => [int](../types/int.md), 'action' => [SendMessageAction](../types/SendMessageAction.md), \]) === [$Bool](../types/Bool.md)<a name="messages.setTyping"></a>
***
<br><br>
@ -1322,6 +1342,14 @@ $MadelineProto->[stats->getBroadcastStats](stats.getBroadcastStats.md)(\['dark'
<br><br>
$MadelineProto->[stats->getMegagroupStats](stats.getMegagroupStats.md)(\['dark' => [Bool](../types/Bool.md), 'channel' => [InputChannel](../types/InputChannel.md), \]) === [$stats.MegagroupStats](../types/stats.MegagroupStats.md)<a name="stats.getMegagroupStats"></a>
***
<br><br>
$MadelineProto->[stats->getMessagePublicForwards](stats.getMessagePublicForwards.md)(\['channel' => [InputChannel](../types/InputChannel.md), 'msg_id' => [int](../types/int.md), 'offset_rate' => [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)<a name="stats.getMessagePublicForwards"></a>
***
<br><br>
$MadelineProto->[stats->getMessageStats](stats.getMessageStats.md)(\['dark' => [Bool](../types/Bool.md), 'channel' => [InputChannel](../types/InputChannel.md), 'msg_id' => [int](../types/int.md), \]) === [$stats.MessageStats](../types/stats.MessageStats.md)<a name="stats.getMessageStats"></a>
***
<br><br>
$MadelineProto->[stats->loadAsyncGraph](stats.loadAsyncGraph.md)(\['token' => [string](../types/string.md), 'x' => [long](../types/long.md), \]) === [$StatsGraph](../types/StatsGraph.md)<a name="stats.loadAsyncGraph"></a>

View File

@ -15,9 +15,10 @@ Get link and embed info of a message in a [channel/supergroup](https://core.tele
| Name | Type | Description | Required |
|----------|---------------|-------------|----------|
|grouped|[Bool](../types/Bool.md) | | Optional|
|thread|[Bool](../types/Bool.md) | | Optional|
|channel|[Username, chat ID, Update, Message or InputChannel](../types/InputChannel.md) | Channel | Optional|
|id|[int](../types/int.md) | Message ID | Yes|
|grouped|[Bool](../types/Bool.md) | Whether to include other grouped media (for albums) | Yes|
### Return type: [ExportedMessageLink](../types/ExportedMessageLink.md)
@ -37,13 +38,13 @@ include 'madeline.php';
$MadelineProto = new \danog\MadelineProto\API('session.madeline');
$MadelineProto->start();
$ExportedMessageLink = $MadelineProto->channels->exportMessageLink(['channel' => InputChannel, 'id' => int, 'grouped' => Bool, ]);
$ExportedMessageLink = $MadelineProto->channels->exportMessageLink(['grouped' => Bool, 'thread' => Bool, 'channel' => InputChannel, 'id' => int, ]);
```
Or, if you're into Lua:
```lua
ExportedMessageLink = channels.exportMessageLink({channel=InputChannel, id=int, grouped=Bool, })
ExportedMessageLink = channels.exportMessageLink({grouped=Bool, thread=Bool, channel=InputChannel, id=int, })
```
### Errors

View File

@ -9,7 +9,7 @@ redirect_from: /API_docs/methods/channels_getParticipants.html
Get the participants of a supergroup/channel
Get the participants of a channel
### Parameters:

View File

@ -15,7 +15,7 @@ Adds the user to the blacklist.
| Name | Type | Description | Required |
|----------|---------------|-------------|----------|
|id|[Username, chat ID, Update, Message or InputUser](../types/InputUser.md) | User ID | Optional|
|id|[Username, chat ID, Update, Message or InputPeer](../types/InputPeer.md) | | Optional|
### Return type: [Bool](../types/Bool.md)
@ -35,13 +35,13 @@ include 'madeline.php';
$MadelineProto = new \danog\MadelineProto\API('session.madeline');
$MadelineProto->start();
$Bool = $MadelineProto->contacts->block(['id' => InputUser, ]);
$Bool = $MadelineProto->contacts->block(['id' => InputPeer, ]);
```
Or, if you're into Lua:
```lua
Bool = contacts.block({id=InputUser, })
Bool = contacts.block({id=InputPeer, })
```
### Errors

View File

@ -0,0 +1,47 @@
---
title: contacts.blockFromReplies
description: contacts.blockFromReplies parameters, return type and example
image: https://docs.madelineproto.xyz/favicons/android-chrome-256x256.png
redirect_from: /API_docs/methods/contacts_blockFromReplies.html
---
# Method: contacts.blockFromReplies
[Back to methods index](index.md)
### Parameters:
| Name | Type | Required |
|----------|---------------|----------|
|delete\_message|[Bool](../types/Bool.md) | Optional|
|delete\_history|[Bool](../types/Bool.md) | Optional|
|report\_spam|[Bool](../types/Bool.md) | Optional|
|msg\_id|[int](../types/int.md) | Yes|
### Return type: [Updates](../types/Updates.md)
### Can bots use this method: **YES**
### MadelineProto Example ([now async for huge speed and parallelism!](https://docs.madelineproto.xyz/docs/ASYNC.html)):
```php
if (!file_exists('madeline.php')) {
copy('https://phar.madelineproto.xyz/madeline.php', 'madeline.php');
}
include 'madeline.php';
$MadelineProto = new \danog\MadelineProto\API('session.madeline');
$MadelineProto->start();
$Updates = $MadelineProto->contacts->blockFromReplies(['delete_message' => Bool, 'delete_history' => Bool, 'report_spam' => Bool, 'msg_id' => int, ]);
```
Or, if you're into Lua:
```lua
Updates = contacts.blockFromReplies({delete_message=Bool, delete_history=Bool, report_spam=Bool, msg_id=int, })
```

View File

@ -15,7 +15,7 @@ Deletes the user from the blacklist.
| Name | Type | Description | Required |
|----------|---------------|-------------|----------|
|id|[Username, chat ID, Update, Message or InputUser](../types/InputUser.md) | User ID | Optional|
|id|[Username, chat ID, Update, Message or InputPeer](../types/InputPeer.md) | | Optional|
### Return type: [Bool](../types/Bool.md)
@ -35,13 +35,13 @@ include 'madeline.php';
$MadelineProto = new \danog\MadelineProto\API('session.madeline');
$MadelineProto->start();
$Bool = $MadelineProto->contacts->unblock(['id' => InputUser, ]);
$Bool = $MadelineProto->contacts->unblock(['id' => InputPeer, ]);
```
Or, if you're into Lua:
```lua
Bool = contacts.unblock({id=InputUser, })
Bool = contacts.unblock({id=InputPeer, })
```
### Errors

View File

@ -0,0 +1,45 @@
---
title: help.getCountriesList
description: help.getCountriesList parameters, return type and example
image: https://docs.madelineproto.xyz/favicons/android-chrome-256x256.png
redirect_from: /API_docs/methods/help_getCountriesList.html
---
# Method: help.getCountriesList
[Back to methods index](index.md)
### Parameters:
| Name | Type | Required |
|----------|---------------|----------|
|lang\_code|[string](../types/string.md) | Yes|
|hash|Array of [int](../types/int.md) | Optional|
### Return type: [help.CountriesList](../types/help.CountriesList.md)
### Can bots use this method: **YES**
### MadelineProto Example ([now async for huge speed and parallelism!](https://docs.madelineproto.xyz/docs/ASYNC.html)):
```php
if (!file_exists('madeline.php')) {
copy('https://phar.madelineproto.xyz/madeline.php', 'madeline.php');
}
include 'madeline.php';
$MadelineProto = new \danog\MadelineProto\API('session.madeline');
$MadelineProto->start();
$help.CountriesList = $MadelineProto->help->getCountriesList(['lang_code' => 'string', 'hash' => [int, int], ]);
```
Or, if you're into Lua:
```lua
help.CountriesList = help.getCountriesList({lang_code='string', hash={int}, })
```

View File

@ -18,7 +18,6 @@ Forwards messages by their IDs.
|silent|[Bool](../types/Bool.md) | Whether to send messages silently (no notification will be triggered on the destination clients) | Optional|
|background|[Bool](../types/Bool.md) | Whether to send the message in background | Optional|
|with\_my\_score|[Bool](../types/Bool.md) | When forwarding games, whether to include your score in the game | Optional|
|grouped|[Bool](../types/Bool.md) | Whether the specified messages represent an album (grouped media) | Optional|
|from\_peer|[Username, chat ID, Update, Message or InputPeer](../types/InputPeer.md) | Source of messages | Optional|
|id|Array of [int](../types/int.md) | IDs of messages | Yes|
|to\_peer|[Username, chat ID, Update, Message or InputPeer](../types/InputPeer.md) | Destination peer | Optional|
@ -42,13 +41,13 @@ include 'madeline.php';
$MadelineProto = new \danog\MadelineProto\API('session.madeline');
$MadelineProto->start();
$Updates = $MadelineProto->messages->forwardMessages(['silent' => Bool, 'background' => Bool, 'with_my_score' => Bool, 'grouped' => Bool, 'from_peer' => InputPeer, 'id' => [int, int], 'to_peer' => InputPeer, 'schedule_date' => int, ]);
$Updates = $MadelineProto->messages->forwardMessages(['silent' => Bool, 'background' => Bool, 'with_my_score' => Bool, 'from_peer' => InputPeer, 'id' => [int, int], 'to_peer' => InputPeer, 'schedule_date' => int, ]);
```
Or, if you're into Lua:
```lua
Updates = messages.forwardMessages({silent=Bool, background=Bool, with_my_score=Bool, grouped=Bool, from_peer=InputPeer, id={int}, to_peer=InputPeer, schedule_date=int, })
Updates = messages.forwardMessages({silent=Bool, background=Bool, with_my_score=Bool, from_peer=InputPeer, id={int}, to_peer=InputPeer, schedule_date=int, })
```
### Errors

View File

@ -19,6 +19,7 @@ Press an inline callback button and get a callback answer from the bot
|peer|[Username, chat ID, Update, Message or InputPeer](../types/InputPeer.md) | Where was the inline keyboard sent | Optional|
|msg\_id|[int](../types/int.md) | ID of the Message with the inline keyboard | Yes|
|data|[bytes](../types/bytes.md) | Callback data | Optional|
|password|[InputCheckPasswordSRP](../types/InputCheckPasswordSRP.md) | | Optional|
### Return type: [messages.BotCallbackAnswer](../types/messages.BotCallbackAnswer.md)
@ -38,13 +39,13 @@ include 'madeline.php';
$MadelineProto = new \danog\MadelineProto\API('session.madeline');
$MadelineProto->start();
$messages.BotCallbackAnswer = $MadelineProto->messages->getBotCallbackAnswer(['game' => Bool, 'peer' => InputPeer, 'msg_id' => int, 'data' => 'bytes', ]);
$messages.BotCallbackAnswer = $MadelineProto->messages->getBotCallbackAnswer(['game' => Bool, 'peer' => InputPeer, 'msg_id' => int, 'data' => 'bytes', 'password' => InputCheckPasswordSRP, ]);
```
Or, if you're into Lua:
```lua
messages.BotCallbackAnswer = messages.getBotCallbackAnswer({game=Bool, peer=InputPeer, msg_id=int, data='bytes', })
messages.BotCallbackAnswer = messages.getBotCallbackAnswer({game=Bool, peer=InputPeer, msg_id=int, data='bytes', password=InputCheckPasswordSRP, })
```
### Errors

View File

@ -0,0 +1,45 @@
---
title: messages.getDiscussionMessage
description: messages.getDiscussionMessage parameters, return type and example
image: https://docs.madelineproto.xyz/favicons/android-chrome-256x256.png
redirect_from: /API_docs/methods/messages_getDiscussionMessage.html
---
# Method: messages.getDiscussionMessage
[Back to methods index](index.md)
### Parameters:
| Name | Type | Required |
|----------|---------------|----------|
|peer|[Username, chat ID, Update, Message or InputPeer](../types/InputPeer.md) | Optional|
|msg\_id|[int](../types/int.md) | Yes|
### Return type: [messages.DiscussionMessage](../types/messages.DiscussionMessage.md)
### Can bots use this method: **YES**
### MadelineProto Example ([now async for huge speed and parallelism!](https://docs.madelineproto.xyz/docs/ASYNC.html)):
```php
if (!file_exists('madeline.php')) {
copy('https://phar.madelineproto.xyz/madeline.php', 'madeline.php');
}
include 'madeline.php';
$MadelineProto = new \danog\MadelineProto\API('session.madeline');
$MadelineProto->start();
$messages.DiscussionMessage = $MadelineProto->messages->getDiscussionMessage(['peer' => InputPeer, 'msg_id' => int, ]);
```
Or, if you're into Lua:
```lua
messages.DiscussionMessage = messages.getDiscussionMessage({peer=InputPeer, msg_id=int, })
```

View File

@ -20,7 +20,7 @@ Get and increase the view counter of a message sent or forwarded from a [channel
|increment|[Bool](../types/Bool.md) | Whether to mark the message as viewed and increment the view counter | Yes|
### Return type: [Vector\_of\_int](../types/int.md)
### Return type: [messages.MessageViews](../types/messages.MessageViews.md)
### Can bots use this method: **NO**
@ -37,13 +37,13 @@ include 'madeline.php';
$MadelineProto = new \danog\MadelineProto\API('session.madeline');
$MadelineProto->start();
$Vector_of_int = $MadelineProto->messages->getMessagesViews(['peer' => InputPeer, 'id' => [int, int], 'increment' => Bool, ]);
$messages.MessageViews = $MadelineProto->messages->getMessagesViews(['peer' => InputPeer, 'id' => [int, int], 'increment' => Bool, ]);
```
Or, if you're into Lua:
```lua
Vector_of_int = messages.getMessagesViews({peer=InputPeer, id={int}, increment=Bool, })
messages.MessageViews = messages.getMessagesViews({peer=InputPeer, id={int}, increment=Bool, })
```
### Errors

View File

@ -0,0 +1,52 @@
---
title: messages.getReplies
description: messages.getReplies parameters, return type and example
image: https://docs.madelineproto.xyz/favicons/android-chrome-256x256.png
redirect_from: /API_docs/methods/messages_getReplies.html
---
# Method: messages.getReplies
[Back to methods index](index.md)
### Parameters:
| Name | Type | Required |
|----------|---------------|----------|
|peer|[Username, chat ID, Update, Message or InputPeer](../types/InputPeer.md) | Optional|
|msg\_id|[int](../types/int.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|
|hash|Array of [int](../types/int.md) | Optional|
### Return type: [messages.Messages](../types/messages.Messages.md)
### Can bots use this method: **YES**
### MadelineProto Example ([now async for huge speed and parallelism!](https://docs.madelineproto.xyz/docs/ASYNC.html)):
```php
if (!file_exists('madeline.php')) {
copy('https://phar.madelineproto.xyz/madeline.php', 'madeline.php');
}
include 'madeline.php';
$MadelineProto = new \danog\MadelineProto\API('session.madeline');
$MadelineProto->start();
$messages.Messages = $MadelineProto->messages->getReplies(['peer' => InputPeer, 'msg_id' => int, 'offset_id' => int, 'offset_date' => int, 'add_offset' => int, 'limit' => int, 'max_id' => int, 'min_id' => int, 'hash' => [int, int], ]);
```
Or, if you're into Lua:
```lua
messages.Messages = messages.getReplies({peer=InputPeer, msg_id=int, offset_id=int, offset_date=int, add_offset=int, limit=int, max_id=int, min_id=int, hash={int}, })
```

View File

@ -0,0 +1,46 @@
---
title: messages.readDiscussion
description: messages.readDiscussion parameters, return type and example
image: https://docs.madelineproto.xyz/favicons/android-chrome-256x256.png
redirect_from: /API_docs/methods/messages_readDiscussion.html
---
# Method: messages.readDiscussion
[Back to methods index](index.md)
### Parameters:
| Name | Type | Required |
|----------|---------------|----------|
|peer|[Username, chat ID, Update, Message or InputPeer](../types/InputPeer.md) | Optional|
|msg\_id|[int](../types/int.md) | Yes|
|read\_max\_id|[int](../types/int.md) | Yes|
### Return type: [Bool](../types/Bool.md)
### Can bots use this method: **YES**
### MadelineProto Example ([now async for huge speed and parallelism!](https://docs.madelineproto.xyz/docs/ASYNC.html)):
```php
if (!file_exists('madeline.php')) {
copy('https://phar.madelineproto.xyz/madeline.php', 'madeline.php');
}
include 'madeline.php';
$MadelineProto = new \danog\MadelineProto\API('session.madeline');
$MadelineProto->start();
$Bool = $MadelineProto->messages->readDiscussion(['peer' => InputPeer, 'msg_id' => int, 'read_max_id' => int, ]);
```
Or, if you're into Lua:
```lua
Bool = messages.readDiscussion({peer=InputPeer, msg_id=int, read_max_id=int, })
```

View File

@ -18,6 +18,7 @@ Gets back found messages
|peer|[Username, chat ID, Update, Message or InputPeer](../types/InputPeer.md) | User or chat, histories with which are searched, or [(inputPeerEmpty)](../constructors/inputPeerEmpty.md) constructor for global search | Optional|
|q|[string](../types/string.md) | Text search request | Yes|
|from\_id|[Username, chat ID, Update, Message or InputUser](../types/InputUser.md) | Only return messages sent by the specified user ID | Optional|
|top\_msg\_id|[int](../types/int.md) | | Optional|
|filter|[MessagesFilter](../types/MessagesFilter.md) | Filter to return only specified message types | Optional|
|min\_date|[int](../types/int.md) | If a positive value was transferred, only messages with a sending date bigger than the transferred one will be returned | Yes|
|max\_date|[int](../types/int.md) | If a positive value was transferred, only messages with a sending date smaller than the transferred one will be returned | Yes|
@ -46,13 +47,13 @@ include 'madeline.php';
$MadelineProto = new \danog\MadelineProto\API('session.madeline');
$MadelineProto->start();
$messages.Messages = $MadelineProto->messages->search(['peer' => InputPeer, 'q' => 'string', 'from_id' => InputUser, 'filter' => MessagesFilter, 'min_date' => int, 'max_date' => int, 'offset_id' => int, 'add_offset' => int, 'limit' => int, 'max_id' => int, 'min_id' => int, 'hash' => [int, int], ]);
$messages.Messages = $MadelineProto->messages->search(['peer' => InputPeer, 'q' => 'string', 'from_id' => InputUser, 'top_msg_id' => int, 'filter' => MessagesFilter, 'min_date' => int, 'max_date' => int, 'offset_id' => int, 'add_offset' => int, 'limit' => int, 'max_id' => int, 'min_id' => int, 'hash' => [int, int], ]);
```
Or, if you're into Lua:
```lua
messages.Messages = messages.search({peer=InputPeer, q='string', from_id=InputUser, filter=MessagesFilter, min_date=int, max_date=int, offset_id=int, add_offset=int, limit=int, max_id=int, min_id=int, hash={int}, })
messages.Messages = messages.search({peer=InputPeer, q='string', from_id=InputUser, top_msg_id=int, filter=MessagesFilter, min_date=int, max_date=int, offset_id=int, add_offset=int, limit=int, max_id=int, min_id=int, hash={int}, })
```
### Errors

View File

@ -17,6 +17,9 @@ Search for messages and peers globally
|----------|---------------|-------------|----------|
|folder\_id|[int](../types/int.md) | [Peer folder ID, for more info click here](https://core.telegram.org/api/folders#peer-folders) | Optional|
|q|[string](../types/string.md) | Query | Yes|
|filter|[MessagesFilter](../types/MessagesFilter.md) | | Optional|
|min\_date|[int](../types/int.md) | | Yes|
|max\_date|[int](../types/int.md) | | Yes|
|offset\_rate|[int](../types/int.md) | Initially 0, then set to the [`next_rate` parameter of messages.messagesSlice](../constructors/messages.messagesSlice.md) | Yes|
|offset\_peer|[Username, chat ID, Update, Message or InputPeer](../types/InputPeer.md) | [Offsets for pagination, for more info click here](https://core.telegram.org/api/offsets) | Optional|
|offset\_id|[int](../types/int.md) | [Offsets for pagination, for more info click here](https://core.telegram.org/api/offsets) | Yes|
@ -40,13 +43,13 @@ include 'madeline.php';
$MadelineProto = new \danog\MadelineProto\API('session.madeline');
$MadelineProto->start();
$messages.Messages = $MadelineProto->messages->searchGlobal(['folder_id' => int, 'q' => 'string', 'offset_rate' => int, 'offset_peer' => InputPeer, 'offset_id' => int, 'limit' => int, ]);
$messages.Messages = $MadelineProto->messages->searchGlobal(['folder_id' => int, 'q' => 'string', 'filter' => MessagesFilter, 'min_date' => int, 'max_date' => int, 'offset_rate' => int, 'offset_peer' => InputPeer, 'offset_id' => int, 'limit' => int, ]);
```
Or, if you're into Lua:
```lua
messages.Messages = messages.searchGlobal({folder_id=int, q='string', offset_rate=int, offset_peer=InputPeer, offset_id=int, limit=int, })
messages.Messages = messages.searchGlobal({folder_id=int, q='string', filter=MessagesFilter, min_date=int, max_date=int, offset_rate=int, offset_peer=InputPeer, offset_id=int, limit=int, })
```
### Errors

View File

@ -15,6 +15,7 @@ Sends a text message to a secret chat.
| Name | Type | Description | Required |
|----------|---------------|-------------|----------|
|silent|[Bool](../types/Bool.md) | | Optional|
|peer|[Secret chat ID, Update, EncryptedMessage or InputEncryptedChat](../types/InputEncryptedChat.md) | Secret chat ID | Yes|
|data|[bytes](../types/bytes.md) | TL-serialization of [DecryptedMessage](../types/DecryptedMessage.md) type, encrypted with a key that was created during chat initialization | Yes|
@ -36,13 +37,13 @@ include 'madeline.php';
$MadelineProto = new \danog\MadelineProto\API('session.madeline');
$MadelineProto->start();
$messages.SentEncryptedMessage = $MadelineProto->messages->sendEncrypted(['peer' => InputEncryptedChat, 'data' => 'bytes', ]);
$messages.SentEncryptedMessage = $MadelineProto->messages->sendEncrypted(['silent' => Bool, 'peer' => InputEncryptedChat, 'data' => 'bytes', ]);
```
Or, if you're into Lua:
```lua
messages.SentEncryptedMessage = messages.sendEncrypted({peer=InputEncryptedChat, data='bytes', })
messages.SentEncryptedMessage = messages.sendEncrypted({silent=Bool, peer=InputEncryptedChat, data='bytes', })
```
### Errors

View File

@ -15,6 +15,7 @@ Sends a message with a file attachment to a secret chat
| Name | Type | Description | Required |
|----------|---------------|-------------|----------|
|silent|[Bool](../types/Bool.md) | | Optional|
|peer|[Secret chat ID, Update, EncryptedMessage or InputEncryptedChat](../types/InputEncryptedChat.md) | Secret chat ID | Yes|
|data|[bytes](../types/bytes.md) | TL-serialization of [DecryptedMessage](../types/DecryptedMessage.md) type, encrypted with a key generated during chat initialization | Yes|
|file|[File path or InputEncryptedFile](../types/InputEncryptedFile.md) | File attachment for the secret chat | Optional|
@ -37,13 +38,13 @@ include 'madeline.php';
$MadelineProto = new \danog\MadelineProto\API('session.madeline');
$MadelineProto->start();
$messages.SentEncryptedMessage = $MadelineProto->messages->sendEncryptedFile(['peer' => InputEncryptedChat, 'data' => 'bytes', 'file' => InputEncryptedFile, ]);
$messages.SentEncryptedMessage = $MadelineProto->messages->sendEncryptedFile(['silent' => Bool, 'peer' => InputEncryptedChat, 'data' => 'bytes', 'file' => InputEncryptedFile, ]);
```
Or, if you're into Lua:
```lua
messages.SentEncryptedMessage = messages.sendEncryptedFile({peer=InputEncryptedChat, data='bytes', file=InputEncryptedFile, })
messages.SentEncryptedMessage = messages.sendEncryptedFile({silent=Bool, peer=InputEncryptedChat, data='bytes', file=InputEncryptedFile, })
```
### Errors

View File

@ -16,6 +16,7 @@ Sends a current user typing event (see [SendMessageAction](../types/SendMessageA
| Name | Type | Description | Required |
|----------|---------------|-------------|----------|
|peer|[Username, chat ID, Update, Message or InputPeer](../types/InputPeer.md) | Target user or group | Optional|
|top\_msg\_id|[int](../types/int.md) | | Optional|
|action|[SendMessageAction](../types/SendMessageAction.md) | Type of action<br>Parameter added in [Layer 17](https://core.telegram.org/api/layers#layer-17). | Yes|
@ -36,13 +37,13 @@ include 'madeline.php';
$MadelineProto = new \danog\MadelineProto\API('session.madeline');
$MadelineProto->start();
$Bool = $MadelineProto->messages->setTyping(['peer' => InputPeer, 'action' => SendMessageAction, ]);
$Bool = $MadelineProto->messages->setTyping(['peer' => InputPeer, 'top_msg_id' => int, 'action' => SendMessageAction, ]);
```
Or, if you're into Lua:
```lua
Bool = messages.setTyping({peer=InputPeer, action=SendMessageAction, })
Bool = messages.setTyping({peer=InputPeer, top_msg_id=int, action=SendMessageAction, })
```
### Errors

View File

@ -0,0 +1,49 @@
---
title: stats.getMessagePublicForwards
description: stats.getMessagePublicForwards parameters, return type and example
image: https://docs.madelineproto.xyz/favicons/android-chrome-256x256.png
redirect_from: /API_docs/methods/stats_getMessagePublicForwards.html
---
# Method: stats.getMessagePublicForwards
[Back to methods index](index.md)
### Parameters:
| Name | Type | Required |
|----------|---------------|----------|
|channel|[Username, chat ID, Update, Message or InputChannel](../types/InputChannel.md) | Optional|
|msg\_id|[int](../types/int.md) | Yes|
|offset\_rate|[int](../types/int.md) | Yes|
|offset\_peer|[Username, chat ID, Update, Message or InputPeer](../types/InputPeer.md) | Optional|
|offset\_id|[int](../types/int.md) | Yes|
|limit|[int](../types/int.md) | Yes|
### Return type: [messages.Messages](../types/messages.Messages.md)
### Can bots use this method: **YES**
### MadelineProto Example ([now async for huge speed and parallelism!](https://docs.madelineproto.xyz/docs/ASYNC.html)):
```php
if (!file_exists('madeline.php')) {
copy('https://phar.madelineproto.xyz/madeline.php', 'madeline.php');
}
include 'madeline.php';
$MadelineProto = new \danog\MadelineProto\API('session.madeline');
$MadelineProto->start();
$messages.Messages = $MadelineProto->stats->getMessagePublicForwards(['channel' => InputChannel, 'msg_id' => int, 'offset_rate' => int, 'offset_peer' => InputPeer, 'offset_id' => int, 'limit' => int, ]);
```
Or, if you're into Lua:
```lua
messages.Messages = stats.getMessagePublicForwards({channel=InputChannel, msg_id=int, offset_rate=int, offset_peer=InputPeer, offset_id=int, limit=int, })
```

View File

@ -0,0 +1,46 @@
---
title: stats.getMessageStats
description: stats.getMessageStats parameters, return type and example
image: https://docs.madelineproto.xyz/favicons/android-chrome-256x256.png
redirect_from: /API_docs/methods/stats_getMessageStats.html
---
# Method: stats.getMessageStats
[Back to methods index](index.md)
### Parameters:
| Name | Type | Required |
|----------|---------------|----------|
|dark|[Bool](../types/Bool.md) | Optional|
|channel|[Username, chat ID, Update, Message or InputChannel](../types/InputChannel.md) | Optional|
|msg\_id|[int](../types/int.md) | Yes|
### Return type: [stats.MessageStats](../types/stats.MessageStats.md)
### Can bots use this method: **YES**
### MadelineProto Example ([now async for huge speed and parallelism!](https://docs.madelineproto.xyz/docs/ASYNC.html)):
```php
if (!file_exists('madeline.php')) {
copy('https://phar.madelineproto.xyz/madeline.php', 'madeline.php');
}
include 'madeline.php';
$MadelineProto = new \danog\MadelineProto\API('session.madeline');
$MadelineProto->start();
$stats.MessageStats = $MadelineProto->stats->getMessageStats(['dark' => Bool, 'channel' => InputChannel, 'msg_id' => int, ]);
```
Or, if you're into Lua:
```lua
stats.MessageStats = stats.getMessageStats({dark=Bool, channel=InputChannel, msg_id=int, })
```

View File

@ -1,16 +1,16 @@
---
title: ContactBlocked
description: constructors and methods of type ContactBlocked
title: MessageReplies
description: constructors and methods of type MessageReplies
image: https://docs.madelineproto.xyz/favicons/android-chrome-256x256.png
---
# Type: ContactBlocked
# Type: MessageReplies
[Back to types index](index.md)
### Possible values (constructors):
[contactBlocked](../constructors/contactBlocked.md)
[messageReplies](../constructors/messageReplies.md)
@ -18,5 +18,5 @@ image: https://docs.madelineproto.xyz/favicons/android-chrome-256x256.png
[contactBlocked](../constructors/contactBlocked.md)
[messageReplies](../constructors/messageReplies.md)

View File

@ -0,0 +1,22 @@
---
title: MessageReplyHeader
description: constructors and methods of type MessageReplyHeader
image: https://docs.madelineproto.xyz/favicons/android-chrome-256x256.png
---
# Type: MessageReplyHeader
[Back to types index](index.md)
### Possible values (constructors):
[messageReplyHeader](../constructors/messageReplyHeader.md)
### Methods that return an object of this type (methods):
[messageReplyHeader](../constructors/messageReplyHeader.md)

View File

@ -1,18 +1,16 @@
---
title: InputAudio
description: constructors and methods of type InputAudio
title: MessageViews
description: constructors and methods of type MessageViews
image: https://docs.madelineproto.xyz/favicons/android-chrome-256x256.png
---
# Type: InputAudio
# Type: MessageViews
[Back to types index](index.md)
### Possible values (constructors):
[inputAudioEmpty](../constructors/inputAudioEmpty.md)
[inputAudio](../constructors/inputAudio.md)
[messageViews](../constructors/messageViews.md)
@ -20,3 +18,5 @@ image: https://docs.madelineproto.xyz/favicons/android-chrome-256x256.png
[messageViews](../constructors/messageViews.md)

View File

@ -0,0 +1,22 @@
---
title: PeerBlocked
description: constructors and methods of type PeerBlocked
image: https://docs.madelineproto.xyz/favicons/android-chrome-256x256.png
---
# Type: PeerBlocked
[Back to types index](index.md)
### Possible values (constructors):
[peerBlocked](../constructors/peerBlocked.md)
### Methods that return an object of this type (methods):
[peerBlocked](../constructors/peerBlocked.md)

View File

@ -18,6 +18,8 @@ image: https://docs.madelineproto.xyz/favicons/android-chrome-256x256.png
[photoStrippedSize](../constructors/photoStrippedSize.md)
[photoSizeProgressive](../constructors/photoSizeProgressive.md)
### Methods that return an object of this type (methods):
@ -32,3 +34,5 @@ image: https://docs.madelineproto.xyz/favicons/android-chrome-256x256.png
[photoStrippedSize](../constructors/photoStrippedSize.md)
[photoSizeProgressive](../constructors/photoSizeProgressive.md)

View File

@ -42,8 +42,6 @@ image: https://docs.madelineproto.xyz/favicons/android-chrome-256x256.png
[updateDcOptions](../constructors/updateDcOptions.md)
[updateUserBlocked](../constructors/updateUserBlocked.md)
[updateNotifySettings](../constructors/updateNotifySettings.md)
[updateServiceNotification](../constructors/updateServiceNotification.md)
@ -174,6 +172,16 @@ image: https://docs.madelineproto.xyz/favicons/android-chrome-256x256.png
[updateChannelParticipant](../constructors/updateChannelParticipant.md)
[updateChannelMessageForwards](../constructors/updateChannelMessageForwards.md)
[updateReadChannelDiscussionInbox](../constructors/updateReadChannelDiscussionInbox.md)
[updateReadChannelDiscussionOutbox](../constructors/updateReadChannelDiscussionOutbox.md)
[updatePeerBlocked](../constructors/updatePeerBlocked.md)
[updateChannelUserTyping](../constructors/updateChannelUserTyping.md)
### Methods that return an object of this type (methods):
@ -212,8 +220,6 @@ image: https://docs.madelineproto.xyz/favicons/android-chrome-256x256.png
[updateDcOptions](../constructors/updateDcOptions.md)
[updateUserBlocked](../constructors/updateUserBlocked.md)
[updateNotifySettings](../constructors/updateNotifySettings.md)
[updateServiceNotification](../constructors/updateServiceNotification.md)
@ -344,3 +350,13 @@ image: https://docs.madelineproto.xyz/favicons/android-chrome-256x256.png
[updateChannelParticipant](../constructors/updateChannelParticipant.md)
[updateChannelMessageForwards](../constructors/updateChannelMessageForwards.md)
[updateReadChannelDiscussionInbox](../constructors/updateReadChannelDiscussionInbox.md)
[updateReadChannelDiscussionOutbox](../constructors/updateReadChannelDiscussionOutbox.md)
[updatePeerBlocked](../constructors/updatePeerBlocked.md)
[updateChannelUserTyping](../constructors/updateChannelUserTyping.md)

View File

@ -38,6 +38,8 @@ image: https://docs.madelineproto.xyz/favicons/android-chrome-256x256.png
[$MadelineProto->contacts->getLocated](../methods/contacts.getLocated.md)
[$MadelineProto->contacts->blockFromReplies](../methods/contacts.blockFromReplies.md)
[$MadelineProto->messages->sendMessage](../methods/messages.sendMessage.md)
[$MadelineProto->messages->sendMedia](../methods/messages.sendMedia.md)
@ -146,6 +148,8 @@ image: https://docs.madelineproto.xyz/favicons/android-chrome-256x256.png
[$MadelineProto->contacts->getLocated](../methods/contacts.getLocated.md)
[$MadelineProto->contacts->blockFromReplies](../methods/contacts.blockFromReplies.md)
[$MadelineProto->messages->sendMessage](../methods/messages.sendMessage.md)
[$MadelineProto->messages->sendMedia](../methods/messages.sendMedia.md)

View File

@ -0,0 +1,31 @@
---
title: help.CountriesList
description: constructors and methods of type help.CountriesList
image: https://docs.madelineproto.xyz/favicons/android-chrome-256x256.png
redirect_from: /API_docs/types/help_CountriesList.html
---
# Type: help.CountriesList
[Back to types index](index.md)
### Possible values (constructors):
[help.countriesListNotModified](../constructors/help.countriesListNotModified.md)
[help.countriesList](../constructors/help.countriesList.md)
### Methods that return an object of this type (methods):
[$MadelineProto->help->getCountriesList](../methods/help.getCountriesList.md)
[help.countriesListNotModified](../constructors/help.countriesListNotModified.md)
[help.countriesList](../constructors/help.countriesList.md)
[$MadelineProto->help->getCountriesList](../methods/help.getCountriesList.md)

View File

@ -0,0 +1,23 @@
---
title: help.Country
description: constructors and methods of type help.Country
image: https://docs.madelineproto.xyz/favicons/android-chrome-256x256.png
redirect_from: /API_docs/types/help_Country.html
---
# Type: help.Country
[Back to types index](index.md)
### Possible values (constructors):
[help.country](../constructors/help.country.md)
### Methods that return an object of this type (methods):
[help.country](../constructors/help.country.md)

View File

@ -0,0 +1,23 @@
---
title: help.CountryCode
description: constructors and methods of type help.CountryCode
image: https://docs.madelineproto.xyz/favicons/android-chrome-256x256.png
redirect_from: /API_docs/types/help_CountryCode.html
---
# Type: help.CountryCode
[Back to types index](index.md)
### Possible values (constructors):
[help.countryCode](../constructors/help.countryCode.md)
### Methods that return an object of this type (methods):
[help.countryCode](../constructors/help.countryCode.md)

View File

@ -68,8 +68,6 @@ image: https://docs.madelineproto.xyz/favicons/android-chrome-256x256.png
[Contact](Contact.md)<a name="Contact"></a>
[ContactBlocked](ContactBlocked.md)<a name="ContactBlocked"></a>
[ContactStatus](ContactStatus.md)<a name="ContactStatus"></a>
[DataJSON](DataJSON.md)<a name="DataJSON"></a>
@ -252,8 +250,14 @@ image: https://docs.madelineproto.xyz/favicons/android-chrome-256x256.png
[MessageRange](MessageRange.md)<a name="MessageRange"></a>
[MessageReplies](MessageReplies.md)<a name="MessageReplies"></a>
[MessageReplyHeader](MessageReplyHeader.md)<a name="MessageReplyHeader"></a>
[MessageUserVote](MessageUserVote.md)<a name="MessageUserVote"></a>
[MessageViews](MessageViews.md)<a name="MessageViews"></a>
[MessagesFilter](MessagesFilter.md)<a name="MessagesFilter"></a>
[NearestDc](NearestDc.md)<a name="NearestDc"></a>
@ -288,6 +292,8 @@ image: https://docs.madelineproto.xyz/favicons/android-chrome-256x256.png
[Peer](Peer.md)<a name="Peer"></a>
[PeerBlocked](PeerBlocked.md)<a name="PeerBlocked"></a>
[PeerLocated](PeerLocated.md)<a name="PeerLocated"></a>
[PeerNotifySettings](PeerNotifySettings.md)<a name="PeerNotifySettings"></a>
@ -488,6 +494,12 @@ image: https://docs.madelineproto.xyz/favicons/android-chrome-256x256.png
[help.AppUpdate](help.AppUpdate.md)<a name="help.AppUpdate"></a>
[help.CountriesList](help.CountriesList.md)<a name="help.CountriesList"></a>
[help.Country](help.Country.md)<a name="help.Country"></a>
[help.CountryCode](help.CountryCode.md)<a name="help.CountryCode"></a>
[help.DeepLinkInfo](help.DeepLinkInfo.md)<a name="help.DeepLinkInfo"></a>
[help.InviteText](help.InviteText.md)<a name="help.InviteText"></a>
@ -532,6 +544,8 @@ image: https://docs.madelineproto.xyz/favicons/android-chrome-256x256.png
[messages.Dialogs](messages.Dialogs.md)<a name="messages.Dialogs"></a>
[messages.DiscussionMessage](messages.DiscussionMessage.md)<a name="messages.DiscussionMessage"></a>
[messages.FavedStickers](messages.FavedStickers.md)<a name="messages.FavedStickers"></a>
[messages.FeaturedStickers](messages.FeaturedStickers.md)<a name="messages.FeaturedStickers"></a>
@ -544,6 +558,8 @@ image: https://docs.madelineproto.xyz/favicons/android-chrome-256x256.png
[messages.MessageEditData](messages.MessageEditData.md)<a name="messages.MessageEditData"></a>
[messages.MessageViews](messages.MessageViews.md)<a name="messages.MessageViews"></a>
[messages.Messages](messages.Messages.md)<a name="messages.Messages"></a>
[messages.PeerDialogs](messages.PeerDialogs.md)<a name="messages.PeerDialogs"></a>
@ -586,6 +602,8 @@ image: https://docs.madelineproto.xyz/favicons/android-chrome-256x256.png
[stats.MegagroupStats](stats.MegagroupStats.md)<a name="stats.MegagroupStats"></a>
[stats.MessageStats](stats.MessageStats.md)<a name="stats.MessageStats"></a>
[storage.FileType](storage.FileType.md)<a name="storage.FileType"></a>
[updates.ChannelDifference](updates.ChannelDifference.md)<a name="updates.ChannelDifference"></a>

View File

@ -0,0 +1,27 @@
---
title: messages.DiscussionMessage
description: constructors and methods of type messages.DiscussionMessage
image: https://docs.madelineproto.xyz/favicons/android-chrome-256x256.png
redirect_from: /API_docs/types/messages_DiscussionMessage.html
---
# Type: messages.DiscussionMessage
[Back to types index](index.md)
### Possible values (constructors):
[messages.discussionMessage](../constructors/messages.discussionMessage.md)
### Methods that return an object of this type (methods):
[$MadelineProto->messages->getDiscussionMessage](../methods/messages.getDiscussionMessage.md)
[messages.discussionMessage](../constructors/messages.discussionMessage.md)
[$MadelineProto->messages->getDiscussionMessage](../methods/messages.getDiscussionMessage.md)

View File

@ -0,0 +1,27 @@
---
title: messages.MessageViews
description: constructors and methods of type messages.MessageViews
image: https://docs.madelineproto.xyz/favicons/android-chrome-256x256.png
redirect_from: /API_docs/types/messages_MessageViews.html
---
# Type: messages.MessageViews
[Back to types index](index.md)
### Possible values (constructors):
[messages.messageViews](../constructors/messages.messageViews.md)
### Methods that return an object of this type (methods):
[$MadelineProto->messages->getMessagesViews](../methods/messages.getMessagesViews.md)
[messages.messageViews](../constructors/messages.messageViews.md)
[$MadelineProto->messages->getMessagesViews](../methods/messages.getMessagesViews.md)

View File

@ -39,8 +39,12 @@ redirect_from: /API_docs/types/messages_Messages.html
[$MadelineProto->messages->getScheduledMessages](../methods/messages.getScheduledMessages.md)
[$MadelineProto->messages->getReplies](../methods/messages.getReplies.md)
[$MadelineProto->channels->getMessages](../methods/channels.getMessages.md)
[$MadelineProto->stats->getMessagePublicForwards](../methods/stats.getMessagePublicForwards.md)
[messages.messages](../constructors/messages.messages.md)
@ -67,5 +71,9 @@ redirect_from: /API_docs/types/messages_Messages.html
[$MadelineProto->messages->getScheduledMessages](../methods/messages.getScheduledMessages.md)
[$MadelineProto->messages->getReplies](../methods/messages.getReplies.md)
[$MadelineProto->channels->getMessages](../methods/channels.getMessages.md)
[$MadelineProto->stats->getMessagePublicForwards](../methods/stats.getMessagePublicForwards.md)

View File

@ -0,0 +1,27 @@
---
title: stats.MessageStats
description: constructors and methods of type stats.MessageStats
image: https://docs.madelineproto.xyz/favicons/android-chrome-256x256.png
redirect_from: /API_docs/types/stats_MessageStats.html
---
# Type: stats.MessageStats
[Back to types index](index.md)
### Possible values (constructors):
[stats.messageStats](../constructors/stats.messageStats.md)
### Methods that return an object of this type (methods):
[$MadelineProto->stats->getMessageStats](../methods/stats.getMessageStats.md)
[stats.messageStats](../constructors/stats.messageStats.md)
[$MadelineProto->stats->getMessageStats](../methods/stats.getMessageStats.md)

View File

@ -503,4 +503,4 @@ This helps to reduce latency, improve speed and reduce mysql/postgres/redis load
Data will be remove from cache if last access was more than this amount of time.
Clean up is done once per minute.
<a href="https://docs.madelineproto.xyz/docs/SELF.html">Next section</a>
<a href="https://docs.madelineproto.xyz/docs/SELF.html">Next section</a>

View File

@ -7,7 +7,7 @@ image: https://docs.madelineproto.xyz/favicons/android-chrome-256x256.png
There are simplifications for many, if not all of, these methods.
A list of all of the methods that can be called with MadelineProto can be found here: [here (layer 117)](https://docs.madelineproto.xyz/API_docs/).
A list of all of the methods that can be called with MadelineProto can be found here: [here (layer 119)](https://docs.madelineproto.xyz/API_docs/).
[Now fully async!](https://docs.madelineproto.xyz/docs/ASYNC.html)

View File

@ -3,7 +3,7 @@ title: MadelineProto API documentation (layer v44)
description: MadelineProto API documentation (layer v44)
image: https://docs.madelineproto.xyz/favicons/android-chrome-256x256.png
---
# MadelineProto API documentation (layer v44)
# MadelineProto API documentation (layer v44)
[Back to main documentation](..)
@ -12,4 +12,4 @@ image: https://docs.madelineproto.xyz/favicons/android-chrome-256x256.png
[Constructors](constructors/)
[Types](types/)
[Types](types/)

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,43 @@
---
title: account.authorizationForm
description: [Telegram Passport](https://core.telegram.org/passport) authorization form
image: https://docs.madelineproto.xyz/favicons/android-chrome-256x256.png
redirect_from: /API_docs/constructors/account_authorizationForm.html
---
# Constructor: account.authorizationForm
[Back to constructors index](index.md)
[Telegram Passport](https://core.telegram.org/passport) authorization form
### Attributes:
| Name | Type | Required | Description |
|----------|---------------|----------|-------------|
|required\_types|Array of [SecureRequiredType](../types/SecureRequiredType.md) | Yes|Required [Telegram Passport](https://core.telegram.org/passport) documents|
|values|Array of [SecureValue](../types/SecureValue.md) | Yes|Already submitted [Telegram Passport](https://core.telegram.org/passport) documents|
|errors|Array of [SecureValueError](../types/SecureValueError.md) | Yes|[Telegram Passport](https://core.telegram.org/passport) errors|
|users|Array of [User](../types/User.md) | Yes|Info about the bot to which the form will be submitted|
|privacy\_policy\_url|[string](../types/string.md) | Optional|URL of the service's privacy policy|
### Type: [account.AuthorizationForm](../types/account.AuthorizationForm.md)
### Example:
```php
$account.authorizationForm = ['_' => 'account.authorizationForm', 'required_types' => [SecureRequiredType, SecureRequiredType], 'values' => [SecureValue, SecureValue], 'errors' => [SecureValueError, SecureValueError], 'users' => [User, User], 'privacy_policy_url' => 'string'];
```
Or, if you're into Lua:
```lua
account.authorizationForm={_='account.authorizationForm', required_types={SecureRequiredType}, values={SecureValue}, errors={SecureValueError}, users={User}, privacy_policy_url='string'}
```

View File

@ -15,7 +15,7 @@ Logged-in sessions
| Name | Type | Required | Description |
|----------|---------------|----------|-------------|
|authorizations|Array of [Authorization](../types/Authorization.md) | Yes|Authorizations|
|authorizations|Array of [Authorization](../types/Authorization.md) | Yes|Logged-in sessions|

View File

@ -0,0 +1,41 @@
---
title: account.autoDownloadSettings
description: Media autodownload settings
image: https://docs.madelineproto.xyz/favicons/android-chrome-256x256.png
redirect_from: /API_docs/constructors/account_autoDownloadSettings.html
---
# Constructor: account.autoDownloadSettings
[Back to constructors index](index.md)
Media autodownload settings
### Attributes:
| Name | Type | Required | Description |
|----------|---------------|----------|-------------|
|low|[AutoDownloadSettings](../types/AutoDownloadSettings.md) | Yes|Low data usage preset|
|medium|[AutoDownloadSettings](../types/AutoDownloadSettings.md) | Yes|Medium data usage preset|
|high|[AutoDownloadSettings](../types/AutoDownloadSettings.md) | Yes|High data usage preset|
### Type: [account.AutoDownloadSettings](../types/account.AutoDownloadSettings.md)
### Example:
```php
$account.autoDownloadSettings = ['_' => 'account.autoDownloadSettings', 'low' => AutoDownloadSettings, 'medium' => AutoDownloadSettings, 'high' => AutoDownloadSettings];
```
Or, if you're into Lua:
```lua
account.autoDownloadSettings={_='account.autoDownloadSettings', low=AutoDownloadSettings, medium=AutoDownloadSettings, high=AutoDownloadSettings}
```

View File

@ -0,0 +1,40 @@
---
title: account.contentSettings
description: Sensitive content settings
image: https://docs.madelineproto.xyz/favicons/android-chrome-256x256.png
redirect_from: /API_docs/constructors/account_contentSettings.html
---
# Constructor: account.contentSettings
[Back to constructors index](index.md)
Sensitive content settings
### Attributes:
| Name | Type | Required | Description |
|----------|---------------|----------|-------------|
|sensitive\_enabled|[Bool](../types/Bool.md) | Optional|Whether viewing of sensitive (NSFW) content is enabled|
|sensitive\_can\_change|[Bool](../types/Bool.md) | Optional|Whether the current client can change the sensitive content settings to view NSFW content|
### Type: [account.ContentSettings](../types/account.ContentSettings.md)
### Example:
```php
$account.contentSettings = ['_' => 'account.contentSettings', 'sensitive_enabled' => Bool, 'sensitive_can_change' => Bool];
```
Or, if you're into Lua:
```lua
account.contentSettings={_='account.contentSettings', sensitive_enabled=Bool, sensitive_can_change=Bool}
```

View File

@ -1,40 +0,0 @@
---
title: account.noPassword
description: No password
image: https://docs.madelineproto.xyz/favicons/android-chrome-256x256.png
redirect_from: /API_docs/constructors/account_noPassword.html
---
# Constructor: account.noPassword
[Back to constructors index](index.md)
No password
### Attributes:
| Name | Type | Required | Description |
|----------|---------------|----------|-------------|
|new\_salt|[bytes](../types/bytes.md) | Yes|New salt|
|email\_unconfirmed\_pattern|[string](../types/string.md) | Yes|Email unconfirmed pattern|
### Type: [account.Password](../types/account.Password.md)
### Example:
```php
$account.noPassword = ['_' => 'account.noPassword', 'new_salt' => 'bytes', 'email_unconfirmed_pattern' => 'string'];
```
Or, if you're into Lua:
```lua
account.noPassword={_='account.noPassword', new_salt='bytes', email_unconfirmed_pattern='string'}
```

View File

@ -15,11 +15,17 @@ Configuration for two-factor authorization
| Name | Type | Required | Description |
|----------|---------------|----------|-------------|
|current\_salt|[bytes](../types/bytes.md) | Yes|Current salt|
|new\_salt|[bytes](../types/bytes.md) | Yes|New salt|
|hint|[string](../types/string.md) | Yes|Text hint for the password|
|has\_recovery|[Bool](../types/Bool.md) | Yes|Has recovery?|
|email\_unconfirmed\_pattern|[string](../types/string.md) | Yes|A [password recovery email](https://core.telegram.org/api/srp#email-verification) with the specified [pattern](https://core.telegram.org/api/pattern) is still awaiting verification|
|has\_recovery|[Bool](../types/Bool.md) | Optional|Whether the user has a recovery method configured|
|has\_secure\_values|[Bool](../types/Bool.md) | Optional|Whether telegram [passport](https://core.telegram.org/passport) is enabled|
|has\_password|[Bool](../types/Bool.md) | Optional|Whether the user has a password|
|current\_algo|[PasswordKdfAlgo](../types/PasswordKdfAlgo.md) | Optional|The [KDF algorithm for SRP two-factor authentication](https://core.telegram.org/api/srp) of the current password|
|srp\_B|[bytes](../types/bytes.md) | Optional|Srp B param for [SRP authorization](https://core.telegram.org/api/srp)|
|srp\_id|[long](../types/long.md) | Optional|Srp ID param for [SRP authorization](https://core.telegram.org/api/srp)|
|hint|[string](../types/string.md) | Optional|Text hint for the password|
|email\_unconfirmed\_pattern|[string](../types/string.md) | Optional|A [password recovery email](https://core.telegram.org/api/srp#email-verification) with the specified [pattern](https://core.telegram.org/api/pattern) is still awaiting verification|
|new\_algo|[PasswordKdfAlgo](../types/PasswordKdfAlgo.md) | Yes|The [KDF algorithm for SRP two-factor authentication](https://core.telegram.org/api/srp) to use when creating new passwords|
|new\_secure\_algo|[SecurePasswordKdfAlgo](../types/SecurePasswordKdfAlgo.md) | Yes|The KDF algorithm for telegram [passport](https://core.telegram.org/passport)|
|secure\_random|[bytes](../types/bytes.md) | Yes|Secure random string|
@ -29,14 +35,14 @@ Configuration for two-factor authorization
### Example:
```php
$account.password = ['_' => 'account.password', 'current_salt' => 'bytes', 'new_salt' => 'bytes', 'hint' => 'string', 'has_recovery' => Bool, 'email_unconfirmed_pattern' => 'string'];
$account.password = ['_' => 'account.password', 'has_recovery' => Bool, 'has_secure_values' => Bool, 'has_password' => Bool, 'current_algo' => PasswordKdfAlgo, 'srp_B' => 'bytes', 'srp_id' => long, 'hint' => 'string', 'email_unconfirmed_pattern' => 'string', 'new_algo' => PasswordKdfAlgo, 'new_secure_algo' => SecurePasswordKdfAlgo, 'secure_random' => 'bytes'];
```
Or, if you're into Lua:
```lua
account.password={_='account.password', current_salt='bytes', new_salt='bytes', hint='string', has_recovery=Bool, email_unconfirmed_pattern='string'}
account.password={_='account.password', has_recovery=Bool, has_secure_values=Bool, has_password=Bool, current_algo=PasswordKdfAlgo, srp_B='bytes', srp_id=long, hint='string', email_unconfirmed_pattern='string', new_algo=PasswordKdfAlgo, new_secure_algo=SecurePasswordKdfAlgo, secure_random='bytes'}
```

View File

@ -15,10 +15,11 @@ Settings for setting up a new password
| Name | Type | Required | Description |
|----------|---------------|----------|-------------|
|new\_salt|[bytes](../types/bytes.md) | Optional|`$new_salt = $MadelineProto->account->getPassword()['new_salt'].$MadelineProto->random(8);`|
|new\_algo|[PasswordKdfAlgo](../types/PasswordKdfAlgo.md) | Optional|The [SRP algorithm](https://core.telegram.org/api/srp) to use|
|new\_password\_hash|[bytes](../types/bytes.md) | Optional|The [computed password hash](https://core.telegram.org/api/srp)|
|hint|[string](../types/string.md) | Optional|Text hint for the password|
|email|[string](../types/string.md) | Optional|Password recovery email|
|new\_secure\_settings|[SecureSecretSettings](../types/SecureSecretSettings.md) | Optional|Telegram [passport](https://core.telegram.org/passport) settings|
@ -28,14 +29,14 @@ Settings for setting up a new password
### Example:
```php
$account.passwordInputSettings = ['_' => 'account.passwordInputSettings', 'new_salt' => 'bytes', 'new_password_hash' => 'bytes', 'hint' => 'string', 'email' => 'string'];
$account.passwordInputSettings = ['_' => 'account.passwordInputSettings', 'new_algo' => PasswordKdfAlgo, 'new_password_hash' => 'bytes', 'hint' => 'string', 'email' => 'string', 'new_secure_settings' => SecureSecretSettings];
```
Or, if you're into Lua:
```lua
account.passwordInputSettings={_='account.passwordInputSettings', new_salt='bytes', new_password_hash='bytes', hint='string', email='string'}
account.passwordInputSettings={_='account.passwordInputSettings', new_algo=PasswordKdfAlgo, new_password_hash='bytes', hint='string', email='string', new_secure_settings=SecureSecretSettings}
```

View File

@ -1,6 +1,6 @@
---
title: account.passwordSettings
description: Private info associated to the password info (recovery email, telegram [passport](https://core.telegram.org/passport) info & so on)
description: Private info associated to the password info (recovery email, telegram [passport](https://core.telegram.org/passport) info &amp; so on)
image: https://docs.madelineproto.xyz/favicons/android-chrome-256x256.png
redirect_from: /API_docs/constructors/account_passwordSettings.html
---
@ -9,13 +9,14 @@ redirect_from: /API_docs/constructors/account_passwordSettings.html
Private info associated to the password info (recovery email, telegram [passport](https://core.telegram.org/passport) info & so on)
Private info associated to the password info (recovery email, telegram [passport](https://core.telegram.org/passport) info &amp; so on)
### Attributes:
| Name | Type | Required | Description |
|----------|---------------|----------|-------------|
|email|[string](../types/string.md) | Yes|[2FA Recovery email](https://core.telegram.org/api/srp#email-verification)|
|email|[string](../types/string.md) | Optional|[2FA Recovery email](https://core.telegram.org/api/srp#email-verification)|
|secure\_settings|[SecureSecretSettings](../types/SecureSecretSettings.md) | Optional|Telegram [passport](https://core.telegram.org/passport) settings|
@ -25,14 +26,14 @@ Private info associated to the password info (recovery email, telegram [passport
### Example:
```php
$account.passwordSettings = ['_' => 'account.passwordSettings', 'email' => 'string'];
$account.passwordSettings = ['_' => 'account.passwordSettings', 'email' => 'string', 'secure_settings' => SecureSecretSettings];
```
Or, if you're into Lua:
```lua
account.passwordSettings={_='account.passwordSettings', email='string'}
account.passwordSettings={_='account.passwordSettings', email='string', secure_settings=SecureSecretSettings}
```

View File

@ -15,8 +15,9 @@ Privacy rules
| Name | Type | Required | Description |
|----------|---------------|----------|-------------|
|rules|Array of [PrivacyRule](../types/PrivacyRule.md) | Yes|Rules|
|users|Array of [User](../types/User.md) | Yes|Users|
|rules|Array of [PrivacyRule](../types/PrivacyRule.md) | Yes|Privacy rules|
|chats|Array of [Chat](../types/Chat.md) | Yes|Chats to which the rules apply|
|users|Array of [User](../types/User.md) | Yes|Users to which the rules apply|
@ -26,14 +27,14 @@ Privacy rules
### Example:
```php
$account.privacyRules = ['_' => 'account.privacyRules', 'rules' => [PrivacyRule, PrivacyRule], 'users' => [User, User]];
$account.privacyRules = ['_' => 'account.privacyRules', 'rules' => [PrivacyRule, PrivacyRule], 'chats' => [Chat, Chat], 'users' => [User, User]];
```
Or, if you're into Lua:
```lua
account.privacyRules={_='account.privacyRules', rules={PrivacyRule}, users={User}}
account.privacyRules={_='account.privacyRules', rules={PrivacyRule}, chats={Chat}, users={User}}
```

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