diff --git a/src/TgBotLib/Objects/UserProfilePhotos.php b/src/TgBotLib/Objects/UserProfilePhotos.php new file mode 100644 index 0000000..e8304a5 --- /dev/null +++ b/src/TgBotLib/Objects/UserProfilePhotos.php @@ -0,0 +1,75 @@ +total_count; + } + + /** + * Requested profile pictures (in up to 4 sizes each) + * + * @return PhotoSize[][] + */ + public function getPhotos(): array + { + return $this->photos; + } + + /** + * Returns an array representation of the object + * + * @return array + */ + public function toArray(): array + { + return [ + 'total_count' => $this->total_count, + 'photos' => array_map(function (array $photo) { + return array_map(function (PhotoSize $photoSize) { + return $photoSize->toArray(); + }, $photo); + }, $this->photos), + ]; + } + + /** + * Constructs object from an array representation + * + * @param array $data + * @return ObjectTypeInterface + */ + public static function fromArray(array $data): ObjectTypeInterface + { + $object = new self(); + $object->total_count = $data['total_count']; + $object->photos = array_map(function (array $photo) { + return array_map(function (array $photoSize) { + return PhotoSize::fromArray($photoSize); + }, $photo); + }, $data['photos']); + return $object; + } + } \ No newline at end of file