Skip to content

Commit 8fa63fa

Browse files
committed
Added addAdmins & addMembers & editMessage & answerOnCallback
1 parent eb5f6c7 commit 8fa63fa

7 files changed

Lines changed: 593 additions & 59 deletions

File tree

README.md

Lines changed: 87 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -14,60 +14,115 @@
1414
1515
## Быстрый старт
1616

17-
> Если вы новичок, то можете прочитать [официальную документацию](https://dev.max.ru/), написанную разработчиками Max
17+
> Если вы новичок, то можете прочитать [официальную документацию](https://dev.max.ru/), написанную разработчиками Max.
1818
1919
### Получение токена
2020

2121
Откройте диалог с [MasterBot](https://max.ru/MasterBot), следуйте инструкциям и создайте нового бота. После создания
2222
бота MasterBot отправит вам токен.
2323

24+
### Установка библиотеки
25+
26+
```bash
27+
composer require bushlanov-dev/max-bot-api-client-php
28+
```
29+
30+
### Использование
31+
32+
Отправка сообщения с клавиатурой
33+
34+
```php
35+
$api = new \BushlanovDev\MaxMessengerBot\Api('YOUR_BOT_API_TOKEN');
36+
37+
$api->sendMessage(
38+
userId: 123, // ID пользователя получателя сообщения
39+
chatId: 321, // Или ID чата, в который нужно отправить сообщение
40+
text: 'Привет!', // Текст сообщения, вы можете использовать HTML или Markdown
41+
attachments: [
42+
new InlineKeyboardAttachmentRequest([
43+
[new CallbackButton('Нажми меня!', 'payload_button1')],
44+
[new LinkButton('Нажми меня!', 'https://example.com')],
45+
]),
46+
],
47+
format: MessageFormat::Markdown, // Формат сообщения (Markdown или HTML)
48+
);
49+
```
50+
51+
Подписка на вэб хуки
52+
53+
```php
54+
$api->subscribe(
55+
new \BushlanovDev\MaxMessengerBot\Models\SubscriptionRequest(
56+
'https://example.com/webhook', // URL на который будут приходить хуки
57+
'super_secret', // Секретная фраза для проверки хуков
58+
[
59+
// Типы хуков которые вы хотите получать (либо ничего не указывать, чтобы получать все)
60+
\BushlanovDev\MaxMessengerBot\Enums\UpdateType::MessageCreated,
61+
],
62+
),
63+
);
64+
```
65+
66+
Обработка хуков
67+
68+
```php
69+
$webhookHandler = $api->createWebhookHandler();
70+
71+
$webhookHandler->addHandler(UpdateType::BotStarted, function (BotStartedUpdate $update, Api $api) {
72+
$api->sendMessage(
73+
chatId: $update->chatId,
74+
text: 'Я запущен!',
75+
);
76+
});
77+
```
78+
2479
## Реализованные методы
2580

2681
#### Bots
2782

28-
- [x] `GET /me` (`getBotInfo`) *Получение информации о боте.*
29-
- [ ] `PATCH /me` (`editBotInfo`) *Редактирование информации о боте.*
83+
- [x] `GET /me` (`getBotInfo`) - *Получение информации о боте.*
84+
- [ ] `PATCH /me` (`editBotInfo`) - *Редактирование информации о боте.*
3085

3186
#### Chats
3287

33-
- [x] `GET /chats` (`getChats`) *Получение списка всех чатов бота.*
34-
- [x] `GET /chats/{chatLink}` (`getChatByLink`) *Получение информации о чате по ссылке.*
35-
- [x] `GET /chats/{chatId}` (`getChat`) *Получение информации о чате по ID.*
36-
- [ ] `PATCH /chats/{chatId}` (`editChat`) *Редактирование информации о чате.*
37-
- [x] `DELETE /chats/{chatId}` (`deleteChat`) *Удаление чата.*
38-
- [x] `POST /chats/{chatId}/actions` (`sendAction`) *Отправка действия в чат (например, "печатает...").*
39-
- [x] `GET /chats/{chatId}/pin` (`getPinnedMessage`) *Получение закрепленного сообщения.*
40-
- [x] `PUT /chats/{chatId}/pin` (`pinMessage`) *Закрепление сообщения.*
41-
- [x] `DELETE /chats/{chatId}/pin` (`unpinMessage`) *Открепление сообщения.*
42-
- [x] `GET /chats/{chatId}/members/me` (`getMembership`) *Получение информации о членстве бота в чате.*
43-
- [x] `DELETE /chats/{chatId}/members/me` (`leaveChat`) *Выход бота из чата.*
44-
- [x] `GET /chats/{chatId}/members/admins` (`getAdmins`) *Получение администраторов чата.*
45-
- [ ] `POST /chats/{chatId}/members/admins` (`postAdmins`) *Назначение администраторов чата.*
46-
- [x] `DELETE /chats/{chatId}/members/admins/{userId}` (`deleteAdmins`) *Снятие прав администратора.*
47-
- [x] `GET /chats/{chatId}/members` (`getMembers`) *Получение участников чата.*
48-
- [ ] `POST /chats/{chatId}/members` (`addMembers`) *Добавление участников в чат.*
49-
- [x] `DELETE /chats/{chatId}/members` (`removeMember`) *Удаление участника из чата.*
88+
- [x] `GET /chats` (`getChats`) - *Получение списка всех чатов бота.*
89+
- [x] `GET /chats/{chatLink}` (`getChatByLink`) - *Получение информации о чате по ссылке.*
90+
- [x] `GET /chats/{chatId}` (`getChat`) - *Получение информации о чате по ID.*
91+
- [ ] `PATCH /chats/{chatId}` (`editChat`) - *Редактирование информации о чате.*
92+
- [x] `DELETE /chats/{chatId}` (`deleteChat`) - *Удаление чата.*
93+
- [x] `POST /chats/{chatId}/actions` (`sendAction`) - *Отправка действия в чат (например, "печатает...").*
94+
- [x] `GET /chats/{chatId}/pin` (`getPinnedMessage`) - *Получение закрепленного сообщения.*
95+
- [x] `PUT /chats/{chatId}/pin` (`pinMessage`) - *Закрепление сообщения.*
96+
- [x] `DELETE /chats/{chatId}/pin` (`unpinMessage`) - *Открепление сообщения.*
97+
- [x] `GET /chats/{chatId}/members/me` (`getMembership`) - *Получение информации о членстве бота в чате.*
98+
- [x] `DELETE /chats/{chatId}/members/me` (`leaveChat`) - *Выход бота из чата.*
99+
- [x] `GET /chats/{chatId}/members/admins` (`getAdmins`) - *Получение администраторов чата.*
100+
- [x] `POST /chats/{chatId}/members/admins` (`addAdmins`) - *Назначение администраторов чата.*
101+
- [x] `DELETE /chats/{chatId}/members/admins/{userId}` (`deleteAdmins`) - *Снятие прав администратора.*
102+
- [x] `GET /chats/{chatId}/members` (`getMembers`) - *Получение участников чата.*
103+
- [x] `POST /chats/{chatId}/members` (`addMembers`) - *Добавление участников в чат.*
104+
- [x] `DELETE /chats/{chatId}/members` (`deleteMember`) - *Удаление участника из чата.*
50105

51106
#### Subscriptions
52107

53-
- [x] `GET /subscriptions` (`getSubscriptions`) *Получение списка Webhook-подписок.*
54-
- [x] `POST /subscriptions` (`subscribe`) *Создание Webhook-подписки.*
55-
- [x] `DELETE /subscriptions` (`unsubscribe`) *Удаление Webhook-подписки.*
56-
- [x] `GET /updates` (`getUpdates`) *Получение обновлений через Long-Polling.*
108+
- [x] `GET /subscriptions` (`getSubscriptions`) - *Получение списка Webhook-подписок.*
109+
- [x] `POST /subscriptions` (`subscribe`) - *Создание Webhook-подписки.*
110+
- [x] `DELETE /subscriptions` (`unsubscribe`) - *Удаление Webhook-подписки.*
111+
- [x] `GET /updates` (`getUpdates`) - *Получение обновлений через Long-Polling.*
57112

58113
#### Upload
59114

60-
- [x] `POST /uploads` (`getUploadUrl`) *Получение URL для загрузки файла.*
115+
- [x] `POST /uploads` (`getUploadUrl`) - *Получение URL для загрузки файла.*
61116

62117
#### Messages
63118

64-
- [x] `GET /messages` (`getMessages`) *Получение списка сообщений из чата.*
65-
- [x] `POST /messages` (`sendMessage`) *Отправка сообщения.*
66-
- [ ] `PUT /messages` (`editMessage`) *Редактирование сообщения.*
67-
- [x] `DELETE /messages` (`deleteMessage`) *Удаление сообщения.*
68-
- [x] `GET /messages/{messageId}` (`getMessageById`) *Получение сообщения по ID.*
69-
- [ ] `GET /videos/{videoToken}` (`getVideoAttachmentDetails`) *Получение детальной информации о видео.*
70-
- [ ] `POST /answers` (`answerOnCallback`) *Ответ на нажатие callback-кнопки.*
119+
- [x] `GET /messages` (`getMessages`) - *Получение списка сообщений из чата.*
120+
- [x] `POST /messages` (`sendMessage`) - *Отправка сообщения.*
121+
- [x] `PUT /messages` (`editMessage`) - *Редактирование сообщения.*
122+
- [x] `DELETE /messages` (`deleteMessage`) - *Удаление сообщения.*
123+
- [x] `GET /messages/{messageId}` (`getMessageById`) - *Получение сообщения по ID.*
124+
- [ ] `GET /videos/{videoToken}` (`getVideoAttachmentDetails`) - *Получение детальной информации о видео.*
125+
- [x] `POST /answers` (`answerOnCallback`) - *Ответ на нажатие callback-кнопки.*
71126

72127
## Лицензия
73128

0 commit comments

Comments
 (0)