maxapi-python 2.4.0__py3-none-any.whl → 2.4.1__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.4.1.dist-info}/METADATA +6 -4
- {maxapi_python-2.4.0.dist-info → maxapi_python-2.4.1.dist-info}/RECORD +47 -42
- {maxapi_python-2.4.0.dist-info → maxapi_python-2.4.1.dist-info}/WHEEL +1 -1
- pymax/__init__.py +4 -2
- pymax/_data/apk_fingerprints.json +102 -17
- pymax/_data/rootca_ssl_rsa2022.crt +33 -0
- pymax/api/auth/service.py +14 -2
- pymax/api/chats/payloads.py +2 -1
- pymax/api/chats/service.py +7 -0
- pymax/api/messages/__init__.py +1 -1
- pymax/api/messages/payloads.py +9 -3
- pymax/api/messages/service.py +106 -12
- pymax/api/uploads/payloads.py +33 -1
- pymax/api/uploads/service.py +77 -62
- pymax/app.py +23 -4
- pymax/auth/__init__.py +2 -0
- pymax/auth/exceptions.py +9 -0
- pymax/auth/providers.py +6 -2
- pymax/auth/sms.py +11 -1
- pymax/base.py +83 -9
- pymax/client.py +39 -10
- pymax/client_web.py +15 -12
- pymax/config.py +63 -21
- pymax/files/base.py +58 -1
- pymax/files/video.py +32 -40
- pymax/files/voice.py +18 -4
- pymax/fingerprint/fingerprint.py +5 -22
- pymax/fingerprint/models.py +1 -0
- pymax/infra/chat.py +9 -5
- pymax/infra/message.py +9 -3
- pymax/infra/protocol.py +5 -1
- 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/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/video.py +3 -3
- pymax/types/domain/enums.py +7 -0
- pymax/types/domain/message.py +87 -7
- 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 → maxapi_python-2.4.1.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.4.
|
|
3
|
+
Version: 2.4.1
|
|
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
|
|
@@ -43,6 +43,7 @@ Python-библиотека для Max API.
|
|
|
43
43
|
[](https://www.python.org/)
|
|
44
44
|
[](LICENSE)
|
|
45
45
|
[](https://pypi.org/project/maxapi-python/)
|
|
46
|
+
[](https://pepy.tech/projects/maxapi-python)
|
|
46
47
|
|
|
47
48
|
> [!WARNING]
|
|
48
49
|
> PyMax использует неофициальный внутренний API Max. API может измениться без
|
|
@@ -62,10 +63,11 @@ WebSocket.
|
|
|
62
63
|
- Авторизация по телефону и SMS-коду через `Client`.
|
|
63
64
|
- QR-авторизация web-клиента через `WebClient`.
|
|
64
65
|
- Роутеры, фильтры, `on_start`, raw-события и typed events.
|
|
65
|
-
- Сообщения:
|
|
66
|
+
- Сообщения: отправка и планирование, ответы, реакции, pin, read, delete и история.
|
|
66
67
|
- Чаты, группы, участники, invite-ссылки и настройки групп.
|
|
67
68
|
- Пользователи, контакты, профиль, папки, активные сессии и 2FA.
|
|
68
|
-
- Вложения: `Photo`, `File`, `Video`.
|
|
69
|
+
- Вложения: `Photo`, `File`, `Video`, `Voice`, `VideoNote`.
|
|
70
|
+
- Выбор версии mobile-клиента с локальным или обновляемым каталогом fingerprints.
|
|
69
71
|
- SQLite-сессии, sync-state, reconnect и debug-логи.
|
|
70
72
|
- Pydantic-модели и удобные domain-объекты.
|
|
71
73
|
|
|
@@ -1,14 +1,15 @@
|
|
|
1
|
-
pymax/__init__.py,sha256=
|
|
2
|
-
pymax/app.py,sha256=
|
|
3
|
-
pymax/base.py,sha256=
|
|
4
|
-
pymax/client.py,sha256=
|
|
5
|
-
pymax/client_web.py,sha256=
|
|
6
|
-
pymax/config.py,sha256=
|
|
1
|
+
pymax/__init__.py,sha256=yMrMaaHEjHOZDisZdkJcM0aEvUNGZRyFDud-yFrWk1s,1729
|
|
2
|
+
pymax/app.py,sha256=X1guEOdNlk_7ie5Ij_9HUGXTOqkrQdTtdOf8Jwp8G7g,13915
|
|
3
|
+
pymax/base.py,sha256=zobCT6a3vfY6HL-kjAHVHKAypTIm5UUHvkRW73jBQq0,13718
|
|
4
|
+
pymax/client.py,sha256=cEAzsbgacxkeBqLXWQPSNYor94xp-M-tEl322FDrYpM,5422
|
|
5
|
+
pymax/client_web.py,sha256=1F5AULJILcXE_Xphg666dZ-vcR3U6OvdACZUd9QrBkw,3293
|
|
6
|
+
pymax/config.py,sha256=k_3kyUfyl3WDeghOP4nF9EjxKc4Sb2inKogOUYbdr2k,14207
|
|
7
7
|
pymax/exceptions.py,sha256=8pxjZsfgrMPrZfE3zedIbabqP75diEr2_6Xg3PGjiSQ,963
|
|
8
8
|
pymax/logging.py,sha256=j2-7guTR8otCrSk0w7NL2y-d_gJoNUS5Fh9NtsdEgIg,4632
|
|
9
9
|
pymax/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
10
10
|
pymax/routers.py,sha256=UvIEWcBF1VPBmUFrubBQ7uo3DZylf4qdbnQGDkUYjyE,225
|
|
11
|
-
pymax/_data/apk_fingerprints.json,sha256=
|
|
11
|
+
pymax/_data/apk_fingerprints.json,sha256=1KRKYSPImJdwJGhlIMNxVI7Z-TRMFVngvXxRCL8xKRc,39242
|
|
12
|
+
pymax/_data/rootca_ssl_rsa2022.crt,sha256=qoAO80VCLWFYxvr-HAbEKdvaIcPfS7HMtFqSDsERE5k,2057
|
|
12
13
|
pymax/api/__init__.py,sha256=oWC09vGaP6S7_nnTJ4y5PbTkbA4U29DhafpwIqD2QGI,356
|
|
13
14
|
pymax/api/binding.py,sha256=q63tSMxwh8cX28r2JwK3_TyxsV8zThflMaQiMb0vx8M,1613
|
|
14
15
|
pymax/api/facade.py,sha256=WapwUPspVxA8JMYRvWGKtaKs9rUvIJLTMaXods6julo,899
|
|
@@ -17,19 +18,19 @@ pymax/api/response.py,sha256=7rXgqtaGeDd60FGMxlLwqARzgFIawX8OkMqA9TL8HRE,2591
|
|
|
17
18
|
pymax/api/auth/__init__.py,sha256=m6yw6RPrq10iNkSI8z59n3OXTnAw8VfxIALnhVztL2g,33
|
|
18
19
|
pymax/api/auth/enums.py,sha256=m8zRS62894Szs-xyGIIvyGS51Fjq5ldp89kvxu_C3gg,681
|
|
19
20
|
pymax/api/auth/payloads.py,sha256=TA5am-M5IIOE2CWENQ8NEIjoYYHzyZdahS24OPA3VnA,3888
|
|
20
|
-
pymax/api/auth/service.py,sha256
|
|
21
|
+
pymax/api/auth/service.py,sha256=-SI3vbrJXG5ss6ZyG7IHiTCq9Z9ehckcl7O_jbgKo3I,16001
|
|
21
22
|
pymax/api/auth/types.py,sha256=VrYR7rIZOrW45yKnQmC5MSe9kxgXmqPzh9VG_y1tSEs,200
|
|
22
23
|
pymax/api/bots/__init__.py,sha256=4P7rM-XeeDOElEktov1Vbfo8nzjJgmyA4_pQl4WvzRQ,33
|
|
23
24
|
pymax/api/bots/payloads.py,sha256=aXriolCN_YvBvDZO_MPmD-fkrIVJIpVDXkOkOZVes_c,166
|
|
24
25
|
pymax/api/bots/service.py,sha256=ziqVlQUMFHjQydMDFyWcQMIATboQTvIdGtJhf-AK9tA,847
|
|
25
26
|
pymax/api/chats/__init__.py,sha256=P_T3sFrAL-8WCGEWaRGTjQfiOIdjJpp0PU5Pzh49Pp0,179
|
|
26
27
|
pymax/api/chats/enums.py,sha256=WbJJ9C_SfCIFIWOjxg6KszhWFB5zQX-t_NTozLqeTJo,899
|
|
27
|
-
pymax/api/chats/payloads.py,sha256=
|
|
28
|
-
pymax/api/chats/service.py,sha256=
|
|
29
|
-
pymax/api/messages/__init__.py,sha256=
|
|
28
|
+
pymax/api/chats/payloads.py,sha256=KcdBQbO_yS2KwKEmz6Yxs-CNXQCeqoscGoQp2ArAxjo,3283
|
|
29
|
+
pymax/api/chats/service.py,sha256=HOw_TBJX_33gzCD6WrrM7UFKISvV9_6B_6PIZETjnY4,13391
|
|
30
|
+
pymax/api/messages/__init__.py,sha256=wm7n4mUUiVMQQ2w5Sj5pdHDzMyKfzOdfVTxndIHDDVg,51
|
|
30
31
|
pymax/api/messages/enums.py,sha256=tp5S2Q97a-FILcqpRhQiIRKdj0P_KSEBiCqWmb05dHs,368
|
|
31
|
-
pymax/api/messages/payloads.py,sha256=
|
|
32
|
-
pymax/api/messages/service.py,sha256=
|
|
32
|
+
pymax/api/messages/payloads.py,sha256=lgvW_LCnCMWR8h_H78L7nFzRSGFvCuiLATVfFMl1SYU,3049
|
|
33
|
+
pymax/api/messages/service.py,sha256=HZJxl47G-MUUpry20fWx5wnx6cJH5a6JKoCSwLXdzK8,18088
|
|
33
34
|
pymax/api/self/__init__.py,sha256=f3c1icSKASVm2BKuDLzNmniJHokLk9d82GC3EfyJ5tc,138
|
|
34
35
|
pymax/api/self/enums.py,sha256=5WUmdfyFVCaMIeiTngIa2X8pK7DBvkGtWgeopgWwkWI,393
|
|
35
36
|
pymax/api/self/payloads.py,sha256=wVIaETW0MwY1cKbQsNZgyqPm6dGFM_q0ih-TuWWXD1s,2468
|
|
@@ -40,20 +41,21 @@ pymax/api/session/payloads.py,sha256=KJBoP_XfL2lJbXvR3tzWf2WaLn73L2LiEuqP0cdJ6u0
|
|
|
40
41
|
pymax/api/session/service.py,sha256=h4WmKDHeO60VgjjZwdx2CFcrOEsx3k9CGqWfy7jICfk,2356
|
|
41
42
|
pymax/api/uploads/__init__.py,sha256=E7INNsBeMStze2VWMADX4mrswsQeJb85C71sSuiOpv0,35
|
|
42
43
|
pymax/api/uploads/models.py,sha256=c2Yunnl9nRkDZuItXGKlY0Oi5DjnB4f5bcruQ49ARZk,934
|
|
43
|
-
pymax/api/uploads/payloads.py,sha256=
|
|
44
|
-
pymax/api/uploads/service.py,sha256=
|
|
44
|
+
pymax/api/uploads/payloads.py,sha256=9joVF-nWEkay7pM5KIKJ43yiXObcoRzajlQmBl7LIRE,1901
|
|
45
|
+
pymax/api/uploads/service.py,sha256=0gs9q9FWjAB1hLxc42JOqA_4CoWUEfueQgqeB6Ow12c,26967
|
|
45
46
|
pymax/api/users/__init__.py,sha256=CDakgSKwVAkX-kNoDmIo2JsFPsS7Nx3j2vIMwQnPRck,82
|
|
46
47
|
pymax/api/users/enums.py,sha256=m3d225sjWkBIRF5NNi3ChnyZ6BgKUEbPYoYwVjpifZ4,205
|
|
47
48
|
pymax/api/users/payloads.py,sha256=mWrbhu3KzrsxmBdRQU3bG8W46vtFq_Kdfb2YA7_QkNI,876
|
|
48
49
|
pymax/api/users/service.py,sha256=ndYv60kKkqZPnFOgvfau2LAjgOf-NsLQ7P4xxoWBAr4,4663
|
|
49
|
-
pymax/auth/__init__.py,sha256=
|
|
50
|
+
pymax/auth/__init__.py,sha256=QM0kiabQe1K21Bsi1M6DQfh09prrozrOYpDRv_l5bns,603
|
|
50
51
|
pymax/auth/base.py,sha256=v492FMUmSKft6oJRmCdIr33sy50Z0kqBwu5t7cVLQe4,1222
|
|
51
52
|
pymax/auth/email.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
53
|
+
pymax/auth/exceptions.py,sha256=kSrDUah46ZSPT4tR1uhfcIHBlayueKmxxiKvL83gPYc,358
|
|
52
54
|
pymax/auth/models.py,sha256=2SbjOJev1-B1bFEFM0NJPNX4wBTc4JbVDDouRHoAYc0,91
|
|
53
|
-
pymax/auth/providers.py,sha256=
|
|
55
|
+
pymax/auth/providers.py,sha256=06l_olqKnkZEJePor_3KkLbWbFgSyyD4Lvxbz5mrVx8,4319
|
|
54
56
|
pymax/auth/qr.py,sha256=Kkj5_2UEfdqgov76TIIdobCvJxltv8A1CPVunDlQa-w,4203
|
|
55
57
|
pymax/auth/service.py,sha256=cUZxs5UW9ysSaJ-UXSOz0ug3fDo1eN0xAjO7VP1MdTU,619
|
|
56
|
-
pymax/auth/sms.py,sha256
|
|
58
|
+
pymax/auth/sms.py,sha256=l-NTTO8cRW468Am63A7dppzP8Q013OQzYN1iPa4Adbs,5246
|
|
57
59
|
pymax/connection/__init__.py,sha256=YTboFk9AfYkRUw2Hf4oxn63LTGV475fxp_oel1j4gas,42
|
|
58
60
|
pymax/connection/connection.py,sha256=4mLJ5eec43fRV09OSC5I4A2DO9Wxrl7TTcBBeYn7pDY,8268
|
|
59
61
|
pymax/connection/pending.py,sha256=qezxL019d1E6oiCmSgCSfojLj7sxR1BEGgcKBWSFhok,1328
|
|
@@ -68,24 +70,24 @@ pymax/dispatch/mapping.py,sha256=yQYFEK4Nn1CzpUat_bNx2CGYpL96wmfDwVMEe9abqZ8,344
|
|
|
68
70
|
pymax/dispatch/resolvers.py,sha256=jSwziNf0vA-38ZyEQr87ThzN1rJ1u1tgbEtaZdsNBKE,2203
|
|
69
71
|
pymax/dispatch/router.py,sha256=0dwXCR7TgAGNiq9oryXIuyAsJ15DJ3OMt9hrRenUBio,10453
|
|
70
72
|
pymax/files/__init__.py,sha256=BQB0iOnsyIBaVq77ii82T3Fu70oTlXGqAifen10zPhE,192
|
|
71
|
-
pymax/files/base.py,sha256=
|
|
73
|
+
pymax/files/base.py,sha256=Hdf7Yb1ki7IH2tDhXpd0l0CtgNWM7AkU2j8FwN81DbM,4238
|
|
72
74
|
pymax/files/file.py,sha256=JSkuKx0fdGxzcsyMajWTosFzTlfgZYvQbh-RDp9OZyQ,2337
|
|
73
75
|
pymax/files/photo.py,sha256=jvHihuyghDljY9PLh3ymJfoj5KksIRBWIK3z9Dmgjuk,3604
|
|
74
76
|
pymax/files/static.py,sha256=U_KfM0rbGMEWcsBnWIhIXzzk46hHYQ7KJnrGnfDLoMs,142
|
|
75
|
-
pymax/files/video.py,sha256=
|
|
76
|
-
pymax/files/voice.py,sha256=
|
|
77
|
+
pymax/files/video.py,sha256=5gjiv5Yx87StbCqBAZKCHb-_PCmen0UsWGuPbAiUk2k,4063
|
|
78
|
+
pymax/files/voice.py,sha256=H5qcTWW3k-vXq0zhIAoz8EQdJBNyPawlbOZji4lZs7k,2033
|
|
77
79
|
pymax/fingerprint/__init__.py,sha256=W5N5XEr45qdgt8hWUwQ8jc0USHZs12ZKtChhILOK3do,46
|
|
78
|
-
pymax/fingerprint/fingerprint.py,sha256=
|
|
79
|
-
pymax/fingerprint/models.py,sha256=
|
|
80
|
+
pymax/fingerprint/fingerprint.py,sha256=LAryGmcrYBztV8gMjgr5b3fCheKsZNZ0SAp2rguOMys,880
|
|
81
|
+
pymax/fingerprint/models.py,sha256=OXMwtOTNq6ASuIwYvVnO8ovZfxiuYfNozhFXk7Q6fNk,307
|
|
80
82
|
pymax/formatting/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
81
83
|
pymax/formatting/markdown.py,sha256=xHF2XEGjiyJHN7WUZI312a2EkBZRxw38e1y-QQ-8dr8,6637
|
|
82
84
|
pymax/infra/__init__.py,sha256=lKq6cehhB87HltV53TD0kr0p7ekWlZlrKTpaYiq0XFw,28
|
|
83
85
|
pymax/infra/auth.py,sha256=5Up9VVtq9ZV2AtUVK4FvlRhHmMlDjeQ29aPRq1HKQEI,3877
|
|
84
86
|
pymax/infra/base.py,sha256=sOo40Qkp14bE6CxVKppJhy3e0F5VhFPhnL3iBs8y5dA,368
|
|
85
87
|
pymax/infra/bots.py,sha256=6o0owuxZbWBg55W7fsuL4PQ9OqkGsMFvd6LU6RL12ds,1182
|
|
86
|
-
pymax/infra/chat.py,sha256=
|
|
87
|
-
pymax/infra/message.py,sha256=
|
|
88
|
-
pymax/infra/protocol.py,sha256=
|
|
88
|
+
pymax/infra/chat.py,sha256=VjndUr9t7zxGC8wXQwyzlXWgN7eh9eqp2_77ds_DNLY,15901
|
|
89
|
+
pymax/infra/message.py,sha256=H34--3jpk_0-BPvT4HzeyhNuxgZXBtej60l5VJUoA4I,13130
|
|
90
|
+
pymax/infra/protocol.py,sha256=v-HKtqR1p7D2jwduqf0_WNTKhw3QTRog0IT2mf3u1fs,301
|
|
89
91
|
pymax/infra/self.py,sha256=QnZehUgm9-pCrw5seu4K_DhpdSlhvyOt1zU4yJ6Y2II,5907
|
|
90
92
|
pymax/infra/user.py,sha256=wy6lElmJx7Ypjkk48kDrlLiL3V3p7pzO2MevsgCNy1k,4801
|
|
91
93
|
pymax/protocol/__init__.py,sha256=rDn1Twi1iBDUk1155YI9jyeQyaGVDRuPoWdlaaLZnsw,242
|
|
@@ -99,17 +101,17 @@ pymax/protocol/tcp/payload.py,sha256=zl34Xk0AB1nzZsvke4vo-7HcwnfwoP61typu7j0Q3JI
|
|
|
99
101
|
pymax/protocol/tcp/protocol.py,sha256=b5AAYQUOhq985Wc1pCPzt84pjGnVGfGxbdwRN0R91xk,2380
|
|
100
102
|
pymax/protocol/ws/__init__.py,sha256=oQK0h28B6gGItf7eHanWy_XsgUA_L9Lclnuz9ZQL9YI,33
|
|
101
103
|
pymax/protocol/ws/protocol.py,sha256=z6zzBQTlJfzwOmLsJYoYQ2L1AYpY5wYMJyPir_zfNBQ,913
|
|
102
|
-
pymax/session/__init__.py,sha256=
|
|
103
|
-
pymax/session/models.py,sha256=
|
|
104
|
-
pymax/session/protocol.py,sha256=
|
|
105
|
-
pymax/session/store.py,sha256=
|
|
104
|
+
pymax/session/__init__.py,sha256=NhguO5G_GmfzKvBdUX7m8gmAX66NvIp6yGPyz5o50zI,115
|
|
105
|
+
pymax/session/models.py,sha256=gAGvZcqINWZIm_6x0X3E1iqXfddeKCyQmno0DCkLmeA,1635
|
|
106
|
+
pymax/session/protocol.py,sha256=Xr4gv4XV2A3uZJDeWRCRlty-MSsojI5DaHyu8i6hz1w,1632
|
|
107
|
+
pymax/session/store.py,sha256=EDRYsg4bHdnHxxieXZMNTRhIohwJZRdKfOxO--yB18E,10642
|
|
106
108
|
pymax/telemetry/__init__.py,sha256=6mP5y-iTbVIlqpSWIKWCTz2fFNBwkAEYwS4PFbyv9xM,71
|
|
107
109
|
pymax/telemetry/navigation.py,sha256=vlP7d863s9aIBpt9SPpjEbTXLoq3uqpuhD-VWj0w9hI,5441
|
|
108
110
|
pymax/telemetry/payloads.py,sha256=MCKYGpQ4Tvx_8LH86Et0yevea2Th2z3b7a9pfmrQRys,3959
|
|
109
111
|
pymax/telemetry/service.py,sha256=rlFQAlMFnNZjw631bPHRSLWMkrIvyji47SYnGRJ0Apk,6952
|
|
110
112
|
pymax/transport/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
111
113
|
pymax/transport/base.py,sha256=0D3srQ36F0s23pIjqd6YzRGKK9wCmXKr3wfe2XYYlos,448
|
|
112
|
-
pymax/transport/tcp.py,sha256=
|
|
114
|
+
pymax/transport/tcp.py,sha256=DbCy4DlYwZo07hcoLJ5JBlz9D3bHtI9r872qavRJKDw,3593
|
|
113
115
|
pymax/transport/websocket.py,sha256=_G9sxRqitahlhENF3XVB6yBo0wFWoXBRJn9KC7GEZso,1617
|
|
114
116
|
pymax/types/__init__.py,sha256=y77mfDRgxmfcamobi0rj2d3PsxhH0zxyvKPhL2iUdS8,44
|
|
115
117
|
pymax/types/domain/__init__.py,sha256=w3uzu6VF4ci-EYRHHH-Ksm9nk4Wm5LCPablKAndyAj8,553
|
|
@@ -118,13 +120,13 @@ pymax/types/domain/base.py,sha256=Q32PcKR3gtrISySowR3zPyl9KeQCoUL6lfyTR3ulMzo,62
|
|
|
118
120
|
pymax/types/domain/bots.py,sha256=dErZZbvspznU6yUupzCs4R55pEWgoeps7NEhZFrb-Uo,333
|
|
119
121
|
pymax/types/domain/chat.py,sha256=jIXCnzynlkGQMbrbvU2wtqHIkXqMwkAYI9U8Cd-iV-w,20502
|
|
120
122
|
pymax/types/domain/element.py,sha256=Hks0MulMcPAhbpuUmJa5c2d9Emwy3garh1k6bd4QHKA,655
|
|
121
|
-
pymax/types/domain/enums.py,sha256=
|
|
123
|
+
pymax/types/domain/enums.py,sha256=ONkUdvQ0EazlPuKLnquY6DqfN5z-lMRJlqDvkKyCpok,594
|
|
122
124
|
pymax/types/domain/error.py,sha256=WZoDAXf5vt8O4VYy7iEHLGBfH6hZQZ1fVkTz9rVCTN0,584
|
|
123
125
|
pymax/types/domain/folder.py,sha256=Z9pXMzOTfxuhUfrJpLjl5LPnVXqqFsBVfKBQm4IbGWM,2225
|
|
124
126
|
pymax/types/domain/handshake.py,sha256=9eOPYBJ3O4UAPNUfk7bPnZ3mwBtJw7kfhE8W4aK2k0U,417
|
|
125
127
|
pymax/types/domain/login.py,sha256=LIw7b2aYqPWfRhCWrBU1zeCtDazJQwoWN3Cdz-WdS4w,2303
|
|
126
128
|
pymax/types/domain/member.py,sha256=8gUNn4fBS_S2ap45A40lRlrDXYFMoq0Kx-dh57hMWQc,490
|
|
127
|
-
pymax/types/domain/message.py,sha256=
|
|
129
|
+
pymax/types/domain/message.py,sha256=P_DQcWP8VU33nZpdJwFifiGq6cosyyfTTcbcbVgLfKs,19731
|
|
128
130
|
pymax/types/domain/name.py,sha256=qMIshIqgWkVuROxmiCRhwfJf8XtmhSBoEU6nXs_gEh0,523
|
|
129
131
|
pymax/types/domain/presence.py,sha256=lKvkK0uYwY0gTSEEkaVdI-tEpWjxLOtH7gp2dy5Uh-0,534
|
|
130
132
|
pymax/types/domain/profile.py,sha256=taN5PjlKp4EDypVhDx89vmBDpSKh-kT-ISpu1tR2cY8,471
|
|
@@ -133,17 +135,17 @@ pymax/types/domain/sync.py,sha256=lBDWo4ACLq2ov5XBccfnI8s_dsGEA7O4mIJVBSUpyrc,32
|
|
|
133
135
|
pymax/types/domain/user.py,sha256=Vj9HvSVQKKLJ1HX-OM9T1knvPNyCqrwJnWkz16ByeLg,5367
|
|
134
136
|
pymax/types/domain/attachments/__init__.py,sha256=loACz_Tp9KWwQSjBwAski55eyRGpMurZ6mrpaVDrXo4,544
|
|
135
137
|
pymax/types/domain/attachments/audio.py,sha256=I_Qq1qQ9bXsEzWwxEbQbkiY8CEjSKqGqinDFYY_5DY8,1117
|
|
136
|
-
pymax/types/domain/attachments/call.py,sha256=
|
|
137
|
-
pymax/types/domain/attachments/contact.py,sha256=
|
|
138
|
-
pymax/types/domain/attachments/control.py,sha256=
|
|
139
|
-
pymax/types/domain/attachments/enums.py,sha256=
|
|
138
|
+
pymax/types/domain/attachments/call.py,sha256=vYFOz1XT2YHOlSFkKqLAFW-Y1quRBlB2bjHMidjBB8U,1195
|
|
139
|
+
pymax/types/domain/attachments/contact.py,sha256=ZAvvPdNwm_t_Up9puQFOxHYl0U-7Asf2qhvLlo1oBqs,1053
|
|
140
|
+
pymax/types/domain/attachments/control.py,sha256=Io-Plz4kSJvvR4WndbQm09GyA2Ezut9Hnsd6oDcnayg,673
|
|
141
|
+
pymax/types/domain/attachments/enums.py,sha256=rD9c1985gH-Ob9IONlM32ok6F9-F_5hGI1aPTotwvRc,1599
|
|
140
142
|
pymax/types/domain/attachments/file.py,sha256=3lqsPIkg75-AmcaEbXwc1eiQHIv9JpWzMc0z4u2MupE,1595
|
|
141
143
|
pymax/types/domain/attachments/photo.py,sha256=8q79OuQ0V8t-s9pZM8ClAmgJI71m-bgES4Bd5ZSNVI0,1413
|
|
142
144
|
pymax/types/domain/attachments/poll.py,sha256=-p3KJX_X6Nno8I3qA813-9pFkp8VFrLRgx7sL5Aauac,3569
|
|
143
145
|
pymax/types/domain/attachments/share.py,sha256=BHJIVjTC99wfbUn8wSN4j0aSNlEpojzv87uwbmhPPt0,924
|
|
144
146
|
pymax/types/domain/attachments/sticker.py,sha256=sJn13LuyF5u7Oy9HLGBIlXmdPjxAib0oy30TZz455vE,1544
|
|
145
147
|
pymax/types/domain/attachments/unknown.py,sha256=oThuTVkzkdmpCftRoa42b1jyy-QbBbfgyc0ocX0jeS8,917
|
|
146
|
-
pymax/types/domain/attachments/video.py,sha256=
|
|
148
|
+
pymax/types/domain/attachments/video.py,sha256=ZT0qYp6LWtrMA-U4mJY-NIyqPMgfZ7bsA3YQhjDSO54,3786
|
|
147
149
|
pymax/types/domain/attachments/keyboards/__init__.py,sha256=1X5UGBe5E_DO7e4p8_JmJEocHLzXOezutieRuQsVpRA,45
|
|
148
150
|
pymax/types/domain/attachments/keyboards/inline.py,sha256=3RNubcqx7RZ1f6zfJ7JaNFCPx5mnmJ5vYsL1i7lSMAM,577
|
|
149
151
|
pymax/types/events/__init__.py,sha256=fvCPR_ZN-zRow3eeJ3hzDn2auWfnOxFFQ8GRTZTFfMA,294
|
|
@@ -155,7 +157,10 @@ pymax/types/events/reaction.py,sha256=d-oA9czes9vQIO8jaEmdiUWIrE8Dea0jhHnCA5f9FO
|
|
|
155
157
|
pymax/types/events/typing.py,sha256=vDMgqYE0jz8dN2YfqsNaJLB8k7pMd6kaDEdR_KrLk5g,376
|
|
156
158
|
pymax/types/events/video.py,sha256=swBHYadmDS0SjLXGqVqRYsuMoVZ6MjD2aYR2fbM-AJc,104
|
|
157
159
|
pymax/types/events/voice.py,sha256=E4BjLBnqsu05s8ZxFN4I_B5OVaecoPvXI-826YJ_ze8,104
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
maxapi_python-2.4.
|
|
160
|
+
pymax/versions/__init__.py,sha256=Y_sOE3LNIEMz6P2K7moowdeJfoZxaQOHcxI4fAqUGFY,81
|
|
161
|
+
pymax/versions/catalog.py,sha256=oz4IQaqgvLs2scy7O5VjuSvThOQUbD8VhSkKzMnz-jQ,3941
|
|
162
|
+
pymax/versions/exceptions.py,sha256=ZjQD1ulkjpjpGX_YWYZ1943DkJdccK4P5f4ozcEcX3U,448
|
|
163
|
+
maxapi_python-2.4.1.dist-info/METADATA,sha256=H_S0e7Q6rDm96J0mq4uHM-f3pqklvpEH8a7nMlcgu9k,7771
|
|
164
|
+
maxapi_python-2.4.1.dist-info/WHEEL,sha256=zOwg4jB6zX2kU910N-cMawjivD6tO8NEWvE12je1bVk,87
|
|
165
|
+
maxapi_python-2.4.1.dist-info/licenses/LICENSE,sha256=hOR249ItqMdcly1A0amqEWRNRTq4Gv5NJtmQ3A5qK4E,1070
|
|
166
|
+
maxapi_python-2.4.1.dist-info/RECORD,,
|
pymax/__init__.py
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
__version__ = "2.4.
|
|
1
|
+
__version__ = "2.4.1"
|
|
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,
|
|
@@ -49,12 +50,13 @@ __all__ = (
|
|
|
49
50
|
"Message",
|
|
50
51
|
"MessageDeleteEvent",
|
|
51
52
|
"MessageReadEvent",
|
|
53
|
+
"PasswordAttemptsExceededError",
|
|
52
54
|
"PasswordProvider",
|
|
53
55
|
"Photo",
|
|
54
56
|
"PresenceEvent",
|
|
55
|
-
"Profile",
|
|
56
57
|
"PrivacyAccess",
|
|
57
58
|
"PrivacySettingsUpdate",
|
|
59
|
+
"Profile",
|
|
58
60
|
"PyMaxError",
|
|
59
61
|
"QrAuthFlow",
|
|
60
62
|
"QrHandler",
|
|
@@ -1,21 +1,4 @@
|
|
|
1
1
|
{
|
|
2
|
-
"26.9.1": {
|
|
3
|
-
"signature_scheme": "v3",
|
|
4
|
-
"certificate_count": 1,
|
|
5
|
-
"certificate_meta_sha256": "1684414033eb263e2c615f8b7df5ed8793850a07656304997fbf07e9e21e1e93",
|
|
6
|
-
"certificate_sha256": [
|
|
7
|
-
"1684414033eb263e2c615f8b7df5ed8793850a07656304997fbf07e9e21e1e93"
|
|
8
|
-
],
|
|
9
|
-
"dex_meta_sha256": "6ce0d31a723db1a03d0523236b37b7a2000428ce60bd0ff34e45d082dd7c1590",
|
|
10
|
-
"so_meta_sha256_arm64_v8a": "10be2bbf7629dfed4a50b8c1114f8386c271df3a3fe1bee433b7846483ed183e",
|
|
11
|
-
"so_meta_sha256": {
|
|
12
|
-
"arm64-v8a": "10be2bbf7629dfed4a50b8c1114f8386c271df3a3fe1bee433b7846483ed183e",
|
|
13
|
-
"armeabi-v7a": "6fe430d8d622243d8d7aba3394f40c4df59474b6291e9ed78c023fc2f7dc5281",
|
|
14
|
-
"x86": "0dc31a603ecbd77cb0067440a99283444613053755a3f823ef1a9e249e25da4c",
|
|
15
|
-
"x86_64": "7bf4bc1e18412814ccc62dedce0419f1444504d28c634cb394cb13d381e39820"
|
|
16
|
-
},
|
|
17
|
-
"build_number": 6643
|
|
18
|
-
},
|
|
19
2
|
"26.10.0": {
|
|
20
3
|
"signature_scheme": "v3",
|
|
21
4
|
"certificate_count": 1,
|
|
@@ -678,5 +661,107 @@
|
|
|
678
661
|
"x86_64": "251b88c27a1c055f27adc110e44a75a1c60408b0d5e20e3844f816aa227212a3"
|
|
679
662
|
},
|
|
680
663
|
"build_number": 6790
|
|
664
|
+
},
|
|
665
|
+
"26.26.0": {
|
|
666
|
+
"signature_scheme": "v3",
|
|
667
|
+
"certificate_count": 1,
|
|
668
|
+
"certificate_meta_sha256": "1684414033eb263e2c615f8b7df5ed8793850a07656304997fbf07e9e21e1e93",
|
|
669
|
+
"certificate_sha256": [
|
|
670
|
+
"1684414033eb263e2c615f8b7df5ed8793850a07656304997fbf07e9e21e1e93"
|
|
671
|
+
],
|
|
672
|
+
"dex_meta_sha256": "2538a819fdcf2cf8afdcb1ab1476d0c08cc0e4d4bad86f1bf381408d081ec410",
|
|
673
|
+
"so_meta_sha256_arm64_v8a": "634ecc42b246784d975f180b4fecf903df235cdf0476da47163a85630eb1a6a8",
|
|
674
|
+
"so_meta_sha256": {
|
|
675
|
+
"arm64-v8a": "634ecc42b246784d975f180b4fecf903df235cdf0476da47163a85630eb1a6a8",
|
|
676
|
+
"armeabi-v7a": "042220bdd481a280d2c1f4f6827f0e4fab7bca61e5af0f6035a0d191aed1350c",
|
|
677
|
+
"x86": "deffe34d2a9d83584e02cbb3f22ba5a6dbe1b065dbc8a8ea8ca908dae865c5f6",
|
|
678
|
+
"x86_64": "251b88c27a1c055f27adc110e44a75a1c60408b0d5e20e3844f816aa227212a3"
|
|
679
|
+
},
|
|
680
|
+
"build_number": 6797
|
|
681
|
+
},
|
|
682
|
+
"26.26.1": {
|
|
683
|
+
"signature_scheme": "v3",
|
|
684
|
+
"certificate_count": 1,
|
|
685
|
+
"certificate_meta_sha256": "1684414033eb263e2c615f8b7df5ed8793850a07656304997fbf07e9e21e1e93",
|
|
686
|
+
"certificate_sha256": [
|
|
687
|
+
"1684414033eb263e2c615f8b7df5ed8793850a07656304997fbf07e9e21e1e93"
|
|
688
|
+
],
|
|
689
|
+
"dex_meta_sha256": "dfd7c9656330664b7e2a2c2c12f2b795631105359ee79e3a241dff0aad91ecda",
|
|
690
|
+
"so_meta_sha256_arm64_v8a": "634ecc42b246784d975f180b4fecf903df235cdf0476da47163a85630eb1a6a8",
|
|
691
|
+
"so_meta_sha256": {
|
|
692
|
+
"arm64-v8a": "634ecc42b246784d975f180b4fecf903df235cdf0476da47163a85630eb1a6a8",
|
|
693
|
+
"armeabi-v7a": "042220bdd481a280d2c1f4f6827f0e4fab7bca61e5af0f6035a0d191aed1350c",
|
|
694
|
+
"x86": "deffe34d2a9d83584e02cbb3f22ba5a6dbe1b065dbc8a8ea8ca908dae865c5f6",
|
|
695
|
+
"x86_64": "251b88c27a1c055f27adc110e44a75a1c60408b0d5e20e3844f816aa227212a3"
|
|
696
|
+
},
|
|
697
|
+
"build_number": 6798
|
|
698
|
+
},
|
|
699
|
+
"26.27.0": {
|
|
700
|
+
"signature_scheme": "v3",
|
|
701
|
+
"certificate_count": 1,
|
|
702
|
+
"certificate_meta_sha256": "1684414033eb263e2c615f8b7df5ed8793850a07656304997fbf07e9e21e1e93",
|
|
703
|
+
"certificate_sha256": [
|
|
704
|
+
"1684414033eb263e2c615f8b7df5ed8793850a07656304997fbf07e9e21e1e93"
|
|
705
|
+
],
|
|
706
|
+
"dex_meta_sha256": "a68af06b78977b960d30ec6ed5fdffe9266ffbe351541b03c59978739fb7b2b9",
|
|
707
|
+
"so_meta_sha256_arm64_v8a": "634ecc42b246784d975f180b4fecf903df235cdf0476da47163a85630eb1a6a8",
|
|
708
|
+
"so_meta_sha256": {
|
|
709
|
+
"arm64-v8a": "634ecc42b246784d975f180b4fecf903df235cdf0476da47163a85630eb1a6a8",
|
|
710
|
+
"armeabi-v7a": "042220bdd481a280d2c1f4f6827f0e4fab7bca61e5af0f6035a0d191aed1350c",
|
|
711
|
+
"x86": "deffe34d2a9d83584e02cbb3f22ba5a6dbe1b065dbc8a8ea8ca908dae865c5f6",
|
|
712
|
+
"x86_64": "251b88c27a1c055f27adc110e44a75a1c60408b0d5e20e3844f816aa227212a3"
|
|
713
|
+
},
|
|
714
|
+
"build_number": 6800
|
|
715
|
+
},
|
|
716
|
+
"26.27.1": {
|
|
717
|
+
"signature_scheme": "v3",
|
|
718
|
+
"certificate_count": 1,
|
|
719
|
+
"certificate_meta_sha256": "1684414033eb263e2c615f8b7df5ed8793850a07656304997fbf07e9e21e1e93",
|
|
720
|
+
"certificate_sha256": [
|
|
721
|
+
"1684414033eb263e2c615f8b7df5ed8793850a07656304997fbf07e9e21e1e93"
|
|
722
|
+
],
|
|
723
|
+
"dex_meta_sha256": "443d2e2121ebe59c235dfce0537f5aeb560906c4c9c131cbade3db507074083d",
|
|
724
|
+
"so_meta_sha256_arm64_v8a": "634ecc42b246784d975f180b4fecf903df235cdf0476da47163a85630eb1a6a8",
|
|
725
|
+
"so_meta_sha256": {
|
|
726
|
+
"arm64-v8a": "634ecc42b246784d975f180b4fecf903df235cdf0476da47163a85630eb1a6a8",
|
|
727
|
+
"armeabi-v7a": "042220bdd481a280d2c1f4f6827f0e4fab7bca61e5af0f6035a0d191aed1350c",
|
|
728
|
+
"x86": "deffe34d2a9d83584e02cbb3f22ba5a6dbe1b065dbc8a8ea8ca908dae865c5f6",
|
|
729
|
+
"x86_64": "251b88c27a1c055f27adc110e44a75a1c60408b0d5e20e3844f816aa227212a3"
|
|
730
|
+
},
|
|
731
|
+
"build_number": 6802
|
|
732
|
+
},
|
|
733
|
+
"26.28.0": {
|
|
734
|
+
"signature_scheme": "v3",
|
|
735
|
+
"certificate_count": 1,
|
|
736
|
+
"certificate_meta_sha256": "1684414033eb263e2c615f8b7df5ed8793850a07656304997fbf07e9e21e1e93",
|
|
737
|
+
"certificate_sha256": [
|
|
738
|
+
"1684414033eb263e2c615f8b7df5ed8793850a07656304997fbf07e9e21e1e93"
|
|
739
|
+
],
|
|
740
|
+
"dex_meta_sha256": "20248d9c06745abe01c19cd019f7ac11e0a43dc02e49f87919f01b720c28b30f",
|
|
741
|
+
"so_meta_sha256_arm64_v8a": "9a7d6c3f2d3d01ca5e8692f254be92306d37fadb074692479bdf961943675f7a",
|
|
742
|
+
"so_meta_sha256": {
|
|
743
|
+
"arm64-v8a": "9a7d6c3f2d3d01ca5e8692f254be92306d37fadb074692479bdf961943675f7a",
|
|
744
|
+
"armeabi-v7a": "bfc5ac5df34357fa817c4a8ce4696cd95b2c34f903d91ef15ea86463c600befa",
|
|
745
|
+
"x86": "918eacab4fa4e04d90a7fa666bc39633ae47fbba70b6817b5dfd1f62233fab8e",
|
|
746
|
+
"x86_64": "ae38786d2c0541c4d2c3050265e30bde68df16302aebc5302432813ff20f858c"
|
|
747
|
+
},
|
|
748
|
+
"build_number": 6804
|
|
749
|
+
},
|
|
750
|
+
"26.9.1": {
|
|
751
|
+
"signature_scheme": "v3",
|
|
752
|
+
"certificate_count": 1,
|
|
753
|
+
"certificate_meta_sha256": "1684414033eb263e2c615f8b7df5ed8793850a07656304997fbf07e9e21e1e93",
|
|
754
|
+
"certificate_sha256": [
|
|
755
|
+
"1684414033eb263e2c615f8b7df5ed8793850a07656304997fbf07e9e21e1e93"
|
|
756
|
+
],
|
|
757
|
+
"dex_meta_sha256": "6ce0d31a723db1a03d0523236b37b7a2000428ce60bd0ff34e45d082dd7c1590",
|
|
758
|
+
"so_meta_sha256_arm64_v8a": "10be2bbf7629dfed4a50b8c1114f8386c271df3a3fe1bee433b7846483ed183e",
|
|
759
|
+
"so_meta_sha256": {
|
|
760
|
+
"arm64-v8a": "10be2bbf7629dfed4a50b8c1114f8386c271df3a3fe1bee433b7846483ed183e",
|
|
761
|
+
"armeabi-v7a": "6fe430d8d622243d8d7aba3394f40c4df59474b6291e9ed78c023fc2f7dc5281",
|
|
762
|
+
"x86": "0dc31a603ecbd77cb0067440a99283444613053755a3f823ef1a9e249e25da4c",
|
|
763
|
+
"x86_64": "7bf4bc1e18412814ccc62dedce0419f1444504d28c634cb394cb13d381e39820"
|
|
764
|
+
},
|
|
765
|
+
"build_number": 6643
|
|
681
766
|
}
|
|
682
767
|
}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
-----BEGIN CERTIFICATE-----
|
|
2
|
+
MIIFwjCCA6qgAwIBAgICEAAwDQYJKoZIhvcNAQELBQAwcDELMAkGA1UEBhMCUlUx
|
|
3
|
+
PzA9BgNVBAoMNlRoZSBNaW5pc3RyeSBvZiBEaWdpdGFsIERldmVsb3BtZW50IGFu
|
|
4
|
+
ZCBDb21tdW5pY2F0aW9uczEgMB4GA1UEAwwXUnVzc2lhbiBUcnVzdGVkIFJvb3Qg
|
|
5
|
+
Q0EwHhcNMjIwMzAxMjEwNDE1WhcNMzIwMjI3MjEwNDE1WjBwMQswCQYDVQQGEwJS
|
|
6
|
+
VTE/MD0GA1UECgw2VGhlIE1pbmlzdHJ5IG9mIERpZ2l0YWwgRGV2ZWxvcG1lbnQg
|
|
7
|
+
YW5kIENvbW11bmljYXRpb25zMSAwHgYDVQQDDBdSdXNzaWFuIFRydXN0ZWQgUm9v
|
|
8
|
+
dCBDQTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAMfFOZ8pUAL3+r2n
|
|
9
|
+
qqE0Zp52selXsKGFYoG0GM5bwz1bSFtCt+AZQMhkWQheI3poZAToYJu69pHLKS6Q
|
|
10
|
+
XBiwBC1cvzYmUYKMYZC7jE5YhEU2bSL0mX7NaMxMDmH2/NwuOVRj8OImVa5s1F4U
|
|
11
|
+
zn4Kv3PFlDBjjSjXKVY9kmjUBsXQrIHeaqmUIsPIlNWUnimXS0I0abExqkbdrXbX
|
|
12
|
+
YwCOXhOO2pDUx3ckmJlCMUGacUTnylyQW2VsJIyIGA8V0xzdaeUXg0VZ6ZmNUr5Y
|
|
13
|
+
Ber/EAOLPb8NYpsAhJe2mXjMB/J9HNsoFMBFJ0lLOT/+dQvjbdRZoOT8eqJpWnVD
|
|
14
|
+
U+QL/qEZnz57N88OWM3rabJkRNdU/Z7x5SFIM9FrqtN8xewsiBWBI0K6XFuOBOTD
|
|
15
|
+
4V08o4TzJ8+Ccq5XlCUW2L48pZNCYuBDfBh7FxkB7qDgGDiaftEkZZfApRg2E+M9
|
|
16
|
+
G8wkNKTPLDc4wH0FDTijhgxR3Y4PiS1HL2Zhw7bD3CbslmEGgfnnZojNkJtcLeBH
|
|
17
|
+
BLa52/dSwNU4WWLubaYSiAmA9IUMX1/RpfpxOxd4Ykmhz97oFbUaDJFipIggx5sX
|
|
18
|
+
ePAlkTdWnv+RWBxlJwMQ25oEHmRguNYf4Zr/Rxr9cS93Y+mdXIZaBEE0KS2iLRqa
|
|
19
|
+
OiWBki9IMQU4phqPOBAaG7A+eP8PAgMBAAGjZjBkMB0GA1UdDgQWBBTh0YHlzlpf
|
|
20
|
+
BKrS6badZrHF+qwshzAfBgNVHSMEGDAWgBTh0YHlzlpfBKrS6badZrHF+qwshzAS
|
|
21
|
+
BgNVHRMBAf8ECDAGAQH/AgEEMA4GA1UdDwEB/wQEAwIBhjANBgkqhkiG9w0BAQsF
|
|
22
|
+
AAOCAgEAALIY1wkilt/urfEVM5vKzr6utOeDWCUczmWX/RX4ljpRdgF+5fAIS4vH
|
|
23
|
+
tmXkqpSCOVeWUrJV9QvZn6L227ZwuE15cWi8DCDal3Ue90WgAJJZMfTshN4OI8cq
|
|
24
|
+
W9E4EG9wglbEtMnObHlms8F3CHmrw3k6KmUkWGoa+/ENmcVl68u/cMRl1JbW2bM+
|
|
25
|
+
/3A+SAg2c6iPDlehczKx2oa95QW0SkPPWGuNA/CE8CpyANIhu9XFrj3RQ3EqeRcS
|
|
26
|
+
AQQod1RNuHpfETLU/A2gMmvn/w/sx7TB3W5BPs6rprOA37tutPq9u6FTZOcG1Oqj
|
|
27
|
+
C/B7yTqgI7rbyvox7DEXoX7rIiEqyNNUguTk/u3SZ4VXE2kmxdmSh3TQvybfbnXV
|
|
28
|
+
4JbCZVaqiZraqc7oZMnRoWrXRG3ztbnbes/9qhRGI7PqXqeKJBztxRTEVj8ONs1d
|
|
29
|
+
WN5szTwaPIvhkhO3CO5ErU2rVdUr89wKpNXbBODFKRtgxUT70YpmJ46VVaqdAhOZ
|
|
30
|
+
D9EUUn4YaeLaS8AjSF/h7UkjOibNc4qVDiPP+rkehFWM66PVnP1Msh93tc+taIfC
|
|
31
|
+
EYVMxjh8zNbFuoc7fzvvrFILLe7ifvEIUqSVIC/AzplM/Jxw7buXFeGP1qVCBEHq
|
|
32
|
+
391d/9RAfaZ12zkwFsl+IKwE/OZxW8AHa9i1p4GO0YSNuczzEm4=
|
|
33
|
+
-----END CERTIFICATE-----
|
pymax/api/auth/service.py
CHANGED
|
@@ -76,8 +76,14 @@ class AuthService:
|
|
|
76
76
|
+ "in AuthService.request_code. Please report this issue to the developer."
|
|
77
77
|
)
|
|
78
78
|
|
|
79
|
+
if self.app.fingerprint_generator is None:
|
|
80
|
+
raise ValueError(
|
|
81
|
+
"Unexpected internal state: self.app.fingerprint_generator is missing and "
|
|
82
|
+
+ "DeviceType != WEB"
|
|
83
|
+
+ "in AuthService.request_code. Please report this issue to the developer."
|
|
84
|
+
)
|
|
85
|
+
|
|
79
86
|
mode = self.app.fingerprint_generator.generate_fingerprint(
|
|
80
|
-
version=self.app.config.device.user_agent.app_version,
|
|
81
87
|
device_id=device_id,
|
|
82
88
|
calls_seed=self.app.handshake_response.calls_seed,
|
|
83
89
|
arch=self.app.config.device.user_agent.arch or "arm64-v8a",
|
|
@@ -163,8 +169,14 @@ class AuthService:
|
|
|
163
169
|
+ "in AuthService.mobile_login. Please report this issue to the developer."
|
|
164
170
|
)
|
|
165
171
|
|
|
172
|
+
if self.app.fingerprint_generator is None:
|
|
173
|
+
raise ValueError(
|
|
174
|
+
"Unexpected internal state: self.app.fingerprint_generator is missing and "
|
|
175
|
+
+ "DeviceType != WEB"
|
|
176
|
+
+ "in AuthService.request_code. Please report this issue to the developer."
|
|
177
|
+
)
|
|
178
|
+
|
|
166
179
|
ccf = self.app.fingerprint_generator.generate_fingerprint(
|
|
167
|
-
version=self.app.config.device.user_agent.app_version,
|
|
168
180
|
device_id=device_id,
|
|
169
181
|
calls_seed=self.app.handshake_response.calls_seed,
|
|
170
182
|
arch=self.app.config.device.user_agent.arch or "arm64-v8a",
|
pymax/api/chats/payloads.py
CHANGED
|
@@ -74,8 +74,9 @@ class ChangeGroupSettingsPayload(CamelModel):
|
|
|
74
74
|
|
|
75
75
|
class ChangeGroupProfilePayload(CamelModel):
|
|
76
76
|
chat_id: int
|
|
77
|
-
theme: str | None
|
|
77
|
+
theme: str | None = None
|
|
78
78
|
description: str | None = None
|
|
79
|
+
photo_token: str | None = None
|
|
79
80
|
|
|
80
81
|
|
|
81
82
|
class JoinChatPayload(CamelModel):
|
pymax/api/chats/service.py
CHANGED
|
@@ -14,6 +14,7 @@ from pymax.api.response import (
|
|
|
14
14
|
require_payload_model,
|
|
15
15
|
)
|
|
16
16
|
from pymax.exceptions import PyMaxError
|
|
17
|
+
from pymax.files import Photo
|
|
17
18
|
from pymax.logging import get_logger
|
|
18
19
|
from pymax.protocol import Opcode
|
|
19
20
|
from pymax.types.domain import Chat, Member, Message
|
|
@@ -211,13 +212,19 @@ class ChatService:
|
|
|
211
212
|
chat_id: int,
|
|
212
213
|
name: str | None,
|
|
213
214
|
description: str | None = None,
|
|
215
|
+
photo: Photo | None = None,
|
|
214
216
|
) -> None:
|
|
217
|
+
|
|
215
218
|
frame = ChangeGroupProfilePayload(
|
|
216
219
|
chat_id=chat_id,
|
|
217
220
|
theme=name,
|
|
218
221
|
description=description,
|
|
219
222
|
)
|
|
220
223
|
|
|
224
|
+
if photo:
|
|
225
|
+
photo_payload = await self.app.api.uploads.upload_photo(photo)
|
|
226
|
+
frame.photo_token = photo_payload.photo_token
|
|
227
|
+
|
|
221
228
|
response = await self.app.invoke(Opcode.CHAT_UPDATE, frame.to_payload())
|
|
222
229
|
chat = parse_payload_item_model(response, ChatPayloadKey.CHAT, Chat)
|
|
223
230
|
if chat:
|
pymax/api/messages/__init__.py
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
from .service import MessageService
|
|
1
|
+
from .service import DateTimeUnion, MessageService
|
pymax/api/messages/payloads.py
CHANGED
|
@@ -33,12 +33,18 @@ class ReplyLink(CamelModel):
|
|
|
33
33
|
message_id: int
|
|
34
34
|
|
|
35
35
|
|
|
36
|
+
class DelayedAttributes(CamelModel):
|
|
37
|
+
time_to_fire: int
|
|
38
|
+
notify_sender: bool
|
|
39
|
+
|
|
40
|
+
|
|
36
41
|
class SendMessagePayloadMessage(CamelModel):
|
|
37
42
|
text: str | None = None
|
|
38
43
|
cid: int
|
|
39
44
|
elements: list[Any]
|
|
40
45
|
attaches: list[AttachPhotoPayload | VideoAttachPayload | AttachFilePayload | Poll]
|
|
41
46
|
link: ReplyLink | None = None
|
|
47
|
+
delayed_attributes: DelayedAttributes | None = None
|
|
42
48
|
|
|
43
49
|
|
|
44
50
|
class SendMessagePayload(CamelModel):
|
|
@@ -111,18 +117,18 @@ class ReactionInfoPayload(CamelModel):
|
|
|
111
117
|
|
|
112
118
|
class AddReactionPayload(CamelModel):
|
|
113
119
|
chat_id: int
|
|
114
|
-
message_id:
|
|
120
|
+
message_id: int
|
|
115
121
|
reaction: ReactionInfoPayload
|
|
116
122
|
|
|
117
123
|
|
|
118
124
|
class GetReactionsPayload(CamelModel):
|
|
119
125
|
chat_id: int
|
|
120
|
-
message_ids: list[
|
|
126
|
+
message_ids: list[int]
|
|
121
127
|
|
|
122
128
|
|
|
123
129
|
class RemoveReactionPayload(CamelModel):
|
|
124
130
|
chat_id: int
|
|
125
|
-
message_id:
|
|
131
|
+
message_id: int
|
|
126
132
|
|
|
127
133
|
|
|
128
134
|
class ReadMessagesPayload(CamelModel):
|