1 | <?php |
||
40 | class Client implements Loggable |
||
41 | { |
||
42 | use Properties; |
||
43 | |||
44 | /** |
||
45 | * @var string |
||
46 | */ |
||
47 | const VERSION = '3.0.2'; |
||
48 | |||
49 | /** |
||
50 | * @var string |
||
51 | */ |
||
52 | protected $token; |
||
53 | |||
54 | /** |
||
55 | * @var LoopInterface |
||
56 | */ |
||
57 | protected $loop; |
||
58 | |||
59 | /** |
||
60 | * @var AdaptersStorage |
||
61 | */ |
||
62 | protected $adapters; |
||
63 | |||
64 | /** |
||
65 | * @var LoggerInterface |
||
66 | */ |
||
67 | private $logger; |
||
68 | |||
69 | /** |
||
70 | * @var array|ResourceInterface[] |
||
71 | */ |
||
72 | private $resources = []; |
||
73 | |||
74 | /** |
||
75 | * Client constructor. |
||
76 | * @param string $token |
||
77 | * @param LoggerInterface $logger |
||
78 | */ |
||
79 | public function __construct(string $token, LoggerInterface $logger = null) |
||
93 | |||
94 | /** |
||
95 | * @param string $hookId |
||
96 | * @return WebHook |
||
97 | */ |
||
98 | public function notify(string $hookId): WebHook |
||
102 | |||
103 | /** |
||
104 | * @param string $message |
||
105 | * @param int $level |
||
106 | * @return Loggable|$this |
||
107 | */ |
||
108 | public function log(string $message, int $level = Logger::INFO): Loggable |
||
114 | |||
115 | /** |
||
116 | * @return void |
||
117 | */ |
||
118 | public function connect() |
||
123 | |||
124 | /** |
||
125 | * @return void |
||
126 | */ |
||
127 | public function disconnect() |
||
132 | |||
133 | /** |
||
134 | * @return Messages|ResourceInterface |
||
135 | */ |
||
136 | protected function getMessages(): Messages |
||
140 | |||
141 | /** |
||
142 | * @return Groups|ResourceInterface |
||
143 | */ |
||
144 | protected function getGroups(): Groups |
||
148 | |||
149 | /** |
||
150 | * @return Rooms|ResourceInterface |
||
151 | */ |
||
152 | protected function getRooms(): Rooms |
||
156 | |||
157 | /** |
||
158 | * @return Users|ResourceInterface |
||
159 | */ |
||
160 | protected function getUsers(): Users |
||
164 | |||
165 | /** |
||
166 | * @return Common|ResourceInterface |
||
167 | */ |
||
168 | protected function getRequest(): Common |
||
172 | |||
173 | /** |
||
174 | * @param string $name |
||
175 | * @return ResourceInterface |
||
176 | */ |
||
177 | private function resource(string $name) |
||
185 | } |
||
186 |