diff --git a/src/TgBotLib/Objects/PaidMedia.php b/src/TgBotLib/Objects/PaidMedia.php index 2d4489d..8bf258a 100644 --- a/src/TgBotLib/Objects/PaidMedia.php +++ b/src/TgBotLib/Objects/PaidMedia.php @@ -31,8 +31,13 @@ abstract class PaidMedia implements ObjectTypeInterface /** * @inheritDoc */ - public static function fromArray(array $data): PaidMedia + public static function fromArray(?array $data): ?PaidMedia { + if($data === null) + { + return null; + } + if(!isset($data['type'])) { throw new InvalidArgumentException('Paid media type is required'); diff --git a/src/TgBotLib/Objects/PaidMedia/PaidMediaPhoto.php b/src/TgBotLib/Objects/PaidMedia/PaidMediaPhoto.php index 24ccc4d..693f8bd 100644 --- a/src/TgBotLib/Objects/PaidMedia/PaidMediaPhoto.php +++ b/src/TgBotLib/Objects/PaidMedia/PaidMediaPhoto.php @@ -48,10 +48,14 @@ class PaidMediaPhoto extends PaidMedia implements ObjectTypeInterface /** * @inheritDoc */ - public static function fromArray(array $data): PaidMediaPhoto + public static function fromArray(?array $data): ?PaidMediaPhoto { - $object = new self(); + if($data === null) + { + return null; + } + $object = new self(); $object->type = PaidMediaType::PHOTO; $object->photo = array_map(fn(array $photo) => PhotoSize::fromArray($photo), $data['photo']); diff --git a/src/TgBotLib/Objects/PaidMedia/PaidMediaPreview.php b/src/TgBotLib/Objects/PaidMedia/PaidMediaPreview.php index fdc9efb..f3ed0d9 100644 --- a/src/TgBotLib/Objects/PaidMedia/PaidMediaPreview.php +++ b/src/TgBotLib/Objects/PaidMedia/PaidMediaPreview.php @@ -58,10 +58,14 @@ class PaidMediaPreview extends PaidMedia implements ObjectTypeInterface /** * @inheritDoc */ - public static function fromArray(array $data): PaidMediaPreview + public static function fromArray(?array $data): ?PaidMediaPreview { - $object = new self(); + if($data === null) + { + return null; + } + $object = new self(); $object->type = PaidMediaType::PREVIEW; $object->width = $data['width'] ?? null; $object->height = $data['height'] ?? null; diff --git a/src/TgBotLib/Objects/PaidMedia/PaidMediaVideo.php b/src/TgBotLib/Objects/PaidMedia/PaidMediaVideo.php index 9c258a2..d7a2efb 100644 --- a/src/TgBotLib/Objects/PaidMedia/PaidMediaVideo.php +++ b/src/TgBotLib/Objects/PaidMedia/PaidMediaVideo.php @@ -35,10 +35,14 @@ class PaidMediaVideo extends PaidMedia implements ObjectTypeInterface /** * @inheritDoc */ - public static function fromArray(array $data): PaidMediaVideo + public static function fromArray(?array $data): ?PaidMediaVideo { - $object = new self(); + if($data === null) + { + return null; + } + $object = new self(); $object->type = PaidMediaType::VIDEO; $object->video = Video::fromArray($data['video']);