From 8766cbb2580d70a274416fbe686009c73dce6846 Mon Sep 17 00:00:00 2001 From: Netkas Date: Sun, 12 Feb 2023 17:18:29 -0500 Subject: [PATCH] Added \TgBotLib\Objects > Contact --- src/TgBotLib/Objects/Contact.php | 120 +++++++++++++++++++++++++++++++ 1 file changed, 120 insertions(+) create mode 100644 src/TgBotLib/Objects/Contact.php diff --git a/src/TgBotLib/Objects/Contact.php b/src/TgBotLib/Objects/Contact.php new file mode 100644 index 0000000..78561bd --- /dev/null +++ b/src/TgBotLib/Objects/Contact.php @@ -0,0 +1,120 @@ +phone_number; + } + + /** + * Contact's first name + * + * @return string + */ + public function getFirstName(): string + { + return $this->first_name; + } + + /** + * Optional. Contact's last name + * + * @return string|null + */ + public function getLastName(): ?string + { + return $this->last_name; + } + + /** + * Optional. Contact's user identifier in Telegram. This number may have more than 32 significant bits and some + * programming languages may have difficulty/silent defects in interpreting it. But it has at most 52 + * significant bits, so a 64-bit integer or double-precision float type are safe for storing this identifier. + * + * @return int|null + */ + public function getUserId(): ?int + { + return $this->user_id; + } + + /** + * Optional. Additional data about the contact in the form of a vCard + * + * @return string|null + */ + public function getVcard(): ?string + { + return $this->vcard; + } + + /** + * Returns an array representation of the object + * + * @return array + */ + public function toArray(): array + { + return [ + 'phone_number' => $this->phone_number, + 'first_name' => $this->first_name, + 'last_name'=> $this->last_name, + 'user_id' => $this->user_id, + 'vcard' => $this->vcard, + ]; + } + + /** + * Constructs object from an array representation + * + * @param array $data + * @return ObjectTypeInterface + */ + public static function fromArray(array $data): ObjectTypeInterface + { + $object = new self(); + + $object->phone_number = @$data['phone_number']; + $object->first_name = @$data['first_name']; + $object->last_name = @$data['last_name'] ?? null; + $object->user_id = @$data['user_id'] ?? null; + $object->vcard = @$data['vcard'] ?? null; + + return $object; + } + } \ No newline at end of file