diff --git a/README.md b/README.md index c99341c..c06c854 100644 --- a/README.md +++ b/README.md @@ -127,19 +127,19 @@ $handler->handle(); #### Chats - [x] `GET /chats` (`getChats`) - [*Получение списка всех чатов бота.*](./docs/README.md#Получение-списка-всех-чатов-бота) -- [x] `GET /chats/{chatLink}` (`getChatByLink`) - *Получение информации о чате по ссылке.* -- [x] `GET /chats/{chatId}` (`getChat`) - *Получение информации о чате по ID.* -- [x] `PATCH /chats/{chatId}` (`editChat`) - *Редактирование информации о чате.* -- [x] `DELETE /chats/{chatId}` (`deleteChat`) - *Удаление чата.* -- [x] `POST /chats/{chatId}/actions` (`sendAction`) - *Отправка действия в чат (например, "печатает...").* -- [x] `GET /chats/{chatId}/pin` (`getPinnedMessage`) - *Получение закрепленного сообщения.* -- [x] `PUT /chats/{chatId}/pin` (`pinMessage`) - *Закрепление сообщения.* -- [x] `DELETE /chats/{chatId}/pin` (`unpinMessage`) - *Открепление сообщения.* -- [x] `GET /chats/{chatId}/members/me` (`getMembership`) - *Получение информации о членстве бота в чате.* -- [x] `DELETE /chats/{chatId}/members/me` (`leaveChat`) - *Выход бота из чата.* -- [x] `GET /chats/{chatId}/members/admins` (`getAdmins`) - *Получение администраторов чата.* -- [x] `POST /chats/{chatId}/members/admins` (`addAdmins`) - *Назначение администраторов чата.* -- [x] `DELETE /chats/{chatId}/members/admins/{userId}` (`deleteAdmins`) - *Снятие прав администратора.* +- [x] `GET /chats/{chatLink}` (`getChatByLink`) - [*Получение информации о чате по ссылке.*](./docs/README.md#Получение-информации-о-чате-по-ссылке) +- [x] `GET /chats/{chatId}` (`getChat`) - [*Получение информации о чате по ID.*](./docs/README.md#Получение-информации-о-чате-по-ID) +- [x] `PATCH /chats/{chatId}` (`editChat`) - [*Редактирование информации о чате.*](./docs/README.md#Редактирование-информации-о-чате) +- [x] `DELETE /chats/{chatId}` (`deleteChat`) - [*Удаление чата.*](./docs/README.md#Удаление-чата) +- [x] `POST /chats/{chatId}/actions` (`sendAction`) - [*Отправка действия в чат (например, "печатает...").*](./docs/README.md#Отправка-действия-в-чат) +- [x] `GET /chats/{chatId}/pin` (`getPinnedMessage`) - [*Получение закрепленного сообщения.*](./docs/README.md#Получение-закрепленного-сообщения) +- [x] `PUT /chats/{chatId}/pin` (`pinMessage`) - [*Закрепление сообщения.*](./docs/README.md#Закрепление-сообщения) +- [x] `DELETE /chats/{chatId}/pin` (`unpinMessage`) - [*Открепление сообщения.*](./docs/README.md#Открепление-сообщения) +- [x] `GET /chats/{chatId}/members/me` (`getMembership`) - [*Получение информации о членстве бота в чате.*](./docs/README.md#Получение-информации-о-членстве-бота-в-чате) +- [x] `DELETE /chats/{chatId}/members/me` (`leaveChat`) - [*Выход бота из чата.*](./docs/README.md#Выход-бота-из-чата) +- [x] `GET /chats/{chatId}/members/admins` (`getAdmins`) - [*Получение администраторов чата.*](./docs/README.md#Получение-администраторов-чата) +- [x] `POST /chats/{chatId}/members/admins` (`addAdmins`) - [*Назначение администраторов чата.*](./docs/README.md#Назначение-администраторов-чата) +- [x] `DELETE /chats/{chatId}/members/admins/{userId}` (`deleteAdmins`) - [*Снятие прав администратора.*](./docs/README.md#Снятие-прав-администратора) - [x] `GET /chats/{chatId}/members` (`getMembers`) - *Получение участников чата.* - [x] `POST /chats/{chatId}/members` (`addMembers`) - *Добавление участников в чат.* - [x] `DELETE /chats/{chatId}/members` (`deleteMember`) - *Удаление участника из чата.* diff --git a/docs/README.md b/docs/README.md index 62fdcd2..af831ca 100644 --- a/docs/README.md +++ b/docs/README.md @@ -8,19 +8,19 @@ - `PATCH /me` (`editBotInfo`) - [*Редактирование информации о боте.*](#Редактирование-информации-о-боте) - [Чаты](#Чаты) - `GET /chats` (`getChats`) - [*Получение списка всех чатов бота.*](#Получение-списка-всех-чатов-бота) - - `GET /chats/{chatLink}` (`getChatByLink`) - *Получение информации о чате по ссылке.* - - `GET /chats/{chatId}` (`getChat`) - *Получение информации о чате по ID.* - - `PATCH /chats/{chatId}` (`editChat`) - *Редактирование информации о чате.* - - `DELETE /chats/{chatId}` (`deleteChat`) - *Удаление чата.* - - `POST /chats/{chatId}/actions` (`sendAction`) - *Отправка действия в чат (например, "печатает...").* - - `GET /chats/{chatId}/pin` (`getPinnedMessage`) - *Получение закрепленного сообщения.* - - `PUT /chats/{chatId}/pin` (`pinMessage`) - *Закрепление сообщения.* - - `DELETE /chats/{chatId}/pin` (`unpinMessage`) - *Открепление сообщения.* - - `GET /chats/{chatId}/members/me` (`getMembership`) - *Получение информации о членстве бота в чате.* - - `DELETE /chats/{chatId}/members/me` (`leaveChat`) - *Выход бота из чата.* - - `GET /chats/{chatId}/members/admins` (`getAdmins`) - *Получение администраторов чата.* - - `POST /chats/{chatId}/members/admins` (`addAdmins`) - *Назначение администраторов чата.* - - `DELETE /chats/{chatId}/members/admins/{userId}` (`deleteAdmins`) - *Снятие прав администратора.* + - `GET /chats/{chatLink}` (`getChatByLink`) - [*Получение информации о чате по ссылке.*](#Получение-информации-о-чате-по-ссылке) + - `GET /chats/{chatId}` (`getChat`) - [*Получение информации о чате по ID.*](#Получение-информации-о-чате-по-ID) + - `PATCH /chats/{chatId}` (`editChat`) - [*Редактирование информации о чате.*](#Редактирование-информации-о-чате) + - `DELETE /chats/{chatId}` (`deleteChat`) - [*Удаление чата.*](#Удаление-чата) + - `POST /chats/{chatId}/actions` (`sendAction`) - [*Отправка действия в чат (например, "печатает...").*](#Отправка-действия-в-чат) + - `GET /chats/{chatId}/pin` (`getPinnedMessage`) - [*Получение закрепленного сообщения.*](#Получение-закрепленного-сообщения) + - `PUT /chats/{chatId}/pin` (`pinMessage`) - [*Закрепление сообщения.*](#Закрепление-сообщения) + - `DELETE /chats/{chatId}/pin` (`unpinMessage`) - [*Открепление сообщения.*](#Открепление-сообщения) + - `GET /chats/{chatId}/members/me` (`getMembership`) - [*Получение информации о членстве бота в чате.*](#Получение-информации-о-членстве-бота-в-чате) + - `DELETE /chats/{chatId}/members/me` (`leaveChat`) - [*Выход бота из чата.*](#Выход-бота-из-чата) + - `GET /chats/{chatId}/members/admins` (`getAdmins`) - [*Получение администраторов чата.*](#Получение-администраторов-чата) + - `POST /chats/{chatId}/members/admins` (`addAdmins`) - [*Назначение администраторов чата.*](#Назначение-администраторов-чата) + - `DELETE /chats/{chatId}/members/admins/{userId}` (`deleteAdmins`) - [*Снятие прав администратора.*](#Снятие-прав-администратора) - `GET /chats/{chatId}/members` (`getMembers`) - *Получение участников чата.* - `POST /chats/{chatId}/members` (`addMembers`) - *Добавление участников в чат.* - `DELETE /chats/{chatId}/members` (`deleteMember`) - *Удаление участника из чата.* @@ -137,8 +137,107 @@ $botInfo = $api->editBotInfo( ### Получение списка всех чатов бота ```php -$api->getChats( +$chats = $api->getChats( count: 10, // Количество запрашиваемых чатов marker: 2, // Указатель на следующую страницу данных. Для первой страницы передайте null ); ``` + +### Получение информации о чате по ссылке + +```php +$chat = $api->getChatByLink('@super_chat'); // Публичная ссылка на чат или username пользователя +``` + +### Получение информации о чате по ID + +```php +$chat = $api->getChat(12345); +``` + +### Редактирование информации о чате + +```php +$chat = $api->editChat( + chatId: 12345, + chatPatch: new ChatPatch( + title: 'Новое название чата', + ), +); +``` + +### Удаление чата + +```php +$api->deleteChat(12345); +``` + +### Отправка действия в чат + +```php +$api->sendAction( + chatId: 12345, + action: SenderAction::SendingVideo, +); +``` + +### Получение закрепленного сообщения + +```php +$message = $api->getPinnedMessage(12345); +``` + +### Закрепление сообщения + +```php +$api->pinMessage( + chatId: 12345, + messageId: 54321, + notify: true, +); +``` + +### Открепление сообщения + +```php +$api->unpinMessage(12345); +``` + +### Получение информации о членстве бота в чате + +```php +$chatMember = $api->getMembership(12345); +``` + +### Выход бота из чата + +```php +$api->leaveChat(12345); +``` + +### Получение администраторов чата + +```php +$adminsChatMemberList = $api->getAdmins(12345); +``` + +### Назначение администраторов чата + +```php +$chatMemberList = $api->addAdmins( + chatId: 12345, + admins: [ + new ChatAdmin(123, [ChatAdminPermission::ReadAllMessages]), + new ChatAdmin(456, [ChatAdminPermission::Write]), + ], +); +``` + +### Снятие прав администратора + +```php +$api->deleteAdmin( + chatId: 12345, + userId: 123, +); +``` diff --git a/src/Api.php b/src/Api.php index 6b335ad..6ee7257 100644 --- a/src/Api.php +++ b/src/Api.php @@ -874,7 +874,7 @@ class Api * @throws ReflectionException * @throws SerializationException */ - public function deleteAdmins(int $chatId, int $userId): Result + public function deleteAdmin(int $chatId, int $userId): Result { return $this->modelFactory->createResult( $this->client->request( diff --git a/src/Laravel/MaxBotFacade.php b/src/Laravel/MaxBotFacade.php index 00991ec..643f96e 100644 --- a/src/Laravel/MaxBotFacade.php +++ b/src/Laravel/MaxBotFacade.php @@ -64,7 +64,7 @@ use Illuminate\Support\Facades\Facade; * @method static Result pinMessage(int $chatId, string $messageId, bool $notify = true) * @method static ChatMembersList getAdmins(int $chatId) * @method static ChatMembersList getMembers(int $chatId, ?array $userIds = null, ?int $marker = null, ?int $count = null) - * @method static Result deleteAdmins(int $chatId, int $userId) + * @method static Result deleteAdmin(int $chatId, int $userId) * @method static Result deleteMember(int $chatId, int $userId, bool $block = false) * @method static Result addAdmins(int $chatId, array $admins) * @method static Result addMembers(int $chatId, array $userIds) diff --git a/tests/ApiTest.php b/tests/ApiTest.php index af3893f..dc14489 100644 --- a/tests/ApiTest.php +++ b/tests/ApiTest.php @@ -1595,7 +1595,7 @@ final class ApiTest extends TestCase ->with($rawResponse) ->willReturn($expectedResult); - $result = $this->api->deleteAdmins($chatId, $userId); + $result = $this->api->deleteAdmin($chatId, $userId); $this->assertSame($expectedResult, $result); }