maxapi-python 0.1.0__py3-none-any.whl → 0.1.2__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.
- maxapi_python-0.1.2.dist-info/METADATA +163 -0
- maxapi_python-0.1.2.dist-info/RECORD +25 -0
- {maxapi_python-0.1.0.dist-info → maxapi_python-0.1.2.dist-info}/WHEEL +1 -2
- pymax/core.py +37 -481
- pymax/crud.py +1 -1
- pymax/files.py +85 -0
- pymax/filters.py +38 -0
- pymax/interfaces.py +67 -0
- pymax/mixins/__init__.py +18 -0
- pymax/mixins/auth.py +81 -0
- pymax/mixins/channel.py +25 -0
- pymax/mixins/group.py +220 -0
- pymax/mixins/handler.py +60 -0
- pymax/mixins/message.py +293 -0
- pymax/mixins/self.py +38 -0
- pymax/mixins/user.py +82 -0
- pymax/mixins/websocket.py +242 -0
- pymax/payloads.py +175 -0
- pymax/static.py +143 -19
- pymax/types.py +134 -29
- pymax/utils.py +38 -0
- maxapi_python-0.1.0.dist-info/METADATA +0 -110
- maxapi_python-0.1.0.dist-info/RECORD +0 -12
- maxapi_python-0.1.0.dist-info/top_level.txt +0 -1
- {maxapi_python-0.1.0.dist-info → maxapi_python-0.1.2.dist-info}/licenses/LICENSE +0 -0
@@ -0,0 +1,163 @@
|
|
1
|
+
Metadata-Version: 2.4
|
2
|
+
Name: maxapi-python
|
3
|
+
Version: 0.1.2
|
4
|
+
Summary: Python wrapper для API мессенджера Max
|
5
|
+
Project-URL: Homepage, https://github.com/noxzion/PyMax
|
6
|
+
Project-URL: Repository, https://github.com/noxzion/PyMax
|
7
|
+
Project-URL: Issues, https://github.com/noxzion/PyMax/issues
|
8
|
+
Author-email: noxzion <mail@gmail.com>
|
9
|
+
License-Expression: MIT
|
10
|
+
License-File: LICENSE
|
11
|
+
Keywords: api,max,messenger,websocket,wrapper
|
12
|
+
Classifier: Operating System :: OS Independent
|
13
|
+
Classifier: Programming Language :: Python :: 3
|
14
|
+
Requires-Python: >=3.10
|
15
|
+
Requires-Dist: aiofiles>=24.1.0
|
16
|
+
Requires-Dist: aiohttp>=3.12.15
|
17
|
+
Requires-Dist: lz4>=4.4.4
|
18
|
+
Requires-Dist: msgpack>=1.1.1
|
19
|
+
Requires-Dist: sqlmodel>=0.0.24
|
20
|
+
Requires-Dist: websockets>=11.0
|
21
|
+
Description-Content-Type: text/markdown
|
22
|
+
|
23
|
+
<p align="center">
|
24
|
+
<img src="assets/logo.svg" alt="PyMax" width="400">
|
25
|
+
</p>
|
26
|
+
|
27
|
+
<p align="center">
|
28
|
+
<strong>Python wrapper для API мессенджера Max</strong>
|
29
|
+
</p>
|
30
|
+
|
31
|
+
<p align="center">
|
32
|
+
<img src="https://img.shields.io/badge/python-3.10+-3776AB.svg" alt="Python 3.11+">
|
33
|
+
<img src="https://img.shields.io/badge/License-MIT-2f9872.svg" alt="License: MIT">
|
34
|
+
<img src="https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/ruff/main/assets/badge/v2.json" alt="Ruff">
|
35
|
+
<img src="https://img.shields.io/badge/packaging-uv-D7FF64.svg" alt="Packaging">
|
36
|
+
</p>
|
37
|
+
|
38
|
+
---
|
39
|
+
> ⚠️ **Дисклеймер**
|
40
|
+
>
|
41
|
+
> * Это **неофициальная** библиотека для работы с внутренним API Max.
|
42
|
+
> * Использование может **нарушать условия предоставления услуг** сервиса.
|
43
|
+
> * **Вы используете её исключительно на свой страх и риск.**
|
44
|
+
> * **Разработчики и контрибьюторы не несут никакой ответственности** за любые последствия использования этого пакета, включая, но не ограничиваясь: блокировку аккаунтов, утерю данных, юридические риски и любые другие проблемы.
|
45
|
+
> * API может быть изменен в любой момент без предупреждения.
|
46
|
+
---
|
47
|
+
|
48
|
+
## Описание
|
49
|
+
|
50
|
+
**`pymax`** — асинхронная Python библиотека для работы с API мессенджера Max. Предоставляет интерфейс для отправки сообщений, управления чатами, каналами и диалогами через WebSocket соединение.
|
51
|
+
|
52
|
+
### Основные возможности
|
53
|
+
|
54
|
+
- Вход по номеру телефона
|
55
|
+
- Отправка, редактирование и удаление сообщений
|
56
|
+
- Работа с чатами и каналами
|
57
|
+
- История сообщений
|
58
|
+
|
59
|
+
## Установка
|
60
|
+
|
61
|
+
> [!IMPORTANT]
|
62
|
+
> Для работы библиотеки требуется Python 3.10 или выше
|
63
|
+
|
64
|
+
### Установка через pip
|
65
|
+
|
66
|
+
```bash
|
67
|
+
pip install -U maxapi-python
|
68
|
+
```
|
69
|
+
|
70
|
+
### Установка через uv
|
71
|
+
|
72
|
+
```bash
|
73
|
+
uv add -U maxapi-python
|
74
|
+
```
|
75
|
+
|
76
|
+
## Быстрый старт
|
77
|
+
|
78
|
+
### Базовый пример использования
|
79
|
+
|
80
|
+
```python
|
81
|
+
import asyncio
|
82
|
+
from pymax import MaxClient, Message
|
83
|
+
|
84
|
+
# Инициализация клиента
|
85
|
+
phone = "+1234567890"
|
86
|
+
client = MaxClient(phone=phone, work_dir="cache")
|
87
|
+
|
88
|
+
# Обработчик входящих сообщений
|
89
|
+
@client.on_message()
|
90
|
+
async def handle_message(message: Message) -> None:
|
91
|
+
print(f"{message.sender}: {message.text}")
|
92
|
+
|
93
|
+
# Обработчик запуска клиента
|
94
|
+
@client.on_start
|
95
|
+
async def handle_start() -> None:
|
96
|
+
print("Клиент запущен")
|
97
|
+
|
98
|
+
# Получение истории сообщений
|
99
|
+
history = await client.fetch_history(chat_id=0)
|
100
|
+
if history:
|
101
|
+
for message in history:
|
102
|
+
user = await client.get_user(message.sender)
|
103
|
+
if user:
|
104
|
+
print(f"{user.names[0].name}: {message.text}")
|
105
|
+
|
106
|
+
async def main() -> None:
|
107
|
+
await client.start()
|
108
|
+
|
109
|
+
# Работа с чатами
|
110
|
+
for chat in client.chats:
|
111
|
+
print(f"Чат: {chat.title}")
|
112
|
+
|
113
|
+
# Отправка сообщения
|
114
|
+
message = await client.send_message(
|
115
|
+
"Привет от PyMax!",
|
116
|
+
chat.id,
|
117
|
+
notify=True
|
118
|
+
)
|
119
|
+
|
120
|
+
# Редактирование сообщения
|
121
|
+
await asyncio.sleep(2)
|
122
|
+
await client.edit_message(
|
123
|
+
chat.id,
|
124
|
+
message.id,
|
125
|
+
"Привет от PyMax! (отредактировано)"
|
126
|
+
)
|
127
|
+
|
128
|
+
# Удаление сообщения
|
129
|
+
await asyncio.sleep(2)
|
130
|
+
await client.delete_message(chat.id, [message.id], for_me=False)
|
131
|
+
|
132
|
+
# Работа с диалогами
|
133
|
+
for dialog in client.dialogs:
|
134
|
+
print(f"Диалог: {dialog.last_message.text}")
|
135
|
+
|
136
|
+
# Работа с каналами
|
137
|
+
for channel in client.channels:
|
138
|
+
print(f"Канал: {channel.title}")
|
139
|
+
|
140
|
+
await client.close()
|
141
|
+
|
142
|
+
if __name__ == "__main__":
|
143
|
+
asyncio.run(main())
|
144
|
+
```
|
145
|
+
|
146
|
+
## Документация
|
147
|
+
|
148
|
+
[WIP](https://noxzion.github.io/)
|
149
|
+
|
150
|
+
## Лицензия
|
151
|
+
|
152
|
+
Этот проект распространяется под лицензией MIT. См. файл [LICENSE](LICENSE) для получения информации.
|
153
|
+
|
154
|
+
## Новости
|
155
|
+
|
156
|
+
[Telegram](https://t.me/pymax_news)
|
157
|
+
|
158
|
+
## Авторы
|
159
|
+
|
160
|
+
- **[noxzion](https://github.com/noxzion)** — оригинальный автор проекта
|
161
|
+
- **[ink](https://github.com/ink-developer)** — второй разработчик, исследование API и его документация
|
162
|
+
- **[fresh-milkshake](https://github.com/fresh-milkshake)** — контрибьютор и автор лого
|
163
|
+
|
@@ -0,0 +1,25 @@
|
|
1
|
+
pymax/__init__.py,sha256=I-ZUVKBfHN-MPkLUbLPxflsvnHSFsyXdW3TmbN2_zz0,950
|
2
|
+
pymax/core.py,sha256=DjwhOXmMoPl2pT9k18lrZLjlyvzPqkby6hIbPEYlctM,6001
|
3
|
+
pymax/crud.py,sha256=_V88YErPKE4k0jPjGn8Op9FDGGVuNwRjuKN-4iIVdgM,3306
|
4
|
+
pymax/exceptions.py,sha256=tiD_JD-MYSb4qFyKov-KWOm0zlD1p_gG6nf1fV-0-SY,702
|
5
|
+
pymax/files.py,sha256=Bdvzb8xzMCstRHClldj6bh6TE-AplHG3hInjOnGU6f8,2712
|
6
|
+
pymax/filters.py,sha256=EKNDzB3jjxlfjMGs3HivFvuQ1HSuYn-xKCxvmRFmq6c,1344
|
7
|
+
pymax/interfaces.py,sha256=xAlzVgS4RLChlChZ6WbKLWGezO_b0fHC_2NBePMtyVI,2179
|
8
|
+
pymax/models.py,sha256=7sWAmVuJjM7SPnDkpYEi8CARbTpUKbXqtWKMQdwd0w0,209
|
9
|
+
pymax/payloads.py,sha256=Pp4vc3BwKzqqWpIce_NhlNw9FA7i6Jhd-hRPg1Ld8Xg,3702
|
10
|
+
pymax/static.py,sha256=LQBXSWpiA3a4IWGqC84jTt7LBHSKEqnLDlvgSiMrX_M,4891
|
11
|
+
pymax/types.py,sha256=Fsf7_8rkUnCZ7zG_A9P4WJG8wfY8YxZcc-mRLEL3kU0,14140
|
12
|
+
pymax/utils.py,sha256=2QnhUb1o-vAIthtodtfrxty9v-qd96OtMd2GMG0n5h4,1402
|
13
|
+
pymax/mixins/__init__.py,sha256=yFhB18-PMhn5yIbvIh_XBCTIdkf87M1hmsmMwL9ved0,371
|
14
|
+
pymax/mixins/auth.py,sha256=eIlJ5YY7ez99nQuICTu97XWoeKgcjk3ZVhb73qbAsMw,3160
|
15
|
+
pymax/mixins/channel.py,sha256=juLIojxsmTXstYfE9pVc98gZ9VSVZJy-chLSDOxay0A,848
|
16
|
+
pymax/mixins/group.py,sha256=5MH2S78Q0JxcECEopGPi80QjcTO5bQNOwYLgRx3Gkt4,8040
|
17
|
+
pymax/mixins/handler.py,sha256=S6zGnm6U9yNY7LU1MV0TsYQj3MXkeOhiuUGlXyM2kTw,2164
|
18
|
+
pymax/mixins/message.py,sha256=pm4YFRmmYdldnk3G4rfjwAbodY-TfeIIvFHez6Xse_o,10542
|
19
|
+
pymax/mixins/self.py,sha256=Z1FiWFXJf3Qu9mKTQGrobe01bx4opa-uH5p6wedRWbI,1207
|
20
|
+
pymax/mixins/user.py,sha256=V8HLhLMopxItWfc4BF9P3eFjF8ksGAepkqaXrJ1e0ZE,3127
|
21
|
+
pymax/mixins/websocket.py,sha256=o7ITyScJNcoBP93dg9itLfGWl1oHmJy31K42j5sUTJQ,9736
|
22
|
+
maxapi_python-0.1.2.dist-info/METADATA,sha256=jWYrhQ_-auSt6H_q5vS5OrH6QeQvQ_heeIu-sGSBsas,5930
|
23
|
+
maxapi_python-0.1.2.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
|
24
|
+
maxapi_python-0.1.2.dist-info/licenses/LICENSE,sha256=Ud-0SKeXO_yA02Bb1nMDnEaSGwz2OqNlfGQbk0IzqPI,1085
|
25
|
+
maxapi_python-0.1.2.dist-info/RECORD,,
|