maxapi-python 2.4.0__py3-none-any.whl → 2.5.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.
- {maxapi_python-2.4.0.dist-info → maxapi_python-2.5.0.dist-info}/METADATA +22 -12
- maxapi_python-2.5.0.dist-info/RECORD +195 -0
- {maxapi_python-2.4.0.dist-info → maxapi_python-2.5.0.dist-info}/WHEEL +1 -1
- pymax/__init__.py +8 -2
- pymax/_data/apk_fingerprints.json +374 -17
- pymax/_data/rootca_ssl_rsa2022.crt +33 -0
- pymax/api/auth/service.py +15 -2
- pymax/api/auth/types.py +3 -0
- pymax/api/bots/payloads.py +8 -0
- pymax/api/bots/service.py +13 -1
- pymax/api/chats/enums.py +1 -0
- pymax/api/chats/payloads.py +21 -1
- pymax/api/chats/service.py +41 -0
- pymax/api/facade.py +2 -0
- pymax/api/messages/__init__.py +1 -1
- pymax/api/messages/enums.py +1 -0
- pymax/api/messages/payloads.py +56 -4
- pymax/api/messages/service.py +405 -27
- pymax/api/response.py +1 -1
- pymax/api/stories/__init__.py +2 -0
- pymax/api/stories/enums.py +19 -0
- pymax/api/stories/payloads.py +64 -0
- pymax/api/stories/service.py +198 -0
- pymax/api/uploads/payloads.py +42 -1
- pymax/api/uploads/service.py +171 -69
- pymax/app.py +39 -8
- pymax/auth/__init__.py +2 -0
- pymax/auth/exceptions.py +9 -0
- pymax/auth/providers.py +6 -2
- pymax/auth/qr.py +11 -1
- pymax/auth/sms.py +11 -1
- pymax/base.py +146 -27
- pymax/client.py +39 -11
- pymax/client_web.py +15 -12
- pymax/config.py +101 -53
- pymax/di/__init__.py +2 -0
- pymax/di/context.py +18 -0
- pymax/di/resolver.py +38 -0
- pymax/dispatch/__init__.py +7 -0
- pymax/dispatch/dispatcher.py +143 -40
- pymax/dispatch/enums.py +1 -0
- pymax/dispatch/mapping.py +23 -3
- pymax/dispatch/middleware.py +32 -0
- pymax/dispatch/resolvers.py +4 -0
- pymax/dispatch/router.py +86 -34
- pymax/files/base.py +58 -1
- pymax/files/video.py +32 -40
- pymax/files/voice.py +18 -4
- pymax/filters/__init__.py +15 -0
- pymax/filters/base.py +218 -0
- pymax/filters/containers/__init__.py +2 -0
- pymax/filters/containers/chat.py +240 -0
- pymax/filters/containers/message.py +147 -0
- pymax/filters/filters.py +211 -0
- pymax/filters/magic.py +13 -0
- pymax/filters/presets.py +88 -0
- pymax/filters/refs.py +56 -0
- pymax/fingerprint/fingerprint.py +5 -22
- pymax/fingerprint/models.py +1 -0
- pymax/formatting/markdown.py +55 -1
- pymax/fsm/__init__.py +3 -0
- pymax/fsm/context.py +30 -0
- pymax/fsm/protocol.py +14 -0
- pymax/fsm/state.py +70 -0
- pymax/fsm/storage.py +151 -0
- pymax/infra/base.py +2 -0
- pymax/infra/bots.py +20 -0
- pymax/infra/chat.py +37 -5
- pymax/infra/message.py +204 -9
- pymax/infra/protocol.py +5 -1
- pymax/infra/stories.py +205 -0
- pymax/integrations/__init__.py +0 -0
- pymax/integrations/dishka.py +109 -0
- pymax/protocol/enums.py +2 -0
- pymax/protocol/tcp/payload.py +0 -2
- pymax/session/__init__.py +1 -1
- pymax/session/models.py +30 -0
- pymax/session/protocol.py +33 -7
- pymax/session/store.py +73 -5
- pymax/transport/tcp.py +11 -3
- pymax/types/domain/__init__.py +23 -1
- pymax/types/domain/attachments/__init__.py +1 -1
- pymax/types/domain/attachments/call.py +7 -1
- pymax/types/domain/attachments/contact.py +3 -3
- pymax/types/domain/attachments/control.py +3 -0
- pymax/types/domain/attachments/enums.py +16 -0
- pymax/types/domain/attachments/keyboards/__init__.py +1 -1
- pymax/types/domain/attachments/keyboards/enums.py +12 -0
- pymax/types/domain/attachments/keyboards/inline.py +74 -3
- pymax/types/domain/attachments/video.py +3 -3
- pymax/types/domain/callback.py +19 -0
- pymax/types/domain/comment.py +24 -0
- pymax/types/domain/enums.py +7 -0
- pymax/types/domain/message.py +158 -9
- pymax/types/domain/story.py +126 -0
- pymax/types/events/reaction.py +28 -4
- pymax/versions/__init__.py +2 -0
- pymax/versions/catalog.py +104 -0
- pymax/versions/exceptions.py +10 -0
- maxapi_python-2.4.0.dist-info/RECORD +0 -161
- {maxapi_python-2.4.0.dist-info → maxapi_python-2.5.0.dist-info}/licenses/LICENSE +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
Metadata-Version: 2.
|
|
1
|
+
Metadata-Version: 2.5
|
|
2
2
|
Name: maxapi-python
|
|
3
|
-
Version: 2.
|
|
3
|
+
Version: 2.5.0
|
|
4
4
|
Summary: Python wrapper для API мессенджера Max
|
|
5
5
|
Project-URL: Homepage, https://github.com/MaxApiTeam/PyMax
|
|
6
6
|
Project-URL: Repository, https://github.com/MaxApiTeam/PyMax
|
|
@@ -32,6 +32,8 @@ Requires-Dist: python-socks[asyncio]>=2.8.1
|
|
|
32
32
|
Requires-Dist: qrcode>=8.2
|
|
33
33
|
Requires-Dist: websockets>=16.0
|
|
34
34
|
Requires-Dist: zstandard>=0.25.0
|
|
35
|
+
Provides-Extra: dishka
|
|
36
|
+
Requires-Dist: dishka>=1.10.1; extra == 'dishka'
|
|
35
37
|
Provides-Extra: video
|
|
36
38
|
Requires-Dist: tinytag>=2.2.1; extra == 'video'
|
|
37
39
|
Description-Content-Type: text/markdown
|
|
@@ -43,6 +45,7 @@ Python-библиотека для Max API.
|
|
|
43
45
|
[](https://www.python.org/)
|
|
44
46
|
[](LICENSE)
|
|
45
47
|
[](https://pypi.org/project/maxapi-python/)
|
|
48
|
+
[](https://pepy.tech/projects/maxapi-python)
|
|
46
49
|
|
|
47
50
|
> [!WARNING]
|
|
48
51
|
> PyMax использует неофициальный внутренний API Max. API может измениться без
|
|
@@ -61,11 +64,15 @@ WebSocket.
|
|
|
61
64
|
|
|
62
65
|
- Авторизация по телефону и SMS-коду через `Client`.
|
|
63
66
|
- QR-авторизация web-клиента через `WebClient`.
|
|
64
|
-
- Роутеры, фильтры, `on_start`, raw-события и typed events.
|
|
65
|
-
-
|
|
67
|
+
- Роутеры, составные фильтры, middleware, `on_start`, raw-события и typed events.
|
|
68
|
+
- FSM для диалогов и необязательная интеграция с Dishka.
|
|
69
|
+
- Сообщения: отправка и планирование, ответы, реакции, pin, read, delete и история.
|
|
70
|
+
- Комментарии к постам каналов и нажатия inline-кнопок ботов.
|
|
71
|
+
- Сторис: фото и видео, лента, реакции и статистика просмотров.
|
|
66
72
|
- Чаты, группы, участники, invite-ссылки и настройки групп.
|
|
67
73
|
- Пользователи, контакты, профиль, папки, активные сессии и 2FA.
|
|
68
|
-
- Вложения: `Photo`, `File`, `Video`.
|
|
74
|
+
- Вложения: `Photo`, `File`, `Video`, `Voice`, `VideoNote`.
|
|
75
|
+
- Выбор версии mobile-клиента с локальным или обновляемым каталогом fingerprints.
|
|
69
76
|
- SQLite-сессии, sync-state, reconnect и debug-логи.
|
|
70
77
|
- Pydantic-модели и удобные domain-объекты.
|
|
71
78
|
|
|
@@ -98,6 +105,7 @@ pip install git+https://github.com/MaxApiTeam/PyMax.git
|
|
|
98
105
|
import asyncio
|
|
99
106
|
|
|
100
107
|
from pymax import Client, Message
|
|
108
|
+
from pymax.filters import Command
|
|
101
109
|
|
|
102
110
|
client = Client(
|
|
103
111
|
phone="+79990000000",
|
|
@@ -112,7 +120,7 @@ async def on_start(client: Client) -> None:
|
|
|
112
120
|
print("Ваш ID:", client.me.contact.id if client.me else "unknown")
|
|
113
121
|
|
|
114
122
|
|
|
115
|
-
@client.on_message()
|
|
123
|
+
@client.on_message(Command("start"))
|
|
116
124
|
async def on_message(message: Message, client: Client) -> None:
|
|
117
125
|
print(message.chat_id, message.sender, message.text)
|
|
118
126
|
|
|
@@ -128,6 +136,8 @@ if __name__ == "__main__":
|
|
|
128
136
|
asyncio.run(main())
|
|
129
137
|
```
|
|
130
138
|
|
|
139
|
+
Отправьте `/start`, чтобы вызвать обработчик.
|
|
140
|
+
|
|
131
141
|
## WebClient
|
|
132
142
|
|
|
133
143
|
`WebClient` использует WebSocket и QR-авторизацию:
|
|
@@ -155,15 +165,12 @@ Handler всегда принимает событие и клиента: `(even
|
|
|
155
165
|
|
|
156
166
|
```python
|
|
157
167
|
from pymax import Client, ClientRouter, Message
|
|
168
|
+
from pymax.filters import Command
|
|
158
169
|
|
|
159
170
|
router = ClientRouter()
|
|
160
171
|
|
|
161
172
|
|
|
162
|
-
|
|
163
|
-
return message.text == "/start"
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
@router.on_message(is_start)
|
|
173
|
+
@router.on_message(Command("start"))
|
|
167
174
|
async def start(message: Message, client: Client) -> None:
|
|
168
175
|
await message.answer("Готово")
|
|
169
176
|
|
|
@@ -176,8 +183,11 @@ client.include_router(router)
|
|
|
176
183
|
|
|
177
184
|
- [Getting Started](docs/getting-started.rst) - первый запуск и сессии.
|
|
178
185
|
- [Client](docs/client.rst) - жизненный цикл клиента, reconnect и sync-state.
|
|
179
|
-
- [Router](docs/router.rst) - роутеры,
|
|
186
|
+
- [Router](docs/router.rst) - роутеры, фильтры, middleware и raw events.
|
|
187
|
+
- [FSM](docs/fsm.rst) - состояния и данные диалога.
|
|
188
|
+
- [DI и Dishka](docs/di.rst) - зависимости обработчиков.
|
|
180
189
|
- [Messages](docs/messages.rst) - сообщения, реакции, история и вложения.
|
|
190
|
+
- [Stories](docs/stories.rst) - публикация и чтение сторис.
|
|
181
191
|
- [Files](docs/files.rst) - отправка и скачивание файлов.
|
|
182
192
|
- [FAQ](docs/faq.rst) и [Troubleshooting](docs/troubleshooting.rst) - частые
|
|
183
193
|
проблемы.
|
|
@@ -0,0 +1,195 @@
|
|
|
1
|
+
pymax/__init__.py,sha256=JnKQOXbXOE3WQxf1vIkMOqf3YVv8nP6y9q5IKcHXJPs,1791
|
|
2
|
+
pymax/app.py,sha256=8Mcje3MqLXDxETwvJMBS3q92IvNTMtZHbp1MBcOT728,14318
|
|
3
|
+
pymax/base.py,sha256=LY1iR30BvGrojqhHib2K9B9kHO62KjlOTX6X7jSrtSA,15785
|
|
4
|
+
pymax/client.py,sha256=dXW7991CcnNqBcx7EjP4UBpR7mHMfi4tb0ElkcgW7Vs,5421
|
|
5
|
+
pymax/client_web.py,sha256=1F5AULJILcXE_Xphg666dZ-vcR3U6OvdACZUd9QrBkw,3293
|
|
6
|
+
pymax/config.py,sha256=bEvuu0UyPt_MjPYmkIgPS_ESjLqBNxl_f2cvpC7hGjY,12583
|
|
7
|
+
pymax/exceptions.py,sha256=8pxjZsfgrMPrZfE3zedIbabqP75diEr2_6Xg3PGjiSQ,963
|
|
8
|
+
pymax/logging.py,sha256=j2-7guTR8otCrSk0w7NL2y-d_gJoNUS5Fh9NtsdEgIg,4632
|
|
9
|
+
pymax/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
10
|
+
pymax/routers.py,sha256=UvIEWcBF1VPBmUFrubBQ7uo3DZylf4qdbnQGDkUYjyE,225
|
|
11
|
+
pymax/_data/apk_fingerprints.json,sha256=r3v42s32CgiRnE3c26k6BCZf8f_cQjrTFfvHKwWmqxs,53194
|
|
12
|
+
pymax/_data/rootca_ssl_rsa2022.crt,sha256=qoAO80VCLWFYxvr-HAbEKdvaIcPfS7HMtFqSDsERE5k,2057
|
|
13
|
+
pymax/api/__init__.py,sha256=oWC09vGaP6S7_nnTJ4y5PbTkbA4U29DhafpwIqD2QGI,356
|
|
14
|
+
pymax/api/binding.py,sha256=q63tSMxwh8cX28r2JwK3_TyxsV8zThflMaQiMb0vx8M,1613
|
|
15
|
+
pymax/api/facade.py,sha256=HzzzXsg1XiyqzY9WQolHUhglClgb01qG8gPgy8IGDqo,978
|
|
16
|
+
pymax/api/models.py,sha256=Vc0y9__za1aju3zgHW4aS6lMr1SyZi7q0lrQhfviFUA,344
|
|
17
|
+
pymax/api/response.py,sha256=8T7e1YImYBhdZn7VKp2Mx_jv43qBMaam0Z950mxeswo,2593
|
|
18
|
+
pymax/api/auth/__init__.py,sha256=m6yw6RPrq10iNkSI8z59n3OXTnAw8VfxIALnhVztL2g,33
|
|
19
|
+
pymax/api/auth/enums.py,sha256=m8zRS62894Szs-xyGIIvyGS51Fjq5ldp89kvxu_C3gg,681
|
|
20
|
+
pymax/api/auth/payloads.py,sha256=TA5am-M5IIOE2CWENQ8NEIjoYYHzyZdahS24OPA3VnA,3888
|
|
21
|
+
pymax/api/auth/service.py,sha256=l1TMwy5OSz-bH29lRpOqTJxGCO6uVTRaO6A5QpaGSjE,16002
|
|
22
|
+
pymax/api/auth/types.py,sha256=3ImesX-4HjWAo7bO4aRoRnTmVGUNuK__jrK2fSChZ1c,254
|
|
23
|
+
pymax/api/bots/__init__.py,sha256=4P7rM-XeeDOElEktov1Vbfo8nzjJgmyA4_pQl4WvzRQ,33
|
|
24
|
+
pymax/api/bots/payloads.py,sha256=G8wmQwz0XgeSjp7hPy-gxynnAuKzRA4pKlsIv245MaE,334
|
|
25
|
+
pymax/api/bots/service.py,sha256=2f2wUIkaIS_PJPO3piIecLmi8jWzGTcdi00B2IUy0y4,1436
|
|
26
|
+
pymax/api/chats/__init__.py,sha256=P_T3sFrAL-8WCGEWaRGTjQfiOIdjJpp0PU5Pzh49Pp0,179
|
|
27
|
+
pymax/api/chats/enums.py,sha256=lheTbup4DbSJWUNm-DkN2Qg3KxeXlFPE8AKGACneQ9U,925
|
|
28
|
+
pymax/api/chats/payloads.py,sha256=0yB5w-Q2mI0YVvP-zogucvifmgzgV6rdgG0W-xJw4rU,3780
|
|
29
|
+
pymax/api/chats/service.py,sha256=dax5dLgrnVTrgbhswTcqx9wDWxOYQ82AHrIxo9ogtmo,14576
|
|
30
|
+
pymax/api/messages/__init__.py,sha256=wm7n4mUUiVMQQ2w5Sj5pdHDzMyKfzOdfVTxndIHDDVg,51
|
|
31
|
+
pymax/api/messages/enums.py,sha256=gsCbu75E4sDdaL3t5cbtsIFXTD7lrliYsrywM-kzZ6w,418
|
|
32
|
+
pymax/api/messages/payloads.py,sha256=__-HbbjfwtfV3BelJxhHxkbYcRh-Ucc9yIO160emE8o,3793
|
|
33
|
+
pymax/api/messages/service.py,sha256=uTMlb3l8WYU0mURRF8VuvlGK9mNgqK2qEEX3Fh9mIeo,26428
|
|
34
|
+
pymax/api/self/__init__.py,sha256=f3c1icSKASVm2BKuDLzNmniJHokLk9d82GC3EfyJ5tc,138
|
|
35
|
+
pymax/api/self/enums.py,sha256=5WUmdfyFVCaMIeiTngIa2X8pK7DBvkGtWgeopgWwkWI,393
|
|
36
|
+
pymax/api/self/payloads.py,sha256=wVIaETW0MwY1cKbQsNZgyqPm6dGFM_q0ih-TuWWXD1s,2468
|
|
37
|
+
pymax/api/self/service.py,sha256=tge8jTFruJRrZRNkP7HGbWR9ztIPBqGPkA8hh_Ww3Es,6089
|
|
38
|
+
pymax/api/session/__init__.py,sha256=zo-rCKBVBsFK-810T-Le4VbAYKt109cQ6elf0UkgiNk,36
|
|
39
|
+
pymax/api/session/enums.py,sha256=InBdwAu_filqW3rMfGrOkHgmFfqgB1ytjnCcxDq29xc,236
|
|
40
|
+
pymax/api/session/payloads.py,sha256=KJBoP_XfL2lJbXvR3tzWf2WaLn73L2LiEuqP0cdJ6u0,2258
|
|
41
|
+
pymax/api/session/service.py,sha256=h4WmKDHeO60VgjjZwdx2CFcrOEsx3k9CGqWfy7jICfk,2356
|
|
42
|
+
pymax/api/stories/__init__.py,sha256=JYYl97t2-Iw1op9NAoj12ArP4VVrdjkn8GznUoCN3U4,72
|
|
43
|
+
pymax/api/stories/enums.py,sha256=2A4lyQxE6-tj-Lxjo4UOb4Q0CRE0govs0x53bpjqlAU,484
|
|
44
|
+
pymax/api/stories/payloads.py,sha256=X5ETOkgQpWdTPn3xT8bPI2GMqi9PBbo1a3iQXnHsO7A,1337
|
|
45
|
+
pymax/api/stories/service.py,sha256=y2PEM1Sqk8VtB0GhA1uuojMwgyNLGs_LB_whPycH9Js,7535
|
|
46
|
+
pymax/api/uploads/__init__.py,sha256=E7INNsBeMStze2VWMADX4mrswsQeJb85C71sSuiOpv0,35
|
|
47
|
+
pymax/api/uploads/models.py,sha256=c2Yunnl9nRkDZuItXGKlY0Oi5DjnB4f5bcruQ49ARZk,934
|
|
48
|
+
pymax/api/uploads/payloads.py,sha256=p9cHcoJSG0gRLYS9K_hk77v80ZMqE5TkDQVWIIO3a7s,2140
|
|
49
|
+
pymax/api/uploads/service.py,sha256=OlcbhHkEqoJ43HPNwmOEVtB_cbdhuYH0KKqIFVB74Nk,30547
|
|
50
|
+
pymax/api/users/__init__.py,sha256=CDakgSKwVAkX-kNoDmIo2JsFPsS7Nx3j2vIMwQnPRck,82
|
|
51
|
+
pymax/api/users/enums.py,sha256=m3d225sjWkBIRF5NNi3ChnyZ6BgKUEbPYoYwVjpifZ4,205
|
|
52
|
+
pymax/api/users/payloads.py,sha256=mWrbhu3KzrsxmBdRQU3bG8W46vtFq_Kdfb2YA7_QkNI,876
|
|
53
|
+
pymax/api/users/service.py,sha256=ndYv60kKkqZPnFOgvfau2LAjgOf-NsLQ7P4xxoWBAr4,4663
|
|
54
|
+
pymax/auth/__init__.py,sha256=QM0kiabQe1K21Bsi1M6DQfh09prrozrOYpDRv_l5bns,603
|
|
55
|
+
pymax/auth/base.py,sha256=v492FMUmSKft6oJRmCdIr33sy50Z0kqBwu5t7cVLQe4,1222
|
|
56
|
+
pymax/auth/email.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
57
|
+
pymax/auth/exceptions.py,sha256=kSrDUah46ZSPT4tR1uhfcIHBlayueKmxxiKvL83gPYc,358
|
|
58
|
+
pymax/auth/models.py,sha256=2SbjOJev1-B1bFEFM0NJPNX4wBTc4JbVDDouRHoAYc0,91
|
|
59
|
+
pymax/auth/providers.py,sha256=06l_olqKnkZEJePor_3KkLbWbFgSyyD4Lvxbz5mrVx8,4319
|
|
60
|
+
pymax/auth/qr.py,sha256=PpEZIYbe8GuYK5omYn4M_HuQnrZWmvHfZcSzmJA3XvI,4550
|
|
61
|
+
pymax/auth/service.py,sha256=cUZxs5UW9ysSaJ-UXSOz0ug3fDo1eN0xAjO7VP1MdTU,619
|
|
62
|
+
pymax/auth/sms.py,sha256=l-NTTO8cRW468Am63A7dppzP8Q013OQzYN1iPa4Adbs,5246
|
|
63
|
+
pymax/connection/__init__.py,sha256=YTboFk9AfYkRUw2Hf4oxn63LTGV475fxp_oel1j4gas,42
|
|
64
|
+
pymax/connection/connection.py,sha256=4mLJ5eec43fRV09OSC5I4A2DO9Wxrl7TTcBBeYn7pDY,8268
|
|
65
|
+
pymax/connection/pending.py,sha256=qezxL019d1E6oiCmSgCSfojLj7sxR1BEGgcKBWSFhok,1328
|
|
66
|
+
pymax/connection/readers/__init__.py,sha256=9g5ZbcWiHxW1kAi2ckiNqejoGHwoDwFd4WvtYQSyRzU,52
|
|
67
|
+
pymax/connection/readers/base.py,sha256=FlvyMUFoZ4FORAh0vBU6_I0BnrQ9_1twpUIKz-Vkj58,126
|
|
68
|
+
pymax/connection/readers/tcp.py,sha256=62nqlllE0gjQQQYVfjBt0arAJ8tEHH_SMZOOjtXNYdw,1073
|
|
69
|
+
pymax/connection/readers/ws.py,sha256=IjeH5CoXvBWde46tZLx6uKONkjhCU6NeC79x3Swfw8E,368
|
|
70
|
+
pymax/di/__init__.py,sha256=-BkILRz8KSF7zDTSK08sc6DRT_mc_7j0yWSOUpClRDo,64
|
|
71
|
+
pymax/di/context.py,sha256=6OdNG3Cz9bcCyk9bJwadIkJDz9ljMZoXMBYcsI_wV1Y,438
|
|
72
|
+
pymax/di/resolver.py,sha256=YJ2AUtUtYoNLFjGtK-bPrm2XDb3gJA0P87t_wmuB8zA,1019
|
|
73
|
+
pymax/dispatch/__init__.py,sha256=X14UhrcKnh1k4YWzNqEoQWZwcrzE0e7d1oQvGrqmaoY,567
|
|
74
|
+
pymax/dispatch/dispatcher.py,sha256=9lLQbdE-vAXSJ7vyKZqpS6EYT9KwE9JZo-HFBZ4U1fc,15438
|
|
75
|
+
pymax/dispatch/enums.py,sha256=n2IesStTcg8iDhrRAxSiY654EscefjzDz3Cr6H3BcXg,512
|
|
76
|
+
pymax/dispatch/mapping.py,sha256=v4BLThEr1m8UtU8BWG-CQlivnhPRU9d7-9MsfRM5CBc,4051
|
|
77
|
+
pymax/dispatch/middleware.py,sha256=gEYEV-NzDgytD-_uW45rQR17yiwJsKWXIR3vmcra0uI,1333
|
|
78
|
+
pymax/dispatch/resolvers.py,sha256=p_vnN61syq6aljZ28DWg9KK7sjcwV0EbHLIPYJLwXpo,2302
|
|
79
|
+
pymax/dispatch/router.py,sha256=IrCxog8iMAaKPtjoakGUtn7jWpoj6HdK4uRHnNFixHw,12516
|
|
80
|
+
pymax/files/__init__.py,sha256=BQB0iOnsyIBaVq77ii82T3Fu70oTlXGqAifen10zPhE,192
|
|
81
|
+
pymax/files/base.py,sha256=Hdf7Yb1ki7IH2tDhXpd0l0CtgNWM7AkU2j8FwN81DbM,4238
|
|
82
|
+
pymax/files/file.py,sha256=JSkuKx0fdGxzcsyMajWTosFzTlfgZYvQbh-RDp9OZyQ,2337
|
|
83
|
+
pymax/files/photo.py,sha256=jvHihuyghDljY9PLh3ymJfoj5KksIRBWIK3z9Dmgjuk,3604
|
|
84
|
+
pymax/files/static.py,sha256=U_KfM0rbGMEWcsBnWIhIXzzk46hHYQ7KJnrGnfDLoMs,142
|
|
85
|
+
pymax/files/video.py,sha256=5gjiv5Yx87StbCqBAZKCHb-_PCmen0UsWGuPbAiUk2k,4063
|
|
86
|
+
pymax/files/voice.py,sha256=H5qcTWW3k-vXq0zhIAoz8EQdJBNyPawlbOZji4lZs7k,2033
|
|
87
|
+
pymax/filters/__init__.py,sha256=xuadjx0m3jUgF2UElvKP6RUjQc6_adFLVjVfmGbScSo,273
|
|
88
|
+
pymax/filters/base.py,sha256=foVvsKfEx414hnBFQMPb7ELb134Vg2m_IIbNpDnTtUY,6304
|
|
89
|
+
pymax/filters/filters.py,sha256=2zl9GolcXuAIEaZksYEMUM-qAcFKOKYAWuiDJsApKtg,5554
|
|
90
|
+
pymax/filters/magic.py,sha256=Q_w3j_5Q-txY9SAqLU0zkCK0gnVd0NDKJb0rrpIb3kc,301
|
|
91
|
+
pymax/filters/presets.py,sha256=npyE0HN8I15qsIAKOLMQLXuBZn_EAZ7gAt0ZFs6UUJo,3084
|
|
92
|
+
pymax/filters/refs.py,sha256=n-Wg6pi5HTvKFp_iGpP0_dWLA2eQDRSlFUFkjYgtH_c,1886
|
|
93
|
+
pymax/filters/containers/__init__.py,sha256=dlu_UZcuRFZR6QD6aP7jfu1qDgfWdsQfJmIXTXP1wlE,70
|
|
94
|
+
pymax/filters/containers/chat.py,sha256=LAPVMg9xPIZobV4QoiOsNJk5Eaoc2Td7FqyRy9BVh-A,6492
|
|
95
|
+
pymax/filters/containers/message.py,sha256=qErgVJt-wbTS7qHbaw6hW3VaAVvEchDaiHhDNeReEpk,3793
|
|
96
|
+
pymax/fingerprint/__init__.py,sha256=W5N5XEr45qdgt8hWUwQ8jc0USHZs12ZKtChhILOK3do,46
|
|
97
|
+
pymax/fingerprint/fingerprint.py,sha256=LAryGmcrYBztV8gMjgr5b3fCheKsZNZ0SAp2rguOMys,880
|
|
98
|
+
pymax/fingerprint/models.py,sha256=OXMwtOTNq6ASuIwYvVnO8ovZfxiuYfNozhFXk7Q6fNk,307
|
|
99
|
+
pymax/formatting/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
100
|
+
pymax/formatting/markdown.py,sha256=yGpS53i5gBckRAN3QBEYbiCLkpTgPlsKPAhIXLcgXkA,8447
|
|
101
|
+
pymax/fsm/__init__.py,sha256=MhWtX6DSWQf5I94T-0uEfDOWbs4ti9eFlQsO1uJrkAQ,120
|
|
102
|
+
pymax/fsm/context.py,sha256=L0z5ejzf6mUfmxqFhhq9ErlldtXknXL9zC2Zmu8fkUo,933
|
|
103
|
+
pymax/fsm/protocol.py,sha256=IdY6ahBMwTmNv5B0LToaPD3w7XRPCl498PBvYvOwaMk,447
|
|
104
|
+
pymax/fsm/state.py,sha256=oVvb2cWDYx18uskRthXVn0PhtPYVNUt_pxZRqodlQ0g,2051
|
|
105
|
+
pymax/fsm/storage.py,sha256=QD0gQ9jQ5gqFn6RZZkkIfzpY48FNGBAMsYr8X97Tugg,4841
|
|
106
|
+
pymax/infra/__init__.py,sha256=lKq6cehhB87HltV53TD0kr0p7ekWlZlrKTpaYiq0XFw,28
|
|
107
|
+
pymax/infra/auth.py,sha256=5Up9VVtq9ZV2AtUVK4FvlRhHmMlDjeQ29aPRq1HKQEI,3877
|
|
108
|
+
pymax/infra/base.py,sha256=UY3W292V91laa3pdqMeOe-6hlKQaxsRGG8RWP2ye4VY,420
|
|
109
|
+
pymax/infra/bots.py,sha256=FnfJpy3LIQc5ZR4CeWQJYm91GF8dc2fm2may_Div3ko,1974
|
|
110
|
+
pymax/infra/chat.py,sha256=WQd9qjYWJvBHTKWQHPUFR0qdmfHH2eRvBaKCVDpGp34,16929
|
|
111
|
+
pymax/infra/message.py,sha256=2dVSs9aZYUDnFib8ZZhcdL56I4tyjsbMRRoWYDmvLA0,19433
|
|
112
|
+
pymax/infra/protocol.py,sha256=v-HKtqR1p7D2jwduqf0_WNTKhw3QTRog0IT2mf3u1fs,301
|
|
113
|
+
pymax/infra/self.py,sha256=QnZehUgm9-pCrw5seu4K_DhpdSlhvyOt1zU4yJ6Y2II,5907
|
|
114
|
+
pymax/infra/stories.py,sha256=03lzwbFG3boO1nLuhQIyU7YlRX6BFmpMC2G8Ef1H8LE,8124
|
|
115
|
+
pymax/infra/user.py,sha256=wy6lElmJx7Ypjkk48kDrlLiL3V3p7pzO2MevsgCNy1k,4801
|
|
116
|
+
pymax/integrations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
117
|
+
pymax/integrations/dishka.py,sha256=SHx0yzL5B_kM3CsZwlMZOBMhVbV3JqewXyHS4PDNEFk,3904
|
|
118
|
+
pymax/protocol/__init__.py,sha256=rDn1Twi1iBDUk1155YI9jyeQyaGVDRuPoWdlaaLZnsw,242
|
|
119
|
+
pymax/protocol/base.py,sha256=_bisk1BU_GSMSPIqfnizSCgm_qBrdbB5cJw6foAa2tc,294
|
|
120
|
+
pymax/protocol/enums.py,sha256=lCPQOxezpl0aYRTzgq4YeFAJ_M1rjNhecds0-FV4bwc,4796
|
|
121
|
+
pymax/protocol/models.py,sha256=kno-09OoPoLKBMixS9nrDkCbxcIwvU37RlZgaq5MfVo,584
|
|
122
|
+
pymax/protocol/tcp/__init__.py,sha256=ivIZZ-UoT_MiRIUWTLiyeKSBOzf9XztSprHPHgoWNuI,34
|
|
123
|
+
pymax/protocol/tcp/compression.py,sha256=JsW84MOjtUCJPxMfsfc4CX2bMH0D5sb_2mut189KHmU,3545
|
|
124
|
+
pymax/protocol/tcp/framing.py,sha256=qH2zNsJLfg5J2wNTcp1hPqsrWhZHajK-Ja7pdB_Gji0,1630
|
|
125
|
+
pymax/protocol/tcp/payload.py,sha256=JSYLujMqAUoXxNVBXLvnwQNVMD2_PJrmDLubOhE8UXc,4757
|
|
126
|
+
pymax/protocol/tcp/protocol.py,sha256=b5AAYQUOhq985Wc1pCPzt84pjGnVGfGxbdwRN0R91xk,2380
|
|
127
|
+
pymax/protocol/ws/__init__.py,sha256=oQK0h28B6gGItf7eHanWy_XsgUA_L9Lclnuz9ZQL9YI,33
|
|
128
|
+
pymax/protocol/ws/protocol.py,sha256=z6zzBQTlJfzwOmLsJYoYQ2L1AYpY5wYMJyPir_zfNBQ,913
|
|
129
|
+
pymax/session/__init__.py,sha256=NhguO5G_GmfzKvBdUX7m8gmAX66NvIp6yGPyz5o50zI,115
|
|
130
|
+
pymax/session/models.py,sha256=gAGvZcqINWZIm_6x0X3E1iqXfddeKCyQmno0DCkLmeA,1635
|
|
131
|
+
pymax/session/protocol.py,sha256=Xr4gv4XV2A3uZJDeWRCRlty-MSsojI5DaHyu8i6hz1w,1632
|
|
132
|
+
pymax/session/store.py,sha256=EDRYsg4bHdnHxxieXZMNTRhIohwJZRdKfOxO--yB18E,10642
|
|
133
|
+
pymax/telemetry/__init__.py,sha256=6mP5y-iTbVIlqpSWIKWCTz2fFNBwkAEYwS4PFbyv9xM,71
|
|
134
|
+
pymax/telemetry/navigation.py,sha256=vlP7d863s9aIBpt9SPpjEbTXLoq3uqpuhD-VWj0w9hI,5441
|
|
135
|
+
pymax/telemetry/payloads.py,sha256=MCKYGpQ4Tvx_8LH86Et0yevea2Th2z3b7a9pfmrQRys,3959
|
|
136
|
+
pymax/telemetry/service.py,sha256=rlFQAlMFnNZjw631bPHRSLWMkrIvyji47SYnGRJ0Apk,6952
|
|
137
|
+
pymax/transport/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
138
|
+
pymax/transport/base.py,sha256=0D3srQ36F0s23pIjqd6YzRGKK9wCmXKr3wfe2XYYlos,448
|
|
139
|
+
pymax/transport/tcp.py,sha256=DbCy4DlYwZo07hcoLJ5JBlz9D3bHtI9r872qavRJKDw,3593
|
|
140
|
+
pymax/transport/websocket.py,sha256=_G9sxRqitahlhENF3XVB6yBo0wFWoXBRJn9KC7GEZso,1617
|
|
141
|
+
pymax/types/__init__.py,sha256=y77mfDRgxmfcamobi0rj2d3PsxhH0zxyvKPhL2iUdS8,44
|
|
142
|
+
pymax/types/domain/__init__.py,sha256=XO_XpyPX8csgNhVwo7z9FzPl7k6ZiJvHPNTpfQ72G9M,925
|
|
143
|
+
pymax/types/domain/auth.py,sha256=RmEXFS7TAgtFhnfXaiJH5XDb__2MUVgQ_Noavo9hFRY,6019
|
|
144
|
+
pymax/types/domain/base.py,sha256=Q32PcKR3gtrISySowR3zPyl9KeQCoUL6lfyTR3ulMzo,623
|
|
145
|
+
pymax/types/domain/bots.py,sha256=dErZZbvspznU6yUupzCs4R55pEWgoeps7NEhZFrb-Uo,333
|
|
146
|
+
pymax/types/domain/callback.py,sha256=uTNG4iQvW4cSud0fF_TuaZw4_IKnSdJU2BIqtPWv9Ew,683
|
|
147
|
+
pymax/types/domain/chat.py,sha256=jIXCnzynlkGQMbrbvU2wtqHIkXqMwkAYI9U8Cd-iV-w,20502
|
|
148
|
+
pymax/types/domain/comment.py,sha256=UFsuivg63WJu3W1AxGWriPWGdSp0ZaH2wmtCqSFVXZs,681
|
|
149
|
+
pymax/types/domain/element.py,sha256=Hks0MulMcPAhbpuUmJa5c2d9Emwy3garh1k6bd4QHKA,655
|
|
150
|
+
pymax/types/domain/enums.py,sha256=ONkUdvQ0EazlPuKLnquY6DqfN5z-lMRJlqDvkKyCpok,594
|
|
151
|
+
pymax/types/domain/error.py,sha256=WZoDAXf5vt8O4VYy7iEHLGBfH6hZQZ1fVkTz9rVCTN0,584
|
|
152
|
+
pymax/types/domain/folder.py,sha256=Z9pXMzOTfxuhUfrJpLjl5LPnVXqqFsBVfKBQm4IbGWM,2225
|
|
153
|
+
pymax/types/domain/handshake.py,sha256=9eOPYBJ3O4UAPNUfk7bPnZ3mwBtJw7kfhE8W4aK2k0U,417
|
|
154
|
+
pymax/types/domain/login.py,sha256=LIw7b2aYqPWfRhCWrBU1zeCtDazJQwoWN3Cdz-WdS4w,2303
|
|
155
|
+
pymax/types/domain/member.py,sha256=8gUNn4fBS_S2ap45A40lRlrDXYFMoq0Kx-dh57hMWQc,490
|
|
156
|
+
pymax/types/domain/message.py,sha256=hOdFvIvVlQnSUkfK7prg7Drz9u_GgVpebfR5EcrXsTk,22211
|
|
157
|
+
pymax/types/domain/name.py,sha256=qMIshIqgWkVuROxmiCRhwfJf8XtmhSBoEU6nXs_gEh0,523
|
|
158
|
+
pymax/types/domain/presence.py,sha256=lKvkK0uYwY0gTSEEkaVdI-tEpWjxLOtH7gp2dy5Uh-0,534
|
|
159
|
+
pymax/types/domain/profile.py,sha256=taN5PjlKp4EDypVhDx89vmBDpSKh-kT-ISpu1tR2cY8,471
|
|
160
|
+
pymax/types/domain/session.py,sha256=T0b0qjI65kNQOCgx3nIkaIqynD4eGKyqnscbIlPFVnQ,2002
|
|
161
|
+
pymax/types/domain/story.py,sha256=ilNP2pVuMglzhqe9jxxgfmhWo5U0DYLlnnyXN_NZpco,4049
|
|
162
|
+
pymax/types/domain/sync.py,sha256=lBDWo4ACLq2ov5XBccfnI8s_dsGEA7O4mIJVBSUpyrc,3248
|
|
163
|
+
pymax/types/domain/user.py,sha256=Vj9HvSVQKKLJ1HX-OM9T1knvPNyCqrwJnWkz16ByeLg,5367
|
|
164
|
+
pymax/types/domain/attachments/__init__.py,sha256=u24aILUhSt38MolJDNKe9poj2QZvWWNDkvQxrM2QUX4,564
|
|
165
|
+
pymax/types/domain/attachments/audio.py,sha256=I_Qq1qQ9bXsEzWwxEbQbkiY8CEjSKqGqinDFYY_5DY8,1117
|
|
166
|
+
pymax/types/domain/attachments/call.py,sha256=vYFOz1XT2YHOlSFkKqLAFW-Y1quRBlB2bjHMidjBB8U,1195
|
|
167
|
+
pymax/types/domain/attachments/contact.py,sha256=ZAvvPdNwm_t_Up9puQFOxHYl0U-7Asf2qhvLlo1oBqs,1053
|
|
168
|
+
pymax/types/domain/attachments/control.py,sha256=Io-Plz4kSJvvR4WndbQm09GyA2Ezut9Hnsd6oDcnayg,673
|
|
169
|
+
pymax/types/domain/attachments/enums.py,sha256=rD9c1985gH-Ob9IONlM32ok6F9-F_5hGI1aPTotwvRc,1599
|
|
170
|
+
pymax/types/domain/attachments/file.py,sha256=3lqsPIkg75-AmcaEbXwc1eiQHIv9JpWzMc0z4u2MupE,1595
|
|
171
|
+
pymax/types/domain/attachments/photo.py,sha256=8q79OuQ0V8t-s9pZM8ClAmgJI71m-bgES4Bd5ZSNVI0,1413
|
|
172
|
+
pymax/types/domain/attachments/poll.py,sha256=-p3KJX_X6Nno8I3qA813-9pFkp8VFrLRgx7sL5Aauac,3569
|
|
173
|
+
pymax/types/domain/attachments/share.py,sha256=BHJIVjTC99wfbUn8wSN4j0aSNlEpojzv87uwbmhPPt0,924
|
|
174
|
+
pymax/types/domain/attachments/sticker.py,sha256=sJn13LuyF5u7Oy9HLGBIlXmdPjxAib0oy30TZz455vE,1544
|
|
175
|
+
pymax/types/domain/attachments/unknown.py,sha256=oThuTVkzkdmpCftRoa42b1jyy-QbBbfgyc0ocX0jeS8,917
|
|
176
|
+
pymax/types/domain/attachments/video.py,sha256=ZT0qYp6LWtrMA-U4mJY-NIyqPMgfZ7bsA3YQhjDSO54,3786
|
|
177
|
+
pymax/types/domain/attachments/keyboards/__init__.py,sha256=S0ULd2ERXhcww8AyuCEzb2EvdqYOU1NaM9rtmZgiBUo,65
|
|
178
|
+
pymax/types/domain/attachments/keyboards/enums.py,sha256=dHqJ8qTEEUlWYhGEsIZGvQ736eOKAJa2gbRctQa7WBM,283
|
|
179
|
+
pymax/types/domain/attachments/keyboards/inline.py,sha256=L3nR29P50GPM30VEtucu9IUgmMScN_tgih5AtPUqvq4,2257
|
|
180
|
+
pymax/types/events/__init__.py,sha256=fvCPR_ZN-zRow3eeJ3hzDn2auWfnOxFFQ8GRTZTFfMA,294
|
|
181
|
+
pymax/types/events/file.py,sha256=XhpXn0Vt9OODkx1OkGb9jfQwc1uNgz1NTn_j9FZnQ8s,102
|
|
182
|
+
pymax/types/events/mark.py,sha256=5o3QP3VH9NJBVonBJNf88pzXkS9lLYaDFyju6yczAow,894
|
|
183
|
+
pymax/types/events/message.py,sha256=o2ql3y1DzM-OKg72LR5dr4aCelGksBypIevTEmG-0K4,3249
|
|
184
|
+
pymax/types/events/presence.py,sha256=77Cy352CdfIkbH6ZfLijHffF8gcMz-AZk5OCeESQeDY,451
|
|
185
|
+
pymax/types/events/reaction.py,sha256=hXWZ2xtgGUU6WQcRxdNnogFu-lXsWbPjEoDgBXTFYZg,1481
|
|
186
|
+
pymax/types/events/typing.py,sha256=vDMgqYE0jz8dN2YfqsNaJLB8k7pMd6kaDEdR_KrLk5g,376
|
|
187
|
+
pymax/types/events/video.py,sha256=swBHYadmDS0SjLXGqVqRYsuMoVZ6MjD2aYR2fbM-AJc,104
|
|
188
|
+
pymax/types/events/voice.py,sha256=E4BjLBnqsu05s8ZxFN4I_B5OVaecoPvXI-826YJ_ze8,104
|
|
189
|
+
pymax/versions/__init__.py,sha256=Y_sOE3LNIEMz6P2K7moowdeJfoZxaQOHcxI4fAqUGFY,81
|
|
190
|
+
pymax/versions/catalog.py,sha256=TIf1eCECxvRiCeiJW7RURXIeTfTI2wsHvLIJzmvTdGY,3941
|
|
191
|
+
pymax/versions/exceptions.py,sha256=ZjQD1ulkjpjpGX_YWYZ1943DkJdccK4P5f4ozcEcX3U,448
|
|
192
|
+
maxapi_python-2.5.0.dist-info/METADATA,sha256=6YmtKaOynRSX3L-6lX7gEAYul2MIHbVqlwXBgo1zxdI,8530
|
|
193
|
+
maxapi_python-2.5.0.dist-info/WHEEL,sha256=W3fkpkm7-wf9vBI5Z-7s0eWkeM-spu78I8Neb98DeEg,87
|
|
194
|
+
maxapi_python-2.5.0.dist-info/licenses/LICENSE,sha256=hOR249ItqMdcly1A0amqEWRNRTq4Gv5NJtmQ3A5qK4E,1070
|
|
195
|
+
maxapi_python-2.5.0.dist-info/RECORD,,
|
pymax/__init__.py
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
__version__ = "2.
|
|
1
|
+
__version__ = "2.5.0"
|
|
2
2
|
|
|
3
3
|
|
|
4
4
|
from .api.self import PrivacyAccess, PrivacySettingsUpdate
|
|
@@ -7,6 +7,7 @@ from .auth import (
|
|
|
7
7
|
ConsolePasswordProvider,
|
|
8
8
|
ConsoleQrHandler,
|
|
9
9
|
ConsoleSmsCodeProvider,
|
|
10
|
+
PasswordAttemptsExceededError,
|
|
10
11
|
PasswordProvider,
|
|
11
12
|
QrAuthFlow,
|
|
12
13
|
QrHandler,
|
|
@@ -29,6 +30,8 @@ from .types import (
|
|
|
29
30
|
PresenceEvent,
|
|
30
31
|
Profile,
|
|
31
32
|
ReactionUpdateEvent,
|
|
33
|
+
Story,
|
|
34
|
+
StoryPreview,
|
|
32
35
|
TypingEvent,
|
|
33
36
|
User,
|
|
34
37
|
)
|
|
@@ -49,12 +52,13 @@ __all__ = (
|
|
|
49
52
|
"Message",
|
|
50
53
|
"MessageDeleteEvent",
|
|
51
54
|
"MessageReadEvent",
|
|
55
|
+
"PasswordAttemptsExceededError",
|
|
52
56
|
"PasswordProvider",
|
|
53
57
|
"Photo",
|
|
54
58
|
"PresenceEvent",
|
|
55
|
-
"Profile",
|
|
56
59
|
"PrivacyAccess",
|
|
57
60
|
"PrivacySettingsUpdate",
|
|
61
|
+
"Profile",
|
|
58
62
|
"PyMaxError",
|
|
59
63
|
"QrAuthFlow",
|
|
60
64
|
"QrHandler",
|
|
@@ -63,6 +67,8 @@ __all__ = (
|
|
|
63
67
|
"Router",
|
|
64
68
|
"SmsAuthFlow",
|
|
65
69
|
"SmsCodeProvider",
|
|
70
|
+
"Story",
|
|
71
|
+
"StoryPreview",
|
|
66
72
|
"SyncOverrides",
|
|
67
73
|
"SyncState",
|
|
68
74
|
"TypingEvent",
|