maxbot-api-client-python 1.1.0__tar.gz → 1.1.1__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {maxbot_api_client_python-1.1.0 → maxbot_api_client_python-1.1.1}/PKG-INFO +115 -90
- {maxbot_api_client_python-1.1.0 → maxbot_api_client_python-1.1.1}/README.md +114 -89
- {maxbot_api_client_python-1.1.0 → maxbot_api_client_python-1.1.1}/maxbot_api_client_python.egg-info/PKG-INFO +115 -90
- {maxbot_api_client_python-1.1.0 → maxbot_api_client_python-1.1.1}/setup.py +1 -1
- {maxbot_api_client_python-1.1.0 → maxbot_api_client_python-1.1.1}/LICENSE +0 -0
- {maxbot_api_client_python-1.1.0 → maxbot_api_client_python-1.1.1}/maxbot_api_client_python/__init__.py +0 -0
- {maxbot_api_client_python-1.1.0 → maxbot_api_client_python-1.1.1}/maxbot_api_client_python/api.py +0 -0
- {maxbot_api_client_python-1.1.0 → maxbot_api_client_python-1.1.1}/maxbot_api_client_python/client.py +0 -0
- {maxbot_api_client_python-1.1.0 → maxbot_api_client_python-1.1.1}/maxbot_api_client_python/exceptions.py +0 -0
- {maxbot_api_client_python-1.1.0 → maxbot_api_client_python-1.1.1}/maxbot_api_client_python/tools/__init__.py +0 -0
- {maxbot_api_client_python-1.1.0 → maxbot_api_client_python-1.1.1}/maxbot_api_client_python/tools/bots.py +0 -0
- {maxbot_api_client_python-1.1.0 → maxbot_api_client_python-1.1.1}/maxbot_api_client_python/tools/chats.py +0 -0
- {maxbot_api_client_python-1.1.0 → maxbot_api_client_python-1.1.1}/maxbot_api_client_python/tools/helpers.py +0 -0
- {maxbot_api_client_python-1.1.0 → maxbot_api_client_python-1.1.1}/maxbot_api_client_python/tools/messages.py +0 -0
- {maxbot_api_client_python-1.1.0 → maxbot_api_client_python-1.1.1}/maxbot_api_client_python/tools/subscriptions.py +0 -0
- {maxbot_api_client_python-1.1.0 → maxbot_api_client_python-1.1.1}/maxbot_api_client_python/tools/uploads.py +0 -0
- {maxbot_api_client_python-1.1.0 → maxbot_api_client_python-1.1.1}/maxbot_api_client_python/types/__init__.py +0 -0
- {maxbot_api_client_python-1.1.0 → maxbot_api_client_python-1.1.1}/maxbot_api_client_python/types/constants.py +0 -0
- {maxbot_api_client_python-1.1.0 → maxbot_api_client_python-1.1.1}/maxbot_api_client_python/types/models.py +0 -0
- {maxbot_api_client_python-1.1.0 → maxbot_api_client_python-1.1.1}/maxbot_api_client_python/utils.py +0 -0
- {maxbot_api_client_python-1.1.0 → maxbot_api_client_python-1.1.1}/maxbot_api_client_python.egg-info/SOURCES.txt +0 -0
- {maxbot_api_client_python-1.1.0 → maxbot_api_client_python-1.1.1}/maxbot_api_client_python.egg-info/dependency_links.txt +0 -0
- {maxbot_api_client_python-1.1.0 → maxbot_api_client_python-1.1.1}/maxbot_api_client_python.egg-info/requires.txt +0 -0
- {maxbot_api_client_python-1.1.0 → maxbot_api_client_python-1.1.1}/maxbot_api_client_python.egg-info/top_level.txt +0 -0
- {maxbot_api_client_python-1.1.0 → maxbot_api_client_python-1.1.1}/setup.cfg +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: maxbot-api-client-python
|
|
3
|
-
Version: 1.1.
|
|
3
|
+
Version: 1.1.1
|
|
4
4
|
Summary: Python client for MAX Bot API with Sync and Async support
|
|
5
5
|
Home-page: https://github.com/green-api/maxbot-api-client-python
|
|
6
6
|
Author: Green API
|
|
@@ -26,13 +26,16 @@ Dynamic: summary
|
|
|
26
26
|
|
|
27
27
|
# MAX BOT API Client (Python)
|
|
28
28
|
|
|
29
|
-
`maxbot-api-client-python` — это библиотека для интеграции с MAX BOT API
|
|
29
|
+
`maxbot-api-client-python` — это библиотека для интеграции с **MAX BOT API**. Этот проект предоставляет структурированный интерфейс для взаимодействия с конфигурациями бота, управления сообщениями, отправки медиафайлов и подписки на события через *long-polling*.
|
|
30
30
|
|
|
31
|
-
Для использования библиотеки потребуется получить токен бота в консоли разработчика MAX bot.
|
|
31
|
+
Для использования библиотеки потребуется получить токен бота в консоли разработчика MAX bot.
|
|
32
|
+
Ознакомиться с инструкцией можно [по ссылке](https://green-api.com/max-bot-api/docs/before-start/).
|
|
32
33
|
|
|
33
34
|
## API
|
|
34
35
|
|
|
35
|
-
Документацию по REST API MAX можно найти по ссылке https://dev.max.ru/docs-api. Библиотека является оберткой для REST API, поэтому документация по указанной выше ссылке также применима к используемым здесь
|
|
36
|
+
Документацию по **REST API MAX** можно найти по ссылке [dev.max.ru/docs-api](https://dev.max.ru/docs-api). Библиотека является оберткой для REST API, поэтому документация по указанной выше ссылке также применима к используемым здесь моделям.
|
|
37
|
+
|
|
38
|
+
Документацию по **MAX BOT API** можно найти по ссылке [green-api.com/max-bot-api/docs](https://green-api.com/max-bot-api/docs/).
|
|
36
39
|
|
|
37
40
|
## Поддержка
|
|
38
41
|
|
|
@@ -46,14 +49,13 @@ Dynamic: summary
|
|
|
46
49
|
[](https://t.me/green_api)
|
|
47
50
|
[](https://whatsapp.com/channel/0029VaHUM5TBA1f7cG29nO1C)
|
|
48
51
|
|
|
49
|
-
|
|
50
52
|
## Установка
|
|
51
53
|
|
|
52
|
-
**Убедитесь, что у вас установлен Python версии 3.
|
|
54
|
+
**Убедитесь, что у вас установлен Python версии 3.12 или выше:**
|
|
53
55
|
|
|
54
56
|
```shell
|
|
55
57
|
python --version
|
|
56
|
-
|
|
58
|
+
````
|
|
57
59
|
|
|
58
60
|
**Установите библиотеку:**
|
|
59
61
|
|
|
@@ -71,23 +73,30 @@ from maxbot_api_client_python import API, Config
|
|
|
71
73
|
|
|
72
74
|
**Параметры конфигурации:**
|
|
73
75
|
|
|
74
|
-
- `base_url` - Базовый URL-адрес серверов платформы MaxBot. Все методы API будут маршрутизироваться по этому корневому адресу. Актуальный адрес указан в [официальной документации](https://dev.max.ru/docs-api).
|
|
75
|
-
- `token` - Уникальный секретный ключ авторизации (API-ключ) вашего бота. Получить его можно в личном кабинете после [регистрации или создании бота](https://green-api.com/max-bot-api/docs/before-start/) на платформе [business.max.ru](https://business.max.ru/).
|
|
76
|
-
- `ratelimiter` - Встроенный ограничитель частоты запросов. Он контролирует количество исходящих запросов в секунду (RPS), защищая бота от блокировки со стороны сервера за превышение лимитов. Рекомендуемое значение — не менее 25.
|
|
77
|
-
- `timeout` - Максимальное время ожидания ответа от сервера (в секундах). Если сервер не ответит в течение этого времени, запрос будет завершен с ошибкой. Оптимальное значение — 30 секунд.
|
|
76
|
+
- `base_url` - Базовый URL-адрес серверов платформы MaxBot. Все методы API будут маршрутизироваться по этому корневому адресу. Актуальный адрес указан в [официальной документации](https://dev.max.ru/docs-api).
|
|
77
|
+
- `token` - Уникальный секретный ключ авторизации (API-ключ) вашего бота. Получить его можно в личном кабинете после [регистрации или создании бота](https://green-api.com/max-bot-api/docs/before-start/) на платформе [business.max.ru](https://business.max.ru/).
|
|
78
|
+
- `ratelimiter` - Встроенный ограничитель частоты запросов. Он контролирует количество исходящих запросов в секунду (RPS), защищая бота от блокировки со стороны сервера за превышение лимитов. Рекомендуемое значение — не менее 25.
|
|
79
|
+
- `timeout` - Максимальное время ожидания ответа от сервера (в секундах). Если сервер не ответит в течение этого времени, запрос будет завершен с ошибкой. Оптимальное значение — 30 секунд.
|
|
78
80
|
|
|
79
81
|
**Как инициализировать клиент:**
|
|
80
82
|
|
|
83
|
+
Использование контекстного менеджера (`with` / `async with`) гарантирует, что все сетевые соединения будут автоматически и безопасно закрыты по завершении работы.
|
|
84
|
+
|
|
81
85
|
```python
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
+
from maxbot_api_client_python import API, Config
|
|
87
|
+
|
|
88
|
+
cfg = Config(
|
|
89
|
+
base_url="https://platform-api.max.ru",
|
|
90
|
+
token="YOUR_BOT_TOKEN",
|
|
86
91
|
ratelimiter=25,
|
|
87
92
|
timeout=30
|
|
88
|
-
)
|
|
89
|
-
|
|
90
|
-
|
|
93
|
+
)
|
|
94
|
+
# Синхронный режим:
|
|
95
|
+
with API(cfg) as bot:
|
|
96
|
+
pass
|
|
97
|
+
# Асинхронный режим:
|
|
98
|
+
async with API(cfg) as bot:
|
|
99
|
+
pass
|
|
91
100
|
```
|
|
92
101
|
|
|
93
102
|
**Как получить информацию о боте:**
|
|
@@ -95,34 +104,38 @@ except ValueError as e:
|
|
|
95
104
|
* Ссылка на синхронный пример: [GetBot.py](./examples/sync/GetBot.py)
|
|
96
105
|
|
|
97
106
|
```python
|
|
98
|
-
|
|
107
|
+
with API(cfg) as bot:
|
|
108
|
+
response = bot.bots.GetBot()
|
|
99
109
|
```
|
|
100
110
|
|
|
101
111
|
* Ссылка на асинхронный пример: [GetBotAsync.py](./examples/async/GetBotAsync.py)
|
|
102
112
|
|
|
103
113
|
```python
|
|
104
|
-
|
|
105
|
-
response = await bot.bots.GetBotAsync()
|
|
114
|
+
async with API(cfg) as bot:
|
|
115
|
+
response = await bot.bots.GetBotAsync()
|
|
106
116
|
```
|
|
107
117
|
|
|
108
118
|
**Как отправить сообщение:**
|
|
109
119
|
|
|
110
120
|
* Ссылка на синхронный пример: [SendMessage.py](./examples/sync/SendMessage.py)
|
|
111
121
|
|
|
122
|
+
|
|
112
123
|
```python
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
124
|
+
with API(cfg) as bot:
|
|
125
|
+
response = bot.messages.SendMessage(
|
|
126
|
+
user_id=1234567890,
|
|
127
|
+
text="Hello world!"
|
|
128
|
+
)
|
|
117
129
|
```
|
|
118
130
|
|
|
119
|
-
* Ссылка на асинхронный пример: [
|
|
131
|
+
* Ссылка на асинхронный пример: [SendMessageAsync.py](./examples/async/SendMessageAsync.py)
|
|
120
132
|
|
|
121
133
|
```python
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
134
|
+
async with API(cfg) as bot:
|
|
135
|
+
response = await bot.messages.SendMessageAsync(
|
|
136
|
+
user_id=1234567890,
|
|
137
|
+
text="Hello world from Async!"
|
|
138
|
+
)
|
|
126
139
|
```
|
|
127
140
|
|
|
128
141
|
**Как легко отправить файл (по ссылке или локальный):**
|
|
@@ -130,21 +143,22 @@ response = await bot.messages.SendMessageAsync(SendMessageReq(
|
|
|
130
143
|
* Ссылка на синхронный пример: [SendFile.py](./examples/sync/SendFile.py)
|
|
131
144
|
|
|
132
145
|
```python
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
)
|
|
146
|
+
with API(cfg) as bot:
|
|
147
|
+
response = bot.helpers.SendFile(
|
|
148
|
+
chat_id=1234567890,
|
|
149
|
+
text="Check this!",
|
|
150
|
+
file_source="[https://http.cat/200.jpg](https://http.cat/200.jpg)"
|
|
151
|
+
)
|
|
138
152
|
```
|
|
139
|
-
|
|
140
153
|
* Ссылка на асинхронный пример: [SendFileAsync.py](./examples/async/SendFileAsync.py)
|
|
141
154
|
|
|
142
155
|
```python
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
)
|
|
156
|
+
async with API(cfg) as bot:
|
|
157
|
+
response = await bot.helpers.SendFileAsync(
|
|
158
|
+
chat_id=1234567890,
|
|
159
|
+
text="Посмотри на этот файл!",
|
|
160
|
+
file_source="[https://http.cat/200.jpg](https://http.cat/200.jpg)"
|
|
161
|
+
)
|
|
148
162
|
```
|
|
149
163
|
|
|
150
164
|
**Как вручную загрузить файл (для кастомных вложений):**
|
|
@@ -152,39 +166,47 @@ response = await bot.helpers.SendFileAsync(SendFileReq(
|
|
|
152
166
|
* Ссылка на синхронный пример: [UploadFile.py](./examples/sync/UploadFile.py)
|
|
153
167
|
|
|
154
168
|
```python
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
169
|
+
from maxbot_api_client_python.types.constants import UploadType
|
|
170
|
+
|
|
171
|
+
with API(cfg) as bot:
|
|
172
|
+
response = bot.uploads.UploadFile(
|
|
173
|
+
type=UploadType.image,
|
|
174
|
+
file_path="examples/assets/file.jpg"
|
|
175
|
+
)
|
|
159
176
|
```
|
|
160
177
|
|
|
161
178
|
* Ссылка на асинхронный пример: [UploadFileAsync.py](./examples/async/UploadFileAsync.py)
|
|
162
179
|
|
|
163
180
|
```python
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
181
|
+
from maxbot_api_client_python.types.constants import UploadType
|
|
182
|
+
|
|
183
|
+
async with API(cfg) as bot:
|
|
184
|
+
response = await bot.uploads.UploadFileAsync(
|
|
185
|
+
type=UploadType.image,
|
|
186
|
+
file_path="examples/assets/file.jpg"
|
|
187
|
+
)
|
|
168
188
|
```
|
|
169
189
|
|
|
170
|
-
**Как получить входящее
|
|
190
|
+
**Как получить входящее уведомление (Long Polling):**
|
|
171
191
|
|
|
172
192
|
* Ссылка на синхронный пример: [GetUpdates.py](./examples/sync/GetUpdates.py)
|
|
173
193
|
|
|
174
194
|
```python
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
195
|
+
with API(cfg) as bot:
|
|
196
|
+
response = bot.subscriptions.GetUpdates(
|
|
197
|
+
marker=0,
|
|
198
|
+
timeout=30
|
|
199
|
+
)
|
|
179
200
|
```
|
|
180
201
|
|
|
181
202
|
* Ссылка на асинхронный пример: [GetUpdatesAsync.py](./examples/async/GetUpdatesAsync.py)
|
|
182
203
|
|
|
183
204
|
```python
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
205
|
+
async with API(cfg) as bot:
|
|
206
|
+
response = await bot.subscriptions.GetUpdatesAsync(
|
|
207
|
+
marker=0,
|
|
208
|
+
timeout=30
|
|
209
|
+
)
|
|
188
210
|
```
|
|
189
211
|
|
|
190
212
|
-----
|
|
@@ -202,40 +224,43 @@ response = await bot.subscriptions.GetUpdatesAsync(GetUpdatesReq(
|
|
|
202
224
|
| Как отправить файл | [SendFile.py](./examples/sync/SendFile.py) |
|
|
203
225
|
| Как отправить файл *асинхронно* | [SendFileAsync.py](./examples/async/SendFileAsync.py) |
|
|
204
226
|
| Как получить входящее уведомление | [GetUpdates.py](./examples/sync/GetUpdates.py) |
|
|
205
|
-
| Как получить входящее уведомление *асинхронно* | [
|
|
227
|
+
| Как получить входящее уведомление *асинхронно* | [GetUpdatesAsync.py](./examples/async/GetUpdatesAsync.py) |
|
|
206
228
|
|
|
207
229
|
## Список всех методов библиотеки
|
|
208
230
|
|
|
209
231
|
| Метод API | Описание | Ссылка на документацию MAX | Ссылка на документацию библиотеки |
|
|
210
232
|
|-----------------|-------------------------|------------------------------------------------|----------------------------------------------|
|
|
211
|
-
| `Bots.GetBot`
|
|
212
|
-
| `Bots.PatchBot`
|
|
213
|
-
| `Chats.GetChats` | Возвращает список групповых чатов, в которых участвовал бот | [GetChats](https://dev.max.ru/docs-api/methods/GET/chats) | [GetChats](
|
|
214
|
-
| `Chats.GetChat`
|
|
215
|
-
| `Chats.EditChat` | Позволяет редактировать информацию о групповом чате | [EditChat](https://dev.max.ru/docs-api/methods/PATCH/chats/-chatId-) | [EditChat](
|
|
216
|
-
| `Chats.DeleteChat` | Удаляет групповой чат для всех участников | [DeleteChat](https://dev.max.ru/docs-api/methods/DELETE/chats/-chatId-) | [DeleteChat](
|
|
217
|
-
| `Chats.SendAction` | Позволяет отправлять следующие действия бота в групповой чат | [SendAction](https://dev.max.ru/docs-api/methods/POST/chats/-chatId-/actions) | [SendAction](
|
|
218
|
-
| `Chats.GetPinnedMessage` | Возвращает закрепленное сообщение в чате | [GetPinnedMessage](https://dev.max.ru/docs-api/methods/GET/chats/-chatId-/pin) | [GetPinnedMessage](
|
|
219
|
-
| `Chats.PinMessage` | Закрепляет сообщение в групповом чате | [PinMessage](https://dev.max.ru/docs-api/methods/PUT/chats/-chatId-/pin) | [PinMessage](
|
|
220
|
-
| `Chats.UnpinMessage` | Удаляет закрепленное сообщение в групповом чате | [UnpinMessage](https://dev.max.ru/docs-api/methods/DELETE/chats/-chatId-/pin) | [UnpinMessage](
|
|
221
|
-
| `Chats.GetChatMembership` | Возвращает членство бота в групповом чате | [GetChatMembership](https://dev.max.ru/docs-api/methods/GET/chats/-chatId-/members/me) | [GetChatMembership](
|
|
222
|
-
| `Chats.LeaveChat` | Удаляет бота из группового чата | [LeaveChat](https://dev.max.ru/docs-api/methods/DELETE/chats/-chatId-/members/me) | [LeaveChat](
|
|
223
|
-
| `Chats.GetChatAdmins` | Возвращает список всех администраторов группового чата | [GetChatAdmins](https://dev.max.ru/docs-api/methods/GET/chats/-chatId-/members/admins) | [GetChatAdmins](
|
|
224
|
-
| `Chats.SetChatAdmins` | Назначает участника группы администратором | [SetChatAdmins](https://dev.max.ru/docs-api/methods/POST/chats/-chatId-/members/admins) | [SetChatAdmins](
|
|
225
|
-
| `Chats.DeleteAdmin` | Отменяет права администратора пользователя в групповом чате | [DeleteAdmin](https://dev.max.ru/docs-api/methods/DELETE/chats/-chatId-/members/admins/-userId-) | [DeleteAdmin](
|
|
226
|
-
| `Chats.GetChatMembers`
|
|
227
|
-
| `Chats.AddMembers`
|
|
228
|
-
| `Chats.DeleteMember` | Удаляет участника из группового чата | [DeleteMember](https://dev.max.ru/docs-api/methods/DELETE/chats/-chatId-/members) | [DeleteMember](
|
|
229
|
-
| `Subscriptions.GetSubscriptions` | Возвращает список подписок на уведомления веб-хуков | [GetSubscriptions](https://dev.max.ru/docs-api/methods/GET/subscriptions) | [GetSubscriptions](
|
|
230
|
-
| `Subscriptions.Subscribe`
|
|
231
|
-
| `Subscriptions.Unsubscribe` | Отменяет подписку бота на получение обновлений через веб-хук | [Unsubscribe](https://dev.max.ru/docs-api/methods/DELETE/subscriptions) | [Unsubscribe](
|
|
232
|
-
| `Subscriptions.GetUpdates` | Получает входящие обновления | [GetUpdates](https://dev.max.ru/docs-api/methods/GET/updates) | [GetUpdates](
|
|
233
|
-
| `Upload.UploadFile` | Загружает файл на серверы MAX для последующей передачи | [UploadFile](https://dev.max.ru/docs-api/methods/POST/uploads) | [UploadFile](
|
|
234
|
-
| `Helpers.SendFile` | Упрощает отправку файлов, автоматически определяя URL или путь | | [SendFile](
|
|
235
|
-
| `Messages.GetMessages` | Возвращает информацию о сообщении или массив сообщений из чата | [GetMessages](https://dev.max.ru/docs-api/methods/GET/messages) | [GetMessages](
|
|
236
|
-
| `Messages.SendMessage` | Отправляет текстовое или медиа-сообщение указанному пользователю или в чат | [SendMessage](https://dev.max.ru/docs-api/methods/POST/messages) | [SendMessage](
|
|
237
|
-
| `Messages.EditMessage` | Редактирует текст или медиафайл ранее отправленного сообщения | [EditMessage](https://dev.max.ru/docs-api/methods/PUT/messages) | [EditMessage](
|
|
238
|
-
| `Messages.DeleteMessage` | Удаляет сообщение из чата | [DeleteMessage](https://dev.max.ru/docs-api/methods/DELETE/messages) | [DeleteMessage](
|
|
239
|
-
| `Messages.GetMessage` | Извлекает содержимое и метаданные конкретного сообщения по его ID | [GetMessage](https://dev.max.ru/docs-api/methods/GET/messages/-messageId-) | [GetMessage](
|
|
240
|
-
| `Messages.GetVideoInfo` | Возвращает подробную информацию о прикрепленном видео | [GetVideoInfo](https://dev.max.ru/docs-api/methods/GET/videos/-videoToken-) | [GetVideoInfo](
|
|
241
|
-
| `Messages.AnswerCallback` | Отправляет ответ после того, как пользователь нажмет кнопку | [AnswerCallback](https://dev.max.ru/docs-api/methods/POST/answers) | [AnswerCallback](
|
|
233
|
+
| `Bots.GetBot` | Получает информацию о боте | [GetBot](https://dev.max.ru/docs-api/methods/GET/me) | [GetBot](https://green-api.com/max-bot-api/docs/api/bots/GetBot/) |
|
|
234
|
+
| `Bots.PatchBot` | Изменяет информацию о боте | | [PatchBot](https://green-api.com/max-bot-api/docs/api/bots/PatchBot/) |
|
|
235
|
+
| `Chats.GetChats` | Возвращает список групповых чатов, в которых участвовал бот | [GetChats](https://dev.max.ru/docs-api/methods/GET/chats) | [GetChats](https://green-api.com/max-bot-api/docs/api/chats/GetChats) |
|
|
236
|
+
| `Chats.GetChat` | Возвращает информацию о групповом чате по его ID | [GetChat](https://dev.max.ru/docs-api/methods/GET/chats/-chatId-) | [GetChat](https://green-api.com/max-bot-api/docs/api/chats/GetChat) |
|
|
237
|
+
| `Chats.EditChat` | Позволяет редактировать информацию о групповом чате | [EditChat](https://dev.max.ru/docs-api/methods/PATCH/chats/-chatId-) | [EditChat](https://green-api.com/max-bot-api/docs/api/chats/EditChat) |
|
|
238
|
+
| `Chats.DeleteChat` | Удаляет групповой чат для всех участников | [DeleteChat](https://dev.max.ru/docs-api/methods/DELETE/chats/-chatId-) | [DeleteChat](https://green-api.com/max-bot-api/docs/api/chats/DeleteChat) |
|
|
239
|
+
| `Chats.SendAction` | Позволяет отправлять следующие действия бота в групповой чат | [SendAction](https://dev.max.ru/docs-api/methods/POST/chats/-chatId-/actions) | [SendAction](https://green-api.com/max-bot-api/docs/api/chats/SendAction) |
|
|
240
|
+
| `Chats.GetPinnedMessage` | Возвращает закрепленное сообщение в чате | [GetPinnedMessage](https://dev.max.ru/docs-api/methods/GET/chats/-chatId-/pin) | [GetPinnedMessage](https://green-api.com/max-bot-api/docs/api/chats/GetPinnedMessage) |
|
|
241
|
+
| `Chats.PinMessage` | Закрепляет сообщение в групповом чате | [PinMessage](https://dev.max.ru/docs-api/methods/PUT/chats/-chatId-/pin) | [PinMessage](https://green-api.com/max-bot-api/docs/api/chats/PinMessage) |
|
|
242
|
+
| `Chats.UnpinMessage` | Удаляет закрепленное сообщение в групповом чате | [UnpinMessage](https://dev.max.ru/docs-api/methods/DELETE/chats/-chatId-/pin) | [UnpinMessage](https://green-api.com/max-bot-api/docs/api/chats/UnpinMessage) |
|
|
243
|
+
| `Chats.GetChatMembership` | Возвращает членство бота в групповом чате | [GetChatMembership](https://dev.max.ru/docs-api/methods/GET/chats/-chatId-/members/me) | [GetChatMembership](https://green-api.com/max-bot-api/docs/api/chats/GetChatMembership) |
|
|
244
|
+
| `Chats.LeaveChat` | Удаляет бота из группового чата | [LeaveChat](https://dev.max.ru/docs-api/methods/DELETE/chats/-chatId-/members/me) | [LeaveChat](https://green-api.com/max-bot-api/docs/api/chats/LeaveChat) |
|
|
245
|
+
| `Chats.GetChatAdmins` | Возвращает список всех администраторов группового чата | [GetChatAdmins](https://dev.max.ru/docs-api/methods/GET/chats/-chatId-/members/admins) | [GetChatAdmins](https://green-api.com/max-bot-api/docs/api/chats/GetChatAdmins) |
|
|
246
|
+
| `Chats.SetChatAdmins` | Назначает участника группы администратором | [SetChatAdmins](https://dev.max.ru/docs-api/methods/POST/chats/-chatId-/members/admins) | [SetChatAdmins](https://green-api.com/max-bot-api/docs/api/chats/SetChatAdmins) |
|
|
247
|
+
| `Chats.DeleteAdmin` | Отменяет права администратора пользователя в групповом чате | [DeleteAdmin](https://dev.max.ru/docs-api/methods/DELETE/chats/-chatId-/members/admins/-userId-) | [DeleteAdmin](https://green-api.com/max-bot-api/docs/api/chats/DeleteAdmin) |
|
|
248
|
+
| `Chats.GetChatMembers` | Возвращает список участников группового чата | [GetChatMembers](https://dev.max.ru/docs-api/methods/GET/chats/-chatId-/members) | [GetChatMembers](https://green-api.com/max-bot-api/docs/api/chats/GetChatMembers) |
|
|
249
|
+
| `Chats.AddMembers` | Добавляет участников в групповой чат | [AddMembers](https://dev.max.ru/docs-api/methods/POST/chats/-chatId-/members) | [AddMembers](https://green-api.com/max-bot-api/docs/api/chats/AddMembers) |
|
|
250
|
+
| `Chats.DeleteMember` | Удаляет участника из группового чата | [DeleteMember](https://dev.max.ru/docs-api/methods/DELETE/chats/-chatId-/members) | [DeleteMember](https://green-api.com/max-bot-api/docs/api/chats/DeleteMember) |
|
|
251
|
+
| `Subscriptions.GetSubscriptions` | Возвращает список подписок на уведомления веб-хуков | [GetSubscriptions](https://dev.max.ru/docs-api/methods/GET/subscriptions) | [GetSubscriptions](https://green-api.com/max-bot-api/docs/api/subscriptions/GetSubscriptions) |
|
|
252
|
+
| `Subscriptions.Subscribe` | Настраивает доставку событий бота через веб-хук | [Subscribe](https://dev.max.ru/docs-api/methods/POST/subscriptions) | [Subscribe](https://green-api.com/max-bot-api/docs/api/subscriptions/Subscribe.md) |
|
|
253
|
+
| `Subscriptions.Unsubscribe` | Отменяет подписку бота на получение обновлений через веб-хук | [Unsubscribe](https://dev.max.ru/docs-api/methods/DELETE/subscriptions) | [Unsubscribe](https://green-api.com/max-bot-api/docs/api/subscriptions/Unsubscribe) |
|
|
254
|
+
| `Subscriptions.GetUpdates` | Получает входящие обновления | [GetUpdates](https://dev.max.ru/docs-api/methods/GET/updates) | [GetUpdates](https://green-api.com/max-bot-api/docs/api/subscriptions/GetUpdates) |
|
|
255
|
+
| `Upload.UploadFile` | Загружает файл на серверы MAX для последующей передачи | [UploadFile](https://dev.max.ru/docs-api/methods/POST/uploads) | [UploadFile](https://green-api.com/max-bot-api/docs/upload/UploadFile) |
|
|
256
|
+
| `Helpers.SendFile` | Упрощает отправку файлов, автоматически определяя URL или путь | | [SendFile](https://green-api.com/max-bot-api/docs/helpers/SendFile) |
|
|
257
|
+
| `Messages.GetMessages` | Возвращает информацию о сообщении или массив сообщений из чата | [GetMessages](https://dev.max.ru/docs-api/methods/GET/messages) | [GetMessages](https://green-api.com/max-bot-api/docs/api/messages/GetMessages) |
|
|
258
|
+
| `Messages.SendMessage` | Отправляет текстовое или медиа-сообщение указанному пользователю или в чат | [SendMessage](https://dev.max.ru/docs-api/methods/POST/messages) | [SendMessage](https://green-api.com/max-bot-api/docs/api/messages/SendMessage) |
|
|
259
|
+
| `Messages.EditMessage` | Редактирует текст или медиафайл ранее отправленного сообщения | [EditMessage](https://dev.max.ru/docs-api/methods/PUT/messages) | [EditMessage](https://green-api.com/max-bot-api/docs/api/messages/EditMessage) |
|
|
260
|
+
| `Messages.DeleteMessage` | Удаляет сообщение из чата | [DeleteMessage](https://dev.max.ru/docs-api/methods/DELETE/messages) | [DeleteMessage](https://green-api.com/max-bot-api/docs/api/messages/DeleteMessage) |
|
|
261
|
+
| `Messages.GetMessage` | Извлекает содержимое и метаданные конкретного сообщения по его ID | [GetMessage](https://dev.max.ru/docs-api/methods/GET/messages/-messageId-) | [GetMessage](https://green-api.com/max-bot-api/docs/api/messages/GetMessage) |
|
|
262
|
+
| `Messages.GetVideoInfo` | Возвращает подробную информацию о прикрепленном видео | [GetVideoInfo](https://dev.max.ru/docs-api/methods/GET/videos/-videoToken-) | [GetVideoInfo](https://green-api.com/max-bot-api/docs/api/messages/GetVideoInfo) |
|
|
263
|
+
| `Messages.AnswerCallback` | Отправляет ответ после того, как пользователь нажмет кнопку | [AnswerCallback](https://dev.max.ru/docs-api/methods/POST/answers) | [AnswerCallback](https://green-api.com/max-bot-api/docs/api/messages/AnswerCallback )|
|
|
264
|
+
|
|
265
|
+
```
|
|
266
|
+
```
|
|
@@ -1,12 +1,15 @@
|
|
|
1
1
|
# MAX BOT API Client (Python)
|
|
2
2
|
|
|
3
|
-
`maxbot-api-client-python` — это библиотека для интеграции с MAX BOT API
|
|
3
|
+
`maxbot-api-client-python` — это библиотека для интеграции с **MAX BOT API**. Этот проект предоставляет структурированный интерфейс для взаимодействия с конфигурациями бота, управления сообщениями, отправки медиафайлов и подписки на события через *long-polling*.
|
|
4
4
|
|
|
5
|
-
Для использования библиотеки потребуется получить токен бота в консоли разработчика MAX bot.
|
|
5
|
+
Для использования библиотеки потребуется получить токен бота в консоли разработчика MAX bot.
|
|
6
|
+
Ознакомиться с инструкцией можно [по ссылке](https://green-api.com/max-bot-api/docs/before-start/).
|
|
6
7
|
|
|
7
8
|
## API
|
|
8
9
|
|
|
9
|
-
Документацию по REST API MAX можно найти по ссылке https://dev.max.ru/docs-api. Библиотека является оберткой для REST API, поэтому документация по указанной выше ссылке также применима к используемым здесь
|
|
10
|
+
Документацию по **REST API MAX** можно найти по ссылке [dev.max.ru/docs-api](https://dev.max.ru/docs-api). Библиотека является оберткой для REST API, поэтому документация по указанной выше ссылке также применима к используемым здесь моделям.
|
|
11
|
+
|
|
12
|
+
Документацию по **MAX BOT API** можно найти по ссылке [green-api.com/max-bot-api/docs](https://green-api.com/max-bot-api/docs/).
|
|
10
13
|
|
|
11
14
|
## Поддержка
|
|
12
15
|
|
|
@@ -20,14 +23,13 @@
|
|
|
20
23
|
[](https://t.me/green_api)
|
|
21
24
|
[](https://whatsapp.com/channel/0029VaHUM5TBA1f7cG29nO1C)
|
|
22
25
|
|
|
23
|
-
|
|
24
26
|
## Установка
|
|
25
27
|
|
|
26
|
-
**Убедитесь, что у вас установлен Python версии 3.
|
|
28
|
+
**Убедитесь, что у вас установлен Python версии 3.12 или выше:**
|
|
27
29
|
|
|
28
30
|
```shell
|
|
29
31
|
python --version
|
|
30
|
-
|
|
32
|
+
````
|
|
31
33
|
|
|
32
34
|
**Установите библиотеку:**
|
|
33
35
|
|
|
@@ -45,23 +47,30 @@ from maxbot_api_client_python import API, Config
|
|
|
45
47
|
|
|
46
48
|
**Параметры конфигурации:**
|
|
47
49
|
|
|
48
|
-
- `base_url` - Базовый URL-адрес серверов платформы MaxBot. Все методы API будут маршрутизироваться по этому корневому адресу. Актуальный адрес указан в [официальной документации](https://dev.max.ru/docs-api).
|
|
49
|
-
- `token` - Уникальный секретный ключ авторизации (API-ключ) вашего бота. Получить его можно в личном кабинете после [регистрации или создании бота](https://green-api.com/max-bot-api/docs/before-start/) на платформе [business.max.ru](https://business.max.ru/).
|
|
50
|
-
- `ratelimiter` - Встроенный ограничитель частоты запросов. Он контролирует количество исходящих запросов в секунду (RPS), защищая бота от блокировки со стороны сервера за превышение лимитов. Рекомендуемое значение — не менее 25.
|
|
51
|
-
- `timeout` - Максимальное время ожидания ответа от сервера (в секундах). Если сервер не ответит в течение этого времени, запрос будет завершен с ошибкой. Оптимальное значение — 30 секунд.
|
|
50
|
+
- `base_url` - Базовый URL-адрес серверов платформы MaxBot. Все методы API будут маршрутизироваться по этому корневому адресу. Актуальный адрес указан в [официальной документации](https://dev.max.ru/docs-api).
|
|
51
|
+
- `token` - Уникальный секретный ключ авторизации (API-ключ) вашего бота. Получить его можно в личном кабинете после [регистрации или создании бота](https://green-api.com/max-bot-api/docs/before-start/) на платформе [business.max.ru](https://business.max.ru/).
|
|
52
|
+
- `ratelimiter` - Встроенный ограничитель частоты запросов. Он контролирует количество исходящих запросов в секунду (RPS), защищая бота от блокировки со стороны сервера за превышение лимитов. Рекомендуемое значение — не менее 25.
|
|
53
|
+
- `timeout` - Максимальное время ожидания ответа от сервера (в секундах). Если сервер не ответит в течение этого времени, запрос будет завершен с ошибкой. Оптимальное значение — 30 секунд.
|
|
52
54
|
|
|
53
55
|
**Как инициализировать клиент:**
|
|
54
56
|
|
|
57
|
+
Использование контекстного менеджера (`with` / `async with`) гарантирует, что все сетевые соединения будут автоматически и безопасно закрыты по завершении работы.
|
|
58
|
+
|
|
55
59
|
```python
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
+
from maxbot_api_client_python import API, Config
|
|
61
|
+
|
|
62
|
+
cfg = Config(
|
|
63
|
+
base_url="https://platform-api.max.ru",
|
|
64
|
+
token="YOUR_BOT_TOKEN",
|
|
60
65
|
ratelimiter=25,
|
|
61
66
|
timeout=30
|
|
62
|
-
)
|
|
63
|
-
|
|
64
|
-
|
|
67
|
+
)
|
|
68
|
+
# Синхронный режим:
|
|
69
|
+
with API(cfg) as bot:
|
|
70
|
+
pass
|
|
71
|
+
# Асинхронный режим:
|
|
72
|
+
async with API(cfg) as bot:
|
|
73
|
+
pass
|
|
65
74
|
```
|
|
66
75
|
|
|
67
76
|
**Как получить информацию о боте:**
|
|
@@ -69,34 +78,38 @@ except ValueError as e:
|
|
|
69
78
|
* Ссылка на синхронный пример: [GetBot.py](./examples/sync/GetBot.py)
|
|
70
79
|
|
|
71
80
|
```python
|
|
72
|
-
|
|
81
|
+
with API(cfg) as bot:
|
|
82
|
+
response = bot.bots.GetBot()
|
|
73
83
|
```
|
|
74
84
|
|
|
75
85
|
* Ссылка на асинхронный пример: [GetBotAsync.py](./examples/async/GetBotAsync.py)
|
|
76
86
|
|
|
77
87
|
```python
|
|
78
|
-
|
|
79
|
-
response = await bot.bots.GetBotAsync()
|
|
88
|
+
async with API(cfg) as bot:
|
|
89
|
+
response = await bot.bots.GetBotAsync()
|
|
80
90
|
```
|
|
81
91
|
|
|
82
92
|
**Как отправить сообщение:**
|
|
83
93
|
|
|
84
94
|
* Ссылка на синхронный пример: [SendMessage.py](./examples/sync/SendMessage.py)
|
|
85
95
|
|
|
96
|
+
|
|
86
97
|
```python
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
98
|
+
with API(cfg) as bot:
|
|
99
|
+
response = bot.messages.SendMessage(
|
|
100
|
+
user_id=1234567890,
|
|
101
|
+
text="Hello world!"
|
|
102
|
+
)
|
|
91
103
|
```
|
|
92
104
|
|
|
93
|
-
* Ссылка на асинхронный пример: [
|
|
105
|
+
* Ссылка на асинхронный пример: [SendMessageAsync.py](./examples/async/SendMessageAsync.py)
|
|
94
106
|
|
|
95
107
|
```python
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
108
|
+
async with API(cfg) as bot:
|
|
109
|
+
response = await bot.messages.SendMessageAsync(
|
|
110
|
+
user_id=1234567890,
|
|
111
|
+
text="Hello world from Async!"
|
|
112
|
+
)
|
|
100
113
|
```
|
|
101
114
|
|
|
102
115
|
**Как легко отправить файл (по ссылке или локальный):**
|
|
@@ -104,21 +117,22 @@ response = await bot.messages.SendMessageAsync(SendMessageReq(
|
|
|
104
117
|
* Ссылка на синхронный пример: [SendFile.py](./examples/sync/SendFile.py)
|
|
105
118
|
|
|
106
119
|
```python
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
)
|
|
120
|
+
with API(cfg) as bot:
|
|
121
|
+
response = bot.helpers.SendFile(
|
|
122
|
+
chat_id=1234567890,
|
|
123
|
+
text="Check this!",
|
|
124
|
+
file_source="[https://http.cat/200.jpg](https://http.cat/200.jpg)"
|
|
125
|
+
)
|
|
112
126
|
```
|
|
113
|
-
|
|
114
127
|
* Ссылка на асинхронный пример: [SendFileAsync.py](./examples/async/SendFileAsync.py)
|
|
115
128
|
|
|
116
129
|
```python
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
)
|
|
130
|
+
async with API(cfg) as bot:
|
|
131
|
+
response = await bot.helpers.SendFileAsync(
|
|
132
|
+
chat_id=1234567890,
|
|
133
|
+
text="Посмотри на этот файл!",
|
|
134
|
+
file_source="[https://http.cat/200.jpg](https://http.cat/200.jpg)"
|
|
135
|
+
)
|
|
122
136
|
```
|
|
123
137
|
|
|
124
138
|
**Как вручную загрузить файл (для кастомных вложений):**
|
|
@@ -126,39 +140,47 @@ response = await bot.helpers.SendFileAsync(SendFileReq(
|
|
|
126
140
|
* Ссылка на синхронный пример: [UploadFile.py](./examples/sync/UploadFile.py)
|
|
127
141
|
|
|
128
142
|
```python
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
143
|
+
from maxbot_api_client_python.types.constants import UploadType
|
|
144
|
+
|
|
145
|
+
with API(cfg) as bot:
|
|
146
|
+
response = bot.uploads.UploadFile(
|
|
147
|
+
type=UploadType.image,
|
|
148
|
+
file_path="examples/assets/file.jpg"
|
|
149
|
+
)
|
|
133
150
|
```
|
|
134
151
|
|
|
135
152
|
* Ссылка на асинхронный пример: [UploadFileAsync.py](./examples/async/UploadFileAsync.py)
|
|
136
153
|
|
|
137
154
|
```python
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
155
|
+
from maxbot_api_client_python.types.constants import UploadType
|
|
156
|
+
|
|
157
|
+
async with API(cfg) as bot:
|
|
158
|
+
response = await bot.uploads.UploadFileAsync(
|
|
159
|
+
type=UploadType.image,
|
|
160
|
+
file_path="examples/assets/file.jpg"
|
|
161
|
+
)
|
|
142
162
|
```
|
|
143
163
|
|
|
144
|
-
**Как получить входящее
|
|
164
|
+
**Как получить входящее уведомление (Long Polling):**
|
|
145
165
|
|
|
146
166
|
* Ссылка на синхронный пример: [GetUpdates.py](./examples/sync/GetUpdates.py)
|
|
147
167
|
|
|
148
168
|
```python
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
169
|
+
with API(cfg) as bot:
|
|
170
|
+
response = bot.subscriptions.GetUpdates(
|
|
171
|
+
marker=0,
|
|
172
|
+
timeout=30
|
|
173
|
+
)
|
|
153
174
|
```
|
|
154
175
|
|
|
155
176
|
* Ссылка на асинхронный пример: [GetUpdatesAsync.py](./examples/async/GetUpdatesAsync.py)
|
|
156
177
|
|
|
157
178
|
```python
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
179
|
+
async with API(cfg) as bot:
|
|
180
|
+
response = await bot.subscriptions.GetUpdatesAsync(
|
|
181
|
+
marker=0,
|
|
182
|
+
timeout=30
|
|
183
|
+
)
|
|
162
184
|
```
|
|
163
185
|
|
|
164
186
|
-----
|
|
@@ -176,40 +198,43 @@ response = await bot.subscriptions.GetUpdatesAsync(GetUpdatesReq(
|
|
|
176
198
|
| Как отправить файл | [SendFile.py](./examples/sync/SendFile.py) |
|
|
177
199
|
| Как отправить файл *асинхронно* | [SendFileAsync.py](./examples/async/SendFileAsync.py) |
|
|
178
200
|
| Как получить входящее уведомление | [GetUpdates.py](./examples/sync/GetUpdates.py) |
|
|
179
|
-
| Как получить входящее уведомление *асинхронно* | [
|
|
201
|
+
| Как получить входящее уведомление *асинхронно* | [GetUpdatesAsync.py](./examples/async/GetUpdatesAsync.py) |
|
|
180
202
|
|
|
181
203
|
## Список всех методов библиотеки
|
|
182
204
|
|
|
183
205
|
| Метод API | Описание | Ссылка на документацию MAX | Ссылка на документацию библиотеки |
|
|
184
206
|
|-----------------|-------------------------|------------------------------------------------|----------------------------------------------|
|
|
185
|
-
| `Bots.GetBot`
|
|
186
|
-
| `Bots.PatchBot`
|
|
187
|
-
| `Chats.GetChats` | Возвращает список групповых чатов, в которых участвовал бот | [GetChats](https://dev.max.ru/docs-api/methods/GET/chats) | [GetChats](
|
|
188
|
-
| `Chats.GetChat`
|
|
189
|
-
| `Chats.EditChat` | Позволяет редактировать информацию о групповом чате | [EditChat](https://dev.max.ru/docs-api/methods/PATCH/chats/-chatId-) | [EditChat](
|
|
190
|
-
| `Chats.DeleteChat` | Удаляет групповой чат для всех участников | [DeleteChat](https://dev.max.ru/docs-api/methods/DELETE/chats/-chatId-) | [DeleteChat](
|
|
191
|
-
| `Chats.SendAction` | Позволяет отправлять следующие действия бота в групповой чат | [SendAction](https://dev.max.ru/docs-api/methods/POST/chats/-chatId-/actions) | [SendAction](
|
|
192
|
-
| `Chats.GetPinnedMessage` | Возвращает закрепленное сообщение в чате | [GetPinnedMessage](https://dev.max.ru/docs-api/methods/GET/chats/-chatId-/pin) | [GetPinnedMessage](
|
|
193
|
-
| `Chats.PinMessage` | Закрепляет сообщение в групповом чате | [PinMessage](https://dev.max.ru/docs-api/methods/PUT/chats/-chatId-/pin) | [PinMessage](
|
|
194
|
-
| `Chats.UnpinMessage` | Удаляет закрепленное сообщение в групповом чате | [UnpinMessage](https://dev.max.ru/docs-api/methods/DELETE/chats/-chatId-/pin) | [UnpinMessage](
|
|
195
|
-
| `Chats.GetChatMembership` | Возвращает членство бота в групповом чате | [GetChatMembership](https://dev.max.ru/docs-api/methods/GET/chats/-chatId-/members/me) | [GetChatMembership](
|
|
196
|
-
| `Chats.LeaveChat` | Удаляет бота из группового чата | [LeaveChat](https://dev.max.ru/docs-api/methods/DELETE/chats/-chatId-/members/me) | [LeaveChat](
|
|
197
|
-
| `Chats.GetChatAdmins` | Возвращает список всех администраторов группового чата | [GetChatAdmins](https://dev.max.ru/docs-api/methods/GET/chats/-chatId-/members/admins) | [GetChatAdmins](
|
|
198
|
-
| `Chats.SetChatAdmins` | Назначает участника группы администратором | [SetChatAdmins](https://dev.max.ru/docs-api/methods/POST/chats/-chatId-/members/admins) | [SetChatAdmins](
|
|
199
|
-
| `Chats.DeleteAdmin` | Отменяет права администратора пользователя в групповом чате | [DeleteAdmin](https://dev.max.ru/docs-api/methods/DELETE/chats/-chatId-/members/admins/-userId-) | [DeleteAdmin](
|
|
200
|
-
| `Chats.GetChatMembers`
|
|
201
|
-
| `Chats.AddMembers`
|
|
202
|
-
| `Chats.DeleteMember` | Удаляет участника из группового чата | [DeleteMember](https://dev.max.ru/docs-api/methods/DELETE/chats/-chatId-/members) | [DeleteMember](
|
|
203
|
-
| `Subscriptions.GetSubscriptions` | Возвращает список подписок на уведомления веб-хуков | [GetSubscriptions](https://dev.max.ru/docs-api/methods/GET/subscriptions) | [GetSubscriptions](
|
|
204
|
-
| `Subscriptions.Subscribe`
|
|
205
|
-
| `Subscriptions.Unsubscribe` | Отменяет подписку бота на получение обновлений через веб-хук | [Unsubscribe](https://dev.max.ru/docs-api/methods/DELETE/subscriptions) | [Unsubscribe](
|
|
206
|
-
| `Subscriptions.GetUpdates` | Получает входящие обновления | [GetUpdates](https://dev.max.ru/docs-api/methods/GET/updates) | [GetUpdates](
|
|
207
|
-
| `Upload.UploadFile` | Загружает файл на серверы MAX для последующей передачи | [UploadFile](https://dev.max.ru/docs-api/methods/POST/uploads) | [UploadFile](
|
|
208
|
-
| `Helpers.SendFile` | Упрощает отправку файлов, автоматически определяя URL или путь | | [SendFile](
|
|
209
|
-
| `Messages.GetMessages` | Возвращает информацию о сообщении или массив сообщений из чата | [GetMessages](https://dev.max.ru/docs-api/methods/GET/messages) | [GetMessages](
|
|
210
|
-
| `Messages.SendMessage` | Отправляет текстовое или медиа-сообщение указанному пользователю или в чат | [SendMessage](https://dev.max.ru/docs-api/methods/POST/messages) | [SendMessage](
|
|
211
|
-
| `Messages.EditMessage` | Редактирует текст или медиафайл ранее отправленного сообщения | [EditMessage](https://dev.max.ru/docs-api/methods/PUT/messages) | [EditMessage](
|
|
212
|
-
| `Messages.DeleteMessage` | Удаляет сообщение из чата | [DeleteMessage](https://dev.max.ru/docs-api/methods/DELETE/messages) | [DeleteMessage](
|
|
213
|
-
| `Messages.GetMessage` | Извлекает содержимое и метаданные конкретного сообщения по его ID | [GetMessage](https://dev.max.ru/docs-api/methods/GET/messages/-messageId-) | [GetMessage](
|
|
214
|
-
| `Messages.GetVideoInfo` | Возвращает подробную информацию о прикрепленном видео | [GetVideoInfo](https://dev.max.ru/docs-api/methods/GET/videos/-videoToken-) | [GetVideoInfo](
|
|
215
|
-
| `Messages.AnswerCallback` | Отправляет ответ после того, как пользователь нажмет кнопку | [AnswerCallback](https://dev.max.ru/docs-api/methods/POST/answers) | [AnswerCallback](
|
|
207
|
+
| `Bots.GetBot` | Получает информацию о боте | [GetBot](https://dev.max.ru/docs-api/methods/GET/me) | [GetBot](https://green-api.com/max-bot-api/docs/api/bots/GetBot/) |
|
|
208
|
+
| `Bots.PatchBot` | Изменяет информацию о боте | | [PatchBot](https://green-api.com/max-bot-api/docs/api/bots/PatchBot/) |
|
|
209
|
+
| `Chats.GetChats` | Возвращает список групповых чатов, в которых участвовал бот | [GetChats](https://dev.max.ru/docs-api/methods/GET/chats) | [GetChats](https://green-api.com/max-bot-api/docs/api/chats/GetChats) |
|
|
210
|
+
| `Chats.GetChat` | Возвращает информацию о групповом чате по его ID | [GetChat](https://dev.max.ru/docs-api/methods/GET/chats/-chatId-) | [GetChat](https://green-api.com/max-bot-api/docs/api/chats/GetChat) |
|
|
211
|
+
| `Chats.EditChat` | Позволяет редактировать информацию о групповом чате | [EditChat](https://dev.max.ru/docs-api/methods/PATCH/chats/-chatId-) | [EditChat](https://green-api.com/max-bot-api/docs/api/chats/EditChat) |
|
|
212
|
+
| `Chats.DeleteChat` | Удаляет групповой чат для всех участников | [DeleteChat](https://dev.max.ru/docs-api/methods/DELETE/chats/-chatId-) | [DeleteChat](https://green-api.com/max-bot-api/docs/api/chats/DeleteChat) |
|
|
213
|
+
| `Chats.SendAction` | Позволяет отправлять следующие действия бота в групповой чат | [SendAction](https://dev.max.ru/docs-api/methods/POST/chats/-chatId-/actions) | [SendAction](https://green-api.com/max-bot-api/docs/api/chats/SendAction) |
|
|
214
|
+
| `Chats.GetPinnedMessage` | Возвращает закрепленное сообщение в чате | [GetPinnedMessage](https://dev.max.ru/docs-api/methods/GET/chats/-chatId-/pin) | [GetPinnedMessage](https://green-api.com/max-bot-api/docs/api/chats/GetPinnedMessage) |
|
|
215
|
+
| `Chats.PinMessage` | Закрепляет сообщение в групповом чате | [PinMessage](https://dev.max.ru/docs-api/methods/PUT/chats/-chatId-/pin) | [PinMessage](https://green-api.com/max-bot-api/docs/api/chats/PinMessage) |
|
|
216
|
+
| `Chats.UnpinMessage` | Удаляет закрепленное сообщение в групповом чате | [UnpinMessage](https://dev.max.ru/docs-api/methods/DELETE/chats/-chatId-/pin) | [UnpinMessage](https://green-api.com/max-bot-api/docs/api/chats/UnpinMessage) |
|
|
217
|
+
| `Chats.GetChatMembership` | Возвращает членство бота в групповом чате | [GetChatMembership](https://dev.max.ru/docs-api/methods/GET/chats/-chatId-/members/me) | [GetChatMembership](https://green-api.com/max-bot-api/docs/api/chats/GetChatMembership) |
|
|
218
|
+
| `Chats.LeaveChat` | Удаляет бота из группового чата | [LeaveChat](https://dev.max.ru/docs-api/methods/DELETE/chats/-chatId-/members/me) | [LeaveChat](https://green-api.com/max-bot-api/docs/api/chats/LeaveChat) |
|
|
219
|
+
| `Chats.GetChatAdmins` | Возвращает список всех администраторов группового чата | [GetChatAdmins](https://dev.max.ru/docs-api/methods/GET/chats/-chatId-/members/admins) | [GetChatAdmins](https://green-api.com/max-bot-api/docs/api/chats/GetChatAdmins) |
|
|
220
|
+
| `Chats.SetChatAdmins` | Назначает участника группы администратором | [SetChatAdmins](https://dev.max.ru/docs-api/methods/POST/chats/-chatId-/members/admins) | [SetChatAdmins](https://green-api.com/max-bot-api/docs/api/chats/SetChatAdmins) |
|
|
221
|
+
| `Chats.DeleteAdmin` | Отменяет права администратора пользователя в групповом чате | [DeleteAdmin](https://dev.max.ru/docs-api/methods/DELETE/chats/-chatId-/members/admins/-userId-) | [DeleteAdmin](https://green-api.com/max-bot-api/docs/api/chats/DeleteAdmin) |
|
|
222
|
+
| `Chats.GetChatMembers` | Возвращает список участников группового чата | [GetChatMembers](https://dev.max.ru/docs-api/methods/GET/chats/-chatId-/members) | [GetChatMembers](https://green-api.com/max-bot-api/docs/api/chats/GetChatMembers) |
|
|
223
|
+
| `Chats.AddMembers` | Добавляет участников в групповой чат | [AddMembers](https://dev.max.ru/docs-api/methods/POST/chats/-chatId-/members) | [AddMembers](https://green-api.com/max-bot-api/docs/api/chats/AddMembers) |
|
|
224
|
+
| `Chats.DeleteMember` | Удаляет участника из группового чата | [DeleteMember](https://dev.max.ru/docs-api/methods/DELETE/chats/-chatId-/members) | [DeleteMember](https://green-api.com/max-bot-api/docs/api/chats/DeleteMember) |
|
|
225
|
+
| `Subscriptions.GetSubscriptions` | Возвращает список подписок на уведомления веб-хуков | [GetSubscriptions](https://dev.max.ru/docs-api/methods/GET/subscriptions) | [GetSubscriptions](https://green-api.com/max-bot-api/docs/api/subscriptions/GetSubscriptions) |
|
|
226
|
+
| `Subscriptions.Subscribe` | Настраивает доставку событий бота через веб-хук | [Subscribe](https://dev.max.ru/docs-api/methods/POST/subscriptions) | [Subscribe](https://green-api.com/max-bot-api/docs/api/subscriptions/Subscribe.md) |
|
|
227
|
+
| `Subscriptions.Unsubscribe` | Отменяет подписку бота на получение обновлений через веб-хук | [Unsubscribe](https://dev.max.ru/docs-api/methods/DELETE/subscriptions) | [Unsubscribe](https://green-api.com/max-bot-api/docs/api/subscriptions/Unsubscribe) |
|
|
228
|
+
| `Subscriptions.GetUpdates` | Получает входящие обновления | [GetUpdates](https://dev.max.ru/docs-api/methods/GET/updates) | [GetUpdates](https://green-api.com/max-bot-api/docs/api/subscriptions/GetUpdates) |
|
|
229
|
+
| `Upload.UploadFile` | Загружает файл на серверы MAX для последующей передачи | [UploadFile](https://dev.max.ru/docs-api/methods/POST/uploads) | [UploadFile](https://green-api.com/max-bot-api/docs/upload/UploadFile) |
|
|
230
|
+
| `Helpers.SendFile` | Упрощает отправку файлов, автоматически определяя URL или путь | | [SendFile](https://green-api.com/max-bot-api/docs/helpers/SendFile) |
|
|
231
|
+
| `Messages.GetMessages` | Возвращает информацию о сообщении или массив сообщений из чата | [GetMessages](https://dev.max.ru/docs-api/methods/GET/messages) | [GetMessages](https://green-api.com/max-bot-api/docs/api/messages/GetMessages) |
|
|
232
|
+
| `Messages.SendMessage` | Отправляет текстовое или медиа-сообщение указанному пользователю или в чат | [SendMessage](https://dev.max.ru/docs-api/methods/POST/messages) | [SendMessage](https://green-api.com/max-bot-api/docs/api/messages/SendMessage) |
|
|
233
|
+
| `Messages.EditMessage` | Редактирует текст или медиафайл ранее отправленного сообщения | [EditMessage](https://dev.max.ru/docs-api/methods/PUT/messages) | [EditMessage](https://green-api.com/max-bot-api/docs/api/messages/EditMessage) |
|
|
234
|
+
| `Messages.DeleteMessage` | Удаляет сообщение из чата | [DeleteMessage](https://dev.max.ru/docs-api/methods/DELETE/messages) | [DeleteMessage](https://green-api.com/max-bot-api/docs/api/messages/DeleteMessage) |
|
|
235
|
+
| `Messages.GetMessage` | Извлекает содержимое и метаданные конкретного сообщения по его ID | [GetMessage](https://dev.max.ru/docs-api/methods/GET/messages/-messageId-) | [GetMessage](https://green-api.com/max-bot-api/docs/api/messages/GetMessage) |
|
|
236
|
+
| `Messages.GetVideoInfo` | Возвращает подробную информацию о прикрепленном видео | [GetVideoInfo](https://dev.max.ru/docs-api/methods/GET/videos/-videoToken-) | [GetVideoInfo](https://green-api.com/max-bot-api/docs/api/messages/GetVideoInfo) |
|
|
237
|
+
| `Messages.AnswerCallback` | Отправляет ответ после того, как пользователь нажмет кнопку | [AnswerCallback](https://dev.max.ru/docs-api/methods/POST/answers) | [AnswerCallback](https://green-api.com/max-bot-api/docs/api/messages/AnswerCallback )|
|
|
238
|
+
|
|
239
|
+
```
|
|
240
|
+
```
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: maxbot-api-client-python
|
|
3
|
-
Version: 1.1.
|
|
3
|
+
Version: 1.1.1
|
|
4
4
|
Summary: Python client for MAX Bot API with Sync and Async support
|
|
5
5
|
Home-page: https://github.com/green-api/maxbot-api-client-python
|
|
6
6
|
Author: Green API
|
|
@@ -26,13 +26,16 @@ Dynamic: summary
|
|
|
26
26
|
|
|
27
27
|
# MAX BOT API Client (Python)
|
|
28
28
|
|
|
29
|
-
`maxbot-api-client-python` — это библиотека для интеграции с MAX BOT API
|
|
29
|
+
`maxbot-api-client-python` — это библиотека для интеграции с **MAX BOT API**. Этот проект предоставляет структурированный интерфейс для взаимодействия с конфигурациями бота, управления сообщениями, отправки медиафайлов и подписки на события через *long-polling*.
|
|
30
30
|
|
|
31
|
-
Для использования библиотеки потребуется получить токен бота в консоли разработчика MAX bot.
|
|
31
|
+
Для использования библиотеки потребуется получить токен бота в консоли разработчика MAX bot.
|
|
32
|
+
Ознакомиться с инструкцией можно [по ссылке](https://green-api.com/max-bot-api/docs/before-start/).
|
|
32
33
|
|
|
33
34
|
## API
|
|
34
35
|
|
|
35
|
-
Документацию по REST API MAX можно найти по ссылке https://dev.max.ru/docs-api. Библиотека является оберткой для REST API, поэтому документация по указанной выше ссылке также применима к используемым здесь
|
|
36
|
+
Документацию по **REST API MAX** можно найти по ссылке [dev.max.ru/docs-api](https://dev.max.ru/docs-api). Библиотека является оберткой для REST API, поэтому документация по указанной выше ссылке также применима к используемым здесь моделям.
|
|
37
|
+
|
|
38
|
+
Документацию по **MAX BOT API** можно найти по ссылке [green-api.com/max-bot-api/docs](https://green-api.com/max-bot-api/docs/).
|
|
36
39
|
|
|
37
40
|
## Поддержка
|
|
38
41
|
|
|
@@ -46,14 +49,13 @@ Dynamic: summary
|
|
|
46
49
|
[](https://t.me/green_api)
|
|
47
50
|
[](https://whatsapp.com/channel/0029VaHUM5TBA1f7cG29nO1C)
|
|
48
51
|
|
|
49
|
-
|
|
50
52
|
## Установка
|
|
51
53
|
|
|
52
|
-
**Убедитесь, что у вас установлен Python версии 3.
|
|
54
|
+
**Убедитесь, что у вас установлен Python версии 3.12 или выше:**
|
|
53
55
|
|
|
54
56
|
```shell
|
|
55
57
|
python --version
|
|
56
|
-
|
|
58
|
+
````
|
|
57
59
|
|
|
58
60
|
**Установите библиотеку:**
|
|
59
61
|
|
|
@@ -71,23 +73,30 @@ from maxbot_api_client_python import API, Config
|
|
|
71
73
|
|
|
72
74
|
**Параметры конфигурации:**
|
|
73
75
|
|
|
74
|
-
- `base_url` - Базовый URL-адрес серверов платформы MaxBot. Все методы API будут маршрутизироваться по этому корневому адресу. Актуальный адрес указан в [официальной документации](https://dev.max.ru/docs-api).
|
|
75
|
-
- `token` - Уникальный секретный ключ авторизации (API-ключ) вашего бота. Получить его можно в личном кабинете после [регистрации или создании бота](https://green-api.com/max-bot-api/docs/before-start/) на платформе [business.max.ru](https://business.max.ru/).
|
|
76
|
-
- `ratelimiter` - Встроенный ограничитель частоты запросов. Он контролирует количество исходящих запросов в секунду (RPS), защищая бота от блокировки со стороны сервера за превышение лимитов. Рекомендуемое значение — не менее 25.
|
|
77
|
-
- `timeout` - Максимальное время ожидания ответа от сервера (в секундах). Если сервер не ответит в течение этого времени, запрос будет завершен с ошибкой. Оптимальное значение — 30 секунд.
|
|
76
|
+
- `base_url` - Базовый URL-адрес серверов платформы MaxBot. Все методы API будут маршрутизироваться по этому корневому адресу. Актуальный адрес указан в [официальной документации](https://dev.max.ru/docs-api).
|
|
77
|
+
- `token` - Уникальный секретный ключ авторизации (API-ключ) вашего бота. Получить его можно в личном кабинете после [регистрации или создании бота](https://green-api.com/max-bot-api/docs/before-start/) на платформе [business.max.ru](https://business.max.ru/).
|
|
78
|
+
- `ratelimiter` - Встроенный ограничитель частоты запросов. Он контролирует количество исходящих запросов в секунду (RPS), защищая бота от блокировки со стороны сервера за превышение лимитов. Рекомендуемое значение — не менее 25.
|
|
79
|
+
- `timeout` - Максимальное время ожидания ответа от сервера (в секундах). Если сервер не ответит в течение этого времени, запрос будет завершен с ошибкой. Оптимальное значение — 30 секунд.
|
|
78
80
|
|
|
79
81
|
**Как инициализировать клиент:**
|
|
80
82
|
|
|
83
|
+
Использование контекстного менеджера (`with` / `async with`) гарантирует, что все сетевые соединения будут автоматически и безопасно закрыты по завершении работы.
|
|
84
|
+
|
|
81
85
|
```python
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
+
from maxbot_api_client_python import API, Config
|
|
87
|
+
|
|
88
|
+
cfg = Config(
|
|
89
|
+
base_url="https://platform-api.max.ru",
|
|
90
|
+
token="YOUR_BOT_TOKEN",
|
|
86
91
|
ratelimiter=25,
|
|
87
92
|
timeout=30
|
|
88
|
-
)
|
|
89
|
-
|
|
90
|
-
|
|
93
|
+
)
|
|
94
|
+
# Синхронный режим:
|
|
95
|
+
with API(cfg) as bot:
|
|
96
|
+
pass
|
|
97
|
+
# Асинхронный режим:
|
|
98
|
+
async with API(cfg) as bot:
|
|
99
|
+
pass
|
|
91
100
|
```
|
|
92
101
|
|
|
93
102
|
**Как получить информацию о боте:**
|
|
@@ -95,34 +104,38 @@ except ValueError as e:
|
|
|
95
104
|
* Ссылка на синхронный пример: [GetBot.py](./examples/sync/GetBot.py)
|
|
96
105
|
|
|
97
106
|
```python
|
|
98
|
-
|
|
107
|
+
with API(cfg) as bot:
|
|
108
|
+
response = bot.bots.GetBot()
|
|
99
109
|
```
|
|
100
110
|
|
|
101
111
|
* Ссылка на асинхронный пример: [GetBotAsync.py](./examples/async/GetBotAsync.py)
|
|
102
112
|
|
|
103
113
|
```python
|
|
104
|
-
|
|
105
|
-
response = await bot.bots.GetBotAsync()
|
|
114
|
+
async with API(cfg) as bot:
|
|
115
|
+
response = await bot.bots.GetBotAsync()
|
|
106
116
|
```
|
|
107
117
|
|
|
108
118
|
**Как отправить сообщение:**
|
|
109
119
|
|
|
110
120
|
* Ссылка на синхронный пример: [SendMessage.py](./examples/sync/SendMessage.py)
|
|
111
121
|
|
|
122
|
+
|
|
112
123
|
```python
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
124
|
+
with API(cfg) as bot:
|
|
125
|
+
response = bot.messages.SendMessage(
|
|
126
|
+
user_id=1234567890,
|
|
127
|
+
text="Hello world!"
|
|
128
|
+
)
|
|
117
129
|
```
|
|
118
130
|
|
|
119
|
-
* Ссылка на асинхронный пример: [
|
|
131
|
+
* Ссылка на асинхронный пример: [SendMessageAsync.py](./examples/async/SendMessageAsync.py)
|
|
120
132
|
|
|
121
133
|
```python
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
134
|
+
async with API(cfg) as bot:
|
|
135
|
+
response = await bot.messages.SendMessageAsync(
|
|
136
|
+
user_id=1234567890,
|
|
137
|
+
text="Hello world from Async!"
|
|
138
|
+
)
|
|
126
139
|
```
|
|
127
140
|
|
|
128
141
|
**Как легко отправить файл (по ссылке или локальный):**
|
|
@@ -130,21 +143,22 @@ response = await bot.messages.SendMessageAsync(SendMessageReq(
|
|
|
130
143
|
* Ссылка на синхронный пример: [SendFile.py](./examples/sync/SendFile.py)
|
|
131
144
|
|
|
132
145
|
```python
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
)
|
|
146
|
+
with API(cfg) as bot:
|
|
147
|
+
response = bot.helpers.SendFile(
|
|
148
|
+
chat_id=1234567890,
|
|
149
|
+
text="Check this!",
|
|
150
|
+
file_source="[https://http.cat/200.jpg](https://http.cat/200.jpg)"
|
|
151
|
+
)
|
|
138
152
|
```
|
|
139
|
-
|
|
140
153
|
* Ссылка на асинхронный пример: [SendFileAsync.py](./examples/async/SendFileAsync.py)
|
|
141
154
|
|
|
142
155
|
```python
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
)
|
|
156
|
+
async with API(cfg) as bot:
|
|
157
|
+
response = await bot.helpers.SendFileAsync(
|
|
158
|
+
chat_id=1234567890,
|
|
159
|
+
text="Посмотри на этот файл!",
|
|
160
|
+
file_source="[https://http.cat/200.jpg](https://http.cat/200.jpg)"
|
|
161
|
+
)
|
|
148
162
|
```
|
|
149
163
|
|
|
150
164
|
**Как вручную загрузить файл (для кастомных вложений):**
|
|
@@ -152,39 +166,47 @@ response = await bot.helpers.SendFileAsync(SendFileReq(
|
|
|
152
166
|
* Ссылка на синхронный пример: [UploadFile.py](./examples/sync/UploadFile.py)
|
|
153
167
|
|
|
154
168
|
```python
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
169
|
+
from maxbot_api_client_python.types.constants import UploadType
|
|
170
|
+
|
|
171
|
+
with API(cfg) as bot:
|
|
172
|
+
response = bot.uploads.UploadFile(
|
|
173
|
+
type=UploadType.image,
|
|
174
|
+
file_path="examples/assets/file.jpg"
|
|
175
|
+
)
|
|
159
176
|
```
|
|
160
177
|
|
|
161
178
|
* Ссылка на асинхронный пример: [UploadFileAsync.py](./examples/async/UploadFileAsync.py)
|
|
162
179
|
|
|
163
180
|
```python
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
181
|
+
from maxbot_api_client_python.types.constants import UploadType
|
|
182
|
+
|
|
183
|
+
async with API(cfg) as bot:
|
|
184
|
+
response = await bot.uploads.UploadFileAsync(
|
|
185
|
+
type=UploadType.image,
|
|
186
|
+
file_path="examples/assets/file.jpg"
|
|
187
|
+
)
|
|
168
188
|
```
|
|
169
189
|
|
|
170
|
-
**Как получить входящее
|
|
190
|
+
**Как получить входящее уведомление (Long Polling):**
|
|
171
191
|
|
|
172
192
|
* Ссылка на синхронный пример: [GetUpdates.py](./examples/sync/GetUpdates.py)
|
|
173
193
|
|
|
174
194
|
```python
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
195
|
+
with API(cfg) as bot:
|
|
196
|
+
response = bot.subscriptions.GetUpdates(
|
|
197
|
+
marker=0,
|
|
198
|
+
timeout=30
|
|
199
|
+
)
|
|
179
200
|
```
|
|
180
201
|
|
|
181
202
|
* Ссылка на асинхронный пример: [GetUpdatesAsync.py](./examples/async/GetUpdatesAsync.py)
|
|
182
203
|
|
|
183
204
|
```python
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
205
|
+
async with API(cfg) as bot:
|
|
206
|
+
response = await bot.subscriptions.GetUpdatesAsync(
|
|
207
|
+
marker=0,
|
|
208
|
+
timeout=30
|
|
209
|
+
)
|
|
188
210
|
```
|
|
189
211
|
|
|
190
212
|
-----
|
|
@@ -202,40 +224,43 @@ response = await bot.subscriptions.GetUpdatesAsync(GetUpdatesReq(
|
|
|
202
224
|
| Как отправить файл | [SendFile.py](./examples/sync/SendFile.py) |
|
|
203
225
|
| Как отправить файл *асинхронно* | [SendFileAsync.py](./examples/async/SendFileAsync.py) |
|
|
204
226
|
| Как получить входящее уведомление | [GetUpdates.py](./examples/sync/GetUpdates.py) |
|
|
205
|
-
| Как получить входящее уведомление *асинхронно* | [
|
|
227
|
+
| Как получить входящее уведомление *асинхронно* | [GetUpdatesAsync.py](./examples/async/GetUpdatesAsync.py) |
|
|
206
228
|
|
|
207
229
|
## Список всех методов библиотеки
|
|
208
230
|
|
|
209
231
|
| Метод API | Описание | Ссылка на документацию MAX | Ссылка на документацию библиотеки |
|
|
210
232
|
|-----------------|-------------------------|------------------------------------------------|----------------------------------------------|
|
|
211
|
-
| `Bots.GetBot`
|
|
212
|
-
| `Bots.PatchBot`
|
|
213
|
-
| `Chats.GetChats` | Возвращает список групповых чатов, в которых участвовал бот | [GetChats](https://dev.max.ru/docs-api/methods/GET/chats) | [GetChats](
|
|
214
|
-
| `Chats.GetChat`
|
|
215
|
-
| `Chats.EditChat` | Позволяет редактировать информацию о групповом чате | [EditChat](https://dev.max.ru/docs-api/methods/PATCH/chats/-chatId-) | [EditChat](
|
|
216
|
-
| `Chats.DeleteChat` | Удаляет групповой чат для всех участников | [DeleteChat](https://dev.max.ru/docs-api/methods/DELETE/chats/-chatId-) | [DeleteChat](
|
|
217
|
-
| `Chats.SendAction` | Позволяет отправлять следующие действия бота в групповой чат | [SendAction](https://dev.max.ru/docs-api/methods/POST/chats/-chatId-/actions) | [SendAction](
|
|
218
|
-
| `Chats.GetPinnedMessage` | Возвращает закрепленное сообщение в чате | [GetPinnedMessage](https://dev.max.ru/docs-api/methods/GET/chats/-chatId-/pin) | [GetPinnedMessage](
|
|
219
|
-
| `Chats.PinMessage` | Закрепляет сообщение в групповом чате | [PinMessage](https://dev.max.ru/docs-api/methods/PUT/chats/-chatId-/pin) | [PinMessage](
|
|
220
|
-
| `Chats.UnpinMessage` | Удаляет закрепленное сообщение в групповом чате | [UnpinMessage](https://dev.max.ru/docs-api/methods/DELETE/chats/-chatId-/pin) | [UnpinMessage](
|
|
221
|
-
| `Chats.GetChatMembership` | Возвращает членство бота в групповом чате | [GetChatMembership](https://dev.max.ru/docs-api/methods/GET/chats/-chatId-/members/me) | [GetChatMembership](
|
|
222
|
-
| `Chats.LeaveChat` | Удаляет бота из группового чата | [LeaveChat](https://dev.max.ru/docs-api/methods/DELETE/chats/-chatId-/members/me) | [LeaveChat](
|
|
223
|
-
| `Chats.GetChatAdmins` | Возвращает список всех администраторов группового чата | [GetChatAdmins](https://dev.max.ru/docs-api/methods/GET/chats/-chatId-/members/admins) | [GetChatAdmins](
|
|
224
|
-
| `Chats.SetChatAdmins` | Назначает участника группы администратором | [SetChatAdmins](https://dev.max.ru/docs-api/methods/POST/chats/-chatId-/members/admins) | [SetChatAdmins](
|
|
225
|
-
| `Chats.DeleteAdmin` | Отменяет права администратора пользователя в групповом чате | [DeleteAdmin](https://dev.max.ru/docs-api/methods/DELETE/chats/-chatId-/members/admins/-userId-) | [DeleteAdmin](
|
|
226
|
-
| `Chats.GetChatMembers`
|
|
227
|
-
| `Chats.AddMembers`
|
|
228
|
-
| `Chats.DeleteMember` | Удаляет участника из группового чата | [DeleteMember](https://dev.max.ru/docs-api/methods/DELETE/chats/-chatId-/members) | [DeleteMember](
|
|
229
|
-
| `Subscriptions.GetSubscriptions` | Возвращает список подписок на уведомления веб-хуков | [GetSubscriptions](https://dev.max.ru/docs-api/methods/GET/subscriptions) | [GetSubscriptions](
|
|
230
|
-
| `Subscriptions.Subscribe`
|
|
231
|
-
| `Subscriptions.Unsubscribe` | Отменяет подписку бота на получение обновлений через веб-хук | [Unsubscribe](https://dev.max.ru/docs-api/methods/DELETE/subscriptions) | [Unsubscribe](
|
|
232
|
-
| `Subscriptions.GetUpdates` | Получает входящие обновления | [GetUpdates](https://dev.max.ru/docs-api/methods/GET/updates) | [GetUpdates](
|
|
233
|
-
| `Upload.UploadFile` | Загружает файл на серверы MAX для последующей передачи | [UploadFile](https://dev.max.ru/docs-api/methods/POST/uploads) | [UploadFile](
|
|
234
|
-
| `Helpers.SendFile` | Упрощает отправку файлов, автоматически определяя URL или путь | | [SendFile](
|
|
235
|
-
| `Messages.GetMessages` | Возвращает информацию о сообщении или массив сообщений из чата | [GetMessages](https://dev.max.ru/docs-api/methods/GET/messages) | [GetMessages](
|
|
236
|
-
| `Messages.SendMessage` | Отправляет текстовое или медиа-сообщение указанному пользователю или в чат | [SendMessage](https://dev.max.ru/docs-api/methods/POST/messages) | [SendMessage](
|
|
237
|
-
| `Messages.EditMessage` | Редактирует текст или медиафайл ранее отправленного сообщения | [EditMessage](https://dev.max.ru/docs-api/methods/PUT/messages) | [EditMessage](
|
|
238
|
-
| `Messages.DeleteMessage` | Удаляет сообщение из чата | [DeleteMessage](https://dev.max.ru/docs-api/methods/DELETE/messages) | [DeleteMessage](
|
|
239
|
-
| `Messages.GetMessage` | Извлекает содержимое и метаданные конкретного сообщения по его ID | [GetMessage](https://dev.max.ru/docs-api/methods/GET/messages/-messageId-) | [GetMessage](
|
|
240
|
-
| `Messages.GetVideoInfo` | Возвращает подробную информацию о прикрепленном видео | [GetVideoInfo](https://dev.max.ru/docs-api/methods/GET/videos/-videoToken-) | [GetVideoInfo](
|
|
241
|
-
| `Messages.AnswerCallback` | Отправляет ответ после того, как пользователь нажмет кнопку | [AnswerCallback](https://dev.max.ru/docs-api/methods/POST/answers) | [AnswerCallback](
|
|
233
|
+
| `Bots.GetBot` | Получает информацию о боте | [GetBot](https://dev.max.ru/docs-api/methods/GET/me) | [GetBot](https://green-api.com/max-bot-api/docs/api/bots/GetBot/) |
|
|
234
|
+
| `Bots.PatchBot` | Изменяет информацию о боте | | [PatchBot](https://green-api.com/max-bot-api/docs/api/bots/PatchBot/) |
|
|
235
|
+
| `Chats.GetChats` | Возвращает список групповых чатов, в которых участвовал бот | [GetChats](https://dev.max.ru/docs-api/methods/GET/chats) | [GetChats](https://green-api.com/max-bot-api/docs/api/chats/GetChats) |
|
|
236
|
+
| `Chats.GetChat` | Возвращает информацию о групповом чате по его ID | [GetChat](https://dev.max.ru/docs-api/methods/GET/chats/-chatId-) | [GetChat](https://green-api.com/max-bot-api/docs/api/chats/GetChat) |
|
|
237
|
+
| `Chats.EditChat` | Позволяет редактировать информацию о групповом чате | [EditChat](https://dev.max.ru/docs-api/methods/PATCH/chats/-chatId-) | [EditChat](https://green-api.com/max-bot-api/docs/api/chats/EditChat) |
|
|
238
|
+
| `Chats.DeleteChat` | Удаляет групповой чат для всех участников | [DeleteChat](https://dev.max.ru/docs-api/methods/DELETE/chats/-chatId-) | [DeleteChat](https://green-api.com/max-bot-api/docs/api/chats/DeleteChat) |
|
|
239
|
+
| `Chats.SendAction` | Позволяет отправлять следующие действия бота в групповой чат | [SendAction](https://dev.max.ru/docs-api/methods/POST/chats/-chatId-/actions) | [SendAction](https://green-api.com/max-bot-api/docs/api/chats/SendAction) |
|
|
240
|
+
| `Chats.GetPinnedMessage` | Возвращает закрепленное сообщение в чате | [GetPinnedMessage](https://dev.max.ru/docs-api/methods/GET/chats/-chatId-/pin) | [GetPinnedMessage](https://green-api.com/max-bot-api/docs/api/chats/GetPinnedMessage) |
|
|
241
|
+
| `Chats.PinMessage` | Закрепляет сообщение в групповом чате | [PinMessage](https://dev.max.ru/docs-api/methods/PUT/chats/-chatId-/pin) | [PinMessage](https://green-api.com/max-bot-api/docs/api/chats/PinMessage) |
|
|
242
|
+
| `Chats.UnpinMessage` | Удаляет закрепленное сообщение в групповом чате | [UnpinMessage](https://dev.max.ru/docs-api/methods/DELETE/chats/-chatId-/pin) | [UnpinMessage](https://green-api.com/max-bot-api/docs/api/chats/UnpinMessage) |
|
|
243
|
+
| `Chats.GetChatMembership` | Возвращает членство бота в групповом чате | [GetChatMembership](https://dev.max.ru/docs-api/methods/GET/chats/-chatId-/members/me) | [GetChatMembership](https://green-api.com/max-bot-api/docs/api/chats/GetChatMembership) |
|
|
244
|
+
| `Chats.LeaveChat` | Удаляет бота из группового чата | [LeaveChat](https://dev.max.ru/docs-api/methods/DELETE/chats/-chatId-/members/me) | [LeaveChat](https://green-api.com/max-bot-api/docs/api/chats/LeaveChat) |
|
|
245
|
+
| `Chats.GetChatAdmins` | Возвращает список всех администраторов группового чата | [GetChatAdmins](https://dev.max.ru/docs-api/methods/GET/chats/-chatId-/members/admins) | [GetChatAdmins](https://green-api.com/max-bot-api/docs/api/chats/GetChatAdmins) |
|
|
246
|
+
| `Chats.SetChatAdmins` | Назначает участника группы администратором | [SetChatAdmins](https://dev.max.ru/docs-api/methods/POST/chats/-chatId-/members/admins) | [SetChatAdmins](https://green-api.com/max-bot-api/docs/api/chats/SetChatAdmins) |
|
|
247
|
+
| `Chats.DeleteAdmin` | Отменяет права администратора пользователя в групповом чате | [DeleteAdmin](https://dev.max.ru/docs-api/methods/DELETE/chats/-chatId-/members/admins/-userId-) | [DeleteAdmin](https://green-api.com/max-bot-api/docs/api/chats/DeleteAdmin) |
|
|
248
|
+
| `Chats.GetChatMembers` | Возвращает список участников группового чата | [GetChatMembers](https://dev.max.ru/docs-api/methods/GET/chats/-chatId-/members) | [GetChatMembers](https://green-api.com/max-bot-api/docs/api/chats/GetChatMembers) |
|
|
249
|
+
| `Chats.AddMembers` | Добавляет участников в групповой чат | [AddMembers](https://dev.max.ru/docs-api/methods/POST/chats/-chatId-/members) | [AddMembers](https://green-api.com/max-bot-api/docs/api/chats/AddMembers) |
|
|
250
|
+
| `Chats.DeleteMember` | Удаляет участника из группового чата | [DeleteMember](https://dev.max.ru/docs-api/methods/DELETE/chats/-chatId-/members) | [DeleteMember](https://green-api.com/max-bot-api/docs/api/chats/DeleteMember) |
|
|
251
|
+
| `Subscriptions.GetSubscriptions` | Возвращает список подписок на уведомления веб-хуков | [GetSubscriptions](https://dev.max.ru/docs-api/methods/GET/subscriptions) | [GetSubscriptions](https://green-api.com/max-bot-api/docs/api/subscriptions/GetSubscriptions) |
|
|
252
|
+
| `Subscriptions.Subscribe` | Настраивает доставку событий бота через веб-хук | [Subscribe](https://dev.max.ru/docs-api/methods/POST/subscriptions) | [Subscribe](https://green-api.com/max-bot-api/docs/api/subscriptions/Subscribe.md) |
|
|
253
|
+
| `Subscriptions.Unsubscribe` | Отменяет подписку бота на получение обновлений через веб-хук | [Unsubscribe](https://dev.max.ru/docs-api/methods/DELETE/subscriptions) | [Unsubscribe](https://green-api.com/max-bot-api/docs/api/subscriptions/Unsubscribe) |
|
|
254
|
+
| `Subscriptions.GetUpdates` | Получает входящие обновления | [GetUpdates](https://dev.max.ru/docs-api/methods/GET/updates) | [GetUpdates](https://green-api.com/max-bot-api/docs/api/subscriptions/GetUpdates) |
|
|
255
|
+
| `Upload.UploadFile` | Загружает файл на серверы MAX для последующей передачи | [UploadFile](https://dev.max.ru/docs-api/methods/POST/uploads) | [UploadFile](https://green-api.com/max-bot-api/docs/upload/UploadFile) |
|
|
256
|
+
| `Helpers.SendFile` | Упрощает отправку файлов, автоматически определяя URL или путь | | [SendFile](https://green-api.com/max-bot-api/docs/helpers/SendFile) |
|
|
257
|
+
| `Messages.GetMessages` | Возвращает информацию о сообщении или массив сообщений из чата | [GetMessages](https://dev.max.ru/docs-api/methods/GET/messages) | [GetMessages](https://green-api.com/max-bot-api/docs/api/messages/GetMessages) |
|
|
258
|
+
| `Messages.SendMessage` | Отправляет текстовое или медиа-сообщение указанному пользователю или в чат | [SendMessage](https://dev.max.ru/docs-api/methods/POST/messages) | [SendMessage](https://green-api.com/max-bot-api/docs/api/messages/SendMessage) |
|
|
259
|
+
| `Messages.EditMessage` | Редактирует текст или медиафайл ранее отправленного сообщения | [EditMessage](https://dev.max.ru/docs-api/methods/PUT/messages) | [EditMessage](https://green-api.com/max-bot-api/docs/api/messages/EditMessage) |
|
|
260
|
+
| `Messages.DeleteMessage` | Удаляет сообщение из чата | [DeleteMessage](https://dev.max.ru/docs-api/methods/DELETE/messages) | [DeleteMessage](https://green-api.com/max-bot-api/docs/api/messages/DeleteMessage) |
|
|
261
|
+
| `Messages.GetMessage` | Извлекает содержимое и метаданные конкретного сообщения по его ID | [GetMessage](https://dev.max.ru/docs-api/methods/GET/messages/-messageId-) | [GetMessage](https://green-api.com/max-bot-api/docs/api/messages/GetMessage) |
|
|
262
|
+
| `Messages.GetVideoInfo` | Возвращает подробную информацию о прикрепленном видео | [GetVideoInfo](https://dev.max.ru/docs-api/methods/GET/videos/-videoToken-) | [GetVideoInfo](https://green-api.com/max-bot-api/docs/api/messages/GetVideoInfo) |
|
|
263
|
+
| `Messages.AnswerCallback` | Отправляет ответ после того, как пользователь нажмет кнопку | [AnswerCallback](https://dev.max.ru/docs-api/methods/POST/answers) | [AnswerCallback](https://green-api.com/max-bot-api/docs/api/messages/AnswerCallback )|
|
|
264
|
+
|
|
265
|
+
```
|
|
266
|
+
```
|
|
@@ -5,7 +5,7 @@ with open("README.md", encoding="UTF-8") as file:
|
|
|
5
5
|
|
|
6
6
|
setup(
|
|
7
7
|
name="maxbot-api-client-python",
|
|
8
|
-
version="1.1.
|
|
8
|
+
version="1.1.1",
|
|
9
9
|
author="Green API",
|
|
10
10
|
description="Python client for MAX Bot API with Sync and Async support",
|
|
11
11
|
long_description=long_description,
|
|
File without changes
|
|
File without changes
|
{maxbot_api_client_python-1.1.0 → maxbot_api_client_python-1.1.1}/maxbot_api_client_python/api.py
RENAMED
|
File without changes
|
{maxbot_api_client_python-1.1.0 → maxbot_api_client_python-1.1.1}/maxbot_api_client_python/client.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{maxbot_api_client_python-1.1.0 → maxbot_api_client_python-1.1.1}/maxbot_api_client_python/utils.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|