Skip to content

Commit 1e17ec4

Browse files
feat: initial commit
0 parents  commit 1e17ec4

67 files changed

Lines changed: 5753 additions & 0 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.gitignore

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
build/
2+
dist/
3+
*.egg-info/
4+
.eggs/
5+
6+
__pycache__/
7+
*.py[cod]
8+
*$py.class
9+
10+
venv/
11+
env/
12+
.venv/
13+
14+
.vscode/
15+
.idea/

LICENSE

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
MIT License
2+
3+
Copyright (c) 2026 GREEN-API
4+
5+
Permission is hereby granted, free of charge, to any person obtaining a copy
6+
of this software and associated documentation files (the "Software"), to deal
7+
in the Software without restriction, including without limitation the rights
8+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9+
copies of the Software, and to permit persons to whom the Software is
10+
furnished to do so, subject to the following conditions:
11+
12+
The above copyright notice and this permission notice shall be included in all
13+
copies or substantial portions of the Software.
14+
15+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21+
SOFTWARE.

README.md

Lines changed: 233 additions & 0 deletions
Large diffs are not rendered by default.

docs/bots/GetBot.md

Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
# GetBot
2+
3+
[dev.max.ru/docs-api/methods/GET/me](https://dev.max.ru/docs-api/methods/GET/me)
4+
5+
Метод предназначен для получения данных бота.
6+
7+
## Запрос {#request}
8+
9+
### Пример запроса {#request-example}
10+
11+
*Синхронный запрос:*
12+
13+
```python
14+
response = bot.Bots.get_bot()
15+
```
16+
17+
*Асинхронный запрос:*
18+
19+
```python
20+
response = await bot.Bots.get_bot_async()
21+
```
22+
23+
## Ответ {#response}
24+
25+
[**объект `BotInfo`**](../objects/User.md#botinfo-botinfo)
26+
27+
### Поля ответа {#response-parameters}
28+
29+
| Поле | Тип | Описание |
30+
|--------------------|-------------|-----------------------------------------------------------------------------------------------------------|
31+
| `user_id` | **integer** | Идентификатор пользователя или бота |
32+
| `first_name` | **string** | Отображаемое имя пользователя или бота |
33+
| `last_name` | **string** | Отображаемая фамилия пользователя. Для ботов это поле не возвращается |
34+
| `username` | **string** | Никнейм бота или уникальное публичное имя пользователя. |
35+
| `is_bot` | **boolean** | `true`, если это бот |
36+
| <nobr>`last_activity_time`<nobr> | **integer** | Время последней активности пользователя или бота в MAX (Unix-время в миллисекундах) |
37+
| `description` | **string** | Описание бота (до 16000 символов) |
38+
| `avatar_url` | **string** | URL аватара бота в уменьшенном размере |
39+
| `full_avatar_url` | **string** | URL аватара бота в полном размере |
40+
| `commands` | [**object**](../objects/User.md#поля-объекта-botcommand-botcommand) | Команды, поддерживаемые ботом (до 32 элементов) |
41+
42+
### Пример тела ответа {#response-example-body}
43+
44+
```json
45+
{
46+
"user_id": 123456789,
47+
"first_name": "GREEN-API",
48+
"username": "id1234567890_1_bot",
49+
"is_bot": true,
50+
"last_activity_time": 1773814559150,
51+
"description": "Test bot",
52+
"avatar_url": "https://i.oneme.ru/i?r=BTFjO43w8Yr1OSJ4tcurq5HiiuX5O9Fsy5lfWoOPCwG1Y9LtsPSxKRIDWbrHrJ8JfPo",
53+
"full_avatar_url": "https://i.oneme.ru/i?r=BTFjO43w8Yr1OSJ4tcurq5Hi0Hf8i3P1bQrH_cLXNMIZVtLtsPSxKRIDWbrHrJ8JfPo"
54+
}
55+
```

docs/bots/PatchBot.md

Lines changed: 66 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,66 @@
1+
# PatchBot
2+
3+
Метод предназначен для изменения данных бота.
4+
5+
## Запрос {#request}
6+
7+
### Поля запроса {#request-parameters}
8+
9+
| Поле | Тип | Обязательный | Описание |
10+
|----------------------------|----------------------------------------------|--------------|----------------------------------------------------------------|
11+
| `name` | **string** | Нет | Отображаемое имя бота |
12+
| `username` | **string** | Нет | Никнейм бота |
13+
| <nobr>`description`</nobr> | **string** | Нет | Описание бота (до 16000 символов) |
14+
| `commands` | [**object**](../objects/User.md#поля-объекта-botcommand-botcommand) | Нет | Команды, поддерживаемые ботом (до 32 элементов) |
15+
16+
### Пример запроса {#request-example}
17+
18+
*Синхронный запрос:*
19+
20+
```python
21+
request = BotPatch(
22+
name="New name"
23+
)
24+
response = bot.bots.patch_bot(request)
25+
```
26+
27+
*Асинхронный запрос:*
28+
29+
```python
30+
request = BotPatch(
31+
name="New name"
32+
)
33+
response = await bot.bots.patch_bot_async(request)
34+
```
35+
36+
## Ответ {#response}
37+
38+
### Поля ответа {#response-parameters}
39+
40+
| Поле | Тип | Описание |
41+
|----------------------|-------------|--------------------------------------------------------------------------------------------------------------|
42+
| `user_id` | **integer** | Идентификатор бота |
43+
| `first_name` | **string** | Отображаемое имя бота |
44+
| `username` | **string** | Никнейм бота |
45+
| `is_bot` | **boolean** | Для ботов всегда `true` |
46+
| <nobr>`last_activity_time`</nobr> | **integer** | Время последней активности бота в MAX (Unix-время в миллисекундах) |
47+
| `description` | **string** | Описание бота (до 16000 символов) |
48+
| `avatar_url` | **string** | URL аватара бота в уменьшенном размере |
49+
| `full_avatar_url` | **string** | URL аватара бота в полном размере |
50+
| `commands` | [**object**](../objects/User.md#поля-объекта-botcommand-botcommand) | Команды, поддерживаемые ботом (до 32 элементов) |
51+
52+
53+
### Пример тела ответа {#response-example-body}
54+
55+
```json
56+
{
57+
"user_id": 123456789,
58+
"first_name": "New name",
59+
"username": "id1234567890_1_bot",
60+
"is_bot": true,
61+
"last_activity_time": 1773814559150,
62+
"description": "Test bot",
63+
"avatar_url": "https://i.oneme.ru/i?r=BTFjO43w8Yr1OSJ4tcurq5HiiuX5O9Fsy5lfWoOPCwG1Y9LtsPSxKRIDWbrHrJ8JfPo",
64+
"full_avatar_url": "https://i.oneme.ru/i?r=BTFjO43w8Yr1OSJ4tcurq5Hi0Hf8i3P1bQrH_cLXNMIZVtLtsPSxKRIDWbrHrJ8JfPo"
65+
}
66+
```

docs/chats/AddMembers.md

Lines changed: 85 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,85 @@
1+
# AddMembers
2+
3+
[dev.max.ru/docs-api/methods/POST/chats/-chatId-/members](https://dev.max.ru/docs-api/methods/POST/chats/-chatId-/members)
4+
5+
Добавляет участников в групповой чат. Для этого могут потребоваться дополнительные права
6+
7+
## Запрос {#request}
8+
9+
### Поля запроса {#request-parameters}
10+
11+
| Поле      | Тип       | Обязательный | Описание                                 |
12+
|------------|-------------|--------------|------------------------------------------|
13+
| `chat_id`  | **integer** | Да           | ID чата                                  |
14+
| `user_ids` | **array** | Да           | Массив ID добавляемых пользователей |
15+
16+
### Пример запроса {#request-example}
17+
18+
*Синхронный запрос:*
19+
20+
```python
21+
request = AddMembersReq(
22+
chat_id=123456789,
23+
user_ids=[77777, 88888]
24+
)
25+
response = bot.chats.add_members(request)
26+
```
27+
28+
*Асинхронный запрос:*
29+
30+
```python
31+
request = AddMembersReq(
32+
chat_id=123456789,
33+
user_ids=[77777, 88888]
34+
)
35+
response = await bot.chats.add_members_async(request)
36+
```
37+
38+
## Ответ {#response}
39+
40+
### Поля ответа {#response-parameters}
41+
42+
| Поле                  | Тип         | Описание                                               |
43+
|-----------------------|-------------|---------------------------------------------------------------------------------------------------------------|
44+
| `success`             | **boolean** | `true`, если запрос был успешным,`false` — в противном случае    |
45+
| `message` | **string** | Объяснительное сообщение, если результат не был успешным |
46+
| `failed_user_ids`     | **array**   | Массив ID пользователей, которых не удалось добавить   |
47+
| `failed_user_details` | [**object**](#поля-объекта-faileduserdetails-faileduserdetails)  | Детальная информация об ошибках для каждого пользователя |
48+
49+
### Поля объекта `FailedUserDetails` {#failedUserDetails}
50+
51+
| Поле          | Тип         | Описание                                               |
52+
|---------------|-------------|----------------------------------------------------------|
53+
| <nobr>`error_code`</nobr> | **string** | Код ошибки <br>Возможные значения: |
54+
||| `add.participant.privacy` — ошибки конфиденциальности при добавлении пользователей |
55+
||| `add.participant.not.found` — пользователи не найдены |
56+
| `user_ids` | **array** | ID пользователей с данной ошибкой |
57+
58+
### Пример тела ответа {#response-example-body}
59+
60+
**Успех:**
61+
62+
```json
63+
{
64+
    "success": true,
65+
}
66+
```
67+
68+
**Ошибка:**
69+
70+
```json
71+
{
72+
"success": false,
73+
"failed_user_ids": [
74+
123456789
75+
],
76+
"failed_user_details": [
77+
{
78+
"error_code": "add.participant.not.found",
79+
"user_ids": [
80+
123456789
81+
]
82+
}
83+
]
84+
}
85+
```

docs/chats/DeleteAdmin.md

Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
# DeleteAdmin
2+
3+
[dev.max.ru/docs-api/methods/DELETE/chats/-chatId-/members/admins/-userId-](https://dev.max.ru/docs-api/methods/DELETE/chats/-chatId-/members/admins/-userId-)
4+
5+
Отменяет права администратора у пользователя в групповом чате, лишая его административных привилегий
6+
7+
## Запрос {#request}
8+
9+
### Поля запроса {#request-parameters}
10+
11+
| Поле     | Тип       | Обязательный | Описание                        |
12+
|-----------|-------------|--------------|---------------------------------|
13+
| `chat_id` | **integer** | Да           | ID чата                         |
14+
| `user_id` | **integer** | Да           | ID пользователя                 |
15+
16+
### Пример запроса {#request-example}
17+
18+
*Синхронный запрос:*
19+
20+
```python
21+
request = DeleteAdminReq(
22+
chat_id=123456789,
23+
user_id=55555
24+
)
25+
bot.chats.delete_admin(request)
26+
```
27+
28+
*Асинхронный запрос:*
29+
30+
```python
31+
request = DeleteAdminReq(
32+
chat_id=123456789,
33+
user_id=55555
34+
)
35+
await bot.chats.delete_admin_async(request)
36+
```
37+
38+
## Ответ {#response}
39+
40+
### Поля ответа {#response-parameters}
41+
42+
| Поле      | Тип         | Описание                                                 |
43+
|-----------|-------------|----------------------------------------------------------------|
44+
| `success` | **boolean** | `true`, если запрос был успешным,`false` — в противном случае  |
45+
| `message` | **string**  | Объяснительное сообщение, если результат не был успешным |
46+
47+
### Пример тела ответа {#response-example-body}
48+
49+
```json
50+
{
51+
    "success": true
52+
}
53+
```

docs/chats/DeleteChat.md

Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,61 @@
1+
# DeleteChat
2+
3+
[dev.max.ru/docs-api/methods/DELETE/chats/-chatId-](https://dev.max.ru/docs-api/methods/DELETE/chats/-chatId-)
4+
5+
Удаляет групповой чат для всех участников
6+
7+
## Запрос {#request}
8+
9+
### Поля запроса {#request-parameters}
10+
11+
| Поле     | Тип       | Обязательный | Описание                    |
12+
|-----------|-------------|--------------|-----------------------------|
13+
| `chat_id` | **integer** | Да           | ID удаляемого чата          |
14+
15+
### Пример запроса {#request-example}
16+
17+
*Синхронный запрос:*
18+
19+
```python
20+
request = DeleteChatReq(
21+
chat_id=123456789
22+
)
23+
bot.chats.delete_chat(request)
24+
```
25+
26+
*Асинхронный запрос:*
27+
28+
```python
29+
request = DeleteChatReq(
30+
chat_id=123456789
31+
)
32+
await bot.chats.delete_chat_async(request)
33+
```
34+
35+
## Ответ {#response}
36+
37+
### Поля ответа {#response-parameters}
38+
39+
| Поле      | Тип         | Описание                                                 |
40+
|-----------|-------------|----------------------------------------------------------------|
41+
| `success` | **boolean** | `true`, если запрос был успешным,`false` — в противном случае  |
42+
| `message` | **string**  | Объяснительное сообщение, если результат не был успешным |
43+
44+
### Пример тела ответа {#response-example-body}
45+
46+
**Успех:**
47+
48+
```json
49+
{
50+
    "success": true
51+
}
52+
```
53+
54+
**Ошибка:**
55+
56+
```json
57+
{
58+
    "success": false,
59+
    "message": "error.chat.not_found"
60+
}
61+
```

0 commit comments

Comments
 (0)