maxapi-python 2.3.1__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.
Files changed (79) hide show
  1. {maxapi_python-2.3.1.dist-info → maxapi_python-2.4.1.dist-info}/METADATA +8 -4
  2. {maxapi_python-2.3.1.dist-info → maxapi_python-2.4.1.dist-info}/RECORD +79 -66
  3. {maxapi_python-2.3.1.dist-info → maxapi_python-2.4.1.dist-info}/WHEEL +1 -1
  4. pymax/__init__.py +9 -2
  5. pymax/_data/apk_fingerprints.json +767 -0
  6. pymax/_data/rootca_ssl_rsa2022.crt +33 -0
  7. pymax/api/auth/enums.py +1 -0
  8. pymax/api/auth/payloads.py +28 -2
  9. pymax/api/auth/service.py +100 -3
  10. pymax/api/chats/__init__.py +1 -0
  11. pymax/api/chats/enums.py +15 -0
  12. pymax/api/chats/payloads.py +18 -2
  13. pymax/api/chats/service.py +43 -1
  14. pymax/api/messages/__init__.py +1 -1
  15. pymax/api/messages/payloads.py +21 -7
  16. pymax/api/messages/service.py +161 -24
  17. pymax/api/self/__init__.py +2 -1
  18. pymax/api/self/enums.py +9 -0
  19. pymax/api/self/payloads.py +40 -1
  20. pymax/api/self/service.py +37 -0
  21. pymax/api/session/service.py +21 -8
  22. pymax/api/uploads/payloads.py +39 -1
  23. pymax/api/uploads/service.py +247 -55
  24. pymax/app.py +91 -18
  25. pymax/auth/__init__.py +2 -0
  26. pymax/auth/exceptions.py +9 -0
  27. pymax/auth/providers.py +6 -2
  28. pymax/auth/sms.py +11 -1
  29. pymax/base.py +90 -8
  30. pymax/client.py +39 -10
  31. pymax/client_web.py +17 -14
  32. pymax/config.py +98 -19
  33. pymax/connection/connection.py +29 -18
  34. pymax/dispatch/enums.py +1 -0
  35. pymax/dispatch/mapping.py +3 -1
  36. pymax/dispatch/resolvers.py +7 -1
  37. pymax/files/__init__.py +4 -1
  38. pymax/files/base.py +58 -1
  39. pymax/files/video.py +51 -1
  40. pymax/files/voice.py +53 -0
  41. pymax/fingerprint/__init__.py +1 -0
  42. pymax/fingerprint/fingerprint.py +30 -0
  43. pymax/fingerprint/models.py +12 -0
  44. pymax/infra/auth.py +4 -0
  45. pymax/infra/bots.py +3 -3
  46. pymax/infra/chat.py +47 -5
  47. pymax/infra/message.py +49 -14
  48. pymax/infra/protocol.py +5 -1
  49. pymax/infra/self.py +25 -1
  50. pymax/protocol/enums.py +13 -0
  51. pymax/protocol/tcp/payload.py +21 -1
  52. pymax/session/__init__.py +1 -1
  53. pymax/session/models.py +30 -0
  54. pymax/session/protocol.py +33 -7
  55. pymax/session/store.py +73 -5
  56. pymax/transport/tcp.py +17 -4
  57. pymax/transport/websocket.py +6 -3
  58. pymax/types/domain/__init__.py +2 -1
  59. pymax/types/domain/attachments/__init__.py +2 -1
  60. pymax/types/domain/attachments/call.py +7 -1
  61. pymax/types/domain/attachments/contact.py +3 -3
  62. pymax/types/domain/attachments/control.py +3 -0
  63. pymax/types/domain/attachments/enums.py +33 -1
  64. pymax/types/domain/attachments/poll.py +111 -0
  65. pymax/types/domain/attachments/sticker.py +1 -1
  66. pymax/types/domain/attachments/video.py +32 -11
  67. pymax/types/domain/chat.py +9 -9
  68. pymax/types/domain/enums.py +7 -0
  69. pymax/types/domain/handshake.py +16 -0
  70. pymax/types/domain/login.py +30 -1
  71. pymax/types/domain/message.py +108 -27
  72. pymax/types/domain/user.py +1 -3
  73. pymax/types/events/__init__.py +1 -0
  74. pymax/types/events/reaction.py +2 -2
  75. pymax/types/events/voice.py +5 -0
  76. pymax/versions/__init__.py +2 -0
  77. pymax/versions/catalog.py +104 -0
  78. pymax/versions/exceptions.py +10 -0
  79. {maxapi_python-2.3.1.dist-info → maxapi_python-2.4.1.dist-info}/licenses/LICENSE +0 -0
@@ -1,6 +1,6 @@
1
- Metadata-Version: 2.4
1
+ Metadata-Version: 2.5
2
2
  Name: maxapi-python
3
- Version: 2.3.1
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
@@ -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: video
36
+ Requires-Dist: tinytag>=2.2.1; extra == 'video'
35
37
  Description-Content-Type: text/markdown
36
38
 
37
39
  # PyMax
@@ -41,6 +43,7 @@ Python-библиотека для Max API.
41
43
  [![Python 3.10+](https://img.shields.io/badge/python-3.10%2B-blue.svg)](https://www.python.org/)
42
44
  [![License: MIT](https://img.shields.io/badge/license-MIT-green.svg)](LICENSE)
43
45
  [![Package](https://img.shields.io/badge/package-maxapi--python-orange.svg)](https://pypi.org/project/maxapi-python/)
46
+ [![PyPI Downloads](https://static.pepy.tech/personalized-badge/maxapi-python?period=total&units=INTERNATIONAL_SYSTEM&left_color=BLACK&right_color=GREEN&left_text=downloads)](https://pepy.tech/projects/maxapi-python)
44
47
 
45
48
  > [!WARNING]
46
49
  > PyMax использует неофициальный внутренний API Max. API может измениться без
@@ -60,10 +63,11 @@ WebSocket.
60
63
  - Авторизация по телефону и SMS-коду через `Client`.
61
64
  - QR-авторизация web-клиента через `WebClient`.
62
65
  - Роутеры, фильтры, `on_start`, raw-события и typed events.
63
- - Сообщения: отправка, ответы, reply, реакции, pin, read, delete и история.
66
+ - Сообщения: отправка и планирование, ответы, реакции, pin, read, delete и история.
64
67
  - Чаты, группы, участники, invite-ссылки и настройки групп.
65
68
  - Пользователи, контакты, профиль, папки, активные сессии и 2FA.
66
- - Вложения: `Photo`, `File`, `Video`.
69
+ - Вложения: `Photo`, `File`, `Video`, `Voice`, `VideoNote`.
70
+ - Выбор версии mobile-клиента с локальным или обновляемым каталогом fingerprints.
67
71
  - SQLite-сессии, sync-state, reconnect и debug-логи.
68
72
  - Pydantic-модели и удобные domain-объекты.
69
73
 
@@ -1,60 +1,63 @@
1
- pymax/__init__.py,sha256=y6_pIn47iHEIkP4F4y7EL-qiIpAgJqs_jVKnOmooniY,1500
2
- pymax/app.py,sha256=QQldPh1YYpFeKBOMfCQZA0BFW5bUQQO7hFBYtwpioZQ,10847
3
- pymax/base.py,sha256=--6VwKUvqlocFAUbPWn_CfXQ-8CYfyCigXQ70ipXOgI,10500
4
- pymax/client.py,sha256=ePDxR6wEeHJbk23wI_PkOVFQuyy5tQyckV-OmKEwz5U,3985
5
- pymax/client_web.py,sha256=VASqNmMvAfdpIaR6cpdtjv3UN4GoqWkiDOXdn7QmZQ0,3025
6
- pymax/config.py,sha256=1dttAfxjcuWVrr939iYLDowQknvl_eOhNpJP8ugnWTg,10047
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=1KRKYSPImJdwJGhlIMNxVI7Z-TRMFVngvXxRCL8xKRc,39242
12
+ pymax/_data/rootca_ssl_rsa2022.crt,sha256=qoAO80VCLWFYxvr-HAbEKdvaIcPfS7HMtFqSDsERE5k,2057
11
13
  pymax/api/__init__.py,sha256=oWC09vGaP6S7_nnTJ4y5PbTkbA4U29DhafpwIqD2QGI,356
12
14
  pymax/api/binding.py,sha256=q63tSMxwh8cX28r2JwK3_TyxsV8zThflMaQiMb0vx8M,1613
13
15
  pymax/api/facade.py,sha256=WapwUPspVxA8JMYRvWGKtaKs9rUvIJLTMaXods6julo,899
14
16
  pymax/api/models.py,sha256=Vc0y9__za1aju3zgHW4aS6lMr1SyZi7q0lrQhfviFUA,344
15
17
  pymax/api/response.py,sha256=7rXgqtaGeDd60FGMxlLwqARzgFIawX8OkMqA9TL8HRE,2591
16
18
  pymax/api/auth/__init__.py,sha256=m6yw6RPrq10iNkSI8z59n3OXTnAw8VfxIALnhVztL2g,33
17
- pymax/api/auth/enums.py,sha256=QFtOBnD-qmoROzu2pfgWD6swMOdapOgumsEOHEulsog,661
18
- pymax/api/auth/payloads.py,sha256=B6ggwAKOg2b_SI4lSpbAc50BPWCPLL474NLP_aRY-u0,3167
19
- pymax/api/auth/service.py,sha256=qdZW3qvDRTukc1jtjxsw_qbeo3fPQa9ccgRRLRXCd0o,12130
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=-SI3vbrJXG5ss6ZyG7IHiTCq9Z9ehckcl7O_jbgKo3I,16001
20
22
  pymax/api/auth/types.py,sha256=VrYR7rIZOrW45yKnQmC5MSe9kxgXmqPzh9VG_y1tSEs,200
21
23
  pymax/api/bots/__init__.py,sha256=4P7rM-XeeDOElEktov1Vbfo8nzjJgmyA4_pQl4WvzRQ,33
22
24
  pymax/api/bots/payloads.py,sha256=aXriolCN_YvBvDZO_MPmD-fkrIVJIpVDXkOkOZVes_c,166
23
25
  pymax/api/bots/service.py,sha256=ziqVlQUMFHjQydMDFyWcQMIATboQTvIdGtJhf-AK9tA,847
24
- pymax/api/chats/__init__.py,sha256=UMp3uKdB3tZlnWckndgF3jaU-3-49OJE18z2d0OlmIU,155
25
- pymax/api/chats/enums.py,sha256=FdByRiHYX9Xs7RyNabKqxGugNs9tJ3VBXwTb_43XGC8,627
26
- pymax/api/chats/payloads.py,sha256=qA46Q984FgHaXenPmvtotm7ZJOKM07aiP7dBYF_0gqQ,2930
27
- pymax/api/chats/service.py,sha256=jNQUlSdILR5afeTYFQmQ6mvx-rgQlWjhzmOWUA0vDcg,12064
28
- pymax/api/messages/__init__.py,sha256=fw_uF6tgSbkxvqaSVE65wU0KWsu47u1CtR0Y4BbD-K0,36
26
+ pymax/api/chats/__init__.py,sha256=P_T3sFrAL-8WCGEWaRGTjQfiOIdjJpp0PU5Pzh49Pp0,179
27
+ pymax/api/chats/enums.py,sha256=WbJJ9C_SfCIFIWOjxg6KszhWFB5zQX-t_NTozLqeTJo,899
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
29
31
  pymax/api/messages/enums.py,sha256=tp5S2Q97a-FILcqpRhQiIRKdj0P_KSEBiCqWmb05dHs,368
30
- pymax/api/messages/payloads.py,sha256=MQSaZD0kYbkojWNK6BJbwoS02ZjDX7eutFnJX3_L6_g,2712
31
- pymax/api/messages/service.py,sha256=lGnciRoP9PkpgBDpkHQU1ukxNTwMJuGjHhM1EeSHWXU,13334
32
- pymax/api/self/__init__.py,sha256=TfbqL4xLb5IMhbW8mlAK-AwVFqqPWMADogKZeWtkw0A,79
33
- pymax/api/self/enums.py,sha256=iKEqPy44LyQKvAPfyhpkSXgmWWohxry73F0CVgtekwY,180
34
- pymax/api/self/payloads.py,sha256=-SFqkNxC5ZLKnLty_Gyz_b_P3X1esu_7Urb4HjrQxM4,774
35
- pymax/api/self/service.py,sha256=ViA7h3o3HHJlOdbH0Fk3vjW2mcoEHWSzlXC11TwJT9s,4896
32
+ pymax/api/messages/payloads.py,sha256=lgvW_LCnCMWR8h_H78L7nFzRSGFvCuiLATVfFMl1SYU,3049
33
+ pymax/api/messages/service.py,sha256=HZJxl47G-MUUpry20fWx5wnx6cJH5a6JKoCSwLXdzK8,18088
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
36
38
  pymax/api/session/__init__.py,sha256=zo-rCKBVBsFK-810T-Le4VbAYKt109cQ6elf0UkgiNk,36
37
39
  pymax/api/session/enums.py,sha256=InBdwAu_filqW3rMfGrOkHgmFfqgB1ytjnCcxDq29xc,236
38
40
  pymax/api/session/payloads.py,sha256=KJBoP_XfL2lJbXvR3tzWf2WaLn73L2LiEuqP0cdJ6u0,2258
39
- pymax/api/session/service.py,sha256=eVJt3GFwynsIWDEPFVVA1vOixajHve0g4NZTi4PHpXE,1980
41
+ pymax/api/session/service.py,sha256=h4WmKDHeO60VgjjZwdx2CFcrOEsx3k9CGqWfy7jICfk,2356
40
42
  pymax/api/uploads/__init__.py,sha256=E7INNsBeMStze2VWMADX4mrswsQeJb85C71sSuiOpv0,35
41
43
  pymax/api/uploads/models.py,sha256=c2Yunnl9nRkDZuItXGKlY0Oi5DjnB4f5bcruQ49ARZk,934
42
- pymax/api/uploads/payloads.py,sha256=OqsfFJIRe2io7mltHPbDPORT8U5t27H6pvqrdNKPRHY,652
43
- pymax/api/uploads/service.py,sha256=83VrmMGZG4QPnKfSdVrWoIOvER4CvegrbZ2ddxmGsq8,18551
44
+ pymax/api/uploads/payloads.py,sha256=9joVF-nWEkay7pM5KIKJ43yiXObcoRzajlQmBl7LIRE,1901
45
+ pymax/api/uploads/service.py,sha256=0gs9q9FWjAB1hLxc42JOqA_4CoWUEfueQgqeB6Ow12c,26967
44
46
  pymax/api/users/__init__.py,sha256=CDakgSKwVAkX-kNoDmIo2JsFPsS7Nx3j2vIMwQnPRck,82
45
47
  pymax/api/users/enums.py,sha256=m3d225sjWkBIRF5NNi3ChnyZ6BgKUEbPYoYwVjpifZ4,205
46
48
  pymax/api/users/payloads.py,sha256=mWrbhu3KzrsxmBdRQU3bG8W46vtFq_Kdfb2YA7_QkNI,876
47
49
  pymax/api/users/service.py,sha256=ndYv60kKkqZPnFOgvfau2LAjgOf-NsLQ7P4xxoWBAr4,4663
48
- pymax/auth/__init__.py,sha256=KgghKg0CPcJzX_D14TvxuDzhNmoVoFGjv414NouJVgk,512
50
+ pymax/auth/__init__.py,sha256=QM0kiabQe1K21Bsi1M6DQfh09prrozrOYpDRv_l5bns,603
49
51
  pymax/auth/base.py,sha256=v492FMUmSKft6oJRmCdIr33sy50Z0kqBwu5t7cVLQe4,1222
50
52
  pymax/auth/email.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
53
+ pymax/auth/exceptions.py,sha256=kSrDUah46ZSPT4tR1uhfcIHBlayueKmxxiKvL83gPYc,358
51
54
  pymax/auth/models.py,sha256=2SbjOJev1-B1bFEFM0NJPNX4wBTc4JbVDDouRHoAYc0,91
52
- pymax/auth/providers.py,sha256=B3EaS-iKxrZffcxiBKjoA1TsytwybHUunjZUtbjiiVE,4148
55
+ pymax/auth/providers.py,sha256=06l_olqKnkZEJePor_3KkLbWbFgSyyD4Lvxbz5mrVx8,4319
53
56
  pymax/auth/qr.py,sha256=Kkj5_2UEfdqgov76TIIdobCvJxltv8A1CPVunDlQa-w,4203
54
57
  pymax/auth/service.py,sha256=cUZxs5UW9ysSaJ-UXSOz0ug3fDo1eN0xAjO7VP1MdTU,619
55
- pymax/auth/sms.py,sha256=-Y9iW4kZmi2IMsH9pylNS96U-37Kj_1pkUab0xNmp9w,4909
58
+ pymax/auth/sms.py,sha256=l-NTTO8cRW468Am63A7dppzP8Q013OQzYN1iPa4Adbs,5246
56
59
  pymax/connection/__init__.py,sha256=YTboFk9AfYkRUw2Hf4oxn63LTGV475fxp_oel1j4gas,42
57
- pymax/connection/connection.py,sha256=qawPaTUUgOwo4GMbtT2LfTxtjhxvxXMUwWaDhjag2iQ,7870
60
+ pymax/connection/connection.py,sha256=4mLJ5eec43fRV09OSC5I4A2DO9Wxrl7TTcBBeYn7pDY,8268
58
61
  pymax/connection/pending.py,sha256=qezxL019d1E6oiCmSgCSfojLj7sxR1BEGgcKBWSFhok,1328
59
62
  pymax/connection/readers/__init__.py,sha256=9g5ZbcWiHxW1kAi2ckiNqejoGHwoDwFd4WvtYQSyRzU,52
60
63
  pymax/connection/readers/base.py,sha256=FlvyMUFoZ4FORAh0vBU6_I0BnrQ9_1twpUIKz-Vkj58,126
@@ -62,92 +65,102 @@ pymax/connection/readers/tcp.py,sha256=62nqlllE0gjQQQYVfjBt0arAJ8tEHH_SMZOOjtXNY
62
65
  pymax/connection/readers/ws.py,sha256=IjeH5CoXvBWde46tZLx6uKONkjhCU6NeC79x3Swfw8E,368
63
66
  pymax/dispatch/__init__.py,sha256=Big4ZqRSP4fzNAKc5mISkqQbWcYhjYMfg7UtHHCGZJw,376
64
67
  pymax/dispatch/dispatcher.py,sha256=xk_8ZbJRoRUOTPg5idlZPCAAZ_kOBbrrcT2LuI57SdE,11782
65
- pymax/dispatch/enums.py,sha256=LxX6tCxkB7mNnHr3AydKX-s-iZ8_bjoMl8IxhC7gdhQ,446
66
- pymax/dispatch/mapping.py,sha256=wO9BPl3meCWE7AA0XdC0iGt-4zuGVozcCqnleCTFdI0,3303
67
- pymax/dispatch/resolvers.py,sha256=FZvjYxQwy5CnTl6QwdfRRodK9cGrAn6MuXTZqcsJkPE,1987
68
+ pymax/dispatch/enums.py,sha256=JIoO6YIlv6j2M4x41mp-ovdoZpW7fu0PaGb_KkHVh8s,478
69
+ pymax/dispatch/mapping.py,sha256=yQYFEK4Nn1CzpUat_bNx2CGYpL96wmfDwVMEe9abqZ8,3447
70
+ pymax/dispatch/resolvers.py,sha256=jSwziNf0vA-38ZyEQr87ThzN1rJ1u1tgbEtaZdsNBKE,2203
68
71
  pymax/dispatch/router.py,sha256=0dwXCR7TgAGNiq9oryXIuyAsJ15DJ3OMt9hrRenUBio,10453
69
- pymax/files/__init__.py,sha256=TR0N6YXX4IHBsXQo8uiK68C-Xg3LSj48d4Zsv71CWZE,126
70
- pymax/files/base.py,sha256=0aksCGxmrvqEKJdhRWcuPZJfEn7RWcl5tn5gn63q1os,2689
72
+ pymax/files/__init__.py,sha256=BQB0iOnsyIBaVq77ii82T3Fu70oTlXGqAifen10zPhE,192
73
+ pymax/files/base.py,sha256=Hdf7Yb1ki7IH2tDhXpd0l0CtgNWM7AkU2j8FwN81DbM,4238
71
74
  pymax/files/file.py,sha256=JSkuKx0fdGxzcsyMajWTosFzTlfgZYvQbh-RDp9OZyQ,2337
72
75
  pymax/files/photo.py,sha256=jvHihuyghDljY9PLh3ymJfoj5KksIRBWIK3z9Dmgjuk,3604
73
76
  pymax/files/static.py,sha256=U_KfM0rbGMEWcsBnWIhIXzzk46hHYQ7KJnrGnfDLoMs,142
74
- pymax/files/video.py,sha256=fGXgSY5zH-voYPVjbDBnkGI1TeP-KOSq3DZEDFNnn68,2153
77
+ pymax/files/video.py,sha256=5gjiv5Yx87StbCqBAZKCHb-_PCmen0UsWGuPbAiUk2k,4063
78
+ pymax/files/voice.py,sha256=H5qcTWW3k-vXq0zhIAoz8EQdJBNyPawlbOZji4lZs7k,2033
79
+ pymax/fingerprint/__init__.py,sha256=W5N5XEr45qdgt8hWUwQ8jc0USHZs12ZKtChhILOK3do,46
80
+ pymax/fingerprint/fingerprint.py,sha256=LAryGmcrYBztV8gMjgr5b3fCheKsZNZ0SAp2rguOMys,880
81
+ pymax/fingerprint/models.py,sha256=OXMwtOTNq6ASuIwYvVnO8ovZfxiuYfNozhFXk7Q6fNk,307
75
82
  pymax/formatting/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
76
83
  pymax/formatting/markdown.py,sha256=xHF2XEGjiyJHN7WUZI312a2EkBZRxw38e1y-QQ-8dr8,6637
77
84
  pymax/infra/__init__.py,sha256=lKq6cehhB87HltV53TD0kr0p7ekWlZlrKTpaYiq0XFw,28
78
- pymax/infra/auth.py,sha256=YuYH_NWNz8UfPyko6bv_cIzXDIvFeivDrxZCIpGoANU,3648
85
+ pymax/infra/auth.py,sha256=5Up9VVtq9ZV2AtUVK4FvlRhHmMlDjeQ29aPRq1HKQEI,3877
79
86
  pymax/infra/base.py,sha256=sOo40Qkp14bE6CxVKppJhy3e0F5VhFPhnL3iBs8y5dA,368
80
- pymax/infra/bots.py,sha256=IJs4ErFxjbMeiHfQgpDiDhtEu9ws-lIp8fb8I96szy8,1202
81
- pymax/infra/chat.py,sha256=Jb5kzUnHtCg98glS4Jf-WEHIzZg4oIcS-MA8aGeJuKk,13884
82
- pymax/infra/message.py,sha256=4AUp8EUQ46GhsJMgh7YmgogkBT0K4wUqEkIfrFT--oI,11737
83
- pymax/infra/protocol.py,sha256=I2WrAeAgATuNSdK2gvHU-MhhxdRBfSMGMovF5HPFsQw,208
84
- pymax/infra/self.py,sha256=h2GnzcCF2-FeY9-qBjtHjrSCx7elc4RjuCXPaewDkgg,4828
87
+ pymax/infra/bots.py,sha256=6o0owuxZbWBg55W7fsuL4PQ9OqkGsMFvd6LU6RL12ds,1182
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
91
+ pymax/infra/self.py,sha256=QnZehUgm9-pCrw5seu4K_DhpdSlhvyOt1zU4yJ6Y2II,5907
85
92
  pymax/infra/user.py,sha256=wy6lElmJx7Ypjkk48kDrlLiL3V3p7pzO2MevsgCNy1k,4801
86
93
  pymax/protocol/__init__.py,sha256=rDn1Twi1iBDUk1155YI9jyeQyaGVDRuPoWdlaaLZnsw,242
87
94
  pymax/protocol/base.py,sha256=_bisk1BU_GSMSPIqfnizSCgm_qBrdbB5cJw6foAa2tc,294
88
- pymax/protocol/enums.py,sha256=9y4kn9y2pKinaT_twdeW5MXVH3O-sJF6h0v5KbC9VkA,4376
95
+ pymax/protocol/enums.py,sha256=MMZtY5bVob-EiDhDzLOeJ-ojXmbF3-LGwfxYevsr70o,4731
89
96
  pymax/protocol/models.py,sha256=kno-09OoPoLKBMixS9nrDkCbxcIwvU37RlZgaq5MfVo,584
90
97
  pymax/protocol/tcp/__init__.py,sha256=ivIZZ-UoT_MiRIUWTLiyeKSBOzf9XztSprHPHgoWNuI,34
91
98
  pymax/protocol/tcp/compression.py,sha256=JsW84MOjtUCJPxMfsfc4CX2bMH0D5sb_2mut189KHmU,3545
92
99
  pymax/protocol/tcp/framing.py,sha256=qH2zNsJLfg5J2wNTcp1hPqsrWhZHajK-Ja7pdB_Gji0,1630
93
- pymax/protocol/tcp/payload.py,sha256=roViz6uNrJvmEBukPwBPk462uFJMya48jEnLthZs-yU,4329
100
+ pymax/protocol/tcp/payload.py,sha256=zl34Xk0AB1nzZsvke4vo-7HcwnfwoP61typu7j0Q3JI,4857
94
101
  pymax/protocol/tcp/protocol.py,sha256=b5AAYQUOhq985Wc1pCPzt84pjGnVGfGxbdwRN0R91xk,2380
95
102
  pymax/protocol/ws/__init__.py,sha256=oQK0h28B6gGItf7eHanWy_XsgUA_L9Lclnuz9ZQL9YI,33
96
103
  pymax/protocol/ws/protocol.py,sha256=z6zzBQTlJfzwOmLsJYoYQ2L1AYpY5wYMJyPir_zfNBQ,913
97
- pymax/session/__init__.py,sha256=natjnLjPjTvkfvSYtoiPxzmU44XJi0MpjWiOPD-On4g,100
98
- pymax/session/models.py,sha256=jvnTHfjCX1p5TcANfWZ0vUJlciuqumatwdrgYiKm4kY,250
99
- pymax/session/protocol.py,sha256=8ibp-HiaJaGmx23v7GeL0GFsvLPZZqWOuIOJnanqoCM,612
100
- pymax/session/store.py,sha256=xzUpLuS8OpcYNB1lNvUwzOJIcsGz516_aOXBh2jIWT4,8087
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
101
108
  pymax/telemetry/__init__.py,sha256=6mP5y-iTbVIlqpSWIKWCTz2fFNBwkAEYwS4PFbyv9xM,71
102
109
  pymax/telemetry/navigation.py,sha256=vlP7d863s9aIBpt9SPpjEbTXLoq3uqpuhD-VWj0w9hI,5441
103
110
  pymax/telemetry/payloads.py,sha256=MCKYGpQ4Tvx_8LH86Et0yevea2Th2z3b7a9pfmrQRys,3959
104
111
  pymax/telemetry/service.py,sha256=rlFQAlMFnNZjw631bPHRSLWMkrIvyji47SYnGRJ0Apk,6952
105
112
  pymax/transport/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
106
113
  pymax/transport/base.py,sha256=0D3srQ36F0s23pIjqd6YzRGKK9wCmXKr3wfe2XYYlos,448
107
- pymax/transport/tcp.py,sha256=Nl-voifBze4TGB25xjf93XxU77zvFL8rsPCjBpXYd_4,3083
108
- pymax/transport/websocket.py,sha256=0ezkSoENWKV00EATIizGx16-ihCnaTC76zzGnwbS_3c,1504
114
+ pymax/transport/tcp.py,sha256=DbCy4DlYwZo07hcoLJ5JBlz9D3bHtI9r872qavRJKDw,3593
115
+ pymax/transport/websocket.py,sha256=_G9sxRqitahlhENF3XVB6yBo0wFWoXBRJn9KC7GEZso,1617
109
116
  pymax/types/__init__.py,sha256=y77mfDRgxmfcamobi0rj2d3PsxhH0zxyvKPhL2iUdS8,44
110
- pymax/types/domain/__init__.py,sha256=tdC1Vs4lH-oqDrSXS_Oc5JlnJC7RTJ2I3B63EVfiLiI,483
117
+ pymax/types/domain/__init__.py,sha256=w3uzu6VF4ci-EYRHHH-Ksm9nk4Wm5LCPablKAndyAj8,553
111
118
  pymax/types/domain/auth.py,sha256=RmEXFS7TAgtFhnfXaiJH5XDb__2MUVgQ_Noavo9hFRY,6019
112
119
  pymax/types/domain/base.py,sha256=Q32PcKR3gtrISySowR3zPyl9KeQCoUL6lfyTR3ulMzo,623
113
120
  pymax/types/domain/bots.py,sha256=dErZZbvspznU6yUupzCs4R55pEWgoeps7NEhZFrb-Uo,333
114
- pymax/types/domain/chat.py,sha256=mkee157TESCqxC_1NXveHLFLxtLOT7up22IvBnN__2o,20547
121
+ pymax/types/domain/chat.py,sha256=jIXCnzynlkGQMbrbvU2wtqHIkXqMwkAYI9U8Cd-iV-w,20502
115
122
  pymax/types/domain/element.py,sha256=Hks0MulMcPAhbpuUmJa5c2d9Emwy3garh1k6bd4QHKA,655
116
- pymax/types/domain/enums.py,sha256=eGMWnlv0mYJ8K-0FsC_wp4Co2M6YWyKI1Lx90MJ6s4g,412
123
+ pymax/types/domain/enums.py,sha256=ONkUdvQ0EazlPuKLnquY6DqfN5z-lMRJlqDvkKyCpok,594
117
124
  pymax/types/domain/error.py,sha256=WZoDAXf5vt8O4VYy7iEHLGBfH6hZQZ1fVkTz9rVCTN0,584
118
125
  pymax/types/domain/folder.py,sha256=Z9pXMzOTfxuhUfrJpLjl5LPnVXqqFsBVfKBQm4IbGWM,2225
119
- pymax/types/domain/login.py,sha256=FBKpRhNPv6Zdjo6Wfl-lK8JpzpMx7zh84f1qrq6Z0og,1301
126
+ pymax/types/domain/handshake.py,sha256=9eOPYBJ3O4UAPNUfk7bPnZ3mwBtJw7kfhE8W4aK2k0U,417
127
+ pymax/types/domain/login.py,sha256=LIw7b2aYqPWfRhCWrBU1zeCtDazJQwoWN3Cdz-WdS4w,2303
120
128
  pymax/types/domain/member.py,sha256=8gUNn4fBS_S2ap45A40lRlrDXYFMoq0Kx-dh57hMWQc,490
121
- pymax/types/domain/message.py,sha256=a1wdIVfRcLo30rUUQzBAyLqCGcPoc-6Uk9jcDg8oqHQ,16497
129
+ pymax/types/domain/message.py,sha256=P_DQcWP8VU33nZpdJwFifiGq6cosyyfTTcbcbVgLfKs,19731
122
130
  pymax/types/domain/name.py,sha256=qMIshIqgWkVuROxmiCRhwfJf8XtmhSBoEU6nXs_gEh0,523
123
131
  pymax/types/domain/presence.py,sha256=lKvkK0uYwY0gTSEEkaVdI-tEpWjxLOtH7gp2dy5Uh-0,534
124
132
  pymax/types/domain/profile.py,sha256=taN5PjlKp4EDypVhDx89vmBDpSKh-kT-ISpu1tR2cY8,471
125
133
  pymax/types/domain/session.py,sha256=T0b0qjI65kNQOCgx3nIkaIqynD4eGKyqnscbIlPFVnQ,2002
126
134
  pymax/types/domain/sync.py,sha256=lBDWo4ACLq2ov5XBccfnI8s_dsGEA7O4mIJVBSUpyrc,3248
127
- pymax/types/domain/user.py,sha256=tpHBnatNXdajS8noMy8oox9qp8Yej9b7mkdtg7BpjQM,5514
128
- pymax/types/domain/attachments/__init__.py,sha256=ZVSb7sSAwabSB8A8BWF_JbooPOMIP1r6gF_NUASgGGk,471
135
+ pymax/types/domain/user.py,sha256=Vj9HvSVQKKLJ1HX-OM9T1knvPNyCqrwJnWkz16ByeLg,5367
136
+ pymax/types/domain/attachments/__init__.py,sha256=loACz_Tp9KWwQSjBwAski55eyRGpMurZ6mrpaVDrXo4,544
129
137
  pymax/types/domain/attachments/audio.py,sha256=I_Qq1qQ9bXsEzWwxEbQbkiY8CEjSKqGqinDFYY_5DY8,1117
130
- pymax/types/domain/attachments/call.py,sha256=RV-BFutymZFinzUiRdaIryqx6ubku2v6y6brc-qsHOQ,818
131
- pymax/types/domain/attachments/contact.py,sha256=EO-B0klgUMITL05fBgFXi99i8VzxBj3D2pLB0JBWy_M,996
132
- pymax/types/domain/attachments/control.py,sha256=1Zr0pM1ODZgYRX3CDw7yGzqEgb6R_JjRSQOSI_FDpDE,502
133
- pymax/types/domain/attachments/enums.py,sha256=JYX5xoefm0BmRqVjOZs0-xQpI9bddphps_wZX34tK14,643
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
134
142
  pymax/types/domain/attachments/file.py,sha256=3lqsPIkg75-AmcaEbXwc1eiQHIv9JpWzMc0z4u2MupE,1595
135
143
  pymax/types/domain/attachments/photo.py,sha256=8q79OuQ0V8t-s9pZM8ClAmgJI71m-bgES4Bd5ZSNVI0,1413
144
+ pymax/types/domain/attachments/poll.py,sha256=-p3KJX_X6Nno8I3qA813-9pFkp8VFrLRgx7sL5Aauac,3569
136
145
  pymax/types/domain/attachments/share.py,sha256=BHJIVjTC99wfbUn8wSN4j0aSNlEpojzv87uwbmhPPt0,924
137
- pymax/types/domain/attachments/sticker.py,sha256=2CFqoUAuUjA6nclRXZUCBO2mKZd24BaBY3wz2XoR7kE,1530
146
+ pymax/types/domain/attachments/sticker.py,sha256=sJn13LuyF5u7Oy9HLGBIlXmdPjxAib0oy30TZz455vE,1544
138
147
  pymax/types/domain/attachments/unknown.py,sha256=oThuTVkzkdmpCftRoa42b1jyy-QbBbfgyc0ocX0jeS8,917
139
- pymax/types/domain/attachments/video.py,sha256=82stz0MYkypJOP0JAwNGPEV783ODMJabYxRzTqGxmuE,2909
148
+ pymax/types/domain/attachments/video.py,sha256=ZT0qYp6LWtrMA-U4mJY-NIyqPMgfZ7bsA3YQhjDSO54,3786
140
149
  pymax/types/domain/attachments/keyboards/__init__.py,sha256=1X5UGBe5E_DO7e4p8_JmJEocHLzXOezutieRuQsVpRA,45
141
150
  pymax/types/domain/attachments/keyboards/inline.py,sha256=3RNubcqx7RZ1f6zfJ7JaNFCPx5mnmJ5vYsL1i7lSMAM,577
142
- pymax/types/events/__init__.py,sha256=2kW0ttQvU1xhMSYhOZs3kua3JDfMdeSr-vM81o87_w0,257
151
+ pymax/types/events/__init__.py,sha256=fvCPR_ZN-zRow3eeJ3hzDn2auWfnOxFFQ8GRTZTFfMA,294
143
152
  pymax/types/events/file.py,sha256=XhpXn0Vt9OODkx1OkGb9jfQwc1uNgz1NTn_j9FZnQ8s,102
144
153
  pymax/types/events/mark.py,sha256=5o3QP3VH9NJBVonBJNf88pzXkS9lLYaDFyju6yczAow,894
145
154
  pymax/types/events/message.py,sha256=o2ql3y1DzM-OKg72LR5dr4aCelGksBypIevTEmG-0K4,3249
146
155
  pymax/types/events/presence.py,sha256=77Cy352CdfIkbH6ZfLijHffF8gcMz-AZk5OCeESQeDY,451
147
- pymax/types/events/reaction.py,sha256=7kauScAH8O-K79xS6Q3b6Vi0KwRl4lGCKGeAMAH9sEU,672
156
+ pymax/types/events/reaction.py,sha256=d-oA9czes9vQIO8jaEmdiUWIrE8Dea0jhHnCA5f9FO4,690
148
157
  pymax/types/events/typing.py,sha256=vDMgqYE0jz8dN2YfqsNaJLB8k7pMd6kaDEdR_KrLk5g,376
149
158
  pymax/types/events/video.py,sha256=swBHYadmDS0SjLXGqVqRYsuMoVZ6MjD2aYR2fbM-AJc,104
150
- maxapi_python-2.3.1.dist-info/METADATA,sha256=k5ItHuOsbXla9MpvlsqOWi7lJbV2u_T8wMotxOA2vDc,7309
151
- maxapi_python-2.3.1.dist-info/WHEEL,sha256=mffPy8wBnZQn2VnJUU5jE99KsxaSfiyMHV9Yt0aLVxs,87
152
- maxapi_python-2.3.1.dist-info/licenses/LICENSE,sha256=hOR249ItqMdcly1A0amqEWRNRTq4Gv5NJtmQ3A5qK4E,1070
153
- maxapi_python-2.3.1.dist-info/RECORD,,
159
+ pymax/types/events/voice.py,sha256=E4BjLBnqsu05s8ZxFN4I_B5OVaecoPvXI-826YJ_ze8,104
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,,
@@ -1,4 +1,4 @@
1
1
  Wheel-Version: 1.0
2
- Generator: hatchling 1.30.1
2
+ Generator: hatchling 1.32.0
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
pymax/__init__.py CHANGED
@@ -1,11 +1,13 @@
1
- __version__ = "2.3.1"
1
+ __version__ = "2.4.1"
2
2
 
3
3
 
4
+ from .api.self import PrivacyAccess, PrivacySettingsUpdate
4
5
  from .auth import (
5
6
  AuthFlow,
6
7
  ConsolePasswordProvider,
7
8
  ConsoleQrHandler,
8
9
  ConsoleSmsCodeProvider,
10
+ PasswordAttemptsExceededError,
9
11
  PasswordProvider,
10
12
  QrAuthFlow,
11
13
  QrHandler,
@@ -17,7 +19,7 @@ from .client_web import WebClient
17
19
  from .config import ExtraConfig, RegistrationConfig
18
20
  from .dispatch import EventType, Router
19
21
  from .exceptions import ApiError, PyMaxError, UploadError
20
- from .files import File, Photo, Video
22
+ from .files import File, Photo, Video, VideoNote, Voice
21
23
  from .logging import configure_logging
22
24
  from .routers import ClientRouter, WebRouter
23
25
  from .types import (
@@ -48,9 +50,12 @@ __all__ = (
48
50
  "Message",
49
51
  "MessageDeleteEvent",
50
52
  "MessageReadEvent",
53
+ "PasswordAttemptsExceededError",
51
54
  "PasswordProvider",
52
55
  "Photo",
53
56
  "PresenceEvent",
57
+ "PrivacyAccess",
58
+ "PrivacySettingsUpdate",
54
59
  "Profile",
55
60
  "PyMaxError",
56
61
  "QrAuthFlow",
@@ -66,6 +71,8 @@ __all__ = (
66
71
  "UploadError",
67
72
  "User",
68
73
  "Video",
74
+ "VideoNote",
75
+ "Voice",
69
76
  "WebClient",
70
77
  "WebRouter",
71
78
  "__version__",