2017-03-11 19:54:51 +01:00
---
title: viewMessages
description: Messages are viewed by the user. Many useful activities depends on message being viewed. For example, marking messages as read, incrementing of view counter, updating of view counter, removing of deleted messages in channels
---
## Method: viewMessages
[Back to methods index ](index.md )
2017-06-06 18:39:21 +02:00
YOU CANNOT USE THIS METHOD IN MADELINEPROTO
2017-03-11 19:54:51 +01:00
Messages are viewed by the user. Many useful activities depends on message being viewed. For example, marking messages as read, incrementing of view counter, updating of view counter, removing of deleted messages in channels
### Params:
| Name | Type | Required | Description |
|----------|:-------------:|:--------:|------------:|
2017-04-11 10:09:20 +02:00
|chat\_id|[InputPeer](../types/InputPeer.md) | Yes|Chat identifier|
2017-03-11 19:54:51 +01:00
|message\_ids|Array of [long ](../types/long.md ) | Yes|Identifiers of viewed messages|
### Return type: [Ok](../types/Ok.md)
### Example:
```
$MadelineProto = new \danog\MadelineProto\API();
2017-04-10 13:49:32 +02:00
if (isset($token)) { // Login as a bot
2017-06-19 18:56:47 +02:00
$MadelineProto->bot_login($token);
2017-03-11 19:54:51 +01:00
}
2017-04-10 13:49:32 +02:00
if (isset($number)) { // Login as a user
2017-03-11 19:54:51 +01:00
$sentCode = $MadelineProto->phone_login($number);
echo 'Enter the code you received: ';
$code = '';
for ($x = 0; $x < $sentCode['type']['length']; $x++) {
$code .= fgetc(STDIN);
}
$MadelineProto->complete_phone_login($code);
}
2017-04-11 10:09:20 +02:00
$Ok = $MadelineProto->viewMessages(['chat_id' => InputPeer, 'message_ids' => [long], ]);
2017-03-11 19:54:51 +01:00
```
Or, if you're into Lua:
```
2017-04-11 10:09:20 +02:00
Ok = viewMessages({chat_id=InputPeer, message_ids={long}, })
2017-03-11 19:54:51 +01:00
```