maxbot-api-client-python 1.1.2__py3-none-any.whl → 1.2.0__py3-none-any.whl

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.
@@ -0,0 +1,251 @@
1
+ Metadata-Version: 2.4
2
+ Name: maxbot-api-client-python
3
+ Version: 1.2.0
4
+ Summary: Python client for MAX Bot API with Sync and Async support
5
+ Author: Green API
6
+ Project-URL: Homepage, https://github.com/green-api/maxbot-api-client-python
7
+ Classifier: Programming Language :: Python :: 3
8
+ Classifier: License :: OSI Approved :: MIT License
9
+ Classifier: Operating System :: OS Independent
10
+ Requires-Python: >=3.12
11
+ Description-Content-Type: text/markdown
12
+ License-File: LICENSE
13
+ Requires-Dist: httpx>=0.24.0
14
+ Requires-Dist: aiofiles>=23.1.0
15
+ Requires-Dist: pydantic>=2.0.0
16
+ Requires-Dist: tenacity>=9.1.2
17
+ Dynamic: license-file
18
+
19
+ # MAX BOT API Client (Python)
20
+
21
+ `maxbot-api-client-python` — это библиотека для интеграции с **MAX BOT API**. Этот проект предоставляет структурированный интерфейс для взаимодействия с конфигурациями бота, управления сообщениями, отправки медиафайлов и подписки на события через *long-polling*.
22
+
23
+ Для использования библиотеки потребуется получить токен бота в консоли разработчика MAX bot.
24
+ Ознакомиться с инструкцией можно [по ссылке](https://green-api.com/max-bot-api/docs/before-start/).
25
+
26
+ ## API
27
+
28
+ Документацию по **REST API MAX** можно найти по ссылке [dev.max.ru/docs-api](https://dev.max.ru/docs-api). Библиотека является оберткой для REST API, поэтому документация по указанной выше ссылке также применима к используемым здесь моделям.
29
+
30
+ Документацию по **MAX BOT API** можно найти по ссылке [green-api.com/max-bot-api/docs](https://green-api.com/max-bot-api/docs/).
31
+
32
+ ## Поддержка
33
+
34
+ [![Support](https://img.shields.io/badge/support@green--bot.com-D14836?style=for-the-badge&logo=gmail&logoColor=white)](mailto:support@green-bot.com)
35
+ [![Support](https://img.shields.io/badge/Telegram-2CA5E0?style=for-the-badge&logo=telegram&logoColor=white)](https://t.me/greenapi_support_ru_bot)
36
+ [![Support](https://img.shields.io/badge/WhatsApp-25D366?style=for-the-badge&logo=whatsapp&logoColor=white)](https://wa.me/77780739095)
37
+
38
+ ## Руководства и новости
39
+
40
+ [![Guides](https://img.shields.io/badge/YouTube-%23FF0000.svg?style=for-the-badge&logo=YouTube&logoColor=white)](https://www.youtube.com/@green-api)
41
+ [![News](https://img.shields.io/badge/Telegram-2CA5E0?style=for-the-badge&logo=telegram&logoColor=white)](https://t.me/green_api)
42
+ [![News](https://img.shields.io/badge/WhatsApp-25D366?style=for-the-badge&logo=whatsapp&logoColor=white)](https://whatsapp.com/channel/0029VaHUM5TBA1f7cG29nO1C)
43
+
44
+ ## Установка
45
+
46
+ **Убедитесь, что у вас установлен Python версии 3.12 или выше:**
47
+
48
+ ```shell
49
+ python --version
50
+ ```
51
+
52
+ **Установите библиотеку:**
53
+
54
+ ```bash
55
+ pip install maxbot-api-client-python
56
+ ```
57
+
58
+ **Импорт:**
59
+
60
+ ```python
61
+ from maxbot_api_client_python import API, Config
62
+ ```
63
+
64
+ ## Использование и примеры
65
+
66
+ **Параметры конфигурации:**
67
+
68
+ - `base_url` - Базовый URL-адрес серверов платформы MaxBot. Все методы API будут отправляться по этому корневому адресу. Актуальный адрес указан в [официальной документации](https://dev.max.ru/docs-api).
69
+ - `token` - Уникальный секретный ключ авторизации (API-ключ) вашего бота. Получить его можно в личном кабинете после [регистрации или создании бота](https://green-api.com/max-bot-api/docs/before-start/) на платформе [business.max.ru](https://business.max.ru/).
70
+ - `ratelimiter` - Встроенный ограничитель частоты запросов. Он контролирует количество исходящих запросов в секунду (RPS), защищая бота от блокировки со стороны сервера за превышение лимитов. Рекомендуемое значение — не менее 25.
71
+ - `timeout` - Максимальное время ожидания ответа от сервера (в секундах). Если сервер не ответит в течение этого времени, запрос будет завершен с ошибкой. Оптимальное значение — 30 секунд.
72
+
73
+ **Как инициализировать клиент:**
74
+
75
+ Использование контекстного менеджера (`with` / `async with`) гарантирует, что все сетевые соединения будут автоматически и безопасно закрыты по завершении работы.
76
+
77
+ ```python
78
+ from maxbot_api_client_python import API, Config
79
+
80
+ cfg = Config(
81
+ base_url="https://platform-api.max.ru",
82
+ token="YOUR_BOT_TOKEN",
83
+ ratelimiter=25,
84
+ timeout=30
85
+ )
86
+ # Синхронный режим:
87
+ with API(cfg) as bot:
88
+ pass
89
+ # Асинхронный режим:
90
+ async with API(cfg) as bot:
91
+ pass
92
+ ```
93
+
94
+ **Как получить информацию о боте:**
95
+
96
+ * Ссылка на синхронный пример: [get_bot.py](./examples/sync/get_bot.py)
97
+
98
+ ```python
99
+ with API(cfg) as bot:
100
+ response = bot.bots.get_bot()
101
+ ```
102
+
103
+ * Ссылка на асинхронный пример: [get_bot_async.py](./examples/async/get_bot_async.py)
104
+
105
+ ```python
106
+ async with API(cfg) as bot:
107
+ response = await bot.bots.get_bot_async()
108
+ ```
109
+
110
+ **Как отправить сообщение:**
111
+
112
+ * Ссылка на синхронный пример: [send_message.py](./examples/sync/send_message.py)
113
+
114
+
115
+ ```python
116
+ with API(cfg) as bot:
117
+ response = bot.messages.send_message(SendMessageReq(
118
+ user_id=1234567890,
119
+ text="Hello world!"
120
+ ))
121
+ ```
122
+
123
+ * Ссылка на асинхронный пример: [send_message_async.py](./examples/async/send_message_async.py)
124
+
125
+ ```python
126
+ async with API(cfg) as bot:
127
+ response = await bot.messages.send_message_async(SendMessageReq(
128
+ user_id=1234567890,
129
+ text="Hello world from Async!"
130
+ ))
131
+ ```
132
+
133
+ **Как легко отправить файл (по ссылке или локальный):**
134
+
135
+ * Ссылка на синхронный пример: [send_file.py](./examples/sync/send_file.py)
136
+
137
+ ```python
138
+ with API(cfg) as bot:
139
+ response = bot.helpers.send_file(SendFileReq(
140
+ chat_id=1234567890,
141
+ text="Check this!",
142
+ file_source="https://storage.yandexcloud.net/sw-prod-03-test/ChatBot/corgi.jpg"
143
+ ))
144
+ ```
145
+ * Ссылка на асинхронный пример: [send_file_async.py](./examples/async/send_file_async.py)
146
+
147
+ ```python
148
+ async with API(cfg) as bot:
149
+ response = await bot.helpers.send_file_async(SendFileReq(
150
+ chat_id=1234567890,
151
+ text="Посмотри на этот файл!",
152
+ file_source="https://storage.yandexcloud.net/sw-prod-03-test/ChatBot/corgi.jpg"
153
+ ))
154
+ ```
155
+
156
+ **Как вручную загрузить файл (для кастомных вложений):**
157
+
158
+ * Ссылка на синхронный пример: [upload_file.py](./examples/sync/upload_file.py)
159
+
160
+ ```python
161
+ with API(cfg) as bot:
162
+ response = bot.uploads.upload_file(UploadFileReq(
163
+ type=UploadType.image,
164
+ file_path="examples/assets/file.jpg"
165
+ ))
166
+ ```
167
+
168
+ * Ссылка на асинхронный пример: [upload_file_async.py](./examples/async/upload_file_async.py)
169
+
170
+ ```python
171
+ async with API(cfg) as bot:
172
+ response = await bot.uploads.upload_file_async(UploadFileReq(
173
+ type=UploadType.image,
174
+ file_path="examples/assets/file.jpg"
175
+ ))
176
+ ```
177
+
178
+ **Как получить входящее уведомление (Long Polling):**
179
+
180
+ * Ссылка на синхронный пример: [get_updates.py](./examples/sync/get_updates.py)
181
+
182
+ ```python
183
+ with API(cfg) as bot:
184
+ response = bot.subscriptions.get_updates(GetUpdatesReq(
185
+ marker=0,
186
+ timeout=30
187
+ ))
188
+ ```
189
+
190
+ * Ссылка на асинхронный пример: [get_updates_async.py](./examples/async/get_updates_async.py)
191
+
192
+ ```python
193
+ async with API(cfg) as bot:
194
+ response = await bot.subscriptions.get_updates_async(GetUpdatesReq(
195
+ marker=0,
196
+ timeout=30
197
+ ))
198
+ ```
199
+
200
+ -----
201
+
202
+ ## Список примеров
203
+
204
+ | Описание | Ссылка на пример |
205
+ | ---------------------------------------------- | ---------------------------------------------------------------- |
206
+ | Как отправить сообщение | [send_message.py](./examples/sync/send_message.py) |
207
+ | Как отправить сообщение *асинхронно* | [get_messages_async.py](./examples/async/get_messages_async.py) |
208
+ | Как получить информацию о боте | [get_bot.py](./examples/sync/get_bot.py) |
209
+ | Как получить информацию о боте *асинхронно* | [get_bot_async.py](./examples/async/get_bot_async.py) |
210
+ | Как загрузить файл | [upload_file.py](./examples/sync/upload_file.py) |
211
+ | Как загрузить файл *асинхронно* | [upload_file_async.py](./examples/async/upload_file_async.py) |
212
+ | Как отправить файл | [send_file.py](./examples/sync/send_file.py) |
213
+ | Как отправить файл *асинхронно* | [send_file_async.py](./examples/async/send_file_async.py) |
214
+ | Как получить входящее уведомление | [get_updates.py](./examples/sync/get_updates.py) |
215
+ | Как получить входящее уведомление *асинхронно* | [get_updates_async.py](./examples/async/get_updates_async.py) |
216
+
217
+ ## Список всех методов библиотеки
218
+
219
+ | Метод API | Описание | Ссылка на документацию MAX | Ссылка на документацию MAX BOT API |
220
+ |-----------------|-------------------------|------------------------------------------------|----------------------------------------------|
221
+ | `bots.get_bot` | Получает информацию о боте | [get_bot](https://dev.max.ru/docs-api/methods/GET/me) | [GetBot](https://green-api.com/max-bot-api/docs/api/bots/GetBot/) |
222
+ | `bots.patch_bot` | Изменяет информацию о боте | | [PatchBot](https://green-api.com/max-bot-api/docs/api/bots/PatchBot/) |
223
+ | `chats.get_chats` | Возвращает список групповых чатов, в которых участвовал бот | [get_chats](https://dev.max.ru/docs-api/methods/GET/chats) | [GetChats](https://green-api.com/max-bot-api/docs/api/chats/GetChats/) |
224
+ | `chats.get_chat` | Возвращает информацию о групповом чате по его ID | [get_chat](https://dev.max.ru/docs-api/methods/GET/chats/-chatId-) | [GetChat](https://green-api.com/max-bot-api/docs/api/chats/GetChat/) |
225
+ | `chats.edit_chat` | Позволяет редактировать информацию о групповом чате | [edit_chat](https://dev.max.ru/docs-api/methods/PATCH/chats/-chatId-) | [EditChat](https://green-api.com/max-bot-api/docs/api/chats/EditChat/) |
226
+ | `chats.delete_chat` | Удаляет групповой чат для всех участников | [delete_chat](https://dev.max.ru/docs-api/methods/DELETE/chats/-chatId-) | [DeleteChat](https://green-api.com/max-bot-api/docs/api/chats/DeleteChat/) |
227
+ | `chats.send_action` | Позволяет отправлять следующие действия бота в групповой чат | [send_action](https://dev.max.ru/docs-api/methods/POST/chats/-chatId-/actions) | [SendAction](https://green-api.com/max-bot-api/docs/api/chats/SendAction) |
228
+ | `chats.get_pinned_message` | Возвращает закрепленное сообщение в чате | [get_pinned_message](https://dev.max.ru/docs-api/methods/GET/chats/-chatId-/pin) | [GetPinnedMessage](https://green-api.com/max-bot-api/docs/api/chats/GetPinnedMessage) |
229
+ | `chats.pin_message` | Закрепляет сообщение в групповом чате | [pin_message](https://dev.max.ru/docs-api/methods/PUT/chats/-chatId-/pin) | [PinMessage](https://green-api.com/max-bot-api/docs/api/chats/PinMessage) |
230
+ | `chats.unpin_message` | Удаляет закрепленное сообщение в групповом чате | [unpin_message](https://dev.max.ru/docs-api/methods/DELETE/chats/-chatId-/pin) | [UnpinMessage](https://green-api.com/max-bot-api/docs/api/chats/UnpinMessage) |
231
+ | `chats.get_chat_membership` | Возвращает членство бота в групповом чате | [get_chat_membership](https://dev.max.ru/docs-api/methods/GET/chats/-chatId-/members/me) | [GetChatMembership](https://green-api.com/max-bot-api/docs/api/chats/GetChatMembership) |
232
+ | `chats.leave_chat` | Удаляет бота из группового чата | [leave_chat](https://dev.max.ru/docs-api/methods/DELETE/chats/-chatId-/members/me) | [LeaveChat](https://green-api.com/max-bot-api/docs/api/chats/LeaveChat) |
233
+ | `chats.get_chat_admins` | Возвращает список всех администраторов группового чата | [get_chat_admins](https://dev.max.ru/docs-api/methods/GET/chats/-chatId-/members/admins) | [GetChatAdmins](https://green-api.com/max-bot-api/docs/api/chats/GetChatAdmins) |
234
+ | `chats.set_chat_admins` | Назначает участника группы администратором | [set_chat_admins](https://dev.max.ru/docs-api/methods/POST/chats/-chatId-/members/admins) | [SetChatAdmins](https://green-api.com/max-bot-api/docs/api/chats/SetChatAdmins) |
235
+ | `chats.delete_admin` | Отменяет права администратора пользователя в групповом чате | [delete_admin](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) |
236
+ | `chats.get_chat_members` | Возвращает список участников группового чата | [get_chat_members](https://dev.max.ru/docs-api/methods/GET/chats/-chatId-/members) | [GetChatMembers](https://green-api.com/max-bot-api/docs/api/chats/GetChatMembers) |
237
+ | `chats.add_members` | Добавляет участников в групповой чат | [add_members](https://dev.max.ru/docs-api/methods/POST/chats/-chatId-/members) | [AddMembers](https://green-api.com/max-bot-api/docs/api/chats/AddMembers) |
238
+ | `chats.delete_member` | Удаляет участника из группового чата | [delete_member](https://dev.max.ru/docs-api/methods/DELETE/chats/-chatId-/members) | [DeleteMember](https://green-api.com/max-bot-api/docs/api/chats/DeleteMember) |
239
+ | `subscriptions.get_subscriptions` | Возвращает список подписок на уведомления веб-хуков | [get_subscriptions](https://dev.max.ru/docs-api/methods/GET/subscriptions) | [GetSubscriptions](https://green-api.com/max-bot-api/docs/api/subscriptions/GetSubscriptions) |
240
+ | `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) |
241
+ | `subscriptions.unsubscribe` | Отменяет подписку бота на получение обновлений через веб-хук | [unsubscribe](https://dev.max.ru/docs-api/methods/DELETE/subscriptions) | [Unsubscribe](https://green-api.com/max-bot-api/docs/api/subscriptions/Unsubscribe) |
242
+ | `subscriptions.get_updates` | Получает входящие обновления | [get_updates](https://dev.max.ru/docs-api/methods/GET/updates) | [GetUpdates](https://green-api.com/max-bot-api/docs/api/subscriptions/GetUpdates) |
243
+ | `upload.upload_file` | Загружает файл на серверы MAX для последующей передачи | [upload_file](https://dev.max.ru/docs-api/methods/POST/uploads) | [UploadFile](https://green-api.com/max-bot-api/docs/upload/UploadFile) |
244
+ | `helpers.send_file` | Упрощает отправку файлов, автоматически определяя URL или путь | | [SendFile](https://green-api.com/max-bot-api/docs/helpers/SendFile) |
245
+ | `messages.get_messages` | Возвращает информацию о сообщении или массив сообщений из чата | [get_messages](https://dev.max.ru/docs-api/methods/GET/messages) | [GetMessages](https://green-api.com/max-bot-api/docs/api/messages/GetMessages) |
246
+ | `messages.send_message` | Отправляет текстовое или медиа-сообщение указанному пользователю или в чат | [send_message](https://dev.max.ru/docs-api/methods/POST/messages) | [SendMessage](https://green-api.com/max-bot-api/docs/api/messages/SendMessage) |
247
+ | `messages.edit_message` | Редактирует текст или медиафайл ранее отправленного сообщения | [edit_message](https://dev.max.ru/docs-api/methods/PUT/messages) | [EditMessage](https://green-api.com/max-bot-api/docs/api/messages/EditMessage) |
248
+ | `messages.delete_message` | Удаляет сообщение из чата | [delete_message](https://dev.max.ru/docs-api/methods/DELETE/messages) | [DeleteMessage](https://green-api.com/max-bot-api/docs/api/messages/DeleteMessage) |
249
+ | `messages.get_message` | Извлекает содержимое и метаданные конкретного сообщения по его ID | [get_message](https://dev.max.ru/docs-api/methods/GET/messages/-messageId-) | [GetMessage](https://green-api.com/max-bot-api/docs/api/messages/GetMessage) |
250
+ | `messages.get_video_info` | Возвращает подробную информацию о прикрепленном видео | [get_video_info](https://dev.max.ru/docs-api/methods/GET/videos/-videoToken-) | [GetVideoInfo](https://green-api.com/max-bot-api/docs/api/messages/GetVideoInfo) |
251
+ | `messages.answer_callback` | Отправляет ответ после того, как пользователь нажмет кнопку | [answer_callback](https://dev.max.ru/docs-api/methods/POST/answers) | [AnswerCallback](https://green-api.com/max-bot-api/docs/api/messages/AnswerCallback )|
@@ -0,0 +1,20 @@
1
+ maxbot_api_client_python/__init__.py,sha256=Wywqali86ii3ZmN3c7aUvWeOhtSlPGojvJCLyPE_bQE,378
2
+ maxbot_api_client_python/api.py,sha256=jnxqLk9czc0QvRoG0KBynjNl77AmFVts0we1if-jkg8,1203
3
+ maxbot_api_client_python/client.py,sha256=FO-SZH6Zaug9DN9ZStP5D972vrIq6xaOGo3FbwnnlP0,7671
4
+ maxbot_api_client_python/exceptions.py,sha256=UTcn49Gl5joYmCj01f7PQEWPSF8C5GRdV0obxFp_RnM,1531
5
+ maxbot_api_client_python/utils.py,sha256=wrLUoAtPfjNm0qUGdnNlYO0hlH6-7skIqAkkDWjDWJI,2855
6
+ maxbot_api_client_python/tools/__init__.py,sha256=lLqETrmRcsRJe8B-hkDAdnWhdM6zWboWpKMZt-2w6Q8,444
7
+ maxbot_api_client_python/tools/bots.py,sha256=838CY2MVKgv5VcUtBeiCPKkNL1nBxSjxuK-HdAV29_0,1839
8
+ maxbot_api_client_python/tools/chats.py,sha256=8yGO8MILGTY-Zw8Ab9jI7MI_W1Aya37mDC30iMOIIgc,17930
9
+ maxbot_api_client_python/tools/helpers.py,sha256=QBX6oYsylCB_L9dQMLyo9-PcQllcTyB5C7_r2YW8EjA,12028
10
+ maxbot_api_client_python/tools/messages.py,sha256=QI8vXaPuaO5_K9Ev4wiJ9jXWR9G42x_iUBl2ENtCFx4,8226
11
+ maxbot_api_client_python/tools/subscriptions.py,sha256=GO6ofiYgsAVGaDdIe89cteJePes96raI29_YIAZwE0Y,4216
12
+ maxbot_api_client_python/tools/uploads.py,sha256=9hBbXQefBhetDGFzhDQAYofREpUPWop0Pjapu___NpY,5219
13
+ maxbot_api_client_python/types/__init__.py,sha256=_dVz7V3v-O6pYdrWlXgJfNsMQZhq6j-N8j7UecPyaQ0,140
14
+ maxbot_api_client_python/types/constants.py,sha256=ysUJy90tx8UFY7QWp_KCcELlb1DszCpVachanEAF30w,2935
15
+ maxbot_api_client_python/types/models.py,sha256=0-YQPLF9hU689tf3Z3oql2ggHWJ0uUepc3bJyNFilh0,16113
16
+ maxbot_api_client_python-1.2.0.dist-info/licenses/LICENSE,sha256=v1Mdo-KDvHFJnCaCcCPm4pR4JiovXR-v1BcS2YCvFLg,1085
17
+ maxbot_api_client_python-1.2.0.dist-info/METADATA,sha256=FHDKIBQSzAQAW8CcoFM9wM-KGR7hgZixDrAwSA3A8Y0,19462
18
+ maxbot_api_client_python-1.2.0.dist-info/WHEEL,sha256=aeYiig01lYGDzBgS8HxWXOg3uV61G9ijOsup-k9o1sk,91
19
+ maxbot_api_client_python-1.2.0.dist-info/top_level.txt,sha256=o06jXmPodox_bJjiNcOS6ydGU754_BakTaSYFQihSiQ,25
20
+ maxbot_api_client_python-1.2.0.dist-info/RECORD,,
@@ -1,266 +0,0 @@
1
- Metadata-Version: 2.4
2
- Name: maxbot-api-client-python
3
- Version: 1.1.2
4
- Summary: Python client for MAX Bot API with Sync and Async support
5
- Home-page: https://github.com/green-api/maxbot-api-client-python
6
- Author: Green API
7
- Classifier: Programming Language :: Python :: 3
8
- Classifier: License :: OSI Approved :: MIT License
9
- Classifier: Operating System :: OS Independent
10
- Requires-Python: >=3.12
11
- Description-Content-Type: text/markdown
12
- License-File: LICENSE
13
- Requires-Dist: httpx>=0.24.0
14
- Requires-Dist: aiofiles>=23.1.0
15
- Requires-Dist: pydantic>=2.0.0
16
- Requires-Dist: tenacity>=9.1.2
17
- Dynamic: author
18
- Dynamic: classifier
19
- Dynamic: description
20
- Dynamic: description-content-type
21
- Dynamic: home-page
22
- Dynamic: license-file
23
- Dynamic: requires-dist
24
- Dynamic: requires-python
25
- Dynamic: summary
26
-
27
- # MAX BOT API Client (Python)
28
-
29
- `maxbot-api-client-python` — это библиотека для интеграции с **MAX BOT API**. Этот проект предоставляет структурированный интерфейс для взаимодействия с конфигурациями бота, управления сообщениями, отправки медиафайлов и подписки на события через *long-polling*.
30
-
31
- Для использования библиотеки потребуется получить токен бота в консоли разработчика MAX bot.
32
- Ознакомиться с инструкцией можно [по ссылке](https://green-api.com/max-bot-api/docs/before-start/).
33
-
34
- ## API
35
-
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/).
39
-
40
- ## Поддержка
41
-
42
- [![Support](https://img.shields.io/badge/support@green--bot.com-D14836?style=for-the-badge&logo=gmail&logoColor=white)](mailto:support@green-bot.com)
43
- [![Support](https://img.shields.io/badge/Telegram-2CA5E0?style=for-the-badge&logo=telegram&logoColor=white)](https://t.me/greenapi_support_ru_bot)
44
- [![Support](https://img.shields.io/badge/WhatsApp-25D366?style=for-the-badge&logo=whatsapp&logoColor=white)](https://wa.me/77780739095)
45
-
46
- ## Руководства и новости
47
-
48
- [![Guides](https://img.shields.io/badge/YouTube-%23FF0000.svg?style=for-the-badge&logo=YouTube&logoColor=white)](https://www.youtube.com/@green-api)
49
- [![News](https://img.shields.io/badge/Telegram-2CA5E0?style=for-the-badge&logo=telegram&logoColor=white)](https://t.me/green_api)
50
- [![News](https://img.shields.io/badge/WhatsApp-25D366?style=for-the-badge&logo=whatsapp&logoColor=white)](https://whatsapp.com/channel/0029VaHUM5TBA1f7cG29nO1C)
51
-
52
- ## Установка
53
-
54
- **Убедитесь, что у вас установлен Python версии 3.12 или выше:**
55
-
56
- ```shell
57
- python --version
58
- ````
59
-
60
- **Установите библиотеку:**
61
-
62
- ```bash
63
- pip install maxbot-api-client-python
64
- ```
65
-
66
- **Импорт:**
67
-
68
- ```python
69
- from maxbot_api_client_python import API, Config
70
- ```
71
-
72
- ## Использование и примеры
73
-
74
- **Параметры конфигурации:**
75
-
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 секунд.
80
-
81
- **Как инициализировать клиент:**
82
-
83
- Использование контекстного менеджера (`with` / `async with`) гарантирует, что все сетевые соединения будут автоматически и безопасно закрыты по завершении работы.
84
-
85
- ```python
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",
91
- ratelimiter=25,
92
- timeout=30
93
- )
94
- # Синхронный режим:
95
- with API(cfg) as bot:
96
- pass
97
- # Асинхронный режим:
98
- async with API(cfg) as bot:
99
- pass
100
- ```
101
-
102
- **Как получить информацию о боте:**
103
-
104
- * Ссылка на синхронный пример: [GetBot.py](./examples/sync/GetBot.py)
105
-
106
- ```python
107
- with API(cfg) as bot:
108
- response = bot.bots.GetBot()
109
- ```
110
-
111
- * Ссылка на асинхронный пример: [GetBotAsync.py](./examples/async/GetBotAsync.py)
112
-
113
- ```python
114
- async with API(cfg) as bot:
115
- response = await bot.bots.GetBotAsync()
116
- ```
117
-
118
- **Как отправить сообщение:**
119
-
120
- * Ссылка на синхронный пример: [SendMessage.py](./examples/sync/SendMessage.py)
121
-
122
-
123
- ```python
124
- with API(cfg) as bot:
125
- response = bot.messages.SendMessage(
126
- user_id=1234567890,
127
- text="Hello world!"
128
- )
129
- ```
130
-
131
- * Ссылка на асинхронный пример: [SendMessageAsync.py](./examples/async/SendMessageAsync.py)
132
-
133
- ```python
134
- async with API(cfg) as bot:
135
- response = await bot.messages.SendMessageAsync(
136
- user_id=1234567890,
137
- text="Hello world from Async!"
138
- )
139
- ```
140
-
141
- **Как легко отправить файл (по ссылке или локальный):**
142
-
143
- * Ссылка на синхронный пример: [SendFile.py](./examples/sync/SendFile.py)
144
-
145
- ```python
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
- )
152
- ```
153
- * Ссылка на асинхронный пример: [SendFileAsync.py](./examples/async/SendFileAsync.py)
154
-
155
- ```python
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
- )
162
- ```
163
-
164
- **Как вручную загрузить файл (для кастомных вложений):**
165
-
166
- * Ссылка на синхронный пример: [UploadFile.py](./examples/sync/UploadFile.py)
167
-
168
- ```python
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
- )
176
- ```
177
-
178
- * Ссылка на асинхронный пример: [UploadFileAsync.py](./examples/async/UploadFileAsync.py)
179
-
180
- ```python
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
- )
188
- ```
189
-
190
- **Как получить входящее уведомление (Long Polling):**
191
-
192
- * Ссылка на синхронный пример: [GetUpdates.py](./examples/sync/GetUpdates.py)
193
-
194
- ```python
195
- with API(cfg) as bot:
196
- response = bot.subscriptions.GetUpdates(
197
- marker=0,
198
- timeout=30
199
- )
200
- ```
201
-
202
- * Ссылка на асинхронный пример: [GetUpdatesAsync.py](./examples/async/GetUpdatesAsync.py)
203
-
204
- ```python
205
- async with API(cfg) as bot:
206
- response = await bot.subscriptions.GetUpdatesAsync(
207
- marker=0,
208
- timeout=30
209
- )
210
- ```
211
-
212
- -----
213
-
214
- ## Список примеров
215
-
216
- | Описание | Ссылка на пример |
217
- | ---------------------------------------------- | ------------------------------------------------------------ |
218
- | Как отправить сообщение | [SendMessage.py](./examples/sync/SendMessage.py) |
219
- | Как отправить сообщение *асинхронно* | [SendMessageAsync.py](./examples/async/SendMessageAsync.py) |
220
- | Как получить информацию о боте | [GetBot.py](./examples/sync/GetBot.py) |
221
- | Как получить информацию о боте *асинхронно* | [GetBotAsync.py](./examples/async/GetBotAsync.py) |
222
- | Как загрузить файл | [UploadFile.py](./examples/sync/UploadFile.py) |
223
- | Как загрузить файл *асинхронно* | [UploadFileAsync.py](./examples/async/UploadFileAsync.py) |
224
- | Как отправить файл | [SendFile.py](./examples/sync/SendFile.py) |
225
- | Как отправить файл *асинхронно* | [SendFileAsync.py](./examples/async/SendFileAsync.py) |
226
- | Как получить входящее уведомление | [GetUpdates.py](./examples/sync/GetUpdates.py) |
227
- | Как получить входящее уведомление *асинхронно* | [GetUpdatesAsync.py](./examples/async/GetUpdatesAsync.py) |
228
-
229
- ## Список всех методов библиотеки
230
-
231
- | Метод API | Описание | Ссылка на документацию MAX | Ссылка на документацию библиотеки |
232
- |-----------------|-------------------------|------------------------------------------------|----------------------------------------------|
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,20 +0,0 @@
1
- maxbot_api_client_python/__init__.py,sha256=Fj8XimtMcDqtDrQW0qcReCXjb6hKcl_JdRxB429C-tE,328
2
- maxbot_api_client_python/api.py,sha256=ZQamR_t8MQ8aOvabt5IAMDcVU8YPSuOJIYGZWaxvZRM,1153
3
- maxbot_api_client_python/client.py,sha256=BIpQFEQhUIdh4aCFwkRshpWvjUr_PX-JTxsJYsg3CaI,6582
4
- maxbot_api_client_python/exceptions.py,sha256=u2dpgcLysOOEpuJkBrqjYwgUTgRb_r8BSKAv-TDCwWs,1487
5
- maxbot_api_client_python/utils.py,sha256=O_FoqsaOwHtnz9_LlhkCPKrg9ra4YfrOajHOYTzb_L8,2726
6
- maxbot_api_client_python/tools/__init__.py,sha256=lLqETrmRcsRJe8B-hkDAdnWhdM6zWboWpKMZt-2w6Q8,444
7
- maxbot_api_client_python/tools/bots.py,sha256=jM_hmzMuk3TnScNcW9GR74AOxHoSQnvRlBqYDfotCLI,1710
8
- maxbot_api_client_python/tools/chats.py,sha256=vHoLS44Nnj0lqcdUXxNfa4WQUIKP5p7oHDCySrCEYVY,16066
9
- maxbot_api_client_python/tools/helpers.py,sha256=H7M4Btk5siVUTqhd-hDYqqJWv60qyqdsOXs5tXVq2dY,10753
10
- maxbot_api_client_python/tools/messages.py,sha256=_59wP2XvqHK3cP07urXNL-NpUZ-E_gUsiktofWZBj1Y,7652
11
- maxbot_api_client_python/tools/subscriptions.py,sha256=xY0Ofo8SrosgPM7dBGkiDgR3duyqQdUOSSthG10WOBs,4002
12
- maxbot_api_client_python/tools/uploads.py,sha256=cFjQ-ff59iLOU1lO3DzkRYez2lhVW4WCNxFxxLDCRuY,3654
13
- maxbot_api_client_python/types/__init__.py,sha256=_dVz7V3v-O6pYdrWlXgJfNsMQZhq6j-N8j7UecPyaQ0,140
14
- maxbot_api_client_python/types/constants.py,sha256=5fYOm9A25F_Jc4oxBblgS4B0tQUKXSF-gxpunm6CAx4,2933
15
- maxbot_api_client_python/types/models.py,sha256=zVA1B_f57iiYKpbmKmZAbww9L2ncg4r51SQozbc1_uk,13143
16
- maxbot_api_client_python-1.1.2.dist-info/licenses/LICENSE,sha256=v1Mdo-KDvHFJnCaCcCPm4pR4JiovXR-v1BcS2YCvFLg,1085
17
- maxbot_api_client_python-1.1.2.dist-info/METADATA,sha256=UY2mPnEFuBFz2CkxTZkVrboEsh-AJi8Z1JIVSH5Vw74,19507
18
- maxbot_api_client_python-1.1.2.dist-info/WHEEL,sha256=aeYiig01lYGDzBgS8HxWXOg3uV61G9ijOsup-k9o1sk,91
19
- maxbot_api_client_python-1.1.2.dist-info/top_level.txt,sha256=o06jXmPodox_bJjiNcOS6ydGU754_BakTaSYFQihSiQ,25
20
- maxbot_api_client_python-1.1.2.dist-info/RECORD,,