electrogram 2.186.3__tar.gz → 2.187.0__tar.gz

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 (742) hide show
  1. {electrogram-2.186.3 → electrogram-2.187.0}/PKG-INFO +1 -1
  2. {electrogram-2.186.3 → electrogram-2.187.0}/compiler/api/source/main_api.tl +24 -12
  3. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/__init__.py +1 -1
  4. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/client.py +1 -1
  5. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/connection/transport/tcp/tcp_abridged_o.py +2 -8
  6. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/advanced/save_file.py +68 -60
  7. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/raw/__init__.py +0 -1
  8. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/raw/core/future_salt.py +1 -1
  9. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/raw/core/future_salts.py +1 -1
  10. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/raw/core/gzip_packed.py +1 -4
  11. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/raw/core/message.py +1 -1
  12. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/raw/core/primitives/int.py +1 -1
  13. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/raw/core/primitives/vector.py +6 -3
  14. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/raw/core/tl_object.py +11 -22
  15. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/session/auth.py +5 -23
  16. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/session/session.py +224 -112
  17. electrogram-2.187.0/release_notes.txt +11 -0
  18. {electrogram-2.186.3 → electrogram-2.187.0}/.gitignore +0 -0
  19. {electrogram-2.186.3 → electrogram-2.187.0}/LICENSE +0 -0
  20. {electrogram-2.186.3 → electrogram-2.187.0}/MANIFEST.in +0 -0
  21. {electrogram-2.186.3 → electrogram-2.187.0}/Makefile +0 -0
  22. {electrogram-2.186.3 → electrogram-2.187.0}/README.md +0 -0
  23. {electrogram-2.186.3 → electrogram-2.187.0}/build-docs.sh +0 -0
  24. {electrogram-2.186.3 → electrogram-2.187.0}/compiler/__init__.py +0 -0
  25. {electrogram-2.186.3 → electrogram-2.187.0}/compiler/api/__init__.py +0 -0
  26. {electrogram-2.186.3 → electrogram-2.187.0}/compiler/api/compiler.py +0 -0
  27. {electrogram-2.186.3 → electrogram-2.187.0}/compiler/api/docs.json +0 -0
  28. {electrogram-2.186.3 → electrogram-2.187.0}/compiler/api/source/auth_key.tl +0 -0
  29. {electrogram-2.186.3 → electrogram-2.187.0}/compiler/api/source/sys_msgs.tl +0 -0
  30. {electrogram-2.186.3 → electrogram-2.187.0}/compiler/api/template/combinator.txt +0 -0
  31. {electrogram-2.186.3 → electrogram-2.187.0}/compiler/api/template/type.txt +0 -0
  32. {electrogram-2.186.3 → electrogram-2.187.0}/compiler/docs/__init__.py +0 -0
  33. {electrogram-2.186.3 → electrogram-2.187.0}/compiler/docs/compiler.py +0 -0
  34. {electrogram-2.186.3 → electrogram-2.187.0}/compiler/docs/template/bound-methods.rst +0 -0
  35. {electrogram-2.186.3 → electrogram-2.187.0}/compiler/docs/template/enums.rst +0 -0
  36. {electrogram-2.186.3 → electrogram-2.187.0}/compiler/docs/template/methods.rst +0 -0
  37. {electrogram-2.186.3 → electrogram-2.187.0}/compiler/docs/template/page.txt +0 -0
  38. {electrogram-2.186.3 → electrogram-2.187.0}/compiler/docs/template/toctree.txt +0 -0
  39. {electrogram-2.186.3 → electrogram-2.187.0}/compiler/docs/template/types.rst +0 -0
  40. {electrogram-2.186.3 → electrogram-2.187.0}/compiler/errors/__init__.py +0 -0
  41. {electrogram-2.186.3 → electrogram-2.187.0}/compiler/errors/compiler.py +0 -0
  42. {electrogram-2.186.3 → electrogram-2.187.0}/compiler/errors/sort.py +0 -0
  43. {electrogram-2.186.3 → electrogram-2.187.0}/compiler/errors/source/303_SEE_OTHER.tsv +0 -0
  44. {electrogram-2.186.3 → electrogram-2.187.0}/compiler/errors/source/400_BAD_REQUEST.tsv +0 -0
  45. {electrogram-2.186.3 → electrogram-2.187.0}/compiler/errors/source/401_UNAUTHORIZED.tsv +0 -0
  46. {electrogram-2.186.3 → electrogram-2.187.0}/compiler/errors/source/403_FORBIDDEN.tsv +0 -0
  47. {electrogram-2.186.3 → electrogram-2.187.0}/compiler/errors/source/406_NOT_ACCEPTABLE.tsv +0 -0
  48. {electrogram-2.186.3 → electrogram-2.187.0}/compiler/errors/source/420_FLOOD.tsv +0 -0
  49. {electrogram-2.186.3 → electrogram-2.187.0}/compiler/errors/source/500_INTERNAL_SERVER_ERROR.tsv +0 -0
  50. {electrogram-2.186.3 → electrogram-2.187.0}/compiler/errors/source/503_SERVICE_UNAVAILABLE.tsv +0 -0
  51. {electrogram-2.186.3 → electrogram-2.187.0}/compiler/errors/template/class.txt +0 -0
  52. {electrogram-2.186.3 → electrogram-2.187.0}/compiler/errors/template/sub_class.txt +0 -0
  53. {electrogram-2.186.3 → electrogram-2.187.0}/docs/source/_includes/usable-by/bots.rst +0 -0
  54. {electrogram-2.186.3 → electrogram-2.187.0}/docs/source/_includes/usable-by/users-bots.rst +0 -0
  55. {electrogram-2.186.3 → electrogram-2.187.0}/docs/source/_includes/usable-by/users.rst +0 -0
  56. {electrogram-2.186.3 → electrogram-2.187.0}/docs/source/_static/css/all.min.css +0 -0
  57. {electrogram-2.186.3 → electrogram-2.187.0}/docs/source/_static/css/custom.css +0 -0
  58. {electrogram-2.186.3 → electrogram-2.187.0}/docs/source/_static/fav.svg +0 -0
  59. {electrogram-2.186.3 → electrogram-2.187.0}/docs/source/api/client.rst +0 -0
  60. {electrogram-2.186.3 → electrogram-2.187.0}/docs/source/api/decorators.rst +0 -0
  61. {electrogram-2.186.3 → electrogram-2.187.0}/docs/source/api/enums/AccentColor.rst +0 -0
  62. {electrogram-2.186.3 → electrogram-2.187.0}/docs/source/api/enums/BusinessSchedule.rst +0 -0
  63. {electrogram-2.186.3 → electrogram-2.187.0}/docs/source/api/enums/ChatAction.rst +0 -0
  64. {electrogram-2.186.3 → electrogram-2.187.0}/docs/source/api/enums/ChatEventAction.rst +0 -0
  65. {electrogram-2.186.3 → electrogram-2.187.0}/docs/source/api/enums/ChatJoinType.rst +0 -0
  66. {electrogram-2.186.3 → electrogram-2.187.0}/docs/source/api/enums/ChatMemberStatus.rst +0 -0
  67. {electrogram-2.186.3 → electrogram-2.187.0}/docs/source/api/enums/ChatMembersFilter.rst +0 -0
  68. {electrogram-2.186.3 → electrogram-2.187.0}/docs/source/api/enums/ChatType.rst +0 -0
  69. {electrogram-2.186.3 → electrogram-2.187.0}/docs/source/api/enums/ClientPlatform.rst +0 -0
  70. {electrogram-2.186.3 → electrogram-2.187.0}/docs/source/api/enums/FolderColor.rst +0 -0
  71. {electrogram-2.186.3 → electrogram-2.187.0}/docs/source/api/enums/ListenerTypes.rst +0 -0
  72. {electrogram-2.186.3 → electrogram-2.187.0}/docs/source/api/enums/MessageEntityType.rst +0 -0
  73. {electrogram-2.186.3 → electrogram-2.187.0}/docs/source/api/enums/MessageMediaType.rst +0 -0
  74. {electrogram-2.186.3 → electrogram-2.187.0}/docs/source/api/enums/MessageServiceType.rst +0 -0
  75. {electrogram-2.186.3 → electrogram-2.187.0}/docs/source/api/enums/MessagesFilter.rst +0 -0
  76. {electrogram-2.186.3 → electrogram-2.187.0}/docs/source/api/enums/NextCodeType.rst +0 -0
  77. {electrogram-2.186.3 → electrogram-2.187.0}/docs/source/api/enums/ParseMode.rst +0 -0
  78. {electrogram-2.186.3 → electrogram-2.187.0}/docs/source/api/enums/PollType.rst +0 -0
  79. {electrogram-2.186.3 → electrogram-2.187.0}/docs/source/api/enums/PrivacyKey.rst +0 -0
  80. {electrogram-2.186.3 → electrogram-2.187.0}/docs/source/api/enums/ProfileColor.rst +0 -0
  81. {electrogram-2.186.3 → electrogram-2.187.0}/docs/source/api/enums/ReactionType.rst +0 -0
  82. {electrogram-2.186.3 → electrogram-2.187.0}/docs/source/api/enums/ReplyColor.rst +0 -0
  83. {electrogram-2.186.3 → electrogram-2.187.0}/docs/source/api/enums/SentCodeType.rst +0 -0
  84. {electrogram-2.186.3 → electrogram-2.187.0}/docs/source/api/enums/StoriesPrivacyRules.rst +0 -0
  85. {electrogram-2.186.3 → electrogram-2.187.0}/docs/source/api/enums/StoryPrivacy.rst +0 -0
  86. {electrogram-2.186.3 → electrogram-2.187.0}/docs/source/api/enums/UserStatus.rst +0 -0
  87. {electrogram-2.186.3 → electrogram-2.187.0}/docs/source/api/enums/cleanup.html +0 -0
  88. {electrogram-2.186.3 → electrogram-2.187.0}/docs/source/api/enums/index.rst +0 -0
  89. {electrogram-2.186.3 → electrogram-2.187.0}/docs/source/api/errors/bad-request.rst +0 -0
  90. {electrogram-2.186.3 → electrogram-2.187.0}/docs/source/api/errors/flood.rst +0 -0
  91. {electrogram-2.186.3 → electrogram-2.187.0}/docs/source/api/errors/forbidden.rst +0 -0
  92. {electrogram-2.186.3 → electrogram-2.187.0}/docs/source/api/errors/index.rst +0 -0
  93. {electrogram-2.186.3 → electrogram-2.187.0}/docs/source/api/errors/internal-server-error.rst +0 -0
  94. {electrogram-2.186.3 → electrogram-2.187.0}/docs/source/api/errors/not-acceptable.rst +0 -0
  95. {electrogram-2.186.3 → electrogram-2.187.0}/docs/source/api/errors/see-other.rst +0 -0
  96. {electrogram-2.186.3 → electrogram-2.187.0}/docs/source/api/errors/unauthorized.rst +0 -0
  97. {electrogram-2.186.3 → electrogram-2.187.0}/docs/source/api/filters.rst +0 -0
  98. {electrogram-2.186.3 → electrogram-2.187.0}/docs/source/api/handlers.rst +0 -0
  99. {electrogram-2.186.3 → electrogram-2.187.0}/docs/source/conf.py +0 -0
  100. {electrogram-2.186.3 → electrogram-2.187.0}/docs/source/faq/client-started-but-nothing-happens.rst +0 -0
  101. {electrogram-2.186.3 → electrogram-2.187.0}/docs/source/faq/code-hangs-when-calling-stop-restart-add-remove-handler.rst +0 -0
  102. {electrogram-2.186.3 → electrogram-2.187.0}/docs/source/faq/how-to-avoid-flood-waits.rst +0 -0
  103. {electrogram-2.186.3 → electrogram-2.187.0}/docs/source/faq/how-to-use-webhooks.rst +0 -0
  104. {electrogram-2.186.3 → electrogram-2.187.0}/docs/source/faq/index.rst +0 -0
  105. {electrogram-2.186.3 → electrogram-2.187.0}/docs/source/faq/migrating-the-account-to-another-data-center.rst +0 -0
  106. {electrogram-2.186.3 → electrogram-2.187.0}/docs/source/faq/peer-id-invalid-error.rst +0 -0
  107. {electrogram-2.186.3 → electrogram-2.187.0}/docs/source/faq/socket-send-oserror-timeouterror-connection-lost-reset.rst +0 -0
  108. {electrogram-2.186.3 → electrogram-2.187.0}/docs/source/faq/sqlite3-interfaceerror-error-binding-parameter.rst +0 -0
  109. {electrogram-2.186.3 → electrogram-2.187.0}/docs/source/faq/sqlite3-operationalerror-database-is-locked.rst +0 -0
  110. {electrogram-2.186.3 → electrogram-2.187.0}/docs/source/faq/the-account-has-been-limited-deactivated.rst +0 -0
  111. {electrogram-2.186.3 → electrogram-2.187.0}/docs/source/faq/unicodeencodeerror-codec-cant-encode.rst +0 -0
  112. {electrogram-2.186.3 → electrogram-2.187.0}/docs/source/faq/uploading-with-urls-gives-error-webpage-curl-failed.rst +0 -0
  113. {electrogram-2.186.3 → electrogram-2.187.0}/docs/source/faq/using-multiple-clients-at-once-on-the-same-account.rst +0 -0
  114. {electrogram-2.186.3 → electrogram-2.187.0}/docs/source/faq/using-the-same-file-id-across-different-accounts.rst +0 -0
  115. {electrogram-2.186.3 → electrogram-2.187.0}/docs/source/faq/what-are-the-ip-addresses-of-telegram-data-centers.rst +0 -0
  116. {electrogram-2.186.3 → electrogram-2.187.0}/docs/source/faq/why-is-the-api-key-needed-for-bots.rst +0 -0
  117. {electrogram-2.186.3 → electrogram-2.187.0}/docs/source/faq/why-is-the-client-reacting-slowly-in-supergroups-channels.rst +0 -0
  118. {electrogram-2.186.3 → electrogram-2.187.0}/docs/source/index.rst +0 -0
  119. {electrogram-2.186.3 → electrogram-2.187.0}/docs/source/intro/install.rst +0 -0
  120. {electrogram-2.186.3 → electrogram-2.187.0}/docs/source/intro/quickstart.rst +0 -0
  121. {electrogram-2.186.3 → electrogram-2.187.0}/docs/source/start/auth.rst +0 -0
  122. {electrogram-2.186.3 → electrogram-2.187.0}/docs/source/start/errors.rst +0 -0
  123. {electrogram-2.186.3 → electrogram-2.187.0}/docs/source/start/examples/bot_keyboards.rst +0 -0
  124. {electrogram-2.186.3 → electrogram-2.187.0}/docs/source/start/examples/callback_queries.rst +0 -0
  125. {electrogram-2.186.3 → electrogram-2.187.0}/docs/source/start/examples/echo_bot.rst +0 -0
  126. {electrogram-2.186.3 → electrogram-2.187.0}/docs/source/start/examples/get_chat_history.rst +0 -0
  127. {electrogram-2.186.3 → electrogram-2.187.0}/docs/source/start/examples/get_chat_members.rst +0 -0
  128. {electrogram-2.186.3 → electrogram-2.187.0}/docs/source/start/examples/get_dialogs.rst +0 -0
  129. {electrogram-2.186.3 → electrogram-2.187.0}/docs/source/start/examples/hello_world.rst +0 -0
  130. {electrogram-2.186.3 → electrogram-2.187.0}/docs/source/start/examples/index.rst +0 -0
  131. {electrogram-2.186.3 → electrogram-2.187.0}/docs/source/start/examples/inline_queries.rst +0 -0
  132. {electrogram-2.186.3 → electrogram-2.187.0}/docs/source/start/examples/raw_updates.rst +0 -0
  133. {electrogram-2.186.3 → electrogram-2.187.0}/docs/source/start/examples/use_inline_bots.rst +0 -0
  134. {electrogram-2.186.3 → electrogram-2.187.0}/docs/source/start/examples/welcome_bot.rst +0 -0
  135. {electrogram-2.186.3 → electrogram-2.187.0}/docs/source/start/invoking.rst +0 -0
  136. {electrogram-2.186.3 → electrogram-2.187.0}/docs/source/start/setup.rst +0 -0
  137. {electrogram-2.186.3 → electrogram-2.187.0}/docs/source/start/updates.rst +0 -0
  138. {electrogram-2.186.3 → electrogram-2.187.0}/docs/source/support.rst +0 -0
  139. {electrogram-2.186.3 → electrogram-2.187.0}/docs/source/topics/advanced-usage.rst +0 -0
  140. {electrogram-2.186.3 → electrogram-2.187.0}/docs/source/topics/client-settings.rst +0 -0
  141. {electrogram-2.186.3 → electrogram-2.187.0}/docs/source/topics/create-filters.rst +0 -0
  142. {electrogram-2.186.3 → electrogram-2.187.0}/docs/source/topics/debugging.rst +0 -0
  143. {electrogram-2.186.3 → electrogram-2.187.0}/docs/source/topics/more-on-updates.rst +0 -0
  144. {electrogram-2.186.3 → electrogram-2.187.0}/docs/source/topics/mtproto-vs-botapi.rst +0 -0
  145. {electrogram-2.186.3 → electrogram-2.187.0}/docs/source/topics/proxy.rst +0 -0
  146. {electrogram-2.186.3 → electrogram-2.187.0}/docs/source/topics/scheduling.rst +0 -0
  147. {electrogram-2.186.3 → electrogram-2.187.0}/docs/source/topics/serializing.rst +0 -0
  148. {electrogram-2.186.3 → electrogram-2.187.0}/docs/source/topics/smart-plugins.rst +0 -0
  149. {electrogram-2.186.3 → electrogram-2.187.0}/docs/source/topics/storage-engines.rst +0 -0
  150. {electrogram-2.186.3 → electrogram-2.187.0}/docs/source/topics/synchronous.rst +0 -0
  151. {electrogram-2.186.3 → electrogram-2.187.0}/docs/source/topics/test-servers.rst +0 -0
  152. {electrogram-2.186.3 → electrogram-2.187.0}/docs/source/topics/text-formatting.rst +0 -0
  153. {electrogram-2.186.3 → electrogram-2.187.0}/docs/source/topics/use-filters.rst +0 -0
  154. {electrogram-2.186.3 → electrogram-2.187.0}/docs/source/topics/voice-calls.rst +0 -0
  155. {electrogram-2.186.3 → electrogram-2.187.0}/hatch_build.py +0 -0
  156. {electrogram-2.186.3 → electrogram-2.187.0}/pyproject.toml +0 -0
  157. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/connection/__init__.py +0 -0
  158. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/connection/connection.py +0 -0
  159. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/connection/transport/__init__.py +0 -0
  160. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/connection/transport/tcp/__init__.py +0 -0
  161. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/connection/transport/tcp/tcp.py +0 -0
  162. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/connection/transport/tcp/tcp_abridged.py +0 -0
  163. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/connection/transport/tcp/tcp_full.py +0 -0
  164. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/connection/transport/tcp/tcp_intermediate.py +0 -0
  165. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/connection/transport/tcp/tcp_intermediate_o.py +0 -0
  166. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/crypto/__init__.py +0 -0
  167. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/crypto/aes.py +0 -0
  168. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/crypto/mtproto.py +0 -0
  169. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/crypto/prime.py +0 -0
  170. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/crypto/rsa.py +0 -0
  171. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/dispatcher.py +0 -0
  172. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/enums/__init__.py +0 -0
  173. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/enums/accent_color.py +0 -0
  174. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/enums/auto_name.py +0 -0
  175. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/enums/business_schedule.py +0 -0
  176. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/enums/chat_action.py +0 -0
  177. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/enums/chat_event_action.py +0 -0
  178. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/enums/chat_join_type.py +0 -0
  179. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/enums/chat_member_status.py +0 -0
  180. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/enums/chat_members_filter.py +0 -0
  181. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/enums/chat_type.py +0 -0
  182. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/enums/client_platform.py +0 -0
  183. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/enums/folder_color.py +0 -0
  184. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/enums/listerner_types.py +0 -0
  185. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/enums/message_entity_type.py +0 -0
  186. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/enums/message_media_type.py +0 -0
  187. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/enums/message_service_type.py +0 -0
  188. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/enums/messages_filter.py +0 -0
  189. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/enums/next_code_type.py +0 -0
  190. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/enums/parse_mode.py +0 -0
  191. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/enums/poll_type.py +0 -0
  192. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/enums/privacy_key.py +0 -0
  193. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/enums/profile_color.py +0 -0
  194. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/enums/reaction_type.py +0 -0
  195. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/enums/reply_color.py +0 -0
  196. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/enums/sent_code_type.py +0 -0
  197. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/enums/stories_privacy_rules.py +0 -0
  198. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/enums/story_privacy.py +0 -0
  199. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/enums/user_status.py +0 -0
  200. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/errors/__init__.py +0 -0
  201. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/errors/rpc_error.py +0 -0
  202. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/file_id.py +0 -0
  203. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/filters.py +0 -0
  204. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/handlers/__init__.py +0 -0
  205. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/handlers/bot_business_connect_handler.py +0 -0
  206. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/handlers/bot_business_message_handler.py +0 -0
  207. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/handlers/callback_query_handler.py +0 -0
  208. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/handlers/chat_join_request_handler.py +0 -0
  209. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/handlers/chat_member_updated_handler.py +0 -0
  210. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/handlers/chosen_inline_result_handler.py +0 -0
  211. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/handlers/conversation_handler.py +0 -0
  212. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/handlers/deleted_bot_business_messages_handler.py +0 -0
  213. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/handlers/deleted_messages_handler.py +0 -0
  214. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/handlers/disconnect_handler.py +0 -0
  215. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/handlers/edited_bot_business_message_handler.py +0 -0
  216. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/handlers/edited_message_handler.py +0 -0
  217. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/handlers/handler.py +0 -0
  218. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/handlers/inline_query_handler.py +0 -0
  219. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/handlers/message_handler.py +0 -0
  220. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/handlers/message_reaction_count_updated_handler.py +0 -0
  221. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/handlers/message_reaction_updated_handler.py +0 -0
  222. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/handlers/poll_handler.py +0 -0
  223. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/handlers/pre_checkout_query_handler.py +0 -0
  224. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/handlers/raw_update_handler.py +0 -0
  225. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/handlers/shipping_query_handler.py +0 -0
  226. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/handlers/story_handler.py +0 -0
  227. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/handlers/user_status_handler.py +0 -0
  228. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/__init__.py +0 -0
  229. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/account/__init__.py +0 -0
  230. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/account/get_account_ttl.py +0 -0
  231. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/account/get_privacy.py +0 -0
  232. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/account/set_account_ttl.py +0 -0
  233. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/account/set_privacy.py +0 -0
  234. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/advanced/__init__.py +0 -0
  235. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/advanced/invoke.py +0 -0
  236. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/advanced/resolve_peer.py +0 -0
  237. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/auth/__init__.py +0 -0
  238. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/auth/accept_terms_of_service.py +0 -0
  239. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/auth/check_password.py +0 -0
  240. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/auth/connect.py +0 -0
  241. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/auth/disconnect.py +0 -0
  242. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/auth/get_active_sessions.py +0 -0
  243. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/auth/get_password_hint.py +0 -0
  244. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/auth/initialize.py +0 -0
  245. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/auth/log_out.py +0 -0
  246. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/auth/recover_password.py +0 -0
  247. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/auth/resend_code.py +0 -0
  248. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/auth/reset_session.py +0 -0
  249. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/auth/reset_sessions.py +0 -0
  250. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/auth/send_code.py +0 -0
  251. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/auth/send_recovery_code.py +0 -0
  252. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/auth/sign_in.py +0 -0
  253. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/auth/sign_in_bot.py +0 -0
  254. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/auth/sign_up.py +0 -0
  255. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/auth/terminate.py +0 -0
  256. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/bots/__init__.py +0 -0
  257. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/bots/answer_callback_query.py +0 -0
  258. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/bots/answer_inline_query.py +0 -0
  259. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/bots/answer_web_app_query.py +0 -0
  260. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/bots/delete_bot_commands.py +0 -0
  261. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/bots/get_bot_commands.py +0 -0
  262. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/bots/get_bot_default_privileges.py +0 -0
  263. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/bots/get_bot_info.py +0 -0
  264. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/bots/get_chat_menu_button.py +0 -0
  265. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/bots/get_collectible_item_info.py +0 -0
  266. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/bots/get_game_high_scores.py +0 -0
  267. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/bots/get_inline_bot_results.py +0 -0
  268. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/bots/request_callback_answer.py +0 -0
  269. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/bots/send_game.py +0 -0
  270. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/bots/send_inline_bot_result.py +0 -0
  271. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/bots/set_bot_commands.py +0 -0
  272. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/bots/set_bot_default_privileges.py +0 -0
  273. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/bots/set_bot_info.py +0 -0
  274. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/bots/set_chat_menu_button.py +0 -0
  275. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/bots/set_game_score.py +0 -0
  276. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/business/__init__.py +0 -0
  277. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/business/answer_pre_checkout_query.py +0 -0
  278. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/business/answer_shipping_query.py +0 -0
  279. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/business/create_invoice_link.py +0 -0
  280. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/business/get_business_connection.py +0 -0
  281. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/business/get_payment_form.py +0 -0
  282. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/business/get_stars_transactions.py +0 -0
  283. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/business/get_stars_transactions_by_id.py +0 -0
  284. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/business/refund_stars_payment.py +0 -0
  285. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/business/send_invoice.py +0 -0
  286. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/business/send_payment_form.py +0 -0
  287. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/chats/__init__.py +0 -0
  288. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/chats/add_chat_members.py +0 -0
  289. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/chats/archive_chats.py +0 -0
  290. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/chats/ban_chat_member.py +0 -0
  291. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/chats/close_forum_topic.py +0 -0
  292. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/chats/close_general_topic.py +0 -0
  293. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/chats/create_channel.py +0 -0
  294. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/chats/create_forum_topic.py +0 -0
  295. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/chats/create_group.py +0 -0
  296. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/chats/create_supergroup.py +0 -0
  297. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/chats/delete_channel.py +0 -0
  298. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/chats/delete_chat_photo.py +0 -0
  299. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/chats/delete_folder.py +0 -0
  300. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/chats/delete_forum_topic.py +0 -0
  301. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/chats/delete_supergroup.py +0 -0
  302. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/chats/delete_user_history.py +0 -0
  303. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/chats/edit_forum_topic.py +0 -0
  304. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/chats/edit_general_topic.py +0 -0
  305. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/chats/export_folder_link.py +0 -0
  306. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/chats/get_chat.py +0 -0
  307. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/chats/get_chat_event_log.py +0 -0
  308. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/chats/get_chat_member.py +0 -0
  309. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/chats/get_chat_members.py +0 -0
  310. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/chats/get_chat_members_count.py +0 -0
  311. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/chats/get_chat_online_count.py +0 -0
  312. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/chats/get_dialogs.py +0 -0
  313. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/chats/get_dialogs_count.py +0 -0
  314. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/chats/get_folders.py +0 -0
  315. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/chats/get_forum_topics.py +0 -0
  316. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/chats/get_forum_topics_by_id.py +0 -0
  317. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/chats/get_nearby_chats.py +0 -0
  318. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/chats/get_send_as_chats.py +0 -0
  319. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/chats/hide_general_topic.py +0 -0
  320. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/chats/join_chat.py +0 -0
  321. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/chats/leave_chat.py +0 -0
  322. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/chats/mark_chat_unread.py +0 -0
  323. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/chats/pin_chat_message.py +0 -0
  324. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/chats/promote_chat_member.py +0 -0
  325. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/chats/reopen_forum_topic.py +0 -0
  326. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/chats/reopen_general_topic.py +0 -0
  327. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/chats/restrict_chat_member.py +0 -0
  328. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/chats/set_administrator_title.py +0 -0
  329. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/chats/set_chat_description.py +0 -0
  330. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/chats/set_chat_permissions.py +0 -0
  331. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/chats/set_chat_photo.py +0 -0
  332. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/chats/set_chat_protected_content.py +0 -0
  333. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/chats/set_chat_title.py +0 -0
  334. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/chats/set_chat_username.py +0 -0
  335. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/chats/set_send_as_chat.py +0 -0
  336. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/chats/set_slow_mode.py +0 -0
  337. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/chats/unarchive_chats.py +0 -0
  338. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/chats/unban_chat_member.py +0 -0
  339. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/chats/unhide_general_topic.py +0 -0
  340. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/chats/unpin_all_chat_messages.py +0 -0
  341. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/chats/unpin_chat_message.py +0 -0
  342. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/chats/update_color.py +0 -0
  343. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/chats/update_folder.py +0 -0
  344. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/contacts/__init__.py +0 -0
  345. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/contacts/add_contact.py +0 -0
  346. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/contacts/delete_contacts.py +0 -0
  347. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/contacts/get_contacts.py +0 -0
  348. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/contacts/get_contacts_count.py +0 -0
  349. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/contacts/import_contacts.py +0 -0
  350. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/contacts/search_contacts.py +0 -0
  351. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/decorators/__init__.py +0 -0
  352. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/decorators/on_bot_business_connect.py +0 -0
  353. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/decorators/on_bot_business_message.py +0 -0
  354. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/decorators/on_callback_query.py +0 -0
  355. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/decorators/on_chat_join_request.py +0 -0
  356. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/decorators/on_chat_member_updated.py +0 -0
  357. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/decorators/on_chosen_inline_result.py +0 -0
  358. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/decorators/on_deleted_bot_business_messages.py +0 -0
  359. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/decorators/on_deleted_messages.py +0 -0
  360. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/decorators/on_disconnect.py +0 -0
  361. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/decorators/on_edited_bot_business_message.py +0 -0
  362. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/decorators/on_edited_message.py +0 -0
  363. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/decorators/on_inline_query.py +0 -0
  364. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/decorators/on_message.py +0 -0
  365. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/decorators/on_message_reaction_count_updated.py +0 -0
  366. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/decorators/on_message_reaction_updated.py +0 -0
  367. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/decorators/on_poll.py +0 -0
  368. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/decorators/on_pre_checkout_query.py +0 -0
  369. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/decorators/on_raw_update.py +0 -0
  370. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/decorators/on_shipping_query.py +0 -0
  371. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/decorators/on_story.py +0 -0
  372. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/decorators/on_user_status.py +0 -0
  373. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/invite_links/__init__.py +0 -0
  374. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/invite_links/approve_all_chat_join_requests.py +0 -0
  375. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/invite_links/approve_chat_join_request.py +0 -0
  376. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/invite_links/create_chat_invite_link.py +0 -0
  377. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/invite_links/decline_all_chat_join_requests.py +0 -0
  378. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/invite_links/decline_chat_join_request.py +0 -0
  379. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/invite_links/delete_chat_admin_invite_links.py +0 -0
  380. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/invite_links/delete_chat_invite_link.py +0 -0
  381. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/invite_links/edit_chat_invite_link.py +0 -0
  382. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/invite_links/export_chat_invite_link.py +0 -0
  383. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/invite_links/get_chat_admin_invite_links.py +0 -0
  384. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/invite_links/get_chat_admin_invite_links_count.py +0 -0
  385. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/invite_links/get_chat_admins_with_invite_links.py +0 -0
  386. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/invite_links/get_chat_invite_link.py +0 -0
  387. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/invite_links/get_chat_invite_link_joiners.py +0 -0
  388. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/invite_links/get_chat_invite_link_joiners_count.py +0 -0
  389. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/invite_links/get_chat_join_requests.py +0 -0
  390. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/invite_links/revoke_chat_invite_link.py +0 -0
  391. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/messages/__init__.py +0 -0
  392. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/messages/copy_media_group.py +0 -0
  393. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/messages/copy_message.py +0 -0
  394. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/messages/delete_chat_history.py +0 -0
  395. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/messages/delete_messages.py +0 -0
  396. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/messages/delete_scheduled_messages.py +0 -0
  397. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/messages/download_media.py +0 -0
  398. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/messages/edit_inline_caption.py +0 -0
  399. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/messages/edit_inline_media.py +0 -0
  400. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/messages/edit_inline_reply_markup.py +0 -0
  401. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/messages/edit_inline_text.py +0 -0
  402. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/messages/edit_message_caption.py +0 -0
  403. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/messages/edit_message_media.py +0 -0
  404. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/messages/edit_message_reply_markup.py +0 -0
  405. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/messages/edit_message_text.py +0 -0
  406. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/messages/forward_messages.py +0 -0
  407. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/messages/get_available_effects.py +0 -0
  408. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/messages/get_chat_history.py +0 -0
  409. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/messages/get_chat_history_count.py +0 -0
  410. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/messages/get_custom_emoji_stickers.py +0 -0
  411. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/messages/get_discussion_message.py +0 -0
  412. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/messages/get_discussion_replies.py +0 -0
  413. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/messages/get_discussion_replies_count.py +0 -0
  414. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/messages/get_media_group.py +0 -0
  415. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/messages/get_messages.py +0 -0
  416. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/messages/get_scheduled_messages.py +0 -0
  417. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/messages/inline_session.py +0 -0
  418. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/messages/read_chat_history.py +0 -0
  419. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/messages/retract_vote.py +0 -0
  420. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/messages/search_global.py +0 -0
  421. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/messages/search_global_count.py +0 -0
  422. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/messages/search_global_hashtag_messages.py +0 -0
  423. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/messages/search_global_hashtag_messages_count.py +0 -0
  424. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/messages/search_messages.py +0 -0
  425. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/messages/search_messages_count.py +0 -0
  426. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/messages/send_animation.py +0 -0
  427. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/messages/send_audio.py +0 -0
  428. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/messages/send_cached_media.py +0 -0
  429. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/messages/send_chat_action.py +0 -0
  430. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/messages/send_contact.py +0 -0
  431. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/messages/send_dice.py +0 -0
  432. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/messages/send_document.py +0 -0
  433. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/messages/send_location.py +0 -0
  434. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/messages/send_media_group.py +0 -0
  435. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/messages/send_message.py +0 -0
  436. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/messages/send_paid_media.py +0 -0
  437. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/messages/send_paid_reaction.py +0 -0
  438. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/messages/send_photo.py +0 -0
  439. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/messages/send_poll.py +0 -0
  440. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/messages/send_reaction.py +0 -0
  441. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/messages/send_sticker.py +0 -0
  442. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/messages/send_venue.py +0 -0
  443. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/messages/send_video.py +0 -0
  444. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/messages/send_video_note.py +0 -0
  445. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/messages/send_voice.py +0 -0
  446. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/messages/send_web_page.py +0 -0
  447. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/messages/stop_poll.py +0 -0
  448. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/messages/stream_media.py +0 -0
  449. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/messages/translate_text.py +0 -0
  450. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/messages/vote_poll.py +0 -0
  451. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/password/__init__.py +0 -0
  452. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/password/change_cloud_password.py +0 -0
  453. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/password/enable_cloud_password.py +0 -0
  454. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/password/remove_cloud_password.py +0 -0
  455. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/stickers/__init__.py +0 -0
  456. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/stickers/add_sticker_to_set.py +0 -0
  457. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/stickers/create_sticker_set.py +0 -0
  458. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/stickers/get_sticker_set.py +0 -0
  459. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/users/__init__.py +0 -0
  460. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/users/block_user.py +0 -0
  461. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/users/delete_account.py +0 -0
  462. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/users/delete_profile_photos.py +0 -0
  463. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/users/delete_stories.py +0 -0
  464. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/users/edit_story.py +0 -0
  465. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/users/export_story_link.py +0 -0
  466. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/users/forward_story.py +0 -0
  467. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/users/get_all_stories.py +0 -0
  468. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/users/get_chat_photos.py +0 -0
  469. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/users/get_chat_photos_count.py +0 -0
  470. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/users/get_common_chats.py +0 -0
  471. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/users/get_default_emoji_statuses.py +0 -0
  472. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/users/get_me.py +0 -0
  473. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/users/get_peer_stories.py +0 -0
  474. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/users/get_stories.py +0 -0
  475. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/users/get_stories_history.py +0 -0
  476. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/users/get_users.py +0 -0
  477. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/users/send_story.py +0 -0
  478. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/users/set_emoji_status.py +0 -0
  479. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/users/set_profile_photo.py +0 -0
  480. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/users/set_username.py +0 -0
  481. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/users/unblock_user.py +0 -0
  482. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/users/update_birthday.py +0 -0
  483. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/users/update_personal_chat.py +0 -0
  484. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/users/update_profile.py +0 -0
  485. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/utilities/__init__.py +0 -0
  486. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/utilities/add_handler.py +0 -0
  487. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/utilities/compose.py +0 -0
  488. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/utilities/export_session_string.py +0 -0
  489. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/utilities/idle.py +0 -0
  490. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/utilities/remove_handler.py +0 -0
  491. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/utilities/restart.py +0 -0
  492. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/utilities/run.py +0 -0
  493. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/utilities/run_sync.py +0 -0
  494. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/utilities/start.py +0 -0
  495. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/utilities/stop.py +0 -0
  496. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/utilities/stop_transmission.py +0 -0
  497. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/mime_types.py +0 -0
  498. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/parser/__init__.py +0 -0
  499. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/parser/html.py +0 -0
  500. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/parser/markdown.py +0 -0
  501. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/parser/parser.py +0 -0
  502. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/parser/utils.py +0 -0
  503. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/py.typed +0 -0
  504. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/raw/core/__init__.py +0 -0
  505. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/raw/core/list.py +0 -0
  506. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/raw/core/msg_container.py +0 -0
  507. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/raw/core/primitives/__init__.py +0 -0
  508. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/raw/core/primitives/bool.py +0 -0
  509. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/raw/core/primitives/bytes.py +0 -0
  510. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/raw/core/primitives/double.py +0 -0
  511. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/raw/core/primitives/string.py +0 -0
  512. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/session/__init__.py +0 -0
  513. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/session/internals/__init__.py +0 -0
  514. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/session/internals/data_center.py +0 -0
  515. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/session/internals/msg_factory.py +0 -0
  516. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/session/internals/msg_id.py +0 -0
  517. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/session/internals/seq_no.py +0 -0
  518. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/storage/__init__.py +0 -0
  519. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/storage/file_storage.py +0 -0
  520. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/storage/memory_storage.py +0 -0
  521. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/storage/sqlite_storage.py +0 -0
  522. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/storage/storage.py +0 -0
  523. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/sync.py +0 -0
  524. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/__init__.py +0 -0
  525. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/authorization/__init__.py +0 -0
  526. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/authorization/active_session.py +0 -0
  527. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/authorization/active_sessions.py +0 -0
  528. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/authorization/sent_code.py +0 -0
  529. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/authorization/terms_of_service.py +0 -0
  530. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/bots_and_keyboards/__init__.py +0 -0
  531. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/bots_and_keyboards/bot_allowed.py +0 -0
  532. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/bots_and_keyboards/bot_app.py +0 -0
  533. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/bots_and_keyboards/bot_business_connection.py +0 -0
  534. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/bots_and_keyboards/bot_command.py +0 -0
  535. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/bots_and_keyboards/bot_command_scope.py +0 -0
  536. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/bots_and_keyboards/bot_command_scope_all_chat_administrators.py +0 -0
  537. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/bots_and_keyboards/bot_command_scope_all_group_chats.py +0 -0
  538. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/bots_and_keyboards/bot_command_scope_all_private_chats.py +0 -0
  539. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/bots_and_keyboards/bot_command_scope_chat.py +0 -0
  540. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/bots_and_keyboards/bot_command_scope_chat_administrators.py +0 -0
  541. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/bots_and_keyboards/bot_command_scope_chat_member.py +0 -0
  542. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/bots_and_keyboards/bot_command_scope_default.py +0 -0
  543. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/bots_and_keyboards/bot_info.py +0 -0
  544. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/bots_and_keyboards/callback_game.py +0 -0
  545. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/bots_and_keyboards/callback_query.py +0 -0
  546. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/bots_and_keyboards/collectible_item_info.py +0 -0
  547. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/bots_and_keyboards/force_reply.py +0 -0
  548. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/bots_and_keyboards/game_high_score.py +0 -0
  549. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/bots_and_keyboards/inline_keyboard_button.py +0 -0
  550. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/bots_and_keyboards/inline_keyboard_button_buy.py +0 -0
  551. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/bots_and_keyboards/inline_keyboard_markup.py +0 -0
  552. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/bots_and_keyboards/keyboard_button.py +0 -0
  553. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/bots_and_keyboards/login_url.py +0 -0
  554. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/bots_and_keyboards/menu_button.py +0 -0
  555. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/bots_and_keyboards/menu_button_commands.py +0 -0
  556. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/bots_and_keyboards/menu_button_default.py +0 -0
  557. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/bots_and_keyboards/menu_button_web_app.py +0 -0
  558. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/bots_and_keyboards/reply_keyboard_markup.py +0 -0
  559. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/bots_and_keyboards/reply_keyboard_remove.py +0 -0
  560. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/bots_and_keyboards/request_peer_type_channel.py +0 -0
  561. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/bots_and_keyboards/request_peer_type_chat.py +0 -0
  562. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/bots_and_keyboards/request_peer_type_user.py +0 -0
  563. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/bots_and_keyboards/requested_chat.py +0 -0
  564. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/bots_and_keyboards/requested_chats.py +0 -0
  565. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/bots_and_keyboards/requested_user.py +0 -0
  566. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/bots_and_keyboards/sent_web_app_message.py +0 -0
  567. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/bots_and_keyboards/web_app_info.py +0 -0
  568. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/business/__init__.py +0 -0
  569. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/business/extended_media_preview.py +0 -0
  570. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/business/input_stars_transaction.py +0 -0
  571. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/business/invoice.py +0 -0
  572. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/business/paid_media.py +0 -0
  573. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/business/paid_media_preview.py +0 -0
  574. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/business/payment_info.py +0 -0
  575. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/business/payment_refunded.py +0 -0
  576. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/business/pre_checkout_query.py +0 -0
  577. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/business/shipping_address.py +0 -0
  578. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/business/shipping_option.py +0 -0
  579. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/business/shipping_query.py +0 -0
  580. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/business/stars_status.py +0 -0
  581. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/business/stars_transaction.py +0 -0
  582. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/business/successful_payment.py +0 -0
  583. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/inline_mode/__init__.py +0 -0
  584. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/inline_mode/chosen_inline_result.py +0 -0
  585. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/inline_mode/inline_query.py +0 -0
  586. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/inline_mode/inline_query_result.py +0 -0
  587. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/inline_mode/inline_query_result_animation.py +0 -0
  588. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/inline_mode/inline_query_result_article.py +0 -0
  589. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/inline_mode/inline_query_result_audio.py +0 -0
  590. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/inline_mode/inline_query_result_cached_animation.py +0 -0
  591. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/inline_mode/inline_query_result_cached_audio.py +0 -0
  592. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/inline_mode/inline_query_result_cached_document.py +0 -0
  593. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/inline_mode/inline_query_result_cached_photo.py +0 -0
  594. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/inline_mode/inline_query_result_cached_sticker.py +0 -0
  595. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/inline_mode/inline_query_result_cached_video.py +0 -0
  596. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/inline_mode/inline_query_result_cached_voice.py +0 -0
  597. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/inline_mode/inline_query_result_contact.py +0 -0
  598. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/inline_mode/inline_query_result_document.py +0 -0
  599. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/inline_mode/inline_query_result_location.py +0 -0
  600. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/inline_mode/inline_query_result_photo.py +0 -0
  601. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/inline_mode/inline_query_result_venue.py +0 -0
  602. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/inline_mode/inline_query_result_video.py +0 -0
  603. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/inline_mode/inline_query_result_voice.py +0 -0
  604. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/input_media/__init__.py +0 -0
  605. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/input_media/input_media.py +0 -0
  606. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/input_media/input_media_animation.py +0 -0
  607. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/input_media/input_media_area.py +0 -0
  608. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/input_media/input_media_area_channel_post.py +0 -0
  609. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/input_media/input_media_audio.py +0 -0
  610. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/input_media/input_media_document.py +0 -0
  611. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/input_media/input_media_photo.py +0 -0
  612. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/input_media/input_media_video.py +0 -0
  613. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/input_media/input_phone_contact.py +0 -0
  614. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/input_message_content/__init__.py +0 -0
  615. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/input_message_content/input_contact_message_content.py +0 -0
  616. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/input_message_content/input_invoice_message_content.py +0 -0
  617. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/input_message_content/input_location_message_content.py +0 -0
  618. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/input_message_content/input_message_content.py +0 -0
  619. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/input_message_content/input_reply_to_message.py +0 -0
  620. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/input_message_content/input_reply_to_story.py +0 -0
  621. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/input_message_content/input_text_message_content.py +0 -0
  622. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/input_message_content/input_venue_message_content.py +0 -0
  623. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/input_privacy_rule/__init__.py +0 -0
  624. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/input_privacy_rule/input_privacy_rule.py +0 -0
  625. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/input_privacy_rule/input_privacy_rule_allow_all.py +0 -0
  626. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/input_privacy_rule/input_privacy_rule_allow_chats.py +0 -0
  627. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/input_privacy_rule/input_privacy_rule_allow_contacts.py +0 -0
  628. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/input_privacy_rule/input_privacy_rule_allow_premium.py +0 -0
  629. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/input_privacy_rule/input_privacy_rule_allow_users.py +0 -0
  630. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/input_privacy_rule/input_privacy_rule_disallow_all.py +0 -0
  631. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/input_privacy_rule/input_privacy_rule_disallow_chats.py +0 -0
  632. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/input_privacy_rule/input_privacy_rule_disallow_contacts.py +0 -0
  633. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/input_privacy_rule/input_privacy_rule_disallow_users.py +0 -0
  634. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/list.py +0 -0
  635. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/messages_and_media/__init__.py +0 -0
  636. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/messages_and_media/animation.py +0 -0
  637. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/messages_and_media/audio.py +0 -0
  638. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/messages_and_media/available_effect.py +0 -0
  639. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/messages_and_media/contact.py +0 -0
  640. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/messages_and_media/contact_registered.py +0 -0
  641. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/messages_and_media/dice.py +0 -0
  642. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/messages_and_media/document.py +0 -0
  643. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/messages_and_media/draft_message.py +0 -0
  644. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/messages_and_media/exported_story_link.py +0 -0
  645. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/messages_and_media/game.py +0 -0
  646. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/messages_and_media/gifted_premium.py +0 -0
  647. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/messages_and_media/giveaway.py +0 -0
  648. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/messages_and_media/giveaway_launched.py +0 -0
  649. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/messages_and_media/giveaway_result.py +0 -0
  650. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/messages_and_media/labeled_price.py +0 -0
  651. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/messages_and_media/location.py +0 -0
  652. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/messages_and_media/media_area.py +0 -0
  653. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/messages_and_media/media_area_channel_post.py +0 -0
  654. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/messages_and_media/media_area_coordinates.py +0 -0
  655. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/messages_and_media/message.py +0 -0
  656. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/messages_and_media/message_entity.py +0 -0
  657. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/messages_and_media/message_reaction_count_updated.py +0 -0
  658. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/messages_and_media/message_reaction_updated.py +0 -0
  659. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/messages_and_media/message_reactions.py +0 -0
  660. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/messages_and_media/message_reactor.py +0 -0
  661. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/messages_and_media/message_story.py +0 -0
  662. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/messages_and_media/payment_form.py +0 -0
  663. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/messages_and_media/photo.py +0 -0
  664. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/messages_and_media/poll.py +0 -0
  665. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/messages_and_media/poll_option.py +0 -0
  666. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/messages_and_media/reaction.py +0 -0
  667. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/messages_and_media/screenshot_taken.py +0 -0
  668. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/messages_and_media/sticker.py +0 -0
  669. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/messages_and_media/stickerset.py +0 -0
  670. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/messages_and_media/stories_privacy_rules.py +0 -0
  671. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/messages_and_media/story.py +0 -0
  672. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/messages_and_media/story_deleted.py +0 -0
  673. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/messages_and_media/story_forward_header.py +0 -0
  674. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/messages_and_media/story_skipped.py +0 -0
  675. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/messages_and_media/story_views.py +0 -0
  676. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/messages_and_media/stripped_thumbnail.py +0 -0
  677. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/messages_and_media/thumbnail.py +0 -0
  678. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/messages_and_media/translated_text.py +0 -0
  679. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/messages_and_media/venue.py +0 -0
  680. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/messages_and_media/video.py +0 -0
  681. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/messages_and_media/video_note.py +0 -0
  682. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/messages_and_media/voice.py +0 -0
  683. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/messages_and_media/web_app_data.py +0 -0
  684. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/messages_and_media/web_page.py +0 -0
  685. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/messages_and_media/web_page_empty.py +0 -0
  686. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/messages_and_media/web_page_preview.py +0 -0
  687. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/object.py +0 -0
  688. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/update.py +0 -0
  689. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/user_and_chats/__init__.py +0 -0
  690. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/user_and_chats/birthday.py +0 -0
  691. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/user_and_chats/business_info.py +0 -0
  692. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/user_and_chats/business_message.py +0 -0
  693. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/user_and_chats/business_recipients.py +0 -0
  694. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/user_and_chats/business_weekly_open.py +0 -0
  695. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/user_and_chats/business_working_hours.py +0 -0
  696. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/user_and_chats/chat.py +0 -0
  697. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/user_and_chats/chat_admin_with_invite_links.py +0 -0
  698. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/user_and_chats/chat_color.py +0 -0
  699. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/user_and_chats/chat_event.py +0 -0
  700. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/user_and_chats/chat_event_filter.py +0 -0
  701. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/user_and_chats/chat_invite_link.py +0 -0
  702. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/user_and_chats/chat_join_request.py +0 -0
  703. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/user_and_chats/chat_joined_by_request.py +0 -0
  704. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/user_and_chats/chat_joiner.py +0 -0
  705. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/user_and_chats/chat_member.py +0 -0
  706. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/user_and_chats/chat_member_updated.py +0 -0
  707. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/user_and_chats/chat_permissions.py +0 -0
  708. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/user_and_chats/chat_photo.py +0 -0
  709. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/user_and_chats/chat_preview.py +0 -0
  710. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/user_and_chats/chat_privileges.py +0 -0
  711. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/user_and_chats/chat_reactions.py +0 -0
  712. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/user_and_chats/dialog.py +0 -0
  713. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/user_and_chats/emoji_status.py +0 -0
  714. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/user_and_chats/folder.py +0 -0
  715. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/user_and_chats/forum_topic.py +0 -0
  716. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/user_and_chats/forum_topic_closed.py +0 -0
  717. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/user_and_chats/forum_topic_created.py +0 -0
  718. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/user_and_chats/forum_topic_edited.py +0 -0
  719. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/user_and_chats/forum_topic_reopened.py +0 -0
  720. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/user_and_chats/found_contacts.py +0 -0
  721. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/user_and_chats/general_forum_topic_hidden.py +0 -0
  722. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/user_and_chats/general_forum_topic_unhidden.py +0 -0
  723. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/user_and_chats/invite_link_importer.py +0 -0
  724. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/user_and_chats/peer_channel.py +0 -0
  725. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/user_and_chats/peer_user.py +0 -0
  726. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/user_and_chats/privacy_rule.py +0 -0
  727. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/user_and_chats/restriction.py +0 -0
  728. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/user_and_chats/user.py +0 -0
  729. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/user_and_chats/username.py +0 -0
  730. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/user_and_chats/video_chat_ended.py +0 -0
  731. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/user_and_chats/video_chat_members_invited.py +0 -0
  732. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/user_and_chats/video_chat_scheduled.py +0 -0
  733. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/user_and_chats/video_chat_started.py +0 -0
  734. {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/utils.py +0 -0
  735. {electrogram-2.186.3 → electrogram-2.187.0}/requirements-dev.lock +0 -0
  736. {electrogram-2.186.3 → electrogram-2.187.0}/requirements.lock +0 -0
  737. {electrogram-2.186.3 → electrogram-2.187.0}/tests/__init__.py +0 -0
  738. {electrogram-2.186.3 → electrogram-2.187.0}/tests/filters/__init__.py +0 -0
  739. {electrogram-2.186.3 → electrogram-2.187.0}/tests/filters/test_command.py +0 -0
  740. {electrogram-2.186.3 → electrogram-2.187.0}/tests/parser/__init__.py +0 -0
  741. {electrogram-2.186.3 → electrogram-2.187.0}/tests/parser/test_html.py +0 -0
  742. {electrogram-2.186.3 → electrogram-2.187.0}/tests/test_file_id.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: electrogram
3
- Version: 2.186.3
3
+ Version: 2.187.0
4
4
  Summary: Telegram MTProto API framework in Python, designed for fluid user and bot interactions.
5
5
  Project-URL: homepage, https://github.com/5hojib/electrogram
6
6
  Project-URL: community, https://t.me/ProjectAeon
@@ -36,7 +36,7 @@ inputMediaPoll#f94e5f1 flags:# poll:Poll correct_answers:flags.0?Vector<bytes> s
36
36
  inputMediaDice#e66fbf7b emoticon:string = InputMedia;
37
37
  inputMediaStory#89fdd778 peer:InputPeer id:int = InputMedia;
38
38
  inputMediaWebPage#c21b8849 flags:# force_large_media:flags.0?true force_small_media:flags.1?true optional:flags.2?true url:string = InputMedia;
39
- inputMediaPaidMedia#aa661fc3 stars_amount:long extended_media:Vector<InputMedia> = InputMedia;
39
+ inputMediaPaidMedia#c4103386 flags:# stars_amount:long extended_media:Vector<InputMedia> payload:flags.0?string = InputMedia;
40
40
 
41
41
  inputChatPhotoEmpty#1ca48f57 = InputChatPhoto;
42
42
  inputChatUploadedPhoto#bdcdaec0 flags:# file:flags.0?InputFile video:flags.1?InputFile video_start_ts:flags.2?double video_emoji_markup:flags.3?VideoSize = InputChatPhoto;
@@ -124,8 +124,8 @@ messageMediaGeoLive#b940c666 flags:# geo:GeoPoint heading:flags.0?int period:int
124
124
  messageMediaPoll#4bd6e798 poll:Poll results:PollResults = MessageMedia;
125
125
  messageMediaDice#3f7ee58b value:int emoticon:string = MessageMedia;
126
126
  messageMediaStory#68cb6283 flags:# via_mention:flags.1?true peer:Peer id:int story:flags.0?StoryItem = MessageMedia;
127
- messageMediaGiveaway#daad85b0 flags:# only_new_subscribers:flags.0?true winners_are_visible:flags.2?true channels:Vector<long> countries_iso2:flags.1?Vector<string> prize_description:flags.3?string quantity:int months:int until_date:int = MessageMedia;
128
- messageMediaGiveawayResults#c6991068 flags:# only_new_subscribers:flags.0?true refunded:flags.2?true channel_id:long additional_peers_count:flags.3?int launch_msg_id:int winners_count:int unclaimed_count:int winners:Vector<long> months:int prize_description:flags.1?string until_date:int = MessageMedia;
127
+ messageMediaGiveaway#aa073beb flags:# only_new_subscribers:flags.0?true winners_are_visible:flags.2?true channels:Vector<long> countries_iso2:flags.1?Vector<string> prize_description:flags.3?string quantity:int months:flags.4?int stars:flags.5?long until_date:int = MessageMedia;
128
+ messageMediaGiveawayResults#ceaa3ea1 flags:# only_new_subscribers:flags.0?true refunded:flags.2?true channel_id:long additional_peers_count:flags.3?int launch_msg_id:int winners_count:int unclaimed_count:int winners:Vector<long> months:flags.4?int stars:flags.5?long prize_description:flags.1?string until_date:int = MessageMedia;
129
129
  messageMediaPaidMedia#a8852491 stars_amount:long extended_media:Vector<MessageExtendedMedia> = MessageMedia;
130
130
 
131
131
  messageActionEmpty#b6aef7b0 = MessageAction;
@@ -167,12 +167,13 @@ messageActionSuggestProfilePhoto#57de635e photo:Photo = MessageAction;
167
167
  messageActionRequestedPeer#31518e9b button_id:int peers:Vector<Peer> = MessageAction;
168
168
  messageActionSetChatWallPaper#5060a3f4 flags:# same:flags.0?true for_both:flags.1?true wallpaper:WallPaper = MessageAction;
169
169
  messageActionGiftCode#678c2e09 flags:# via_giveaway:flags.0?true unclaimed:flags.2?true boost_peer:flags.1?Peer months:int slug:string currency:flags.2?string amount:flags.2?long crypto_currency:flags.3?string crypto_amount:flags.3?long = MessageAction;
170
- messageActionGiveawayLaunch#332ba9ed = MessageAction;
171
- messageActionGiveawayResults#2a9fadc5 winners_count:int unclaimed_count:int = MessageAction;
170
+ messageActionGiveawayLaunch#a80f51e4 flags:# stars:flags.0?long = MessageAction;
171
+ messageActionGiveawayResults#87e2f155 flags:# stars:flags.0?true winners_count:int unclaimed_count:int = MessageAction;
172
172
  messageActionBoostApply#cc02aa6d boosts:int = MessageAction;
173
173
  messageActionRequestedPeerSentMe#93b31848 button_id:int peers:Vector<RequestedPeer> = MessageAction;
174
174
  messageActionPaymentRefunded#41b3e202 flags:# peer:Peer currency:string total_amount:long payload:flags.0?bytes charge:PaymentCharge = MessageAction;
175
175
  messageActionGiftStars#45d5b021 flags:# currency:string amount:long stars:long crypto_currency:flags.0?string crypto_amount:flags.0?long transaction_id:flags.1?string = MessageAction;
176
+ messageActionPrizeStars#b00c47a2 flags:# unclaimed:flags.0?true stars:long transaction_id:string boost_peer:Peer giveaway_msg_id:int = MessageAction;
176
177
 
177
178
  dialog#d58a08c6 flags:# pinned:flags.2?true unread_mark:flags.3?true view_forum_as_messages:flags.6?true peer:Peer top_message:int read_inbox_max_id:int read_outbox_max_id:int unread_count:int unread_mentions_count:int unread_reactions_count:int notify_settings:PeerNotifySettings pts:flags.0?int draft:flags.1?DraftMessage folder_id:flags.4?int ttl_period:flags.5?int = Dialog;
178
179
  dialogFolder#71bd134c flags:# pinned:flags.2?true folder:Folder peer:Peer top_message:int unread_muted_peers_count:int unread_unmuted_peers_count:int unread_muted_messages_count:int unread_unmuted_messages_count:int = Dialog;
@@ -413,6 +414,8 @@ updateBroadcastRevenueTransactions#dfd961f5 peer:Peer balances:BroadcastRevenueB
413
414
  updateStarsBalance#fb85198 balance:long = Update;
414
415
  updateBusinessBotCallbackQuery#1ea2fda7 flags:# query_id:long user_id:long connection_id:string message:Message reply_to_message:flags.2?Message chat_instance:long data:flags.0?bytes = Update;
415
416
  updateStarsRevenueStatus#a584b019 peer:Peer status:StarsRevenueStatus = Update;
417
+ updateBotPurchasedPaidMedia#283bd312 user_id:long payload:string qts:int = Update;
418
+ updatePaidReactionPrivacy#51ca7aec private:Bool = Update;
416
419
 
417
420
  updates.state#a56c2a3e pts:int qts:int date:int seq:int unread_count:int = updates.State;
418
421
 
@@ -1004,12 +1007,13 @@ channelAdminLogEventActionChangeWallpaper#31bb5d52 prev_value:WallPaper new_valu
1004
1007
  channelAdminLogEventActionChangeEmojiStatus#3ea9feb1 prev_value:EmojiStatus new_value:EmojiStatus = ChannelAdminLogEventAction;
1005
1008
  channelAdminLogEventActionChangeEmojiStickerSet#46d840ab prev_stickerset:InputStickerSet new_stickerset:InputStickerSet = ChannelAdminLogEventAction;
1006
1009
  channelAdminLogEventActionToggleSignatureProfiles#60a79c79 new_value:Bool = ChannelAdminLogEventAction;
1010
+ channelAdminLogEventActionParticipantSubExtend#64642db3 prev_participant:ChannelParticipant new_participant:ChannelParticipant = ChannelAdminLogEventAction;
1007
1011
 
1008
1012
  channelAdminLogEvent#1fad68cd id:long date:int user_id:long action:ChannelAdminLogEventAction = ChannelAdminLogEvent;
1009
1013
 
1010
1014
  channels.adminLogResults#ed8af74d events:Vector<ChannelAdminLogEvent> chats:Vector<Chat> users:Vector<User> = channels.AdminLogResults;
1011
1015
 
1012
- channelAdminLogEventsFilter#ea107ae4 flags:# join:flags.0?true leave:flags.1?true invite:flags.2?true ban:flags.3?true unban:flags.4?true kick:flags.5?true unkick:flags.6?true promote:flags.7?true demote:flags.8?true info:flags.9?true settings:flags.10?true pinned:flags.11?true edit:flags.12?true delete:flags.13?true group_call:flags.14?true invites:flags.15?true send:flags.16?true forums:flags.17?true = ChannelAdminLogEventsFilter;
1016
+ channelAdminLogEventsFilter#ea107ae4 flags:# join:flags.0?true leave:flags.1?true invite:flags.2?true ban:flags.3?true unban:flags.4?true kick:flags.5?true unkick:flags.6?true promote:flags.7?true demote:flags.8?true info:flags.9?true settings:flags.10?true pinned:flags.11?true edit:flags.12?true delete:flags.13?true group_call:flags.14?true invites:flags.15?true send:flags.16?true forums:flags.17?true sub_extend:flags.18?true = ChannelAdminLogEventsFilter;
1013
1017
 
1014
1018
  popularContact#5ce14175 client_id:long importers:int = PopularContact;
1015
1019
 
@@ -1463,6 +1467,7 @@ inputStorePaymentPremiumGiftCode#a3805f3f flags:# users:Vector<InputUser> boost_
1463
1467
  inputStorePaymentPremiumGiveaway#160544ca flags:# only_new_subscribers:flags.0?true winners_are_visible:flags.3?true boost_peer:InputPeer additional_peers:flags.1?Vector<InputPeer> countries_iso2:flags.2?Vector<string> prize_description:flags.4?string random_id:long until_date:int currency:string amount:long = InputStorePaymentPurpose;
1464
1468
  inputStorePaymentStarsTopup#dddd0f56 stars:long currency:string amount:long = InputStorePaymentPurpose;
1465
1469
  inputStorePaymentStarsGift#1d741ef7 user_id:InputUser stars:long currency:string amount:long = InputStorePaymentPurpose;
1470
+ inputStorePaymentStarsGiveaway#751f08fa flags:# only_new_subscribers:flags.0?true winners_are_visible:flags.3?true stars:long boost_peer:InputPeer additional_peers:flags.1?Vector<InputPeer> countries_iso2:flags.2?Vector<string> prize_description:flags.4?string random_id:long until_date:int currency:string amount:long users:int = InputStorePaymentPurpose;
1466
1471
 
1467
1472
  premiumGiftOption#74c34319 flags:# months:int currency:string amount:long bot_url:string store_product:flags.0?string = PremiumGiftOption;
1468
1473
 
@@ -1624,11 +1629,12 @@ premiumGiftCodeOption#257e962b flags:# users:int months:int store_product:flags.
1624
1629
  payments.checkedGiftCode#284a1096 flags:# via_giveaway:flags.2?true from_id:flags.4?Peer giveaway_msg_id:flags.3?int to_id:flags.0?long date:int months:int used_date:flags.1?int chats:Vector<Chat> users:Vector<User> = payments.CheckedGiftCode;
1625
1630
 
1626
1631
  payments.giveawayInfo#4367daa0 flags:# participating:flags.0?true preparing_results:flags.3?true start_date:int joined_too_early_date:flags.1?int admin_disallowed_chat_id:flags.2?long disallowed_country:flags.4?string = payments.GiveawayInfo;
1627
- payments.giveawayInfoResults#cd5570 flags:# winner:flags.0?true refunded:flags.1?true start_date:int gift_code_slug:flags.0?string finish_date:int winners_count:int activated_count:int = payments.GiveawayInfo;
1632
+ payments.giveawayInfoResults#e175e66f flags:# winner:flags.0?true refunded:flags.1?true start_date:int gift_code_slug:flags.3?string stars_prize:flags.4?long finish_date:int winners_count:int activated_count:flags.2?int = payments.GiveawayInfo;
1628
1633
 
1629
1634
  prepaidGiveaway#b2539d54 id:long months:int quantity:int date:int = PrepaidGiveaway;
1635
+ prepaidStarsGiveaway#9a9d77e0 id:long stars:long quantity:int boosts:int date:int = PrepaidGiveaway;
1630
1636
 
1631
- boost#2a1c8c71 flags:# gift:flags.1?true giveaway:flags.2?true unclaimed:flags.3?true id:string user_id:flags.0?long giveaway_msg_id:flags.2?int date:int expires:int used_gift_slug:flags.4?string multiplier:flags.5?int = Boost;
1637
+ boost#4b3e14d6 flags:# gift:flags.1?true giveaway:flags.2?true unclaimed:flags.3?true id:string user_id:flags.0?long giveaway_msg_id:flags.2?int date:int expires:int used_gift_slug:flags.4?string multiplier:flags.5?int stars:flags.6?long = Boost;
1632
1638
 
1633
1639
  premium.boostsList#86f8613c flags:# count:int boosts:Vector<Boost> next_offset:flags.0?string users:Vector<User> = premium.BoostsList;
1634
1640
 
@@ -1786,7 +1792,7 @@ reactionNotificationsFromAll#4b9e22a0 = ReactionNotificationsFrom;
1786
1792
 
1787
1793
  reactionsNotifySettings#56e34970 flags:# messages_notify_from:flags.0?ReactionNotificationsFrom stories_notify_from:flags.1?ReactionNotificationsFrom sound:NotificationSound show_previews:Bool = ReactionsNotifySettings;
1788
1794
 
1789
- broadcastRevenueBalances#8438f1c6 current_balance:long available_balance:long overall_revenue:long = BroadcastRevenueBalances;
1795
+ broadcastRevenueBalances#c3ff71e7 flags:# withdrawal_enabled:flags.0?true current_balance:long available_balance:long overall_revenue:long = BroadcastRevenueBalances;
1790
1796
 
1791
1797
  availableEffect#93c3e27e flags:# premium_required:flags.2?true id:long emoticon:string static_icon_id:flags.0?long effect_sticker_id:long effect_animation_id:flags.1?long = AvailableEffect;
1792
1798
 
@@ -1805,7 +1811,7 @@ starsTransactionPeerAds#60682812 = StarsTransactionPeer;
1805
1811
 
1806
1812
  starsTopupOption#bd915c0 flags:# extended:flags.1?true stars:long store_product:flags.0?string currency:string amount:long = StarsTopupOption;
1807
1813
 
1808
- starsTransaction#433aeb2b flags:# refund:flags.3?true pending:flags.4?true failed:flags.6?true gift:flags.10?true reaction:flags.11?true id:string stars:long date:int peer:StarsTransactionPeer title:flags.0?string description:flags.1?string photo:flags.2?WebDocument transaction_date:flags.5?int transaction_url:flags.5?string bot_payload:flags.7?bytes msg_id:flags.8?int extended_media:flags.9?Vector<MessageMedia> subscription_period:flags.12?int = StarsTransaction;
1814
+ starsTransaction#ee7522d5 flags:# refund:flags.3?true pending:flags.4?true failed:flags.6?true gift:flags.10?true reaction:flags.11?true id:string stars:long date:int peer:StarsTransactionPeer title:flags.0?string description:flags.1?string photo:flags.2?WebDocument transaction_date:flags.5?int transaction_url:flags.5?string bot_payload:flags.7?bytes msg_id:flags.8?int extended_media:flags.9?Vector<MessageMedia> subscription_period:flags.12?int giveaway_post_id:flags.13?int = StarsTransaction;
1809
1815
 
1810
1816
  payments.starsStatus#bbfa316c flags:# balance:long subscriptions:flags.1?Vector<StarsSubscription> subscriptions_next_offset:flags.2?string subscriptions_missing_balance:flags.4?long history:flags.3?Vector<StarsTransaction> next_offset:flags.0?string chats:Vector<Chat> users:Vector<User> = payments.StarsStatus;
1811
1817
 
@@ -1839,6 +1845,10 @@ starsSubscription#538ecf18 flags:# canceled:flags.0?true can_refulfill:flags.1?t
1839
1845
 
1840
1846
  messageReactor#4ba3a95a flags:# top:flags.0?true my:flags.1?true anonymous:flags.2?true peer_id:flags.3?Peer count:int = MessageReactor;
1841
1847
 
1848
+ starsGiveawayOption#94ce852a flags:# extended:flags.0?true default:flags.1?true stars:long yearly_boosts:int store_product:flags.2?string currency:string amount:long winners:Vector<StarsGiveawayWinnersOption> = StarsGiveawayOption;
1849
+
1850
+ starsGiveawayWinnersOption#54236209 flags:# default:flags.0?true users:int per_user_stars:long = StarsGiveawayWinnersOption;
1851
+
1842
1852
  ---functions---
1843
1853
 
1844
1854
  invokeAfterMsg#cb9f372d {X:Type} msg_id:long query:!X = X;
@@ -2235,8 +2245,9 @@ messages.editFactCheck#589ee75 peer:InputPeer msg_id:int text:TextWithEntities =
2235
2245
  messages.deleteFactCheck#d1da940c peer:InputPeer msg_id:int = Updates;
2236
2246
  messages.getFactCheck#b9cdc5ee peer:InputPeer msg_id:Vector<int> = Vector<FactCheck>;
2237
2247
  messages.requestMainWebView#c9e01e7b flags:# compact:flags.7?true peer:InputPeer bot:InputUser start_param:flags.1?string theme_params:flags.0?DataJSON platform:string = WebViewResult;
2238
- messages.sendPaidReaction#25c8fe3e flags:# private:flags.0?true peer:InputPeer msg_id:int count:int random_id:long = Updates;
2248
+ messages.sendPaidReaction#9dd6a67b flags:# peer:InputPeer msg_id:int count:int random_id:long private:flags.0?Bool = Updates;
2239
2249
  messages.togglePaidReactionPrivacy#849ad397 peer:InputPeer msg_id:int private:Bool = Bool;
2250
+ messages.getPaidReactionPrivacy#472455aa = Updates;
2240
2251
 
2241
2252
  updates.getState#edd4882a = updates.State;
2242
2253
  updates.getDifference#19c2f763 flags:# pts:int pts_limit:flags.1?int pts_total_limit:flags.0?int date:int qts:int qts_limit:flags.2?int = updates.Difference;
@@ -2402,6 +2413,7 @@ payments.getStarsGiftOptions#d3c96bc8 flags:# user_id:flags.0?InputUser = Vector
2402
2413
  payments.getStarsSubscriptions#32512c5 flags:# missing_balance:flags.0?true peer:InputPeer offset:string = payments.StarsStatus;
2403
2414
  payments.changeStarsSubscription#c7770878 flags:# peer:InputPeer subscription_id:string canceled:flags.0?Bool = Bool;
2404
2415
  payments.fulfillStarsSubscription#cc5bebb3 peer:InputPeer subscription_id:string = Bool;
2416
+ payments.getStarsGiveawayOptions#bd1efd3e = Vector<StarsGiveawayOption>;
2405
2417
 
2406
2418
  stickers.createStickerSet#9021ab67 flags:# masks:flags.0?true emojis:flags.5?true text_color:flags.6?true user_id:InputUser title:string short_name:string thumb:flags.2?InputDocument stickers:Vector<InputStickerSetItem> software:flags.3?string = messages.StickerSet;
2407
2419
  stickers.removeStickerFromSet#f7760f51 sticker:InputDocument = messages.StickerSet;
@@ -2521,4 +2533,4 @@ smsjobs.finishJob#4f1ebf24 flags:# job_id:string error:flags.0?string = Bool;
2521
2533
 
2522
2534
  fragment.getCollectibleInfo#be1e85ba collectible:InputCollectible = fragment.CollectibleInfo;
2523
2535
 
2524
- // LAYER 186
2536
+ // LAYER 187
@@ -1,6 +1,6 @@
1
1
  from __future__ import annotations
2
2
 
3
- __version__ = "v2.186.3"
3
+ __version__ = "v2.187.0"
4
4
  __license__ = "MIT License"
5
5
 
6
6
  from concurrent.futures.thread import ThreadPoolExecutor
@@ -1245,4 +1245,4 @@ class Cache:
1245
1245
  self.store[key] = value
1246
1246
 
1247
1247
  if len(self.store) > self.capacity:
1248
- self.store.popitem(last=False) # Remove the oldest item
1248
+ self.store.popitem(last=False)
@@ -52,10 +52,7 @@ class TCPAbridgedO(TCP):
52
52
  else b"\x7f" + length.to_bytes(3, "little")
53
53
  ) + data
54
54
  payload = await self.loop.run_in_executor(
55
- pyrogram.crypto_executor,
56
- aes.ctr256_encrypt,
57
- data,
58
- *self.encrypt,
55
+ pyrogram.crypto_executor, aes.ctr256_encrypt, data, *self.encrypt
59
56
  )
60
57
 
61
58
  await super().send(payload)
@@ -82,8 +79,5 @@ class TCPAbridgedO(TCP):
82
79
  return None
83
80
 
84
81
  return await self.loop.run_in_executor(
85
- pyrogram.crypto_executor,
86
- aes.ctr256_decrypt,
87
- data,
88
- *self.decrypt,
82
+ pyrogram.crypto_executor, aes.ctr256_decrypt, data, *self.decrypt
89
83
  )
@@ -33,11 +33,9 @@ class SaveFile:
33
33
  Useful whenever an InputFile type is required.
34
34
 
35
35
  .. note::
36
-
37
36
  This is a utility method intended to be used **only** when working with raw
38
37
  :obj:`functions <pyrogram.api.functions>` (i.e: a Telegram API method you wish to use which is not
39
38
  available yet in the Client class as an easy-to-use method).
40
-
41
39
  .. include:: /_includes/usable-by/users-bots.rst
42
40
 
43
41
  Parameters:
@@ -78,24 +76,46 @@ class SaveFile:
78
76
 
79
77
  Raises:
80
78
  RPCError: In case of a Telegram RPC error.
79
+
81
80
  """
82
- async with self.save_file_semaphore:
83
- if path is None:
84
- return None
81
+ if path is None:
82
+ return None
85
83
 
86
- part_size = 512 * 1024
84
+ async def worker(session):
85
+ while True:
86
+ data = await queue.get()
87
87
 
88
- if isinstance(path, str | PurePath):
89
- fp = Path(path).open("rb")
90
- elif isinstance(path, io.IOBase):
91
- fp = path
92
- else:
93
- raise ValueError(
94
- "Invalid file. Expected a file path as string or a binary (not text) file pointer"
88
+ if data is None:
89
+ return
90
+ for attempt in range(3):
91
+ try:
92
+ await session.invoke(data)
93
+ break
94
+ except Exception as e:
95
+ log.warning("Retrying part due to error: %s", e)
96
+ await asyncio.sleep(2**attempt)
97
+
98
+ def create_rpc(chunk, file_part, is_big, file_id, file_total_parts):
99
+ if is_big:
100
+ return raw.functions.upload.SaveBigFilePart(
101
+ file_id=file_id,
102
+ file_part=file_part,
103
+ file_total_parts=file_total_parts,
104
+ bytes=chunk,
95
105
  )
96
-
106
+ return raw.functions.upload.SaveFilePart(
107
+ file_id=file_id, file_part=file_part, bytes=chunk
108
+ )
109
+
110
+ part_size = 512 * 1024
111
+ queue = asyncio.Queue(32)
112
+
113
+ with (
114
+ Path(path).open("rb", buffering=4096)
115
+ if isinstance(path, str | PurePath)
116
+ else path
117
+ ) as fp:
97
118
  file_name = getattr(fp, "name", "file.jpg")
98
-
99
119
  fp.seek(0, io.SEEK_END)
100
120
  file_size = fp.tell()
101
121
  fp.seek(0)
@@ -104,76 +124,60 @@ class SaveFile:
104
124
  raise ValueError("File size equals to 0 B")
105
125
 
106
126
  file_size_limit_mib = 4000 if self.me.is_premium else 2000
127
+
107
128
  if file_size > file_size_limit_mib * 1024 * 1024:
108
129
  raise ValueError(
109
130
  f"Can't upload files bigger than {file_size_limit_mib} MiB"
110
131
  )
111
132
 
112
- file_total_parts = int(math.ceil(file_size / part_size))
133
+ file_total_parts = math.ceil(file_size / part_size)
113
134
  is_big = file_size > 10 * 1024 * 1024
114
- workers_count = min(
115
- 8, (file_size // (100 * 1024 * 1024)) + 1
116
- ) # Max 8 workers
135
+ pool_size = 2 if is_big else 1
136
+ workers_count = 4 if is_big else 1
117
137
  is_missing_part = file_id is not None
118
138
  file_id = file_id or self.rnd_id()
119
139
  md5_sum = md5() if not is_big and not is_missing_part else None
120
140
 
121
- async def worker(session, queue) -> None:
122
- while True:
123
- data = await queue.get()
124
- if data is None:
125
- return
126
- try:
127
- await session.invoke(data)
128
- except Exception as e:
129
- log.exception(e)
130
-
131
- # Create multiple sessions for parallel uploads
132
- async def session_factory():
133
- return Session(
141
+ pool = [
142
+ Session(
134
143
  self,
135
144
  await self.storage.dc_id(),
136
145
  await self.storage.auth_key(),
137
146
  await self.storage.test_mode(),
138
147
  is_media=True,
139
148
  )
149
+ for _ in range(pool_size)
150
+ ]
140
151
 
141
- sessions = [await session_factory() for _ in range(workers_count)]
142
- workers = []
143
- queue = asyncio.Queue(maxsize=workers_count)
152
+ workers = [
153
+ self.loop.create_task(worker(session))
154
+ for session in pool
155
+ for _ in range(workers_count)
156
+ ]
144
157
 
145
158
  try:
146
- # Start all sessions
147
- for session in sessions:
159
+ for session in pool:
148
160
  await session.start()
149
- workers.append(self.loop.create_task(worker(session, queue)))
150
161
 
151
162
  fp.seek(part_size * file_part)
163
+ next_chunk_task = self.loop.create_task(self.preload(fp, part_size))
152
164
 
153
165
  while True:
154
- chunk = fp.read(part_size)
166
+ chunk = await next_chunk_task
167
+ next_chunk_task = self.loop.create_task(
168
+ self.preload(fp, part_size)
169
+ )
170
+
155
171
  if not chunk:
156
172
  if not is_big and not is_missing_part:
157
- md5_sum = "".join(
158
- [hex(i)[2:].zfill(2) for i in md5_sum.digest()]
159
- )
173
+ md5_sum = md5_sum.hexdigest()
160
174
  break
161
175
 
162
- if is_big:
163
- rpc = raw.functions.upload.SaveBigFilePart(
164
- file_id=file_id,
165
- file_part=file_part,
166
- file_total_parts=file_total_parts,
167
- bytes=chunk,
168
- )
169
- else:
170
- rpc = raw.functions.upload.SaveFilePart(
171
- file_id=file_id,
172
- file_part=file_part,
173
- bytes=chunk,
176
+ await queue.put(
177
+ create_rpc(
178
+ chunk, file_part, is_big, file_id, file_total_parts
174
179
  )
175
-
176
- await queue.put(rpc)
180
+ )
177
181
 
178
182
  if is_missing_part:
179
183
  return None
@@ -198,7 +202,11 @@ class SaveFile:
198
202
  except StopTransmissionError:
199
203
  raise
200
204
  except Exception as e:
201
- log.exception(e)
205
+ log.error(
206
+ "Error during file upload at part %s: %s",
207
+ file_part,
208
+ e,
209
+ )
202
210
  else:
203
211
  if is_big:
204
212
  return raw.types.InputFileBig(
@@ -218,8 +226,8 @@ class SaveFile:
218
226
 
219
227
  await asyncio.gather(*workers)
220
228
 
221
- for session in sessions:
229
+ for session in pool:
222
230
  await session.stop()
223
231
 
224
- if isinstance(path, str | PurePath):
225
- fp.close()
232
+ async def preload(self, fp, part_size):
233
+ return fp.read(part_size)
@@ -9,5 +9,4 @@ for k, v in objects.items():
9
9
  path, name = v.rsplit(".", 1)
10
10
  objects[k] = getattr(import_module(path), name)
11
11
 
12
-
13
12
  __all__ = ["base", "core", "functions", "objects", "types"]
@@ -10,7 +10,7 @@ from .tl_object import TLObject
10
10
  class FutureSalt(TLObject):
11
11
  ID = 0x0949D9DC
12
12
 
13
- __slots__ = ["salt", "valid_since", "valid_until"]
13
+ __slots__ = ["valid_since", "valid_until", "salt"]
14
14
 
15
15
  QUALNAME = "FutureSalt"
16
16
 
@@ -11,7 +11,7 @@ from .tl_object import TLObject
11
11
  class FutureSalts(TLObject):
12
12
  ID = 0xAE500895
13
13
 
14
- __slots__ = ["now", "req_msg_id", "salts"]
14
+ __slots__ = ["req_msg_id", "now", "salts"]
15
15
 
16
16
  QUALNAME = "FutureSalts"
17
17
 
@@ -22,10 +22,7 @@ class GzipPacked(TLObject):
22
22
  @staticmethod
23
23
  def read(data: BytesIO, *args: Any) -> GzipPacked: # noqa: ARG004
24
24
  # Return the Object itself instead of a GzipPacked wrapping it
25
- return cast(
26
- GzipPacked,
27
- TLObject.read(BytesIO(decompress(Bytes.read(data)))),
28
- )
25
+ return cast(GzipPacked, TLObject.read(BytesIO(decompress(Bytes.read(data)))))
29
26
 
30
27
  def write(self, *args: Any) -> bytes: # noqa: ARG002
31
28
  b = BytesIO()
@@ -10,7 +10,7 @@ from .tl_object import TLObject
10
10
  class Message(TLObject):
11
11
  ID = 0x5BB8E511 # hex(crc32(b"message msg_id:long seqno:int bytes:int body:Object = Message"))
12
12
 
13
- __slots__ = ["body", "length", "msg_id", "seq_no"]
13
+ __slots__ = ["msg_id", "seq_no", "length", "body"]
14
14
 
15
15
  QUALNAME = "Message"
16
16
 
@@ -20,7 +20,7 @@ class Int(bytes, TLObject):
20
20
  ) -> int:
21
21
  return int.from_bytes(data.read(cls.SIZE), "little", signed=signed)
22
22
 
23
- def __new__(cls, value: int, signed: bool = True) -> bytes: # type: ignore
23
+ def __new__(cls, value: int, signed: bool = True) -> bytes:
24
24
  return value.to_bytes(cls.SIZE, "little", signed=signed)
25
25
 
26
26
 
@@ -15,18 +15,21 @@ if TYPE_CHECKING:
15
15
  class Vector(bytes, TLObject):
16
16
  ID = 0x1CB5C415
17
17
 
18
- # Method added to handle the special case when a query returns a bare Vector (of Ints);
19
- # i.e., RpcResult body starts with 0x1cb5c415 (Vector Id) - e.g., messages.GetMessagesViews.
20
18
  @staticmethod
21
19
  def read_bare(b: BytesIO, size: int) -> int | Any:
22
20
  if size == 4:
23
21
  e = int.from_bytes(b.read(4), "little")
24
22
  b.seek(-4, 1)
23
+
25
24
  if e in {BoolFalse.ID, BoolTrue.ID}:
26
25
  return Bool.read(b)
26
+
27
27
  return Int.read(b)
28
28
 
29
- return Long.read(b) if size == 8 else TLObject.read(b)
29
+ if size == 8:
30
+ return Long.read(b)
31
+
32
+ return TLObject.read(b)
30
33
 
31
34
  @classmethod
32
35
  def read(cls, data: BytesIO, t: Any = None, *args: Any) -> List: # noqa: ARG003
@@ -38,18 +38,19 @@ class TLObject:
38
38
  }
39
39
 
40
40
  def __str__(self) -> str:
41
- return dumps(
42
- self,
43
- indent=4,
44
- default=TLObject.default,
45
- ensure_ascii=False,
46
- )
41
+ return dumps(self, indent=4, default=TLObject.default, ensure_ascii=False)
47
42
 
48
43
  def __repr__(self) -> str:
49
- return (
50
- f'pyrogram.raw.{self.QUALNAME}({", ".join(f"{attr}={getattr(self, attr)!r}" for attr in self.__slots__ if getattr(self, attr) is not None)})'
51
- if hasattr(self, "QUALNAME")
52
- else repr(self)
44
+ if not hasattr(self, "QUALNAME"):
45
+ return repr(self)
46
+
47
+ return "pyrogram.raw.{}({})".format(
48
+ self.QUALNAME,
49
+ ", ".join(
50
+ f"{attr}={getattr(self, attr)!r}"
51
+ for attr in self.__slots__
52
+ if getattr(self, attr) is not None
53
+ ),
53
54
  )
54
55
 
55
56
  def __eq__(self, other: Any) -> bool:
@@ -67,15 +68,3 @@ class TLObject:
67
68
 
68
69
  def __call__(self, *args: Any, **kwargs: Any) -> Any:
69
70
  pass
70
-
71
- def __hash__(self) -> int:
72
- return hash(
73
- (
74
- self.__class__,
75
- *tuple(
76
- getattr(self, attr)
77
- for attr in self.__slots__
78
- if getattr(self, attr) is not None
79
- ),
80
- )
81
- )
@@ -42,7 +42,7 @@ class Auth:
42
42
 
43
43
  @staticmethod
44
44
  def unpack(b: BytesIO):
45
- b.seek(20) # Skip auth_key_id (8), message_id (8) and message_length (4)
45
+ b.seek(20)
46
46
  return TLObject.read(b)
47
47
 
48
48
  async def invoke(self, data: TLObject):
@@ -59,8 +59,6 @@ class Auth:
59
59
  """
60
60
  retries_left = self.MAX_RETRIES
61
61
 
62
- # The server may close the connection at any time, causing the auth key creation to fail.
63
- # If that happens, just try again up to MAX_RETRIES times.
64
62
  while True:
65
63
  self.connection = self.connection_factory(
66
64
  dc_id=self.dc_id,
@@ -73,14 +71,10 @@ class Auth:
73
71
  )
74
72
 
75
73
  try:
76
- log.info(
77
- "Start creating a new auth key on DC%s",
78
- self.dc_id,
79
- )
74
+ log.info("Start creating a new auth key on DC%s", self.dc_id)
80
75
 
81
76
  await self.connection.connect()
82
77
 
83
- # Step 1; Step 2
84
78
  nonce = int.from_bytes(urandom(16), "little", signed=True)
85
79
  log.debug("Send req_pq: %s", nonce)
86
80
  res_pq = await self.invoke(raw.functions.ReqPqMulti(nonce=nonce))
@@ -99,12 +93,11 @@ class Auth:
99
93
  else:
100
94
  raise Exception("Public key not found")
101
95
 
102
- # Step 3
103
96
  pq = int.from_bytes(res_pq.pq, "big")
104
97
  log.debug("Start PQ factorization: %s", pq)
105
98
  start = time.time()
106
99
  g = prime.decompose(pq)
107
- p, q = sorted((g, pq // g)) # p < q
100
+ p, q = sorted((g, pq // g))
108
101
  log.debug(
109
102
  "Done PQ factorization (%ss): %s %s",
110
103
  round(time.time() - start, 3),
@@ -112,7 +105,6 @@ class Auth:
112
105
  q,
113
106
  )
114
107
 
115
- # Step 4
116
108
  server_nonce = res_pq.server_nonce
117
109
  new_nonce = int.from_bytes(urandom(32), "little", signed=True)
118
110
 
@@ -132,7 +124,6 @@ class Auth:
132
124
 
133
125
  log.debug("Done encrypt data with RSA")
134
126
 
135
- # Step 5. TODO: Handle "server_DH_params_fail". Code assumes response is ok
136
127
  log.debug("Send req_DH_params")
137
128
  server_dh_params = await self.invoke(
138
129
  raw.functions.ReqDHParams(
@@ -177,7 +168,6 @@ class Auth:
177
168
 
178
169
  log.debug("Delta time: %s", round(delta_time, 3))
179
170
 
180
- # Step 6
181
171
  g = server_dh_inner_data.g
182
172
  b = int.from_bytes(urandom(256), "big")
183
173
  g_b = pow(g, b, dh_prime).to_bytes(256, "big")
@@ -237,9 +227,7 @@ class Auth:
237
227
  )
238
228
  log.debug("g_a and g_b validation: OK")
239
229
 
240
- answer = (
241
- server_dh_inner_data.write()
242
- ) # Call .write() to remove padding
230
+ answer = server_dh_inner_data.write()
243
231
  SecurityCheckMismatch.check(
244
232
  answer_with_hash[:20] == sha1(answer).digest(),
245
233
  "answer_with_hash[:20] == sha1(answer).digest()",
@@ -249,7 +237,6 @@ class Auth:
249
237
  SecurityCheckMismatch.check(
250
238
  nonce == res_pq.nonce, "nonce == res_pq.nonce"
251
239
  )
252
- # 2nd message
253
240
  server_nonce = int.from_bytes(server_nonce, "little", signed=True)
254
241
  SecurityCheckMismatch.check(
255
242
  nonce == server_dh_params.nonce,
@@ -259,7 +246,6 @@ class Auth:
259
246
  server_nonce == server_dh_params.server_nonce,
260
247
  "server_nonce == server_dh_params.server_nonce",
261
248
  )
262
- # 3rd message
263
249
  SecurityCheckMismatch.check(
264
250
  nonce == set_client_dh_params_answer.nonce,
265
251
  "nonce == set_client_dh_params_answer.nonce",
@@ -271,13 +257,9 @@ class Auth:
271
257
  server_nonce = server_nonce.to_bytes(16, "little", signed=True)
272
258
  log.debug("Nonce fields check: OK")
273
259
 
274
- # Step 9
275
260
  server_salt = aes.xor(new_nonce[:8], server_nonce[:8])
276
261
 
277
- log.debug(
278
- "Server salt: %s",
279
- int.from_bytes(server_salt, "little"),
280
- )
262
+ log.debug("Server salt: %s", int.from_bytes(server_salt, "little"))
281
263
 
282
264
  log.info(
283
265
  "Done auth key exchange: %s",