From af7a33b1c153e62d8ac7f56eebd54b88cd037354 Mon Sep 17 00:00:00 2001 From: netkas Date: Sat, 5 Oct 2024 00:55:14 -0400 Subject: [PATCH] Updated Story --- src/TgBotLib/Objects/Story.php | 268 +++++++++++++++++---------------- 1 file changed, 136 insertions(+), 132 deletions(-) diff --git a/src/TgBotLib/Objects/Story.php b/src/TgBotLib/Objects/Story.php index 2b85692..a570f75 100644 --- a/src/TgBotLib/Objects/Story.php +++ b/src/TgBotLib/Objects/Story.php @@ -1,149 +1,153 @@ file_id; - } + private string $file_id; + private string $file_unique_id; + private int $width; + private int $height; + private int $duration; + private ?PhotoSize $thumbnail; + private ?string $file_name; + private ?string $mime_type; + private ?int $file_size; - /** - * Unique identifier for this file, which is supposed to be the same over time - * and for different bots. Can't be used to download or reuse the file. - * - * @return string - */ - public function getFileUniqueId(): string - { - return $this->file_unique_id; - } + /** + * Identifier for this file, which can be used to download or reuse the file + * + * @return string + */ + public function getFileId(): string + { + return $this->file_id; + } - /** - * Video width as defined by the sender - * - * @return int - */ - public function getWidth(): int - { - return $this->width; - } + /** + * Unique identifier for this file, which is supposed to be the same over time + * and for different bots. Can't be used to download or reuse the file. + * + * @return string + */ + public function getFileUniqueId(): string + { + return $this->file_unique_id; + } - /** - * Video height as defined by the sender - * - * @return int - */ - public function getHeight(): int - { - return $this->height; - } + /** + * Video width as defined by the sender + * + * @return int + */ + public function getWidth(): int + { + return $this->width; + } - /** - * Duration of the video in seconds as defined by the sender - * - * @return int - */ - public function getDuration(): int - { - return $this->duration; - } + /** + * Video height as defined by the sender + * + * @return int + */ + public function getHeight(): int + { + return $this->height; + } - /** - * Optional. Video thumbnail - * - * @return PhotoSize|null - */ - public function getThumbnail(): ?PhotoSize - { - return $this->thumbnail; - } + /** + * Duration of the video in seconds as defined by the sender + * + * @return int + */ + public function getDuration(): int + { + return $this->duration; + } - /** - * Optional. Original filename as defined by the sender - * - * @return string|null - */ - public function getFileName(): ?string - { - return $this->file_name; - } + /** + * Optional. Video thumbnail + * + * @return PhotoSize|null + */ + public function getThumbnail(): ?PhotoSize + { + return $this->thumbnail; + } - /** - * Optional. MIME type of the file as defined by the sender - * - * @return string|null - */ - public function getMimeType(): ?string - { - return $this->mime_type; - } + /** + * Optional. Original filename as defined by the sender + * + * @return string|null + */ + public function getFileName(): ?string + { + return $this->file_name; + } - /** - * Optional. File size in bytes. It can be bigger than 2^31 and some programming languages may have - * difficulty/silent defects in interpreting it. But it has at most 52 significant bits, so a signed 64-bit - * integer or double-precision float type are safe for storing this value. - * - * @return int|null - */ - public function getFileSize(): ?int - { - return $this->file_size; - } + /** + * Optional. MIME type of the file as defined by the sender + * + * @return string|null + */ + public function getMimeType(): ?string + { + return $this->mime_type; + } - /** - * @inheritDoc - */ - public function toArray(): array - { - return [ - 'file_id' => $this->file_id, - 'file_unique_id' => $this->file_unique_id, - 'width' => $this->width, - 'height' => $this->height, - 'duration' => $this->duration, - 'thumbnail' => $this->thumbnail ? $this->thumbnail->toArray() : null, - 'file_name' => $this->file_name, - 'mime_type' => $this->mime_type, - 'file_size' => $this->file_size, - ]; - } + /** + * Optional. File size in bytes. It can be bigger than 2^31 and some programming languages may have + * difficulty/silent defects in interpreting it. But it has at most 52 significant bits, so a signed 64-bit + * integer or double-precision float type are safe for storing this value. + * + * @return int|null + */ + public function getFileSize(): ?int + { + return $this->file_size; + } - /** - * @inheritDoc - */ - public static function fromArray(array $data): ObjectTypeInterface - { - $object = new self(); + /** + * @inheritDoc + */ + public function toArray(): array + { + return [ + 'file_id' => $this->file_id, + 'file_unique_id' => $this->file_unique_id, + 'width' => $this->width, + 'height' => $this->height, + 'duration' => $this->duration, + 'thumbnail' => $this->thumbnail?->toArray(), + 'file_name' => $this->file_name, + 'mime_type' => $this->mime_type, + 'file_size' => $this->file_size, + ]; + } - $object->file_id = $data['file_id']; - $object->file_unique_id = $data['file_unique_id']; - $object->width = $data['width']; - $object->height = $data['height']; - $object->duration = $data['duration']; - $object->thumbnail = isset($data['thumbnail']) ? PhotoSize::fromArray($data['thumbnail']) : null; - $object->file_name = $data['file_name'] ?? null; - $object->mime_type = $data['mime_type'] ?? null; - $object->file_size = $data['file_size'] ?? null; + /** + * @inheritDoc + */ + public static function fromArray(?array $data): ?Story + { + if($data === null) + { + return null; + } - return $object; - } -} \ No newline at end of file + $object = new self(); + $object->file_id = $data['file_id']; + $object->file_unique_id = $data['file_unique_id']; + $object->width = $data['width']; + $object->height = $data['height']; + $object->duration = $data['duration']; + $object->thumbnail = isset($data['thumbnail']) ? PhotoSize::fromArray($data['thumbnail']) : null; + $object->file_name = $data['file_name'] ?? null; + $object->mime_type = $data['mime_type'] ?? null; + $object->file_size = $data['file_size'] ?? null; + + return $object; + } + } \ No newline at end of file