File tree Expand file tree Collapse file tree 5 files changed +22
-18
lines changed
tests/Unit/TLMessage/TLMessage/ServerMessages Expand file tree Collapse file tree 5 files changed +22
-18
lines changed Original file line number Diff line number Diff line change 1+ <?php
2+
3+ declare (strict_types=1 );
4+
5+ namespace TelegramOSINT \TLMessage \TLMessage ;
6+
7+ interface MessageWithUserId
8+ {
9+ public function getUserId (): int ;
10+ }
Original file line number Diff line number Diff line change 66
77use TelegramOSINT \Exception \TGException ;
88use TelegramOSINT \MTSerialization \AnonymousMessage ;
9+ use TelegramOSINT \TLMessage \TLMessage \MessageWithUserId ;
10+ use TelegramOSINT \TLMessage \TLMessage \ServerMessages \Contact \ContactUser ;
911use TelegramOSINT \TLMessage \TLMessage \TLServerMessage ;
1012
1113class AuthorizationSelfUser extends TLServerMessage
@@ -23,12 +25,14 @@ public static function isIt(AnonymousMessage $tlMessage): bool
2325 /**
2426 * @throws TGException
2527 *
26- * @return UserSelf
28+ * @return ContactUser
2729 */
28- public function getUser (): UserSelf
30+ public function getUser (): MessageWithUserId
2931 {
3032 $ self = $ this ->getTlMessage ()->getNode ('user ' );
3133
32- return new UserSelf ($ self );
34+ return ContactUser::isIt ($ self )
35+ ? new ContactUser ($ self )
36+ : new UserSelf ($ self );
3337 }
3438}
Original file line number Diff line number Diff line change 66
77use TelegramOSINT \Exception \TGException ;
88use TelegramOSINT \MTSerialization \AnonymousMessage ;
9+ use TelegramOSINT \TLMessage \TLMessage \MessageWithUserId ;
910use TelegramOSINT \TLMessage \TLMessage \ServerMessages \ChatPhoto ;
1011use TelegramOSINT \TLMessage \TLMessage \ServerMessages \Custom \UserStatus ;
1112use TelegramOSINT \TLMessage \TLMessage \ServerMessages \PhotoInterface ;
1516/**
1617 * @see https://core.telegram.org/type/User
1718 */
18- class ContactUser extends TLServerMessage
19+ class ContactUser extends TLServerMessage implements MessageWithUserId
1920{
2021 /**
2122 * @param AnonymousMessage $tlMessage
@@ -70,7 +71,7 @@ public function getPhoto(): ?PhotoInterface
7071
7172 public function getUserId (): int
7273 {
73- return $ this ->getTlMessage ()->getValue ('id ' );
74+ return ( int ) $ this ->getTlMessage ()->getValue ('id ' );
7475 }
7576
7677 public function getPhone (): ?string
Original file line number Diff line number Diff line change 66
77use TelegramOSINT \Exception \TGException ;
88use TelegramOSINT \MTSerialization \AnonymousMessage ;
9+ use TelegramOSINT \TLMessage \TLMessage \MessageWithUserId ;
910use TelegramOSINT \TLMessage \TLMessage \ServerMessages \Custom \UserStatus ;
1011use TelegramOSINT \TLMessage \TLMessage \TLServerMessage ;
1112
12- class UserSelf extends TLServerMessage
13+ class UserSelf extends TLServerMessage implements MessageWithUserId
1314{
1415 /**
1516 * @param AnonymousMessage $tlMessage
Original file line number Diff line number Diff line change @@ -24,15 +24,6 @@ protected function setUp(): void
2424 $ this ->deserializer = new OwnDeserializerMock ();
2525 }
2626
27- private function deserializeIntoComparableObject ($ serialized ): string
28- {
29- $ serialized = hex2bin ($ serialized );
30- /** @noinspection PhpUnhandledExceptionInspection */
31- $ object = $ this ->deserializer ->deserialize ($ serialized );
32-
33- return $ object ->getPrintable ();
34- }
35-
3627 private function getObjectWithChatPhoto (): AnonymousMessageMock
3728 {
3829 /* @noinspection PhpUnhandledExceptionInspection */
@@ -108,9 +99,6 @@ private function getObjectWithUserProfilePhoto(): AnonymousMessageMock
10899 */
109100 public function test_get_photo (): void
110101 {
111- $ data = '016d5cf3c8250a005dbb265ed97a077f32e5ddbd9b26674915c4b51c01000000ac7489c8642000009b266749600b4f1e8e4c9ac94750726f66697447617465202d20d18dd0bad0bed0bdd0bed0bcd0b8d0bad0b02c20d182d180d0b5d0b9d0b4d0b8d0bdd0b32c20d0b8d0bdd0b2d0b5d181d182d0b8d186d0b8d0b80a50726f66697447617465006a2753617690d653020000009ad3510f00000000bc3d020096bc0b2d98c6fe417690d653020000009ad3510f00000000be3d0200d3309f6700d1831cc1fb065a0000000015c4b51c00000000 ' ;
112- //$got = $this->deserializeIntoComparableObject($data);
113-
114102 // Check is userProfilePhoto
115103 $ userSelfProfile = new UserSelf ($ this ->getObjectWithUserProfilePhoto ());
116104 $ profilePhoto = $ userSelfProfile ->getPhoto ();
You can’t perform that action at this time.
0 commit comments