spluspy 2.2.9__tar.gz → 2.2.11__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 (347) hide show
  1. {spluspy-2.2.9/spluspy.egg-info → spluspy-2.2.11}/PKG-INFO +29 -5
  2. {spluspy-2.2.9 → spluspy-2.2.11}/README.md +28 -4
  3. {spluspy-2.2.9 → spluspy-2.2.11}/pyproject.toml +1 -1
  4. spluspy-2.2.11/spluspy/__init__.py +20 -0
  5. spluspy-2.2.11/spluspy/client/__init__.py +12 -0
  6. spluspy-2.2.11/spluspy/client/soroushclient.py +51 -0
  7. {spluspy-2.2.9 → spluspy-2.2.11}/spluspy/client/telegrambaseclient.py +12 -438
  8. {spluspy-2.2.9 → spluspy-2.2.11}/spluspy/events/__init__.py +15 -6
  9. {spluspy-2.2.9 → spluspy-2.2.11}/spluspy/events/chataction.py +6 -2
  10. {spluspy-2.2.9 → spluspy-2.2.11}/spluspy/events/common.py +77 -14
  11. spluspy-2.2.11/spluspy/filters.py +437 -0
  12. spluspy-2.2.11/spluspy/hints.py +179 -0
  13. spluspy-2.2.11/spluspy/http_api/__init__.py +52 -0
  14. spluspy-2.2.11/spluspy/http_api/callbackquery.py +92 -0
  15. spluspy-2.2.11/spluspy/http_api/errors.py +60 -0
  16. spluspy-2.2.11/spluspy/http_api/keyboards.py +253 -0
  17. spluspy-2.2.11/spluspy/http_api/message.py +356 -0
  18. spluspy-2.2.11/spluspy/http_api/robot.py +2037 -0
  19. spluspy-2.2.11/spluspy/http_api/types.py +1065 -0
  20. spluspy-2.2.11/spluspy/http_api/utils.py +64 -0
  21. spluspy-2.2.11/spluspy/methods/__init__.py +40 -0
  22. spluspy-2.2.11/spluspy/methods/account/__init__.py +17 -0
  23. spluspy-2.2.11/spluspy/methods/account/_takeout_client.py +94 -0
  24. spluspy-2.2.11/spluspy/methods/account/end_takeout.py +36 -0
  25. spluspy-2.2.11/spluspy/methods/account/takeout.py +122 -0
  26. spluspy-2.2.11/spluspy/methods/auth/__init__.py +31 -0
  27. spluspy-2.2.11/spluspy/methods/auth/_async_context.py +15 -0
  28. spluspy-2.2.11/spluspy/methods/auth/_check_for_updates.py +36 -0
  29. spluspy-2.2.11/spluspy/methods/auth/_on_login.py +30 -0
  30. spluspy-2.2.11/spluspy/methods/auth/_parse_phone_and_hash.py +21 -0
  31. spluspy-2.2.11/spluspy/methods/auth/_start.py +120 -0
  32. spluspy-2.2.11/spluspy/methods/auth/edit_2fa.py +64 -0
  33. spluspy-2.2.11/spluspy/methods/auth/log_out.py +27 -0
  34. spluspy-2.2.11/spluspy/methods/auth/qr_login.py +7 -0
  35. spluspy-2.2.11/spluspy/methods/auth/send_code_request.py +50 -0
  36. spluspy-2.2.11/spluspy/methods/auth/sign_in.py +105 -0
  37. spluspy-2.2.11/spluspy/methods/auth/sign_up.py +14 -0
  38. spluspy-2.2.11/spluspy/methods/auth/start.py +154 -0
  39. spluspy-2.2.11/spluspy/methods/buttons/__init__.py +8 -0
  40. spluspy-2.2.9/spluspy/client/buttons.py → spluspy-2.2.11/spluspy/methods/buttons/build_reply_markup.py +101 -101
  41. spluspy-2.2.11/spluspy/methods/chats/__init__.py +31 -0
  42. spluspy-2.2.11/spluspy/methods/chats/_admin_log_iter.py +72 -0
  43. spluspy-2.2.11/spluspy/methods/chats/_chat_action.py +90 -0
  44. spluspy-2.2.11/spluspy/methods/chats/_participants_iter.py +152 -0
  45. spluspy-2.2.11/spluspy/methods/chats/_profile_photo_iter.py +103 -0
  46. spluspy-2.2.11/spluspy/methods/chats/action.py +108 -0
  47. spluspy-2.2.11/spluspy/methods/chats/edit_admin.py +159 -0
  48. spluspy-2.2.11/spluspy/methods/chats/edit_permissions.py +160 -0
  49. spluspy-2.2.11/spluspy/methods/chats/get_admin_log.py +31 -0
  50. spluspy-2.2.11/spluspy/methods/chats/get_participants.py +33 -0
  51. spluspy-2.2.11/spluspy/methods/chats/get_permissions.py +78 -0
  52. spluspy-2.2.11/spluspy/methods/chats/get_profile_photos.py +32 -0
  53. spluspy-2.2.11/spluspy/methods/chats/get_stats.py +88 -0
  54. spluspy-2.2.11/spluspy/methods/chats/iter_admin_log.py +180 -0
  55. spluspy-2.2.11/spluspy/methods/chats/iter_participants.py +105 -0
  56. spluspy-2.2.11/spluspy/methods/chats/iter_profile_photos.py +78 -0
  57. spluspy-2.2.11/spluspy/methods/chats/kick_participant.py +77 -0
  58. spluspy-2.2.11/spluspy/methods/chats/leave_chat.py +81 -0
  59. spluspy-2.2.11/spluspy/methods/dialogs/__init__.py +11 -0
  60. spluspy-2.2.11/spluspy/methods/dialogs/_dialogs_iter.py +101 -0
  61. spluspy-2.2.11/spluspy/methods/dialogs/_drafts_iter.py +35 -0
  62. spluspy-2.2.11/spluspy/methods/dialogs/conversation.py +144 -0
  63. spluspy-2.2.11/spluspy/methods/dialogs/delete_dialog.py +84 -0
  64. spluspy-2.2.11/spluspy/methods/dialogs/edit_folder.py +94 -0
  65. spluspy-2.2.11/spluspy/methods/dialogs/get_dialogs.py +39 -0
  66. spluspy-2.2.11/spluspy/methods/dialogs/get_drafts.py +33 -0
  67. spluspy-2.2.11/spluspy/methods/dialogs/iter_dialogs.py +100 -0
  68. spluspy-2.2.11/spluspy/methods/dialogs/iter_drafts.py +43 -0
  69. spluspy-2.2.11/spluspy/methods/downloads/__init__.py +33 -0
  70. spluspy-2.2.11/spluspy/methods/downloads/_cdn_redirect.py +3 -0
  71. spluspy-2.2.11/spluspy/methods/downloads/_direct_download_iter.py +227 -0
  72. spluspy-2.2.11/spluspy/methods/downloads/_download_cached_photo_size.py +32 -0
  73. spluspy-2.2.11/spluspy/methods/downloads/_download_contact.py +48 -0
  74. spluspy-2.2.11/spluspy/methods/downloads/_download_document.py +53 -0
  75. spluspy-2.2.11/spluspy/methods/downloads/_download_file.py +92 -0
  76. spluspy-2.2.11/spluspy/methods/downloads/_download_photo.py +52 -0
  77. spluspy-2.2.11/spluspy/methods/downloads/_download_web_document.py +57 -0
  78. spluspy-2.2.11/spluspy/methods/downloads/_generic_download_iter.py +257 -0
  79. spluspy-2.2.11/spluspy/methods/downloads/_get_kind_and_names.py +33 -0
  80. spluspy-2.2.11/spluspy/methods/downloads/_get_proper_filename.py +80 -0
  81. spluspy-2.2.11/spluspy/methods/downloads/_get_thumb.py +53 -0
  82. spluspy-2.2.11/spluspy/methods/downloads/_iter_download.py +78 -0
  83. spluspy-2.2.11/spluspy/methods/downloads/download_file.py +83 -0
  84. spluspy-2.2.11/spluspy/methods/downloads/download_media.py +132 -0
  85. spluspy-2.2.11/spluspy/methods/downloads/download_profile_photo.py +124 -0
  86. spluspy-2.2.11/spluspy/methods/downloads/iter_download.py +116 -0
  87. spluspy-2.2.11/spluspy/methods/extra/__init__.py +101 -0
  88. spluspy-2.2.11/spluspy/methods/extra/add_contact.py +23 -0
  89. spluspy-2.2.11/spluspy/methods/extra/archive_chat.py +19 -0
  90. spluspy-2.2.11/spluspy/methods/extra/ban_chat_member.py +30 -0
  91. spluspy-2.2.11/spluspy/methods/extra/block_user.py +18 -0
  92. spluspy-2.2.11/spluspy/methods/extra/copy_message.py +22 -0
  93. spluspy-2.2.11/spluspy/methods/extra/create_channel.py +18 -0
  94. spluspy-2.2.11/spluspy/methods/extra/create_group.py +22 -0
  95. spluspy-2.2.11/spluspy/methods/extra/delete_all_private.py +58 -0
  96. spluspy-2.2.11/spluspy/methods/extra/delete_contacts.py +24 -0
  97. spluspy-2.2.11/spluspy/methods/extra/get_active_sessions.py +13 -0
  98. spluspy-2.2.11/spluspy/methods/extra/get_all_groups.py +29 -0
  99. spluspy-2.2.11/spluspy/methods/extra/get_chat.py +22 -0
  100. spluspy-2.2.11/spluspy/methods/extra/get_chat_history.py +19 -0
  101. spluspy-2.2.11/spluspy/methods/extra/get_chat_info.py +10 -0
  102. spluspy-2.2.11/spluspy/methods/extra/get_chat_members.py +18 -0
  103. spluspy-2.2.11/spluspy/methods/extra/get_contacts.py +14 -0
  104. spluspy-2.2.11/spluspy/methods/extra/get_dialogs.py +14 -0
  105. spluspy-2.2.11/spluspy/methods/extra/get_full_chat.py +10 -0
  106. spluspy-2.2.11/spluspy/methods/extra/get_full_user.py +16 -0
  107. spluspy-2.2.11/spluspy/methods/extra/get_user.py +10 -0
  108. spluspy-2.2.11/spluspy/methods/extra/get_users.py +15 -0
  109. spluspy-2.2.11/spluspy/methods/extra/is_public_chat.py +13 -0
  110. spluspy-2.2.11/spluspy/methods/extra/join_chat.py +36 -0
  111. spluspy-2.2.11/spluspy/methods/extra/leave_all.py +43 -0
  112. spluspy-2.2.11/spluspy/methods/extra/pin_chat_message.py +17 -0
  113. spluspy-2.2.11/spluspy/methods/extra/promote_chat_member.py +29 -0
  114. spluspy-2.2.11/spluspy/methods/extra/read_chat_history.py +15 -0
  115. spluspy-2.2.11/spluspy/methods/extra/restrict_chat_member.py +27 -0
  116. spluspy-2.2.11/spluspy/methods/extra/search_messages.py +23 -0
  117. spluspy-2.2.11/spluspy/methods/extra/send_audio.py +23 -0
  118. spluspy-2.2.11/spluspy/methods/extra/send_document.py +23 -0
  119. spluspy-2.2.11/spluspy/methods/extra/send_photo.py +23 -0
  120. spluspy-2.2.11/spluspy/methods/extra/send_reaction.py +26 -0
  121. spluspy-2.2.11/spluspy/methods/extra/send_video.py +23 -0
  122. spluspy-2.2.11/spluspy/methods/extra/send_voice.py +24 -0
  123. spluspy-2.2.11/spluspy/methods/extra/set_chat_description.py +25 -0
  124. spluspy-2.2.11/spluspy/methods/extra/set_chat_photo.py +29 -0
  125. spluspy-2.2.11/spluspy/methods/extra/set_chat_title.py +34 -0
  126. spluspy-2.2.11/spluspy/methods/extra/terminate_session.py +16 -0
  127. spluspy-2.2.11/spluspy/methods/extra/unarchive_chat.py +19 -0
  128. spluspy-2.2.11/spluspy/methods/extra/unban_chat_member.py +28 -0
  129. spluspy-2.2.11/spluspy/methods/extra/unblock_user.py +18 -0
  130. spluspy-2.2.11/spluspy/methods/extra/unpin_all_chat_messages.py +15 -0
  131. spluspy-2.2.11/spluspy/methods/extra/unpin_chat_message.py +18 -0
  132. spluspy-2.2.11/spluspy/methods/extra/update_profile.py +21 -0
  133. spluspy-2.2.11/spluspy/methods/extra/update_profile_photo.py +22 -0
  134. spluspy-2.2.11/spluspy/methods/extra/update_username.py +16 -0
  135. spluspy-2.2.11/spluspy/methods/messageparse/__init__.py +22 -0
  136. spluspy-2.2.11/spluspy/methods/messageparse/_get_response_message.py +110 -0
  137. spluspy-2.2.11/spluspy/methods/messageparse/_parse_message_text.py +47 -0
  138. spluspy-2.2.11/spluspy/methods/messageparse/_replace_with_mention.py +23 -0
  139. spluspy-2.2.11/spluspy/methods/messageparse/parse_mode.py +49 -0
  140. spluspy-2.2.11/spluspy/methods/messages/__init__.py +47 -0
  141. spluspy-2.2.11/spluspy/methods/messages/_get_comment_data.py +24 -0
  142. spluspy-2.2.11/spluspy/methods/messages/_ids_iter.py +72 -0
  143. spluspy-2.2.11/spluspy/methods/messages/_messages_iter.py +280 -0
  144. spluspy-2.2.11/spluspy/methods/messages/_pin.py +37 -0
  145. spluspy-2.2.11/spluspy/methods/messages/delete_messages.py +83 -0
  146. spluspy-2.2.11/spluspy/methods/messages/edit_message.py +154 -0
  147. spluspy-2.2.11/spluspy/methods/messages/forward_messages.py +151 -0
  148. spluspy-2.2.11/spluspy/methods/messages/get_messages.py +62 -0
  149. spluspy-2.2.11/spluspy/methods/messages/iter_messages.py +223 -0
  150. spluspy-2.2.11/spluspy/methods/messages/pin_message.py +49 -0
  151. spluspy-2.2.11/spluspy/methods/messages/send_message.py +326 -0
  152. spluspy-2.2.11/spluspy/methods/messages/send_read_acknowledge.py +97 -0
  153. spluspy-2.2.11/spluspy/methods/messages/unpin_message.py +38 -0
  154. spluspy-2.2.11/spluspy/methods/updates/__init__.py +47 -0
  155. spluspy-2.2.11/spluspy/methods/updates/_constants.py +22 -0
  156. spluspy-2.2.11/spluspy/methods/updates/_dispatch_update.py +104 -0
  157. spluspy-2.2.11/spluspy/methods/updates/_preprocess_updates.py +16 -0
  158. spluspy-2.2.11/spluspy/methods/updates/_run_until_disconnected.py +27 -0
  159. spluspy-2.2.11/spluspy/methods/updates/_update_loop.py +127 -0
  160. spluspy-2.2.11/spluspy/methods/updates/add_event_handler.py +17 -0
  161. spluspy-2.2.11/spluspy/methods/updates/on_channel.py +19 -0
  162. spluspy-2.2.11/spluspy/methods/updates/on_chat_action.py +15 -0
  163. spluspy-2.2.11/spluspy/methods/updates/on_deleted_messages.py +15 -0
  164. spluspy-2.2.11/spluspy/methods/updates/on_edited_message.py +15 -0
  165. spluspy-2.2.11/spluspy/methods/updates/on_error.py +15 -0
  166. spluspy-2.2.11/spluspy/methods/updates/on_group.py +19 -0
  167. spluspy-2.2.11/spluspy/methods/updates/on_me.py +19 -0
  168. spluspy-2.2.11/spluspy/methods/updates/on_message.py +15 -0
  169. spluspy-2.2.11/spluspy/methods/updates/on_raw_update.py +15 -0
  170. spluspy-2.2.11/spluspy/methods/updates/on_user_status.py +15 -0
  171. spluspy-2.2.11/spluspy/methods/updates/remove_event_handler.py +23 -0
  172. spluspy-2.2.11/spluspy/methods/updates/run_until_disconnected.py +17 -0
  173. spluspy-2.2.11/spluspy/methods/uploads/__init__.py +8 -0
  174. spluspy-2.2.11/spluspy/methods/uploads/_cache_type.py +10 -0
  175. spluspy-2.2.11/spluspy/methods/uploads/_file_to_media.py +119 -0
  176. spluspy-2.2.11/spluspy/methods/uploads/_resize_photo_if_needed.py +83 -0
  177. spluspy-2.2.11/spluspy/methods/uploads/_send_album.py +92 -0
  178. spluspy-2.2.11/spluspy/methods/uploads/send_file.py +381 -0
  179. spluspy-2.2.11/spluspy/methods/uploads/upload_file.py +220 -0
  180. spluspy-2.2.11/spluspy/methods/users/__init__.py +29 -0
  181. spluspy-2.2.11/spluspy/methods/users/call.py +122 -0
  182. spluspy-2.2.11/spluspy/methods/users/get_entity.py +138 -0
  183. spluspy-2.2.11/spluspy/methods/users/get_entity_from_string.py +75 -0
  184. spluspy-2.2.11/spluspy/methods/users/get_input_dialog.py +28 -0
  185. spluspy-2.2.11/spluspy/methods/users/get_input_entity.py +147 -0
  186. spluspy-2.2.11/spluspy/methods/users/get_input_notify.py +27 -0
  187. spluspy-2.2.11/spluspy/methods/users/get_me.py +45 -0
  188. spluspy-2.2.11/spluspy/methods/users/get_peer.py +14 -0
  189. spluspy-2.2.11/spluspy/methods/users/get_peer_id.py +45 -0
  190. spluspy-2.2.11/spluspy/methods/users/helpers.py +23 -0
  191. spluspy-2.2.11/spluspy/methods/users/is_bot.py +23 -0
  192. spluspy-2.2.11/spluspy/methods/users/is_user_authorized.py +36 -0
  193. spluspy-2.2.11/spluspy/methods/users/self_id.py +16 -0
  194. {spluspy-2.2.9 → spluspy-2.2.11}/spluspy/version.py +1 -1
  195. {spluspy-2.2.9 → spluspy-2.2.11/spluspy.egg-info}/PKG-INFO +29 -5
  196. spluspy-2.2.11/spluspy.egg-info/SOURCES.txt +328 -0
  197. spluspy-2.2.9/spluspy/__init__.py +0 -15
  198. spluspy-2.2.9/spluspy/client/__init__.py +0 -24
  199. spluspy-2.2.9/spluspy/client/account.py +0 -247
  200. spluspy-2.2.9/spluspy/client/auth.py +0 -419
  201. spluspy-2.2.9/spluspy/client/chats.py +0 -1410
  202. spluspy-2.2.9/spluspy/client/dialogs.py +0 -614
  203. spluspy-2.2.9/spluspy/client/downloads.py +0 -1107
  204. spluspy-2.2.9/spluspy/client/extra.py +0 -836
  205. spluspy-2.2.9/spluspy/client/messageparse.py +0 -233
  206. spluspy-2.2.9/spluspy/client/messages.py +0 -1494
  207. spluspy-2.2.9/spluspy/client/soroushclient.py +0 -14
  208. spluspy-2.2.9/spluspy/client/updates.py +0 -488
  209. spluspy-2.2.9/spluspy/client/uploads.py +0 -888
  210. spluspy-2.2.9/spluspy/client/users.py +0 -665
  211. spluspy-2.2.9/spluspy/filters.py +0 -181
  212. spluspy-2.2.9/spluspy/hints.py +0 -72
  213. spluspy-2.2.9/spluspy.egg-info/SOURCES.txt +0 -159
  214. {spluspy-2.2.9 → spluspy-2.2.11}/LICENSE +0 -0
  215. {spluspy-2.2.9 → spluspy-2.2.11}/setup.cfg +0 -0
  216. {spluspy-2.2.9 → spluspy-2.2.11}/spluspy/_updates/__init__.py +0 -0
  217. {spluspy-2.2.9 → spluspy-2.2.11}/spluspy/_updates/entitycache.py +0 -0
  218. {spluspy-2.2.9 → spluspy-2.2.11}/spluspy/_updates/messagebox.py +0 -0
  219. {spluspy-2.2.9 → spluspy-2.2.11}/spluspy/_updates/session.py +0 -0
  220. {spluspy-2.2.9 → spluspy-2.2.11}/spluspy/admin.py +0 -0
  221. {spluspy-2.2.9 → spluspy-2.2.11}/spluspy/crypto/__init__.py +0 -0
  222. {spluspy-2.2.9 → spluspy-2.2.11}/spluspy/crypto/aes.py +0 -0
  223. {spluspy-2.2.9 → spluspy-2.2.11}/spluspy/crypto/aesctr.py +0 -0
  224. {spluspy-2.2.9 → spluspy-2.2.11}/spluspy/crypto/authkey.py +0 -0
  225. {spluspy-2.2.9 → spluspy-2.2.11}/spluspy/crypto/cdndecrypter.py +0 -0
  226. {spluspy-2.2.9 → spluspy-2.2.11}/spluspy/crypto/factorization.py +0 -0
  227. {spluspy-2.2.9 → spluspy-2.2.11}/spluspy/crypto/libssl.py +0 -0
  228. {spluspy-2.2.9 → spluspy-2.2.11}/spluspy/crypto/rsa.py +0 -0
  229. {spluspy-2.2.9 → spluspy-2.2.11}/spluspy/custom.py +0 -0
  230. {spluspy-2.2.9 → spluspy-2.2.11}/spluspy/enums.py +0 -0
  231. {spluspy-2.2.9 → spluspy-2.2.11}/spluspy/errors/__init__.py +0 -0
  232. {spluspy-2.2.9 → spluspy-2.2.11}/spluspy/errors/common.py +0 -0
  233. {spluspy-2.2.9 → spluspy-2.2.11}/spluspy/errors/exceptions.py +0 -0
  234. {spluspy-2.2.9 → spluspy-2.2.11}/spluspy/errors/rpcbaseerrors.py +0 -0
  235. {spluspy-2.2.9 → spluspy-2.2.11}/spluspy/errors/rpcerrorlist.py +0 -0
  236. {spluspy-2.2.9 → spluspy-2.2.11}/spluspy/events/album.py +0 -0
  237. {spluspy-2.2.9 → spluspy-2.2.11}/spluspy/events/messagedeleted.py +0 -0
  238. {spluspy-2.2.9 → spluspy-2.2.11}/spluspy/events/messageedited.py +0 -0
  239. {spluspy-2.2.9 → spluspy-2.2.11}/spluspy/events/messageread.py +0 -0
  240. {spluspy-2.2.9 → spluspy-2.2.11}/spluspy/events/newmessage.py +0 -0
  241. {spluspy-2.2.9 → spluspy-2.2.11}/spluspy/events/raw.py +0 -0
  242. {spluspy-2.2.9 → spluspy-2.2.11}/spluspy/events/userupdate.py +0 -0
  243. {spluspy-2.2.9 → spluspy-2.2.11}/spluspy/extensions/__init__.py +0 -0
  244. {spluspy-2.2.9 → spluspy-2.2.11}/spluspy/extensions/binaryreader.py +0 -0
  245. {spluspy-2.2.9 → spluspy-2.2.11}/spluspy/extensions/html.py +0 -0
  246. {spluspy-2.2.9 → spluspy-2.2.11}/spluspy/extensions/markdown.py +0 -0
  247. {spluspy-2.2.9 → spluspy-2.2.11}/spluspy/extensions/messagepacker.py +0 -0
  248. {spluspy-2.2.9 → spluspy-2.2.11}/spluspy/functions.py +0 -0
  249. {spluspy-2.2.9 → spluspy-2.2.11}/spluspy/helpers.py +0 -0
  250. {spluspy-2.2.9 → spluspy-2.2.11}/spluspy/network/__init__.py +0 -0
  251. {spluspy-2.2.9 → spluspy-2.2.11}/spluspy/network/authenticator.py +0 -0
  252. {spluspy-2.2.9 → spluspy-2.2.11}/spluspy/network/connection/__init__.py +0 -0
  253. {spluspy-2.2.9 → spluspy-2.2.11}/spluspy/network/connection/connection.py +0 -0
  254. {spluspy-2.2.9 → spluspy-2.2.11}/spluspy/network/connection/http.py +0 -0
  255. {spluspy-2.2.9 → spluspy-2.2.11}/spluspy/network/connection/tcpabridged.py +0 -0
  256. {spluspy-2.2.9 → spluspy-2.2.11}/spluspy/network/connection/tcpfull.py +0 -0
  257. {spluspy-2.2.9 → spluspy-2.2.11}/spluspy/network/connection/tcpintermediate.py +0 -0
  258. {spluspy-2.2.9 → spluspy-2.2.11}/spluspy/network/connection/tcpmtproxy.py +0 -0
  259. {spluspy-2.2.9 → spluspy-2.2.11}/spluspy/network/connection/tcpobfuscated.py +0 -0
  260. {spluspy-2.2.9 → spluspy-2.2.11}/spluspy/network/connection/websocket.py +0 -0
  261. {spluspy-2.2.9 → spluspy-2.2.11}/spluspy/network/mtprotoplainsender.py +0 -0
  262. {spluspy-2.2.9 → spluspy-2.2.11}/spluspy/network/mtprotosender.py +0 -0
  263. {spluspy-2.2.9 → spluspy-2.2.11}/spluspy/network/mtprotostate.py +0 -0
  264. {spluspy-2.2.9 → spluspy-2.2.11}/spluspy/network/requeststate.py +0 -0
  265. {spluspy-2.2.9 → spluspy-2.2.11}/spluspy/password.py +0 -0
  266. {spluspy-2.2.9 → spluspy-2.2.11}/spluspy/requestiter.py +0 -0
  267. {spluspy-2.2.9 → spluspy-2.2.11}/spluspy/resolvers.py +0 -0
  268. {spluspy-2.2.9 → spluspy-2.2.11}/spluspy/sessions/__init__.py +0 -0
  269. {spluspy-2.2.9 → spluspy-2.2.11}/spluspy/sessions/abstract.py +0 -0
  270. {spluspy-2.2.9 → spluspy-2.2.11}/spluspy/sessions/memory.py +0 -0
  271. {spluspy-2.2.9 → spluspy-2.2.11}/spluspy/sessions/sqlite.py +0 -0
  272. {spluspy-2.2.9 → spluspy-2.2.11}/spluspy/sessions/string.py +0 -0
  273. {spluspy-2.2.9 → spluspy-2.2.11}/spluspy/sync.py +0 -0
  274. {spluspy-2.2.9 → spluspy-2.2.11}/spluspy/tl/__init__.py +0 -0
  275. {spluspy-2.2.9 → spluspy-2.2.11}/spluspy/tl/alltlobjects.py +0 -0
  276. {spluspy-2.2.9 → spluspy-2.2.11}/spluspy/tl/core/__init__.py +0 -0
  277. {spluspy-2.2.9 → spluspy-2.2.11}/spluspy/tl/core/gzippacked.py +0 -0
  278. {spluspy-2.2.9 → spluspy-2.2.11}/spluspy/tl/core/messagecontainer.py +0 -0
  279. {spluspy-2.2.9 → spluspy-2.2.11}/spluspy/tl/core/rpcresult.py +0 -0
  280. {spluspy-2.2.9 → spluspy-2.2.11}/spluspy/tl/core/tlmessage.py +0 -0
  281. {spluspy-2.2.9 → spluspy-2.2.11}/spluspy/tl/custom/__init__.py +0 -0
  282. {spluspy-2.2.9 → spluspy-2.2.11}/spluspy/tl/custom/adminlogevent.py +0 -0
  283. {spluspy-2.2.9 → spluspy-2.2.11}/spluspy/tl/custom/button.py +0 -0
  284. {spluspy-2.2.9 → spluspy-2.2.11}/spluspy/tl/custom/chatgetter.py +0 -0
  285. {spluspy-2.2.9 → spluspy-2.2.11}/spluspy/tl/custom/conversation.py +0 -0
  286. {spluspy-2.2.9 → spluspy-2.2.11}/spluspy/tl/custom/dialog.py +0 -0
  287. {spluspy-2.2.9 → spluspy-2.2.11}/spluspy/tl/custom/draft.py +0 -0
  288. {spluspy-2.2.9 → spluspy-2.2.11}/spluspy/tl/custom/file.py +0 -0
  289. {spluspy-2.2.9 → spluspy-2.2.11}/spluspy/tl/custom/forward.py +0 -0
  290. {spluspy-2.2.9 → spluspy-2.2.11}/spluspy/tl/custom/inputsizedfile.py +0 -0
  291. {spluspy-2.2.9 → spluspy-2.2.11}/spluspy/tl/custom/message.py +0 -0
  292. {spluspy-2.2.9 → spluspy-2.2.11}/spluspy/tl/custom/messagebutton.py +0 -0
  293. {spluspy-2.2.9 → spluspy-2.2.11}/spluspy/tl/custom/participantpermissions.py +0 -0
  294. {spluspy-2.2.9 → spluspy-2.2.11}/spluspy/tl/custom/qrlogin.py +0 -0
  295. {spluspy-2.2.9 → spluspy-2.2.11}/spluspy/tl/custom/sendergetter.py +0 -0
  296. {spluspy-2.2.9 → spluspy-2.2.11}/spluspy/tl/custom/types.py +0 -0
  297. {spluspy-2.2.9 → spluspy-2.2.11}/spluspy/tl/functions/__init__.py +0 -0
  298. {spluspy-2.2.9 → spluspy-2.2.11}/spluspy/tl/functions/account.py +0 -0
  299. {spluspy-2.2.9 → spluspy-2.2.11}/spluspy/tl/functions/auth.py +0 -0
  300. {spluspy-2.2.9 → spluspy-2.2.11}/spluspy/tl/functions/bots.py +0 -0
  301. {spluspy-2.2.9 → spluspy-2.2.11}/spluspy/tl/functions/channels.py +0 -0
  302. {spluspy-2.2.9 → spluspy-2.2.11}/spluspy/tl/functions/chatlists.py +0 -0
  303. {spluspy-2.2.9 → spluspy-2.2.11}/spluspy/tl/functions/conference.py +0 -0
  304. {spluspy-2.2.9 → spluspy-2.2.11}/spluspy/tl/functions/contacts.py +0 -0
  305. {spluspy-2.2.9 → spluspy-2.2.11}/spluspy/tl/functions/folders.py +0 -0
  306. {spluspy-2.2.9 → spluspy-2.2.11}/spluspy/tl/functions/help.py +0 -0
  307. {spluspy-2.2.9 → spluspy-2.2.11}/spluspy/tl/functions/langpack.py +0 -0
  308. {spluspy-2.2.9 → spluspy-2.2.11}/spluspy/tl/functions/messages.py +0 -0
  309. {spluspy-2.2.9 → spluspy-2.2.11}/spluspy/tl/functions/payments.py +0 -0
  310. {spluspy-2.2.9 → spluspy-2.2.11}/spluspy/tl/functions/phone.py +0 -0
  311. {spluspy-2.2.9 → spluspy-2.2.11}/spluspy/tl/functions/photos.py +0 -0
  312. {spluspy-2.2.9 → spluspy-2.2.11}/spluspy/tl/functions/premium.py +0 -0
  313. {spluspy-2.2.9 → spluspy-2.2.11}/spluspy/tl/functions/stats.py +0 -0
  314. {spluspy-2.2.9 → spluspy-2.2.11}/spluspy/tl/functions/stories.py +0 -0
  315. {spluspy-2.2.9 → spluspy-2.2.11}/spluspy/tl/functions/thirdParty.py +0 -0
  316. {spluspy-2.2.9 → spluspy-2.2.11}/spluspy/tl/functions/updates.py +0 -0
  317. {spluspy-2.2.9 → spluspy-2.2.11}/spluspy/tl/functions/upload.py +0 -0
  318. {spluspy-2.2.9 → spluspy-2.2.11}/spluspy/tl/functions/users.py +0 -0
  319. {spluspy-2.2.9 → spluspy-2.2.11}/spluspy/tl/patched/__init__.py +0 -0
  320. {spluspy-2.2.9 → spluspy-2.2.11}/spluspy/tl/tlobject.py +0 -0
  321. {spluspy-2.2.9 → spluspy-2.2.11}/spluspy/tl/types/__init__.py +0 -0
  322. {spluspy-2.2.9 → spluspy-2.2.11}/spluspy/tl/types/account.py +0 -0
  323. {spluspy-2.2.9 → spluspy-2.2.11}/spluspy/tl/types/auth.py +0 -0
  324. {spluspy-2.2.9 → spluspy-2.2.11}/spluspy/tl/types/bots.py +0 -0
  325. {spluspy-2.2.9 → spluspy-2.2.11}/spluspy/tl/types/channels.py +0 -0
  326. {spluspy-2.2.9 → spluspy-2.2.11}/spluspy/tl/types/chatlists.py +0 -0
  327. {spluspy-2.2.9 → spluspy-2.2.11}/spluspy/tl/types/conference.py +0 -0
  328. {spluspy-2.2.9 → spluspy-2.2.11}/spluspy/tl/types/contacts.py +0 -0
  329. {spluspy-2.2.9 → spluspy-2.2.11}/spluspy/tl/types/help.py +0 -0
  330. {spluspy-2.2.9 → spluspy-2.2.11}/spluspy/tl/types/messages.py +0 -0
  331. {spluspy-2.2.9 → spluspy-2.2.11}/spluspy/tl/types/payments.py +0 -0
  332. {spluspy-2.2.9 → spluspy-2.2.11}/spluspy/tl/types/phone.py +0 -0
  333. {spluspy-2.2.9 → spluspy-2.2.11}/spluspy/tl/types/photos.py +0 -0
  334. {spluspy-2.2.9 → spluspy-2.2.11}/spluspy/tl/types/premium.py +0 -0
  335. {spluspy-2.2.9 → spluspy-2.2.11}/spluspy/tl/types/stats.py +0 -0
  336. {spluspy-2.2.9 → spluspy-2.2.11}/spluspy/tl/types/stickers.py +0 -0
  337. {spluspy-2.2.9 → spluspy-2.2.11}/spluspy/tl/types/storage.py +0 -0
  338. {spluspy-2.2.9 → spluspy-2.2.11}/spluspy/tl/types/stories.py +0 -0
  339. {spluspy-2.2.9 → spluspy-2.2.11}/spluspy/tl/types/thirdParty.py +0 -0
  340. {spluspy-2.2.9 → spluspy-2.2.11}/spluspy/tl/types/update.py +0 -0
  341. {spluspy-2.2.9 → spluspy-2.2.11}/spluspy/tl/types/updates.py +0 -0
  342. {spluspy-2.2.9 → spluspy-2.2.11}/spluspy/tl/types/upload.py +0 -0
  343. {spluspy-2.2.9 → spluspy-2.2.11}/spluspy/tl/types/users.py +0 -0
  344. {spluspy-2.2.9 → spluspy-2.2.11}/spluspy/utils.py +0 -0
  345. {spluspy-2.2.9 → spluspy-2.2.11}/spluspy.egg-info/dependency_links.txt +0 -0
  346. {spluspy-2.2.9 → spluspy-2.2.11}/spluspy.egg-info/requires.txt +0 -0
  347. {spluspy-2.2.9 → spluspy-2.2.11}/spluspy.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: spluspy
3
- Version: 2.2.9
3
+ Version: 2.2.11
4
4
  Summary: High-performance Python Self-Bot Framework for Soroush Plus
5
5
  Author: Ali Mirshekari
6
6
  License: MIT
@@ -26,18 +26,18 @@ Requires-Dist: rsa
26
26
  Requires-Dist: pyaes
27
27
  Dynamic: license-file
28
28
 
29
- # SplusPy v2.2.9
29
+ # SplusPy v2.2.11
30
30
 
31
31
 
32
- **A fast, minimal, and fully-featured self-bot framework**
32
+ **A fast, minimal, and fully-featured framework for Soroush Plus — self-bots and official bots**
33
33
 
34
34
  ---
35
35
 
36
36
  ## About
37
37
 
38
- SplusPy is a Python library designed specifically for building **Soroush Plus self-bots** (userbots). It provides a clean, intuitive API for automating your personal Soroush Plus account with ease.
38
+ SplusPy is a Python library designed specifically for building **Soroush Plus self-bots** (userbots) and **official bots**. It provides a clean, intuitive API for automating your personal Soroush Plus account or building bots via the official HTTP Bot API.
39
39
 
40
- > ⚠️ **Note:** This is a **self-bot framework** — it operates on your personal account, not a bot account. Please adhere to Soroush's Terms of Service.
40
+ > ⚠️ **Note:** This framework supports both **self-bot** (personal account) and **official bot** (Bot API) modes. Please adhere to Soroush's Terms of Service.
41
41
 
42
42
  ---
43
43
 
@@ -83,6 +83,30 @@ client.run_until_disconnected()
83
83
 
84
84
  ---
85
85
 
86
+ ## Official Bot (Robot)
87
+
88
+ You can also build official bots using the HTTP Bot API:
89
+
90
+ ```python
91
+ from spluspy import Robot, filters
92
+
93
+ bot = Robot("YOUR_BOT_TOKEN")
94
+
95
+ @bot.on_message(filters.text("hello"))
96
+ async def hello_handler(client, event):
97
+ await event.reply("Hi there!")
98
+
99
+ bot.run()
100
+ ```
101
+
102
+ ### How it works
103
+
104
+ 1. **Create a `Robot`** — pass your bot token.
105
+ 2. **Register handlers** — use `@bot.on_message()` just like the self-bot.
106
+ 3. **Run** — call `bot.run()` to start long-polling.
107
+
108
+ ---
109
+
86
110
  ## License
87
111
 
88
112
  MIT License. See [LICENSE](LICENSE) for details.
@@ -1,15 +1,15 @@
1
- # SplusPy v2.2.9
1
+ # SplusPy v2.2.11
2
2
 
3
3
 
4
- **A fast, minimal, and fully-featured self-bot framework**
4
+ **A fast, minimal, and fully-featured framework for Soroush Plus — self-bots and official bots**
5
5
 
6
6
  ---
7
7
 
8
8
  ## About
9
9
 
10
- SplusPy is a Python library designed specifically for building **Soroush Plus self-bots** (userbots). It provides a clean, intuitive API for automating your personal Soroush Plus account with ease.
10
+ SplusPy is a Python library designed specifically for building **Soroush Plus self-bots** (userbots) and **official bots**. It provides a clean, intuitive API for automating your personal Soroush Plus account or building bots via the official HTTP Bot API.
11
11
 
12
- > ⚠️ **Note:** This is a **self-bot framework** — it operates on your personal account, not a bot account. Please adhere to Soroush's Terms of Service.
12
+ > ⚠️ **Note:** This framework supports both **self-bot** (personal account) and **official bot** (Bot API) modes. Please adhere to Soroush's Terms of Service.
13
13
 
14
14
  ---
15
15
 
@@ -55,6 +55,30 @@ client.run_until_disconnected()
55
55
 
56
56
  ---
57
57
 
58
+ ## Official Bot (Robot)
59
+
60
+ You can also build official bots using the HTTP Bot API:
61
+
62
+ ```python
63
+ from spluspy import Robot, filters
64
+
65
+ bot = Robot("YOUR_BOT_TOKEN")
66
+
67
+ @bot.on_message(filters.text("hello"))
68
+ async def hello_handler(client, event):
69
+ await event.reply("Hi there!")
70
+
71
+ bot.run()
72
+ ```
73
+
74
+ ### How it works
75
+
76
+ 1. **Create a `Robot`** — pass your bot token.
77
+ 2. **Register handlers** — use `@bot.on_message()` just like the self-bot.
78
+ 3. **Run** — call `bot.run()` to start long-polling.
79
+
80
+ ---
81
+
58
82
  ## License
59
83
 
60
84
  MIT License. See [LICENSE](LICENSE) for details.
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "spluspy"
7
- version = "2.2.9"
7
+ version = "2.2.11"
8
8
  description = "High-performance Python Self-Bot Framework for Soroush Plus"
9
9
  readme = "README.md"
10
10
  license = {text = "MIT"}
@@ -0,0 +1,20 @@
1
+ from .client.soroushclient import SoroushClient as Client
2
+ from .http_api import Robot
3
+ from .http_api.types import Message, CallbackQuery
4
+ from .http_api.keyboards import InlineKeyboardBuilder, ReplyKeyboardBuilder
5
+ from .http_api.callbackquery import HTTPCallbackQuery
6
+ from .network import connection
7
+ from .tl.custom import Button
8
+ from .tl import patched as _ # import for its side-effects
9
+ from . import version, events, utils, errors, functions, custom
10
+ from .filters import filters
11
+ from .enums import MessageMediaType
12
+
13
+ __version__ = version.__version__
14
+
15
+ __all__ = [
16
+ 'Client', 'Robot', 'Message', 'CallbackQuery', 'Button', 'filters',
17
+ 'MessageMediaType', 'InlineKeyboardBuilder', 'ReplyKeyboardBuilder',
18
+ 'HTTPCallbackQuery', 'functions', 'custom', 'errors',
19
+ 'events', 'utils', 'connection',
20
+ ]
@@ -0,0 +1,12 @@
1
+ """
2
+ This package defines clients as subclasses of others, and then a single
3
+ `spluspy.client.soroushclient.SoroushClient` which is subclass of them
4
+ all to provide the final unified interface while the methods can live in
5
+ different subclasses to be more maintainable.
6
+
7
+ The ABC is `spluspy.client.telegrambaseclient.SoroushPlusBaseClient` and
8
+ methods are provided via `spluspy.methods.Methods` which aggregates all
9
+ the individual method mixins.
10
+ """
11
+ from .telegrambaseclient import SoroushPlusBaseClient
12
+ from .soroushclient import SoroushClient
@@ -0,0 +1,51 @@
1
+ import asyncio
2
+ import typing
3
+ from typing import Optional
4
+
5
+ from ..methods import Methods
6
+ from .telegrambaseclient import SoroushPlusBaseClient
7
+
8
+ if typing.TYPE_CHECKING:
9
+ from ..http_api.robot import Robot
10
+
11
+
12
+ class SoroushClient(Methods, SoroushPlusBaseClient):
13
+ def __init__(
14
+ self,
15
+ *args,
16
+ http_token: Optional[str] = None,
17
+ **kwargs,
18
+ ):
19
+ super().__init__(*args, **kwargs)
20
+ self._http_robot: Optional["Robot"] = (
21
+ _create_robot(http_token) if http_token else None
22
+ )
23
+ self._http_polling_task: Optional[asyncio.Task] = None
24
+
25
+ @property
26
+ def http_robot(self) -> Optional["Robot"]:
27
+ """Direct access to the HTTP Robot instance (if ``http_token`` was provided)."""
28
+ return self._http_robot
29
+
30
+ async def connect(self):
31
+ await super().connect()
32
+ if self._http_robot is not None:
33
+ self._http_robot.loop = self.loop
34
+ self._http_polling_task = asyncio.create_task(
35
+ self._http_robot._polling_loop()
36
+ )
37
+
38
+ async def _disconnect_coro(self):
39
+ if self._http_robot is not None and self._http_polling_task is not None:
40
+ self._http_polling_task.cancel()
41
+ try:
42
+ await self._http_polling_task
43
+ except asyncio.CancelledError:
44
+ pass
45
+ await self._http_robot.close()
46
+ await super()._disconnect_coro()
47
+
48
+
49
+ def _create_robot(token: str) -> "Robot":
50
+ from ..http_api.robot import Robot
51
+ return Robot(token)