Skip to content

Commit 51e7239

Browse files
committed
add group admistrator tools
1 parent 6b70b59 commit 51e7239

File tree

1 file changed

+72
-4
lines changed

1 file changed

+72
-4
lines changed

Api.php

Lines changed: 72 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,8 @@
66
use Zelenin\Telegram\Bot\Client\Client;
77
use Zelenin\Telegram\Bot\Client\Response;
88
use Zelenin\Telegram\Bot\Exception\NotOkException;
9+
use Zelenin\Telegram\Bot\Type\Chat;
10+
use Zelenin\Telegram\Bot\Type\ChatMember;
911
use Zelenin\Telegram\Bot\Type\File;
1012
use Zelenin\Telegram\Bot\Type\Keyboard;
1113
use Zelenin\Telegram\Bot\Type\Message;
@@ -40,6 +42,7 @@ public function request($method, array $params = [])
4042
if (!$response->getOk()) {
4143
throw new NotOkException(sprintf('Code: %s. Description: "%s".', $response->getErrorCode(), $response->getDescription()));
4244
}
45+
4346
return $response;
4447
}
4548

@@ -61,6 +64,7 @@ public function sendMessage(array $params)
6164
if (isset($params['reply_markup']) && $params['reply_markup'] instanceof Keyboard) {
6265
$params['reply_markup'] = json_encode($params['reply_markup']);
6366
}
67+
6468
return Message::createFromResponse($this->request('sendMessage', $params));
6569
}
6670

@@ -84,6 +88,7 @@ public function sendPhoto(array $params)
8488
if (isset($params['reply_markup']) && $params['reply_markup'] instanceof Keyboard) {
8589
$params['reply_markup'] = json_encode($params['reply_markup']);
8690
}
91+
8792
return Message::createFromResponse($this->request('sendPhoto', $params));
8893
}
8994

@@ -97,6 +102,7 @@ public function sendAudio(array $params)
97102
if (isset($params['reply_markup']) && $params['reply_markup'] instanceof Keyboard) {
98103
$params['reply_markup'] = json_encode($params['reply_markup']);
99104
}
105+
100106
return Message::createFromResponse($this->request('sendAudio', $params));
101107
}
102108

@@ -110,6 +116,7 @@ public function sendDocument(array $params)
110116
if (isset($params['reply_markup']) && $params['reply_markup'] instanceof Keyboard) {
111117
$params['reply_markup'] = json_encode($params['reply_markup']);
112118
}
119+
113120
return Message::createFromResponse($this->request('sendDocument', $params));
114121
}
115122

@@ -123,6 +130,7 @@ public function sendSticker(array $params)
123130
if (isset($params['reply_markup']) && $params['reply_markup'] instanceof Keyboard) {
124131
$params['reply_markup'] = json_encode($params['reply_markup']);
125132
}
133+
126134
return Message::createFromResponse($this->request('sendSticker', $params));
127135
}
128136

@@ -136,6 +144,7 @@ public function sendVideo(array $params)
136144
if (isset($params['reply_markup']) && $params['reply_markup'] instanceof Keyboard) {
137145
$params['reply_markup'] = json_encode($params['reply_markup']);
138146
}
147+
139148
return Message::createFromResponse($this->request('sendVideo', $params));
140149
}
141150

@@ -149,6 +158,7 @@ public function sendVoice(array $params)
149158
if (isset($params['reply_markup']) && $params['reply_markup'] instanceof Keyboard) {
150159
$params['reply_markup'] = json_encode($params['reply_markup']);
151160
}
161+
152162
return Message::createFromResponse($this->request('sendVideo', $params));
153163
}
154164

@@ -162,6 +172,7 @@ public function sendLocation(array $params)
162172
if (isset($params['reply_markup']) && $params['reply_markup'] instanceof Keyboard) {
163173
$params['reply_markup'] = json_encode($params['reply_markup']);
164174
}
175+
165176
return Message::createFromResponse($this->request('sendLocation', $params));
166177
}
167178

@@ -175,6 +186,7 @@ public function sendVenue(array $params)
175186
if (isset($params['reply_markup']) && $params['reply_markup'] instanceof Keyboard) {
176187
$params['reply_markup'] = json_encode($params['reply_markup']);
177188
}
189+
178190
return Message::createFromResponse($this->request('sendVenue', $params));
179191
}
180192

@@ -188,6 +200,7 @@ public function sendContact(array $params)
188200
if (isset($params['reply_markup']) && $params['reply_markup'] instanceof Keyboard) {
189201
$params['reply_markup'] = json_encode($params['reply_markup']);
190202
}
203+
191204
return Message::createFromResponse($this->request('sendContact', $params));
192205
}
193206

@@ -226,9 +239,19 @@ public function getFile(array $params)
226239
*
227240
* @return Response
228241
*/
229-
public function answerCallbackQuery(array $params)
242+
public function kickChatMember(array $params)
230243
{
231-
return $this->request('answerCallbackQuery', $params);
244+
return $this->request('kickChatMember', $params);
245+
}
246+
247+
/**
248+
* @param array $params
249+
*
250+
* @return Response
251+
*/
252+
public function leaveChat(array $params)
253+
{
254+
return $this->request('leaveChat', $params);
232255
}
233256

234257
/**
@@ -241,14 +264,56 @@ public function unbanChatMember(array $params)
241264
return $this->request('unbanChatMember', $params);
242265
}
243266

267+
/**
268+
* @param array $params
269+
*
270+
* @return Chat
271+
*/
272+
public function getChat(array $params)
273+
{
274+
return Chat::createFromResponse($this->request('getChat', $params));
275+
}
276+
277+
/**
278+
* @param array $params
279+
*
280+
* @return ChatMember[]
281+
*/
282+
public function getChatAdministrators(array $params)
283+
{
284+
return array_map(function ($user) {
285+
return ChatMember::create($user);
286+
}, $this->request('getChatAdministrators', $params)->getResult());
287+
}
288+
244289
/**
245290
* @param array $params
246291
*
247292
* @return Response
248293
*/
249-
public function kickChatMember(array $params)
294+
public function getChatMembersCount(array $params)
250295
{
251-
return $this->request('kickChatMember', $params);
296+
return $this->request('getChatMembersCount', $params);
297+
}
298+
299+
/**
300+
* @param array $params
301+
*
302+
* @return ChatMember
303+
*/
304+
public function getChatMember(array $params)
305+
{
306+
return ChatMember::createFromResponse($this->request('getChatMember', $params)->getResult());
307+
}
308+
309+
/**
310+
* @param array $params
311+
*
312+
* @return Response
313+
*/
314+
public function answerCallbackQuery(array $params)
315+
{
316+
return $this->request('answerCallbackQuery', $params);
252317
}
253318

254319
/**
@@ -261,6 +326,7 @@ public function editMessageText(array $params)
261326
if (isset($params['reply_markup']) && $params['reply_markup'] instanceof Keyboard) {
262327
$params['reply_markup'] = json_encode($params['reply_markup']);
263328
}
329+
264330
return Message::createFromResponse($this->request('editMessageText', $params));
265331
}
266332

@@ -274,6 +340,7 @@ public function editMessageCaption(array $params = [])
274340
if (isset($params['reply_markup']) && $params['reply_markup'] instanceof Keyboard) {
275341
$params['reply_markup'] = json_encode($params['reply_markup']);
276342
}
343+
277344
return Message::createFromResponse($this->request('editMessageCaption', $params));
278345
}
279346

@@ -287,6 +354,7 @@ public function editMessageReplyMarkup(array $params = [])
287354
if (isset($params['reply_markup']) && $params['reply_markup'] instanceof Keyboard) {
288355
$params['reply_markup'] = json_encode($params['reply_markup']);
289356
}
357+
290358
return Message::createFromResponse($this->request('editMessageReplyMarkup', $params));
291359
}
292360

0 commit comments

Comments
 (0)