--- title: photos.getUserPhotos description: photos.getUserPhotos parameters, return type and example --- ## Method: photos.getUserPhotos [Back to methods index](index.md) ### Parameters: | Name | Type | Required | |----------|---------------|----------| |user\_id|[InputUser](../types/InputUser.md) | Yes| |offset|[int](../types/int.md) | Yes| |max\_id|[long](../types/long.md) | Yes| |limit|[int](../types/int.md) | Yes| ### Return type: [photos\_Photos](../types/photos_Photos.md) ### Can bots use this method: **YES** ### Errors this method can return: | Error | Description | |----------|---------------| |MAX_ID_INVALID|The provided max ID is invalid| |USER_ID_INVALID|The provided user ID is invalid| ### Example: ``` $MadelineProto = new \danog\MadelineProto\API(); if (isset($token)) { // Login as a bot $MadelineProto->bot_login($token); } if (isset($number)) { // Login as a user $sentCode = $MadelineProto->phone_login($number); echo 'Enter the code you received: '; $code = ''; for ($x = 0; $x < $sentCode['type']['length']; $x++) { $code .= fgetc(STDIN); } $MadelineProto->complete_phone_login($code); } $photos_Photos = $MadelineProto->photos->getUserPhotos(['user_id' => InputUser, 'offset' => int, 'max_id' => long, 'limit' => int, ]); ``` Or, if you're using the [PWRTelegram HTTP API](https://pwrtelegram.xyz): ### As a bot: POST/GET to `https://api.pwrtelegram.xyz/botTOKEN/madeline` Parameters: * method - photos.getUserPhotos * params - `{"user_id": InputUser, "offset": int, "max_id": long, "limit": int, }` ### As a user: POST/GET to `https://api.pwrtelegram.xyz/userTOKEN/photos.getUserPhotos` Parameters: user_id - Json encoded InputUser offset - Json encoded int max_id - Json encoded long limit - Json encoded int Or, if you're into Lua: ``` photos_Photos = photos.getUserPhotos({user_id=InputUser, offset=int, max_id=long, limit=int, }) ```