WPyrogram 2.0.153__tar.gz → 2.0.154__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 (680) hide show
  1. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/PKG-INFO +1 -1
  2. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/WPyrogram.egg-info/PKG-INFO +1 -1
  3. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/WPyrogram.egg-info/SOURCES.txt +2 -0
  4. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/__init__.py +1 -1
  5. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/client.py +13 -2
  6. wpyrogram-2.0.154/pyrogram/helper_bot.py +325 -0
  7. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/methods/advanced/invoke.py +14 -3
  8. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/methods/bots/send_game.py +4 -7
  9. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/methods/bots/send_invoice.py +3 -7
  10. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/methods/messages/edit_inline_media.py +4 -2
  11. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/methods/messages/edit_inline_reply_markup.py +4 -2
  12. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/methods/messages/edit_inline_text.py +3 -2
  13. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/methods/messages/edit_message_media.py +4 -2
  14. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/methods/messages/edit_message_reply_markup.py +4 -2
  15. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/methods/messages/edit_message_text.py +3 -2
  16. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/methods/messages/send_animation.py +41 -30
  17. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/methods/messages/send_audio.py +32 -20
  18. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/methods/messages/send_cached_media.py +3 -7
  19. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/methods/messages/send_contact.py +3 -7
  20. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/methods/messages/send_dice.py +3 -7
  21. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/methods/messages/send_document.py +32 -20
  22. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/methods/messages/send_location.py +3 -7
  23. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/methods/messages/send_message.py +7 -8
  24. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/methods/messages/send_photo.py +32 -20
  25. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/methods/messages/send_poll.py +3 -9
  26. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/methods/messages/send_sticker.py +32 -20
  27. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/methods/messages/send_venue.py +3 -7
  28. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/methods/messages/send_video.py +32 -20
  29. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/methods/messages/send_video_note.py +32 -20
  30. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/methods/messages/send_voice.py +32 -20
  31. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/methods/messages/send_web_page.py +3 -7
  32. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/methods/messages/stop_poll.py +5 -2
  33. wpyrogram-2.0.154/pyrogram/reply_markup.py +70 -0
  34. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/types/bots_and_keyboards/inline_keyboard_markup.py +11 -1
  35. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/types/messages_and_media/message.py +8 -8
  36. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/types/user_and_chats/emoji_status.py +2 -13
  37. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/utils.py +1 -0
  38. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/COPYING +0 -0
  39. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/COPYING.lesser +0 -0
  40. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/MANIFEST.in +0 -0
  41. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/NOTICE +0 -0
  42. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/README.md +0 -0
  43. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/WPyrogram.egg-info/dependency_links.txt +0 -0
  44. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/WPyrogram.egg-info/not-zip-safe +0 -0
  45. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/WPyrogram.egg-info/requires.txt +0 -0
  46. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/WPyrogram.egg-info/top_level.txt +0 -0
  47. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/compiler/__init__.py +0 -0
  48. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/compiler/api/__init__.py +0 -0
  49. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/compiler/api/compiler.py +0 -0
  50. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/compiler/api/source/auth_key.tl +0 -0
  51. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/compiler/api/source/main_api.tl +0 -0
  52. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/compiler/api/source/sys_msgs.tl +0 -0
  53. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/compiler/api/template/combinator.txt +0 -0
  54. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/compiler/api/template/type.txt +0 -0
  55. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/compiler/docs/__init__.py +0 -0
  56. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/compiler/docs/compiler.py +0 -0
  57. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/compiler/docs/template/page.txt +0 -0
  58. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/compiler/docs/template/toctree.txt +0 -0
  59. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/compiler/errors/__init__.py +0 -0
  60. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/compiler/errors/compiler.py +0 -0
  61. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/compiler/errors/sort.py +0 -0
  62. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/compiler/errors/source/303_SEE_OTHER.tsv +0 -0
  63. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/compiler/errors/source/400_BAD_REQUEST.tsv +0 -0
  64. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/compiler/errors/source/401_UNAUTHORIZED.tsv +0 -0
  65. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/compiler/errors/source/403_FORBIDDEN.tsv +0 -0
  66. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/compiler/errors/source/406_NOT_ACCEPTABLE.tsv +0 -0
  67. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/compiler/errors/source/420_FLOOD.tsv +0 -0
  68. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/compiler/errors/source/500_INTERNAL_SERVER_ERROR.tsv +0 -0
  69. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/compiler/errors/source/503_SERVICE_UNAVAILABLE.tsv +0 -0
  70. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/compiler/errors/template/class.txt +0 -0
  71. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/compiler/errors/template/sub_class.txt +0 -0
  72. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/connection/__init__.py +0 -0
  73. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/connection/connection.py +0 -0
  74. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/connection/transport/__init__.py +0 -0
  75. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/connection/transport/tcp/__init__.py +0 -0
  76. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/connection/transport/tcp/tcp.py +0 -0
  77. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/connection/transport/tcp/tcp_abridged.py +0 -0
  78. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/connection/transport/tcp/tcp_abridged_o.py +0 -0
  79. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/connection/transport/tcp/tcp_full.py +0 -0
  80. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/connection/transport/tcp/tcp_intermediate.py +0 -0
  81. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/connection/transport/tcp/tcp_intermediate_o.py +0 -0
  82. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/crypto/__init__.py +0 -0
  83. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/crypto/aes.py +0 -0
  84. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/crypto/mtproto.py +0 -0
  85. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/crypto/prime.py +0 -0
  86. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/crypto/rsa.py +0 -0
  87. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/dispatcher.py +0 -0
  88. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/emoji.py +0 -0
  89. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/enums/__init__.py +0 -0
  90. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/enums/auto_name.py +0 -0
  91. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/enums/business_schedule.py +0 -0
  92. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/enums/chat_action.py +0 -0
  93. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/enums/chat_event_action.py +0 -0
  94. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/enums/chat_join_type.py +0 -0
  95. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/enums/chat_member_status.py +0 -0
  96. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/enums/chat_members_filter.py +0 -0
  97. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/enums/chat_type.py +0 -0
  98. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/enums/client_platform.py +0 -0
  99. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/enums/folder_color.py +0 -0
  100. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/enums/message_entity_type.py +0 -0
  101. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/enums/message_media_type.py +0 -0
  102. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/enums/message_service_type.py +0 -0
  103. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/enums/messages_filter.py +0 -0
  104. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/enums/next_code_type.py +0 -0
  105. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/enums/parse_mode.py +0 -0
  106. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/enums/phone_call_discard_reason.py +0 -0
  107. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/enums/poll_type.py +0 -0
  108. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/enums/privacy_key.py +0 -0
  109. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/enums/profile_color.py +0 -0
  110. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/enums/reply_color.py +0 -0
  111. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/enums/sent_code_type.py +0 -0
  112. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/enums/stories_privacy_rules.py +0 -0
  113. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/enums/user_status.py +0 -0
  114. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/errors/__init__.py +0 -0
  115. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/errors/rpc_error.py +0 -0
  116. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/file_id.py +0 -0
  117. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/filters.py +0 -0
  118. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/handlers/__init__.py +0 -0
  119. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/handlers/callback_query_handler.py +0 -0
  120. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/handlers/chat_boost_handler.py +0 -0
  121. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/handlers/chat_join_request_handler.py +0 -0
  122. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/handlers/chat_member_updated_handler.py +0 -0
  123. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/handlers/chosen_inline_result_handler.py +0 -0
  124. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/handlers/deleted_messages_handler.py +0 -0
  125. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/handlers/disconnect_handler.py +0 -0
  126. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/handlers/edited_message_handler.py +0 -0
  127. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/handlers/handler.py +0 -0
  128. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/handlers/inline_query_handler.py +0 -0
  129. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/handlers/message_handler.py +0 -0
  130. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/handlers/message_reaction_count_handler.py +0 -0
  131. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/handlers/message_reaction_handler.py +0 -0
  132. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/handlers/poll_handler.py +0 -0
  133. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/handlers/pre_checkout_query_handler.py +0 -0
  134. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/handlers/purchased_paid_media_handler.py +0 -0
  135. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/handlers/raw_update_handler.py +0 -0
  136. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/handlers/shipping_query_handler.py +0 -0
  137. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/handlers/story_handler.py +0 -0
  138. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/handlers/user_status_handler.py +0 -0
  139. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/helpers/__init__.py +0 -0
  140. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/helpers/helpers.py +0 -0
  141. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/methods/__init__.py +0 -0
  142. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/methods/account/__init__.py +0 -0
  143. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/methods/account/get_account_ttl.py +0 -0
  144. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/methods/account/get_privacy.py +0 -0
  145. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/methods/account/set_account_ttl.py +0 -0
  146. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/methods/account/set_privacy.py +0 -0
  147. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/methods/advanced/__init__.py +0 -0
  148. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/methods/advanced/resolve_peer.py +0 -0
  149. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/methods/advanced/save_file.py +0 -0
  150. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/methods/auth/__init__.py +0 -0
  151. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/methods/auth/accept_terms_of_service.py +0 -0
  152. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/methods/auth/check_password.py +0 -0
  153. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/methods/auth/connect.py +0 -0
  154. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/methods/auth/disconnect.py +0 -0
  155. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/methods/auth/get_active_sessions.py +0 -0
  156. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/methods/auth/get_password_hint.py +0 -0
  157. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/methods/auth/initialize.py +0 -0
  158. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/methods/auth/log_out.py +0 -0
  159. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/methods/auth/recover_password.py +0 -0
  160. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/methods/auth/resend_code.py +0 -0
  161. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/methods/auth/reset_session.py +0 -0
  162. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/methods/auth/reset_sessions.py +0 -0
  163. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/methods/auth/send_code.py +0 -0
  164. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/methods/auth/send_recovery_code.py +0 -0
  165. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/methods/auth/sign_in.py +0 -0
  166. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/methods/auth/sign_in_bot.py +0 -0
  167. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/methods/auth/sign_up.py +0 -0
  168. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/methods/auth/terminate.py +0 -0
  169. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/methods/bots/__init__.py +0 -0
  170. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/methods/bots/answer_callback_query.py +0 -0
  171. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/methods/bots/answer_inline_query.py +0 -0
  172. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/methods/bots/answer_pre_checkout_query.py +0 -0
  173. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/methods/bots/answer_shipping_query.py +0 -0
  174. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/methods/bots/answer_web_app_query.py +0 -0
  175. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/methods/bots/create_invoice_link.py +0 -0
  176. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/methods/bots/delete_bot_commands.py +0 -0
  177. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/methods/bots/get_bot_commands.py +0 -0
  178. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/methods/bots/get_bot_default_privileges.py +0 -0
  179. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/methods/bots/get_bot_info_description.py +0 -0
  180. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/methods/bots/get_bot_info_short_description.py +0 -0
  181. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/methods/bots/get_bot_name.py +0 -0
  182. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/methods/bots/get_chat_menu_button.py +0 -0
  183. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/methods/bots/get_game_high_scores.py +0 -0
  184. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/methods/bots/get_inline_bot_results.py +0 -0
  185. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/methods/bots/refund_star_payment.py +0 -0
  186. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/methods/bots/request_callback_answer.py +0 -0
  187. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/methods/bots/send_inline_bot_result.py +0 -0
  188. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/methods/bots/set_bot_commands.py +0 -0
  189. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/methods/bots/set_bot_default_privileges.py +0 -0
  190. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/methods/bots/set_bot_info_description.py +0 -0
  191. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/methods/bots/set_bot_info_short_description.py +0 -0
  192. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/methods/bots/set_bot_name.py +0 -0
  193. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/methods/bots/set_chat_menu_button.py +0 -0
  194. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/methods/bots/set_game_score.py +0 -0
  195. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/methods/business/__init__.py +0 -0
  196. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/methods/business/get_business_connection.py +0 -0
  197. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/methods/chats/__init__.py +0 -0
  198. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/methods/chats/add_chat_members.py +0 -0
  199. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/methods/chats/archive_chats.py +0 -0
  200. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/methods/chats/ban_chat_member.py +0 -0
  201. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/methods/chats/close_forum_topic.py +0 -0
  202. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/methods/chats/create_channel.py +0 -0
  203. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/methods/chats/create_forum_topic.py +0 -0
  204. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/methods/chats/create_group.py +0 -0
  205. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/methods/chats/create_supergroup.py +0 -0
  206. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/methods/chats/delete_channel.py +0 -0
  207. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/methods/chats/delete_chat_photo.py +0 -0
  208. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/methods/chats/delete_folder.py +0 -0
  209. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/methods/chats/delete_forum_topic.py +0 -0
  210. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/methods/chats/delete_supergroup.py +0 -0
  211. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/methods/chats/delete_user_history.py +0 -0
  212. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/methods/chats/edit_forum_topic.py +0 -0
  213. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/methods/chats/export_folder_link.py +0 -0
  214. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/methods/chats/get_chat.py +0 -0
  215. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/methods/chats/get_chat_event_log.py +0 -0
  216. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/methods/chats/get_chat_member.py +0 -0
  217. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/methods/chats/get_chat_members.py +0 -0
  218. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/methods/chats/get_chat_members_count.py +0 -0
  219. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/methods/chats/get_chat_online_count.py +0 -0
  220. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/methods/chats/get_dialogs.py +0 -0
  221. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/methods/chats/get_dialogs_count.py +0 -0
  222. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/methods/chats/get_folders.py +0 -0
  223. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/methods/chats/get_forum_topics.py +0 -0
  224. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/methods/chats/get_forum_topics_by_id.py +0 -0
  225. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/methods/chats/get_nearby_chats.py +0 -0
  226. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/methods/chats/get_personal_channels.py +0 -0
  227. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/methods/chats/get_send_as_chats.py +0 -0
  228. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/methods/chats/get_similar_channels.py +0 -0
  229. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/methods/chats/join_chat.py +0 -0
  230. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/methods/chats/join_folder.py +0 -0
  231. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/methods/chats/leave_chat.py +0 -0
  232. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/methods/chats/leave_folder.py +0 -0
  233. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/methods/chats/mark_chat_unread.py +0 -0
  234. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/methods/chats/pin_chat_message.py +0 -0
  235. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/methods/chats/pin_forum_topic.py +0 -0
  236. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/methods/chats/promote_chat_member.py +0 -0
  237. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/methods/chats/restrict_chat_member.py +0 -0
  238. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/methods/chats/set_administrator_title.py +0 -0
  239. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/methods/chats/set_chat_description.py +0 -0
  240. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/methods/chats/set_chat_permissions.py +0 -0
  241. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/methods/chats/set_chat_photo.py +0 -0
  242. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/methods/chats/set_chat_protected_content.py +0 -0
  243. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/methods/chats/set_chat_title.py +0 -0
  244. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/methods/chats/set_chat_ttl.py +0 -0
  245. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/methods/chats/set_chat_username.py +0 -0
  246. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/methods/chats/set_send_as_chat.py +0 -0
  247. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/methods/chats/set_slow_mode.py +0 -0
  248. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/methods/chats/toggle_folder_tags.py +0 -0
  249. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/methods/chats/toggle_forum_topics.py +0 -0
  250. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/methods/chats/toggle_join_to_send.py +0 -0
  251. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/methods/chats/unarchive_chats.py +0 -0
  252. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/methods/chats/unban_chat_member.py +0 -0
  253. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/methods/chats/unpin_all_chat_messages.py +0 -0
  254. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/methods/chats/unpin_chat_message.py +0 -0
  255. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/methods/chats/unpin_forum_topic.py +0 -0
  256. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/methods/chats/update_chat_notifications.py +0 -0
  257. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/methods/chats/update_color.py +0 -0
  258. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/methods/chats/update_folder.py +0 -0
  259. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/methods/contacts/__init__.py +0 -0
  260. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/methods/contacts/add_contact.py +0 -0
  261. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/methods/contacts/delete_contacts.py +0 -0
  262. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/methods/contacts/get_contacts.py +0 -0
  263. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/methods/contacts/get_contacts_count.py +0 -0
  264. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/methods/contacts/import_contacts.py +0 -0
  265. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/methods/contacts/search_contacts.py +0 -0
  266. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/methods/decorators/__init__.py +0 -0
  267. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/methods/decorators/on_callback_query.py +0 -0
  268. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/methods/decorators/on_chat_boost.py +0 -0
  269. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/methods/decorators/on_chat_join_request.py +0 -0
  270. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/methods/decorators/on_chat_member_updated.py +0 -0
  271. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/methods/decorators/on_chosen_inline_result.py +0 -0
  272. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/methods/decorators/on_deleted_messages.py +0 -0
  273. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/methods/decorators/on_disconnect.py +0 -0
  274. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/methods/decorators/on_edited_message.py +0 -0
  275. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/methods/decorators/on_inline_query.py +0 -0
  276. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/methods/decorators/on_message.py +0 -0
  277. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/methods/decorators/on_message_reaction.py +0 -0
  278. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/methods/decorators/on_message_reaction_count.py +0 -0
  279. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/methods/decorators/on_poll.py +0 -0
  280. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/methods/decorators/on_pre_checkout_query.py +0 -0
  281. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/methods/decorators/on_purchased_paid_media.py +0 -0
  282. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/methods/decorators/on_raw_update.py +0 -0
  283. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/methods/decorators/on_shipping_query.py +0 -0
  284. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/methods/decorators/on_story.py +0 -0
  285. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/methods/decorators/on_user_status.py +0 -0
  286. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/methods/invite_links/__init__.py +0 -0
  287. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/methods/invite_links/approve_all_chat_join_requests.py +0 -0
  288. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/methods/invite_links/approve_chat_join_request.py +0 -0
  289. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/methods/invite_links/create_chat_invite_link.py +0 -0
  290. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/methods/invite_links/decline_all_chat_join_requests.py +0 -0
  291. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/methods/invite_links/decline_chat_join_request.py +0 -0
  292. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/methods/invite_links/delete_chat_admin_invite_links.py +0 -0
  293. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/methods/invite_links/delete_chat_invite_link.py +0 -0
  294. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/methods/invite_links/edit_chat_invite_link.py +0 -0
  295. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/methods/invite_links/export_chat_invite_link.py +0 -0
  296. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/methods/invite_links/get_chat_admin_invite_links.py +0 -0
  297. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/methods/invite_links/get_chat_admin_invite_links_count.py +0 -0
  298. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/methods/invite_links/get_chat_admins_with_invite_links.py +0 -0
  299. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/methods/invite_links/get_chat_invite_link.py +0 -0
  300. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/methods/invite_links/get_chat_invite_link_joiners.py +0 -0
  301. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/methods/invite_links/get_chat_invite_link_joiners_count.py +0 -0
  302. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/methods/invite_links/get_chat_join_requests.py +0 -0
  303. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/methods/invite_links/revoke_chat_invite_link.py +0 -0
  304. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/methods/messages/__init__.py +0 -0
  305. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/methods/messages/business_session.py +0 -0
  306. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/methods/messages/copy_media_group.py +0 -0
  307. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/methods/messages/copy_message.py +0 -0
  308. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/methods/messages/delete_chat_history.py +0 -0
  309. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/methods/messages/delete_messages.py +0 -0
  310. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/methods/messages/download_media.py +0 -0
  311. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/methods/messages/edit_inline_caption.py +0 -0
  312. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/methods/messages/edit_message_caption.py +0 -0
  313. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/methods/messages/forward_media_group.py +0 -0
  314. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/methods/messages/forward_messages.py +0 -0
  315. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/methods/messages/get_available_effects.py +0 -0
  316. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/methods/messages/get_chat_history.py +0 -0
  317. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/methods/messages/get_chat_history_count.py +0 -0
  318. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/methods/messages/get_custom_emoji_stickers.py +0 -0
  319. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/methods/messages/get_discussion_message.py +0 -0
  320. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/methods/messages/get_discussion_replies.py +0 -0
  321. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/methods/messages/get_discussion_replies_count.py +0 -0
  322. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/methods/messages/get_history.py +0 -0
  323. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/methods/messages/get_media_group.py +0 -0
  324. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/methods/messages/get_message_by_link.py +0 -0
  325. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/methods/messages/get_messages.py +0 -0
  326. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/methods/messages/get_scheduled_messages.py +0 -0
  327. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/methods/messages/get_stickers.py +0 -0
  328. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/methods/messages/inline_session.py +0 -0
  329. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/methods/messages/read_chat_history.py +0 -0
  330. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/methods/messages/read_mentions.py +0 -0
  331. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/methods/messages/read_reactions.py +0 -0
  332. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/methods/messages/retract_vote.py +0 -0
  333. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/methods/messages/search_global.py +0 -0
  334. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/methods/messages/search_global_count.py +0 -0
  335. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/methods/messages/search_messages.py +0 -0
  336. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/methods/messages/search_messages_count.py +0 -0
  337. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/methods/messages/search_posts.py +0 -0
  338. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/methods/messages/search_posts_count.py +0 -0
  339. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/methods/messages/send_chat_action.py +0 -0
  340. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/methods/messages/send_media_group.py +0 -0
  341. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/methods/messages/send_paid_media.py +0 -0
  342. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/methods/messages/send_paid_reaction.py +0 -0
  343. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/methods/messages/send_reaction.py +0 -0
  344. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/methods/messages/start_bot.py +0 -0
  345. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/methods/messages/stream_media.py +0 -0
  346. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/methods/messages/view_messages.py +0 -0
  347. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/methods/messages/vote_poll.py +0 -0
  348. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/methods/messages/wait_for_callback_query.py +0 -0
  349. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/methods/messages/wait_for_message.py +0 -0
  350. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/methods/password/__init__.py +0 -0
  351. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/methods/password/change_cloud_password.py +0 -0
  352. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/methods/password/enable_cloud_password.py +0 -0
  353. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/methods/password/remove_cloud_password.py +0 -0
  354. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/methods/payments/__init__.py +0 -0
  355. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/methods/payments/apply_gift_code.py +0 -0
  356. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/methods/payments/check_gift_code.py +0 -0
  357. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/methods/payments/check_giftcode.py +0 -0
  358. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/methods/payments/convert_star_gift.py +0 -0
  359. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/methods/payments/get_payment_form.py +0 -0
  360. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/methods/payments/get_star_gifts.py +0 -0
  361. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/methods/payments/get_user_star_gifts.py +0 -0
  362. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/methods/payments/get_user_star_gifts_count.py +0 -0
  363. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/methods/payments/hide_star_gift.py +0 -0
  364. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/methods/payments/send_payment_form.py +0 -0
  365. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/methods/payments/send_star_gift.py +0 -0
  366. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/methods/payments/show_star_gift.py +0 -0
  367. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/methods/phone/__init__.py +0 -0
  368. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/methods/phone/get_call_members.py +0 -0
  369. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/methods/premium/__init__.py +0 -0
  370. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/methods/premium/apply_boost.py +0 -0
  371. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/methods/premium/get_boosts.py +0 -0
  372. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/methods/premium/get_boosts_status.py +0 -0
  373. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/methods/stories/__init__.py +0 -0
  374. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/methods/stories/can_post_stories.py +0 -0
  375. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/methods/stories/can_send_story.py +0 -0
  376. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/methods/stories/copy_story.py +0 -0
  377. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/methods/stories/delete_stories.py +0 -0
  378. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/methods/stories/edit_story_caption.py +0 -0
  379. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/methods/stories/edit_story_media.py +0 -0
  380. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/methods/stories/edit_story_privacy.py +0 -0
  381. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/methods/stories/export_story_link.py +0 -0
  382. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/methods/stories/forward_story.py +0 -0
  383. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/methods/stories/get_all_stories.py +0 -0
  384. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/methods/stories/get_archived_stories.py +0 -0
  385. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/methods/stories/get_chat_stories.py +0 -0
  386. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/methods/stories/get_pinned_stories.py +0 -0
  387. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/methods/stories/get_stories.py +0 -0
  388. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/methods/stories/get_stories_archive.py +0 -0
  389. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/methods/stories/hide_chat_stories.py +0 -0
  390. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/methods/stories/hide_stories.py +0 -0
  391. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/methods/stories/increment_story_views.py +0 -0
  392. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/methods/stories/pin_chat_stories.py +0 -0
  393. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/methods/stories/pin_stories.py +0 -0
  394. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/methods/stories/read_chat_stories.py +0 -0
  395. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/methods/stories/read_stories.py +0 -0
  396. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/methods/stories/send_story.py +0 -0
  397. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/methods/stories/show_chat_stories.py +0 -0
  398. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/methods/stories/unpin_chat_stories.py +0 -0
  399. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/methods/stories/view_stories.py +0 -0
  400. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/methods/users/__init__.py +0 -0
  401. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/methods/users/block_user.py +0 -0
  402. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/methods/users/check_username.py +0 -0
  403. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/methods/users/delete_profile_photos.py +0 -0
  404. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/methods/users/get_chat_photos.py +0 -0
  405. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/methods/users/get_chat_photos_count.py +0 -0
  406. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/methods/users/get_common_chats.py +0 -0
  407. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/methods/users/get_default_emoji_statuses.py +0 -0
  408. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/methods/users/get_me.py +0 -0
  409. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/methods/users/get_users.py +0 -0
  410. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/methods/users/set_emoji_status.py +0 -0
  411. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/methods/users/set_personal_channel.py +0 -0
  412. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/methods/users/set_profile_photo.py +0 -0
  413. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/methods/users/set_username.py +0 -0
  414. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/methods/users/unblock_user.py +0 -0
  415. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/methods/users/update_birthday.py +0 -0
  416. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/methods/users/update_personal_channel.py +0 -0
  417. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/methods/users/update_profile.py +0 -0
  418. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/methods/users/update_status.py +0 -0
  419. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/methods/utilities/__init__.py +0 -0
  420. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/methods/utilities/add_handler.py +0 -0
  421. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/methods/utilities/compose.py +0 -0
  422. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/methods/utilities/export_session_string.py +0 -0
  423. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/methods/utilities/idle.py +0 -0
  424. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/methods/utilities/remove_handler.py +0 -0
  425. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/methods/utilities/restart.py +0 -0
  426. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/methods/utilities/run.py +0 -0
  427. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/methods/utilities/start.py +0 -0
  428. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/methods/utilities/stop.py +0 -0
  429. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/methods/utilities/stop_transmission.py +0 -0
  430. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/mime_types.py +0 -0
  431. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/nav/__init__.py +0 -0
  432. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/nav/pagination.py +0 -0
  433. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/parser/__init__.py +0 -0
  434. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/parser/html.py +0 -0
  435. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/parser/markdown.py +0 -0
  436. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/parser/parser.py +0 -0
  437. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/parser/utils.py +0 -0
  438. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/py.typed +0 -0
  439. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/raw/__init__.py +0 -0
  440. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/raw/core/__init__.py +0 -0
  441. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/raw/core/future_salt.py +0 -0
  442. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/raw/core/future_salts.py +0 -0
  443. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/raw/core/gzip_packed.py +0 -0
  444. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/raw/core/list.py +0 -0
  445. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/raw/core/message.py +0 -0
  446. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/raw/core/msg_container.py +0 -0
  447. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/raw/core/primitives/__init__.py +0 -0
  448. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/raw/core/primitives/bool.py +0 -0
  449. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/raw/core/primitives/bytes.py +0 -0
  450. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/raw/core/primitives/double.py +0 -0
  451. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/raw/core/primitives/int.py +0 -0
  452. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/raw/core/primitives/string.py +0 -0
  453. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/raw/core/primitives/vector.py +0 -0
  454. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/raw/core/tl_object.py +0 -0
  455. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/session/__init__.py +0 -0
  456. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/session/auth.py +0 -0
  457. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/session/internals/__init__.py +0 -0
  458. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/session/internals/data_center.py +0 -0
  459. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/session/internals/msg_factory.py +0 -0
  460. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/session/internals/msg_id.py +0 -0
  461. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/session/internals/seq_no.py +0 -0
  462. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/session/session.py +0 -0
  463. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/storage/__init__.py +0 -0
  464. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/storage/file_storage.py +0 -0
  465. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/storage/memory_storage.py +0 -0
  466. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/storage/sqlite_storage.py +0 -0
  467. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/storage/storage.py +0 -0
  468. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/sync.py +0 -0
  469. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/types/__init__.py +0 -0
  470. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/types/authorization/__init__.py +0 -0
  471. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/types/authorization/active_session.py +0 -0
  472. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/types/authorization/active_sessions.py +0 -0
  473. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/types/authorization/sent_code.py +0 -0
  474. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/types/authorization/terms_of_service.py +0 -0
  475. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/types/bots_and_keyboards/__init__.py +0 -0
  476. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/types/bots_and_keyboards/bot_command.py +0 -0
  477. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/types/bots_and_keyboards/bot_command_scope.py +0 -0
  478. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/types/bots_and_keyboards/bot_command_scope_all_chat_administrators.py +0 -0
  479. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/types/bots_and_keyboards/bot_command_scope_all_group_chats.py +0 -0
  480. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/types/bots_and_keyboards/bot_command_scope_all_private_chats.py +0 -0
  481. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/types/bots_and_keyboards/bot_command_scope_chat.py +0 -0
  482. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/types/bots_and_keyboards/bot_command_scope_chat_administrators.py +0 -0
  483. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/types/bots_and_keyboards/bot_command_scope_chat_member.py +0 -0
  484. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/types/bots_and_keyboards/bot_command_scope_default.py +0 -0
  485. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/types/bots_and_keyboards/callback_game.py +0 -0
  486. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/types/bots_and_keyboards/callback_query.py +0 -0
  487. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/types/bots_and_keyboards/chat_boost_updated.py +0 -0
  488. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/types/bots_and_keyboards/force_reply.py +0 -0
  489. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/types/bots_and_keyboards/game_high_score.py +0 -0
  490. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/types/bots_and_keyboards/inline_keyboard_button.py +0 -0
  491. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/types/bots_and_keyboards/keyboard_button.py +0 -0
  492. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/types/bots_and_keyboards/labeled_price.py +0 -0
  493. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/types/bots_and_keyboards/login_url.py +0 -0
  494. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/types/bots_and_keyboards/menu_button.py +0 -0
  495. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/types/bots_and_keyboards/menu_button_commands.py +0 -0
  496. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/types/bots_and_keyboards/menu_button_default.py +0 -0
  497. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/types/bots_and_keyboards/menu_button_web_app.py +0 -0
  498. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/types/bots_and_keyboards/message_reaction_count_updated.py +0 -0
  499. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/types/bots_and_keyboards/message_reaction_updated.py +0 -0
  500. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/types/bots_and_keyboards/order_info.py +0 -0
  501. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/types/bots_and_keyboards/pre_checkout_query.py +0 -0
  502. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/types/bots_and_keyboards/purchased_paid_media.py +0 -0
  503. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/types/bots_and_keyboards/reply_keyboard_markup.py +0 -0
  504. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/types/bots_and_keyboards/reply_keyboard_remove.py +0 -0
  505. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/types/bots_and_keyboards/request_channel_info.py +0 -0
  506. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/types/bots_and_keyboards/request_chat_info.py +0 -0
  507. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/types/bots_and_keyboards/request_poll_info.py +0 -0
  508. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/types/bots_and_keyboards/request_user_info.py +0 -0
  509. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/types/bots_and_keyboards/requested_chats.py +0 -0
  510. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/types/bots_and_keyboards/sent_web_app_message.py +0 -0
  511. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/types/bots_and_keyboards/shipping_address.py +0 -0
  512. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/types/bots_and_keyboards/shipping_option.py +0 -0
  513. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/types/bots_and_keyboards/shipping_query.py +0 -0
  514. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/types/bots_and_keyboards/successful_payment.py +0 -0
  515. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/types/bots_and_keyboards/web_app_info.py +0 -0
  516. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/types/inline_mode/__init__.py +0 -0
  517. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/types/inline_mode/chosen_inline_result.py +0 -0
  518. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/types/inline_mode/inline_query.py +0 -0
  519. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/types/inline_mode/inline_query_result.py +0 -0
  520. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/types/inline_mode/inline_query_result_animation.py +0 -0
  521. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/types/inline_mode/inline_query_result_article.py +0 -0
  522. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/types/inline_mode/inline_query_result_audio.py +0 -0
  523. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/types/inline_mode/inline_query_result_cached_animation.py +0 -0
  524. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/types/inline_mode/inline_query_result_cached_audio.py +0 -0
  525. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/types/inline_mode/inline_query_result_cached_document.py +0 -0
  526. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/types/inline_mode/inline_query_result_cached_photo.py +0 -0
  527. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/types/inline_mode/inline_query_result_cached_sticker.py +0 -0
  528. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/types/inline_mode/inline_query_result_cached_video.py +0 -0
  529. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/types/inline_mode/inline_query_result_cached_voice.py +0 -0
  530. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/types/inline_mode/inline_query_result_contact.py +0 -0
  531. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/types/inline_mode/inline_query_result_document.py +0 -0
  532. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/types/inline_mode/inline_query_result_location.py +0 -0
  533. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/types/inline_mode/inline_query_result_photo.py +0 -0
  534. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/types/inline_mode/inline_query_result_venue.py +0 -0
  535. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/types/inline_mode/inline_query_result_video.py +0 -0
  536. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/types/inline_mode/inline_query_result_voice.py +0 -0
  537. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/types/input_media/__init__.py +0 -0
  538. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/types/input_media/input_media.py +0 -0
  539. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/types/input_media/input_media_animation.py +0 -0
  540. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/types/input_media/input_media_audio.py +0 -0
  541. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/types/input_media/input_media_document.py +0 -0
  542. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/types/input_media/input_media_photo.py +0 -0
  543. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/types/input_media/input_media_video.py +0 -0
  544. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/types/input_media/input_phone_contact.py +0 -0
  545. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/types/input_message_content/__init__.py +0 -0
  546. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/types/input_message_content/input_message_content.py +0 -0
  547. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/types/input_message_content/input_reply_to_message.py +0 -0
  548. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/types/input_message_content/input_reply_to_story.py +0 -0
  549. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/types/input_message_content/input_text_message_content.py +0 -0
  550. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/types/input_privacy_rule/__init__.py +0 -0
  551. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/types/input_privacy_rule/input_privacy_rule.py +0 -0
  552. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/types/input_privacy_rule/input_privacy_rule_allow_all.py +0 -0
  553. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/types/input_privacy_rule/input_privacy_rule_allow_chats.py +0 -0
  554. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/types/input_privacy_rule/input_privacy_rule_allow_contacts.py +0 -0
  555. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/types/input_privacy_rule/input_privacy_rule_allow_premium.py +0 -0
  556. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/types/input_privacy_rule/input_privacy_rule_allow_users.py +0 -0
  557. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/types/input_privacy_rule/input_privacy_rule_disallow_all.py +0 -0
  558. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/types/input_privacy_rule/input_privacy_rule_disallow_chats.py +0 -0
  559. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/types/input_privacy_rule/input_privacy_rule_disallow_contacts.py +0 -0
  560. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/types/input_privacy_rule/input_privacy_rule_disallow_users.py +0 -0
  561. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/types/list.py +0 -0
  562. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/types/messages_and_media/__init__.py +0 -0
  563. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/types/messages_and_media/animation.py +0 -0
  564. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/types/messages_and_media/audio.py +0 -0
  565. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/types/messages_and_media/auto_name.py +0 -0
  566. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/types/messages_and_media/available_effect.py +0 -0
  567. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/types/messages_and_media/boosts_status.py +0 -0
  568. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/types/messages_and_media/business_message.py +0 -0
  569. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/types/messages_and_media/chat_action.py +0 -0
  570. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/types/messages_and_media/chat_boost.py +0 -0
  571. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/types/messages_and_media/chat_event_action.py +0 -0
  572. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/types/messages_and_media/chat_member_status.py +0 -0
  573. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/types/messages_and_media/chat_members_filter.py +0 -0
  574. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/types/messages_and_media/chat_type.py +0 -0
  575. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/types/messages_and_media/checked_gift_code.py +0 -0
  576. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/types/messages_and_media/contact.py +0 -0
  577. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/types/messages_and_media/contact_registered.py +0 -0
  578. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/types/messages_and_media/dice.py +0 -0
  579. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/types/messages_and_media/document.py +0 -0
  580. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/types/messages_and_media/forum_topic.py +0 -0
  581. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/types/messages_and_media/forum_topic_closed.py +0 -0
  582. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/types/messages_and_media/forum_topic_created.py +0 -0
  583. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/types/messages_and_media/forum_topic_edited.py +0 -0
  584. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/types/messages_and_media/forum_topic_reopened.py +0 -0
  585. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/types/messages_and_media/game.py +0 -0
  586. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/types/messages_and_media/general_forum_topic_hidden.py +0 -0
  587. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/types/messages_and_media/general_forum_topic_unhidden.py +0 -0
  588. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/types/messages_and_media/gift_code.py +0 -0
  589. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/types/messages_and_media/giveaway.py +0 -0
  590. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/types/messages_and_media/giveaway_completed.py +0 -0
  591. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/types/messages_and_media/giveaway_created.py +0 -0
  592. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/types/messages_and_media/giveaway_result.py +0 -0
  593. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/types/messages_and_media/giveaway_winners.py +0 -0
  594. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/types/messages_and_media/invoice.py +0 -0
  595. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/types/messages_and_media/location.py +0 -0
  596. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/types/messages_and_media/message_entity.py +0 -0
  597. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/types/messages_and_media/message_entity_type.py +0 -0
  598. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/types/messages_and_media/message_media_type.py +0 -0
  599. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/types/messages_and_media/message_reactions.py +0 -0
  600. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/types/messages_and_media/message_service_type.py +0 -0
  601. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/types/messages_and_media/message_story.py +0 -0
  602. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/types/messages_and_media/messages_filter.py +0 -0
  603. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/types/messages_and_media/my_boost.py +0 -0
  604. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/types/messages_and_media/next_code_type.py +0 -0
  605. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/types/messages_and_media/paid_media_info.py +0 -0
  606. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/types/messages_and_media/paid_media_preview.py +0 -0
  607. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/types/messages_and_media/parse_mode.py +0 -0
  608. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/types/messages_and_media/payment_form.py +0 -0
  609. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/types/messages_and_media/photo.py +0 -0
  610. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/types/messages_and_media/poll.py +0 -0
  611. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/types/messages_and_media/poll_option.py +0 -0
  612. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/types/messages_and_media/poll_type.py +0 -0
  613. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/types/messages_and_media/reaction.py +0 -0
  614. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/types/messages_and_media/refunded_payment.py +0 -0
  615. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/types/messages_and_media/screenshot_taken.py +0 -0
  616. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/types/messages_and_media/sent_code_type.py +0 -0
  617. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/types/messages_and_media/star_gift.py +0 -0
  618. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/types/messages_and_media/sticker.py +0 -0
  619. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/types/messages_and_media/story.py +0 -0
  620. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/types/messages_and_media/stripped_thumbnail.py +0 -0
  621. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/types/messages_and_media/successful_payment.py +0 -0
  622. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/types/messages_and_media/thumbnail.py +0 -0
  623. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/types/messages_and_media/user_status.py +0 -0
  624. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/types/messages_and_media/venue.py +0 -0
  625. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/types/messages_and_media/video.py +0 -0
  626. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/types/messages_and_media/video_note.py +0 -0
  627. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/types/messages_and_media/voice.py +0 -0
  628. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/types/messages_and_media/web_app_data.py +0 -0
  629. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/types/messages_and_media/web_page.py +0 -0
  630. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/types/messages_and_media/write_access_allowed.py +0 -0
  631. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/types/object.py +0 -0
  632. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/types/update.py +0 -0
  633. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/types/user_and_chats/__init__.py +0 -0
  634. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/types/user_and_chats/birthday.py +0 -0
  635. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/types/user_and_chats/business_connection.py +0 -0
  636. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/types/user_and_chats/business_info.py +0 -0
  637. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/types/user_and_chats/business_intro.py +0 -0
  638. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/types/user_and_chats/business_message.py +0 -0
  639. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/types/user_and_chats/business_recipients.py +0 -0
  640. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/types/user_and_chats/business_weekly_open.py +0 -0
  641. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/types/user_and_chats/business_working_hours.py +0 -0
  642. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/types/user_and_chats/chat.py +0 -0
  643. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/types/user_and_chats/chat_admin_with_invite_links.py +0 -0
  644. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/types/user_and_chats/chat_color.py +0 -0
  645. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/types/user_and_chats/chat_event.py +0 -0
  646. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/types/user_and_chats/chat_event_filter.py +0 -0
  647. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/types/user_and_chats/chat_invite_link.py +0 -0
  648. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/types/user_and_chats/chat_join_request.py +0 -0
  649. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/types/user_and_chats/chat_joiner.py +0 -0
  650. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/types/user_and_chats/chat_member.py +0 -0
  651. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/types/user_and_chats/chat_member_updated.py +0 -0
  652. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/types/user_and_chats/chat_permissions.py +0 -0
  653. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/types/user_and_chats/chat_photo.py +0 -0
  654. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/types/user_and_chats/chat_privileges.py +0 -0
  655. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/types/user_and_chats/chat_reactions.py +0 -0
  656. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/types/user_and_chats/dialog.py +0 -0
  657. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/types/user_and_chats/folder.py +0 -0
  658. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/types/user_and_chats/found_contacts.py +0 -0
  659. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/types/user_and_chats/group_call_member.py +0 -0
  660. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/types/user_and_chats/invite_link_importer.py +0 -0
  661. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/types/user_and_chats/phone_call_ended.py +0 -0
  662. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/types/user_and_chats/phone_call_started.py +0 -0
  663. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/types/user_and_chats/privacy_rule.py +0 -0
  664. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/types/user_and_chats/restriction.py +0 -0
  665. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/types/user_and_chats/user.py +0 -0
  666. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/types/user_and_chats/username.py +0 -0
  667. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/types/user_and_chats/video_chat_ended.py +0 -0
  668. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/types/user_and_chats/video_chat_members_invited.py +0 -0
  669. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/types/user_and_chats/video_chat_scheduled.py +0 -0
  670. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/pyrogram/types/user_and_chats/video_chat_started.py +0 -0
  671. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/requirements.txt +0 -0
  672. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/setup.cfg +0 -0
  673. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/setup.py +0 -0
  674. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/tests/__init__.py +0 -0
  675. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/tests/filters/__init__.py +0 -0
  676. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/tests/filters/test_command.py +0 -0
  677. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/tests/parser/__init__.py +0 -0
  678. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/tests/parser/test_html.py +0 -0
  679. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/tests/parser/test_markdown.py +0 -0
  680. {wpyrogram-2.0.153 → wpyrogram-2.0.154}/tests/test_file_id.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: WPyrogram
3
- Version: 2.0.153
3
+ Version: 2.0.154
4
4
  Summary: Elegant, modern and asynchronous Telegram MTProto API framework in Python for users and bots - Woto's experimental fork
5
5
  Home-page: https://github.com/ALiwoto/WPyrogram
6
6
  Download-URL: https://github.com/ALiwoto/WPyrogram
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: WPyrogram
3
- Version: 2.0.153
3
+ Version: 2.0.154
4
4
  Summary: Elegant, modern and asynchronous Telegram MTProto API framework in Python for users and bots - Woto's experimental fork
5
5
  Home-page: https://github.com/ALiwoto/WPyrogram
6
6
  Download-URL: https://github.com/ALiwoto/WPyrogram
@@ -42,8 +42,10 @@ pyrogram/dispatcher.py
42
42
  pyrogram/emoji.py
43
43
  pyrogram/file_id.py
44
44
  pyrogram/filters.py
45
+ pyrogram/helper_bot.py
45
46
  pyrogram/mime_types.py
46
47
  pyrogram/py.typed
48
+ pyrogram/reply_markup.py
47
49
  pyrogram/sync.py
48
50
  pyrogram/utils.py
49
51
  pyrogram/connection/__init__.py
@@ -16,7 +16,7 @@
16
16
  # You should have received a copy of the GNU Lesser General Public License
17
17
  # along with Pyrogram. If not, see <http://www.gnu.org/licenses/>.
18
18
 
19
- __version__ = "2.0.153"
19
+ __version__ = "2.0.154"
20
20
  __license__ = "GNU Lesser General Public License v3.0 (LGPL-3.0)"
21
21
  __copyright__ = "Copyright (C) 2017-present Dan <https://github.com/delivrance>"
22
22
 
@@ -32,7 +32,7 @@ from importlib import import_module
32
32
  from io import StringIO, BytesIO
33
33
  from mimetypes import MimeTypes
34
34
  from pathlib import Path
35
- from typing import Union, List, Optional, Callable, AsyncGenerator, Type, Tuple
35
+ from typing import Union, List, Optional, Callable, AsyncGenerator, Type, Tuple, Dict
36
36
 
37
37
  import pyrogram
38
38
  from pyrogram import __version__, __license__
@@ -58,6 +58,7 @@ from .connection import Connection
58
58
  from .connection.transport import TCP, TCPAbridged
59
59
  from .dispatcher import Dispatcher
60
60
  from .file_id import FileId, FileType, ThumbnailSource
61
+ from .helper_bot import HelperBotQuery, answer_helper_bot_query
61
62
  from .mime_types import mime_types
62
63
  from .parser import Parser
63
64
  from .session.internals import MsgId
@@ -269,7 +270,9 @@ class Client(Methods):
269
270
  client_platform: "enums.ClientPlatform" = enums.ClientPlatform.OTHER,
270
271
  init_connection_params: Optional["raw.base.JSONValue"] = None,
271
272
  connection_factory: Type[Connection] = Connection,
272
- protocol_factory: Type[TCP] = TCPAbridged
273
+ protocol_factory: Type[TCP] = TCPAbridged,
274
+ helper_bot: Optional["Client"] = None,
275
+ helper_bot_chat_id: Optional[Union[int, str]] = None
273
276
  ):
274
277
  super().__init__()
275
278
 
@@ -306,6 +309,9 @@ class Client(Methods):
306
309
  self.init_connection_params = init_connection_params
307
310
  self.connection_factory = connection_factory
308
311
  self.protocol_factory = protocol_factory
312
+ self.helper_bot = helper_bot
313
+ self.helper_bot_chat_id = helper_bot_chat_id
314
+ self._helper_bot_queries: Dict[str, HelperBotQuery] = {}
309
315
 
310
316
  self.executor = ThreadPoolExecutor(self.workers, thread_name_prefix="Handler")
311
317
 
@@ -660,6 +666,9 @@ class Client(Methods):
660
666
  users.update({u.id: u for u in diff.users})
661
667
  chats.update({c.id: c for c in diff.chats})
662
668
 
669
+ # Internal inline replies must not wait for a busy application handler.
670
+ if await answer_helper_bot_query(self, update):
671
+ continue
663
672
  self.dispatcher.updates_queue.put_nowait((update, users, chats))
664
673
  elif isinstance(updates, (raw.types.UpdateShortMessage, raw.types.UpdateShortChatMessage)):
665
674
  if not self.skip_updates:
@@ -695,6 +704,8 @@ class Client(Methods):
695
704
  if diff.other_updates: # The other_updates list can be empty
696
705
  self.dispatcher.updates_queue.put_nowait((diff.other_updates[0], {}, {}))
697
706
  elif isinstance(updates, raw.types.UpdateShort):
707
+ if await answer_helper_bot_query(self, updates.update):
708
+ return
698
709
  self.dispatcher.updates_queue.put_nowait((updates.update, {}, {}))
699
710
  elif isinstance(updates, raw.types.UpdatesTooLong):
700
711
  log.info(updates)
@@ -0,0 +1,325 @@
1
+ # pyright: strict
2
+
3
+ from __future__ import annotations
4
+
5
+ import logging
6
+ from copy import copy
7
+ from dataclasses import dataclass
8
+ from typing import TYPE_CHECKING, List, Optional, TypedDict, Union, cast
9
+ from uuid import uuid4
10
+
11
+ from pyrogram import enums, raw, types, utils
12
+
13
+ if TYPE_CHECKING:
14
+ from pyrogram import Client
15
+
16
+
17
+ log = logging.getLogger(__name__)
18
+
19
+
20
+ SendRequest = Union[raw.functions.messages.SendMessage, raw.functions.messages.SendMedia]
21
+
22
+
23
+ class InvokeOptions(TypedDict):
24
+ retries: int
25
+ timeout: float
26
+ sleep_threshold: Optional[float]
27
+
28
+
29
+ @dataclass
30
+ class HelperBotQuery:
31
+ user_id: int
32
+ result: raw.base.InputBotInlineResult
33
+ error: Optional[Exception] = None
34
+
35
+
36
+ async def answer_helper_bot_query(client: Client, update: raw.base.Update) -> bool:
37
+ if not isinstance(update, raw.types.UpdateBotInlineQuery):
38
+ return False
39
+
40
+ pending = client._helper_bot_queries.get(update.query) # pyright: ignore[reportPrivateUsage]
41
+ if pending is None or pending.user_id != update.user_id:
42
+ return False
43
+
44
+ try:
45
+ await client.invoke(
46
+ raw.functions.messages.SetInlineBotResults(
47
+ query_id=update.query_id, results=[pending.result], cache_time=0, private=True
48
+ )
49
+ )
50
+ except Exception as error:
51
+ pending.error = error
52
+ log.exception("Failed to answer a helper bot query")
53
+
54
+ return True
55
+
56
+
57
+ async def send_with_helper_bot(
58
+ client: Client,
59
+ query: SendRequest,
60
+ retries: int,
61
+ timeout: float,
62
+ sleep_threshold: Optional[float],
63
+ ) -> raw.base.Updates:
64
+ helper = client.helper_bot
65
+ if helper is None or not helper.is_connected or helper.me is None or not helper.me.is_bot:
66
+ raise ValueError("helper_bot must be a started bot Client")
67
+ if helper.no_updates or not helper.me.username:
68
+ raise ValueError("helper_bot needs a username and incoming updates enabled")
69
+
70
+ # Fail explicitly when the inline API cannot preserve a send option.
71
+ content_fields = {"message", "entities", "reply_markup", "no_webpage", "invert_media", "media"}
72
+ send_fields = {
73
+ "peer",
74
+ "random_id",
75
+ "silent",
76
+ "background",
77
+ "clear_draft",
78
+ "reply_to",
79
+ "schedule_date",
80
+ "send_as",
81
+ "quick_reply_shortcut",
82
+ "allow_paid_stars",
83
+ }
84
+ for name in query.__slots__:
85
+ if name not in send_fields and name not in content_fields:
86
+ if getattr(query, name) not in (None, False):
87
+ raise ValueError(f"The helper bot inline API does not support {name}")
88
+
89
+ invoke_options: InvokeOptions = {
90
+ "retries": retries,
91
+ "timeout": timeout,
92
+ "sleep_threshold": sleep_threshold,
93
+ }
94
+ result = await build_inline_result(client, helper, query, invoke_options)
95
+ if result is None:
96
+ # The staging send was not confirmed. Do not send or retry the destination message.
97
+ return raw.types.Updates(updates=[], users=[], chats=[], date=0, seq=0)
98
+
99
+ token = "wpy_helper_" + uuid4().hex
100
+ pending = HelperBotQuery(cast(types.User, client.me).id, result)
101
+ helper._helper_bot_queries[token] = pending # pyright: ignore[reportPrivateUsage]
102
+ try:
103
+ results = cast(
104
+ raw.types.messages.BotResults,
105
+ await client.invoke(
106
+ raw.functions.messages.GetInlineBotResults(
107
+ bot=cast(raw.base.InputUser, await client.resolve_peer(helper.me.username)),
108
+ peer=query.peer,
109
+ query=token,
110
+ offset="",
111
+ ),
112
+ **invoke_options,
113
+ ),
114
+ )
115
+ except Exception:
116
+ if pending.error is not None:
117
+ raise pending.error
118
+ raise
119
+ finally:
120
+ helper._helper_bot_queries.pop(token, None) # pyright: ignore[reportPrivateUsage]
121
+
122
+ if not any(item.id == result.id for item in results.results):
123
+ raise ValueError("The helper bot returned no matching inline result")
124
+
125
+ # Reuse the caller's random_id, including across transport and flood-wait retries.
126
+ return cast(
127
+ raw.base.Updates,
128
+ await client.invoke(
129
+ raw.functions.messages.SendInlineBotResult(
130
+ peer=query.peer,
131
+ random_id=query.random_id,
132
+ query_id=results.query_id,
133
+ id=result.id,
134
+ silent=query.silent,
135
+ background=query.background,
136
+ clear_draft=query.clear_draft,
137
+ reply_to=query.reply_to,
138
+ schedule_date=query.schedule_date,
139
+ send_as=query.send_as,
140
+ quick_reply_shortcut=query.quick_reply_shortcut,
141
+ allow_paid_stars=query.allow_paid_stars,
142
+ ),
143
+ **invoke_options,
144
+ ),
145
+ )
146
+
147
+
148
+ async def build_inline_result(
149
+ client: Client, helper: Client, query: SendRequest, invoke_options: InvokeOptions
150
+ ) -> Optional[raw.base.InputBotInlineResult]:
151
+ entities: List[raw.base.MessageEntity] = []
152
+ for entity in query.entities or []:
153
+ if isinstance(entity, raw.types.InputMessageEntityMentionName):
154
+ entity = copy(entity)
155
+ if isinstance(entity.user_id, raw.types.InputUserEmpty):
156
+ raise ValueError("A helper bot mention requires a user ID")
157
+ user_id = (
158
+ cast(types.User, client.me).id
159
+ if isinstance(entity.user_id, raw.types.InputUserSelf)
160
+ else entity.user_id.user_id
161
+ )
162
+ entity.user_id = cast(raw.base.InputUser, await helper.resolve_peer(user_id))
163
+ entities.append(entity)
164
+
165
+ if isinstance(query, raw.functions.messages.SendMessage):
166
+ return raw.types.InputBotInlineResult(
167
+ id="message",
168
+ type="article",
169
+ title="Message",
170
+ send_message=raw.types.InputBotInlineMessageText(
171
+ no_webpage=query.no_webpage,
172
+ message=query.message,
173
+ entities=entities or None,
174
+ reply_markup=query.reply_markup,
175
+ invert_media=query.invert_media,
176
+ ),
177
+ )
178
+
179
+ media = query.media
180
+ inline_message: Optional[raw.base.InputBotInlineMessage] = None
181
+ result_type = "article"
182
+ if isinstance(media, (raw.types.InputMediaGeoPoint, raw.types.InputMediaGeoLive)):
183
+ if isinstance(media, raw.types.InputMediaGeoLive) and media.stopped:
184
+ raise ValueError("The helper bot cannot send a stopped live location")
185
+ result_type = "geo"
186
+ inline_message = raw.types.InputBotInlineMessageMediaGeo(
187
+ geo_point=media.geo_point,
188
+ heading=media.heading if isinstance(media, raw.types.InputMediaGeoLive) else None,
189
+ period=media.period if isinstance(media, raw.types.InputMediaGeoLive) else None,
190
+ proximity_notification_radius=media.proximity_notification_radius
191
+ if isinstance(media, raw.types.InputMediaGeoLive)
192
+ else None,
193
+ reply_markup=query.reply_markup,
194
+ )
195
+ elif isinstance(media, raw.types.InputMediaVenue):
196
+ result_type = "venue"
197
+ inline_message = raw.types.InputBotInlineMessageMediaVenue(
198
+ geo_point=media.geo_point,
199
+ title=media.title,
200
+ address=media.address,
201
+ provider=media.provider,
202
+ venue_id=media.venue_id,
203
+ venue_type=media.venue_type,
204
+ reply_markup=query.reply_markup,
205
+ )
206
+ elif isinstance(media, raw.types.InputMediaContact):
207
+ result_type = "contact"
208
+ inline_message = raw.types.InputBotInlineMessageMediaContact(
209
+ phone_number=media.phone_number,
210
+ first_name=media.first_name,
211
+ last_name=media.last_name,
212
+ vcard=media.vcard,
213
+ reply_markup=query.reply_markup,
214
+ )
215
+ elif isinstance(media, raw.types.InputMediaWebPage):
216
+ inline_message = raw.types.InputBotInlineMessageMediaWebPage(
217
+ url=media.url,
218
+ message=query.message,
219
+ entities=entities or None,
220
+ force_large_media=media.force_large_media,
221
+ force_small_media=media.force_small_media,
222
+ optional=media.optional,
223
+ invert_media=query.invert_media,
224
+ reply_markup=query.reply_markup,
225
+ )
226
+
227
+ if inline_message is not None:
228
+ return raw.types.InputBotInlineResult(
229
+ id="message", type=result_type, title="Message", send_message=inline_message
230
+ )
231
+
232
+ if not isinstance(
233
+ media,
234
+ (
235
+ raw.types.InputMediaPhoto,
236
+ raw.types.InputMediaUploadedPhoto,
237
+ raw.types.InputMediaPhotoExternal,
238
+ raw.types.InputMediaDocument,
239
+ raw.types.InputMediaUploadedDocument,
240
+ raw.types.InputMediaDocumentExternal,
241
+ ),
242
+ ):
243
+ raise ValueError(f"The helper bot inline API does not support {type(media).__name__}")
244
+
245
+ for name in ("ttl_seconds", "spoiler", "video_cover", "video_timestamp"):
246
+ if getattr(media, name, None) not in (None, False):
247
+ raise ValueError(f"The helper bot inline API does not support media option {name}")
248
+ if isinstance(media, raw.types.InputMediaUploadedDocument):
249
+ for attribute in media.attributes:
250
+ if isinstance(attribute, raw.types.DocumentAttributeVideo) and attribute.round_message:
251
+ raise ValueError("The helper bot inline API does not support video notes")
252
+
253
+ if not client.helper_bot_chat_id:
254
+ raise ValueError("Sending media through helper_bot requires helper_bot_chat_id")
255
+ peer = await client.resolve_peer(client.helper_bot_chat_id)
256
+ if not isinstance(peer, raw.types.InputPeerChannel):
257
+ raise ValueError(
258
+ "helper_bot_chat_id must be a channel or supergroup accessible to both clients"
259
+ )
260
+
261
+ # The bot must see the uploaded media to obtain a file reference for its own account.
262
+ staged = cast(
263
+ Union[raw.types.Updates, raw.types.UpdatesCombined],
264
+ await client.invoke(
265
+ raw.functions.messages.SendMedia(
266
+ peer=peer, media=media, message="", random_id=client.rnd_id(), silent=True
267
+ ),
268
+ **invoke_options,
269
+ ),
270
+ )
271
+ message_id: Optional[int] = None
272
+ for update in staged.updates:
273
+ if isinstance(update, raw.types.UpdateNewChannelMessage):
274
+ message_id = update.message.id
275
+ break
276
+
277
+ if message_id is None:
278
+ log.warning("Helper bot media upload returned no message update; destination send skipped")
279
+ return None
280
+
281
+ message = cast(types.Message, await helper.get_messages(client.helper_bot_chat_id, message_id))
282
+ if message.empty or message.media is None:
283
+ log.warning("Helper bot staging message is unavailable; destination send skipped")
284
+ return None
285
+
286
+ media_types = {
287
+ enums.MessageMediaType.ANIMATION: "gif",
288
+ enums.MessageMediaType.AUDIO: "audio",
289
+ enums.MessageMediaType.DOCUMENT: "file",
290
+ enums.MessageMediaType.VIDEO: "video",
291
+ enums.MessageMediaType.VOICE: "voice",
292
+ enums.MessageMediaType.STICKER: "sticker",
293
+ }
294
+ send_message = raw.types.InputBotInlineMessageMediaAuto(
295
+ message=query.message,
296
+ entities=entities or None,
297
+ reply_markup=query.reply_markup,
298
+ invert_media=query.invert_media,
299
+ )
300
+ if message.photo is not None:
301
+ photo = cast(
302
+ raw.types.InputMediaPhoto, utils.get_input_media_from_file_id(message.photo.file_id)
303
+ )
304
+ return raw.types.InputBotInlineResultPhoto(
305
+ id="message", type="photo", photo=photo.id, send_message=send_message
306
+ )
307
+
308
+ file = (
309
+ message.animation
310
+ or message.audio
311
+ or message.document
312
+ or message.video
313
+ or message.voice
314
+ or message.sticker
315
+ )
316
+ if file is None or message.media not in media_types:
317
+ raise ValueError(f"The helper bot inline API does not support {message.media}")
318
+ document = cast(raw.types.InputMediaDocument, utils.get_input_media_from_file_id(file.file_id))
319
+ return raw.types.InputBotInlineResultDocument(
320
+ id="message",
321
+ type=media_types[message.media],
322
+ title="Media",
323
+ document=document.id,
324
+ send_message=send_message,
325
+ )
@@ -17,12 +17,14 @@
17
17
  # along with Pyrogram. If not, see <http://www.gnu.org/licenses/>.
18
18
 
19
19
  import logging
20
+ from typing import Any, Optional
20
21
 
21
22
  import pyrogram
22
23
  from pyrogram import raw
23
24
  from pyrogram.raw.core import TLObject
24
25
  from pyrogram.session import Session
25
26
  from pyrogram.methods.messages.business_session import get_session
27
+ from pyrogram.helper_bot import send_with_helper_bot
26
28
 
27
29
  log = logging.getLogger(__name__)
28
30
 
@@ -33,9 +35,9 @@ class Invoke:
33
35
  query: TLObject,
34
36
  retries: int = Session.MAX_RETRIES,
35
37
  timeout: float = Session.WAIT_TIMEOUT,
36
- sleep_threshold: float = None,
37
- business_connection_id: str = None
38
- ):
38
+ sleep_threshold: Optional[float] = None,
39
+ business_connection_id: Optional[str] = None
40
+ ) -> Any:
39
41
  """Invoke raw Telegram functions.
40
42
 
41
43
  This method makes it possible to manually call every single Telegram API method in a low-level manner.
@@ -75,6 +77,15 @@ class Invoke:
75
77
  if not self.is_connected:
76
78
  raise ConnectionError("Client has not been started yet")
77
79
 
80
+ if (self.helper_bot is not None and self.me is not None and not self.me.is_bot
81
+ and isinstance(query, (raw.functions.messages.SendMessage, raw.functions.messages.SendMedia))
82
+ and isinstance(query.reply_markup, raw.types.ReplyInlineMarkup)):
83
+ if business_connection_id:
84
+ raise ValueError("The helper bot inline API does not support business connections")
85
+ return await send_with_helper_bot(
86
+ self, query, retries=retries, timeout=timeout, sleep_threshold=sleep_threshold
87
+ )
88
+
78
89
  session = self.session
79
90
 
80
91
  if business_connection_id:
@@ -19,6 +19,8 @@
19
19
  from typing import Union
20
20
 
21
21
  import pyrogram
22
+ from typing import Optional
23
+ from pyrogram.reply_markup import ReplyMarkup
22
24
  from pyrogram import raw
23
25
  from pyrogram import types
24
26
  from pyrogram import utils
@@ -36,12 +38,7 @@ class SendGame:
36
38
  reply_to_chat_id: Union[int, str] = None,
37
39
  protect_content: bool = None,
38
40
  allow_paid_broadcast: bool = None,
39
- reply_markup: Union[
40
- "types.InlineKeyboardMarkup",
41
- "types.ReplyKeyboardMarkup",
42
- "types.ReplyKeyboardRemove",
43
- "types.ForceReply"
44
- ] = None
41
+ reply_markup: "Optional[ReplyMarkup]" = None
45
42
  ) -> "types.Message":
46
43
  """Send a game.
47
44
 
@@ -114,7 +111,7 @@ class SendGame:
114
111
  random_id=self.rnd_id(),
115
112
  noforwards=protect_content,
116
113
  allow_paid_floodskip=allow_paid_broadcast,
117
- reply_markup=await reply_markup.write(self) if reply_markup else None,
114
+ reply_markup=await utils.write_reply_markup(self, reply_markup, for_send=True),
118
115
  effect=effect_id
119
116
  )
120
117
  )
@@ -20,6 +20,7 @@ import logging
20
20
  from typing import List, Optional, Union
21
21
 
22
22
  import pyrogram
23
+ from pyrogram.reply_markup import ReplyMarkup
23
24
  from pyrogram import enums, raw, utils, types
24
25
 
25
26
  log = logging.getLogger(__name__)
@@ -56,12 +57,7 @@ class SendInvoice:
56
57
  message_effect_id: Optional[int] = None,
57
58
  reply_to_message_id: Optional[int] = None,
58
59
  allow_paid_broadcast: bool = None,
59
- reply_markup: Optional[Union[
60
- "types.InlineKeyboardMarkup",
61
- "types.ReplyKeyboardMarkup",
62
- "types.ReplyKeyboardRemove",
63
- "types.ForceReply"
64
- ]] = None,
60
+ reply_markup: "Optional[ReplyMarkup]" = None,
65
61
  caption: str = "",
66
62
  parse_mode: Optional["enums.ParseMode"] = None,
67
63
  caption_entities: Optional[List["types.MessageEntity"]] = None
@@ -224,7 +220,7 @@ class SendInvoice:
224
220
  random_id=self.rnd_id(),
225
221
  noforwards=protect_content,
226
222
  allow_paid_floodskip=allow_paid_broadcast,
227
- reply_markup=await reply_markup.write(self) if reply_markup else None,
223
+ reply_markup=await utils.write_reply_markup(self, reply_markup, for_send=True),
228
224
  effect=message_effect_id,
229
225
  **await utils.parse_text_entities(self, caption, parse_mode, caption_entities)
230
226
  )
@@ -22,6 +22,8 @@ import os
22
22
  import re
23
23
 
24
24
  import pyrogram
25
+ from typing import Optional
26
+ from pyrogram.reply_markup import ReplyMarkup
25
27
  from pyrogram import raw
26
28
  from pyrogram import types
27
29
  from pyrogram import utils
@@ -37,7 +39,7 @@ class EditInlineMedia:
37
39
  self: "pyrogram.Client",
38
40
  inline_message_id: str,
39
41
  media: "types.InputMedia",
40
- reply_markup: "types.InlineKeyboardMarkup" = None
42
+ reply_markup: "Optional[ReplyMarkup]" = None
41
43
  ) -> bool:
42
44
  """Edit inline animation, audio, document, photo or video messages, or to add media to text messages.
43
45
 
@@ -231,7 +233,7 @@ class EditInlineMedia:
231
233
  raw.functions.messages.EditInlineBotMessage(
232
234
  id=unpacked,
233
235
  media=actual_media,
234
- reply_markup=await reply_markup.write(self) if reply_markup else None,
236
+ reply_markup=await utils.write_reply_markup(self, reply_markup),
235
237
  **await utils.parse_text_entities(self, caption, parse_mode, caption_entities)
236
238
  ),
237
239
  sleep_threshold=self.sleep_threshold
@@ -17,6 +17,8 @@
17
17
  # along with Pyrogram. If not, see <http://www.gnu.org/licenses/>.
18
18
 
19
19
  import pyrogram
20
+ from typing import Optional
21
+ from pyrogram.reply_markup import ReplyMarkup
20
22
  from pyrogram import raw
21
23
  from pyrogram import types
22
24
  from pyrogram import utils
@@ -27,7 +29,7 @@ class EditInlineReplyMarkup:
27
29
  async def edit_inline_reply_markup(
28
30
  self: "pyrogram.Client",
29
31
  inline_message_id: str,
30
- reply_markup: "types.InlineKeyboardMarkup" = None
32
+ reply_markup: "Optional[ReplyMarkup]" = None
31
33
  ) -> bool:
32
34
  """Edit only the reply markup of inline messages sent via the bot (for inline bots).
33
35
 
@@ -63,7 +65,7 @@ class EditInlineReplyMarkup:
63
65
  return await session.invoke(
64
66
  raw.functions.messages.EditInlineBotMessage(
65
67
  id=unpacked,
66
- reply_markup=await reply_markup.write(self) if reply_markup else None,
68
+ reply_markup=await utils.write_reply_markup(self, reply_markup),
67
69
  ),
68
70
  sleep_threshold=self.sleep_threshold
69
71
  )
@@ -19,6 +19,7 @@
19
19
  from typing import Optional, List
20
20
 
21
21
  import pyrogram
22
+ from pyrogram.reply_markup import ReplyMarkup
22
23
  from pyrogram import raw, enums
23
24
  from pyrogram import types
24
25
  from pyrogram import utils
@@ -33,7 +34,7 @@ class EditInlineText:
33
34
  parse_mode: Optional["enums.ParseMode"] = None,
34
35
  entities: List["types.MessageEntity"] = None,
35
36
  disable_web_page_preview: bool = None,
36
- reply_markup: "types.InlineKeyboardMarkup" = None
37
+ reply_markup: "Optional[ReplyMarkup]" = None
37
38
  ) -> bool:
38
39
  """Edit the text of inline messages.
39
40
 
@@ -85,7 +86,7 @@ class EditInlineText:
85
86
  raw.functions.messages.EditInlineBotMessage(
86
87
  id=unpacked,
87
88
  no_webpage=disable_web_page_preview or None,
88
- reply_markup=await reply_markup.write(self) if reply_markup else None,
89
+ reply_markup=await utils.write_reply_markup(self, reply_markup),
89
90
  **await utils.parse_text_entities(self, text, parse_mode, entities)
90
91
  ),
91
92
  sleep_threshold=self.sleep_threshold
@@ -23,6 +23,8 @@ import re
23
23
  from typing import Union
24
24
 
25
25
  import pyrogram
26
+ from typing import Optional
27
+ from pyrogram.reply_markup import ReplyMarkup
26
28
  from pyrogram import raw
27
29
  from pyrogram import types
28
30
  from pyrogram import utils
@@ -37,7 +39,7 @@ class EditMessageMedia:
37
39
  media: "types.InputMedia",
38
40
  show_caption_above_media: bool = None,
39
41
  schedule_date: datetime = None,
40
- reply_markup: "types.InlineKeyboardMarkup" = None,
42
+ reply_markup: "Optional[ReplyMarkup]" = None,
41
43
  file_name: str = None
42
44
  ) -> "types.Message":
43
45
  """Edit animation, audio, document, photo or video messages, or to add media to text messages.
@@ -288,7 +290,7 @@ class EditMessageMedia:
288
290
  invert_media=show_caption_above_media,
289
291
  media=media,
290
292
  schedule_date=utils.datetime_to_timestamp(schedule_date),
291
- reply_markup=await reply_markup.write(self) if reply_markup else None,
293
+ reply_markup=await utils.write_reply_markup(self, reply_markup),
292
294
  message=message,
293
295
  entities=entities
294
296
  )
@@ -20,6 +20,8 @@ from datetime import datetime
20
20
  from typing import Union
21
21
 
22
22
  import pyrogram
23
+ from typing import Optional
24
+ from pyrogram.reply_markup import ReplyMarkup
23
25
  from pyrogram import raw
24
26
  from pyrogram import types
25
27
  from pyrogram import utils
@@ -31,7 +33,7 @@ class EditMessageReplyMarkup:
31
33
  chat_id: Union[int, str],
32
34
  message_id: int,
33
35
  schedule_date: datetime = None,
34
- reply_markup: "types.InlineKeyboardMarkup" = None,
36
+ reply_markup: "Optional[ReplyMarkup]" = None,
35
37
  ) -> "types.Message":
36
38
  """Edit only the reply markup of messages sent by the bot.
37
39
 
@@ -71,7 +73,7 @@ class EditMessageReplyMarkup:
71
73
  peer=await self.resolve_peer(chat_id),
72
74
  id=message_id,
73
75
  schedule_date=utils.datetime_to_timestamp(schedule_date),
74
- reply_markup=await reply_markup.write(self) if reply_markup else None,
76
+ reply_markup=await utils.write_reply_markup(self, reply_markup),
75
77
  )
76
78
  )
77
79