PyroAsync 2.2.11__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (3223) hide show
  1. pyroasync-2.2.11.dist-info/METADATA +118 -0
  2. pyroasync-2.2.11.dist-info/RECORD +3223 -0
  3. pyroasync-2.2.11.dist-info/WHEEL +5 -0
  4. pyroasync-2.2.11.dist-info/licenses/COPYING +674 -0
  5. pyroasync-2.2.11.dist-info/licenses/COPYING.lesser +165 -0
  6. pyroasync-2.2.11.dist-info/licenses/NOTICE +17 -0
  7. pyroasync-2.2.11.dist-info/top_level.txt +1 -0
  8. pyrogram/__init__.py +44 -0
  9. pyrogram/client.py +1045 -0
  10. pyrogram/connection/__init__.py +19 -0
  11. pyrogram/connection/connection.py +87 -0
  12. pyrogram/connection/transport/__init__.py +19 -0
  13. pyrogram/connection/transport/tcp/__init__.py +24 -0
  14. pyrogram/connection/transport/tcp/tcp.py +125 -0
  15. pyrogram/connection/transport/tcp/tcp_abridged.py +57 -0
  16. pyrogram/connection/transport/tcp/tcp_abridged_o.py +86 -0
  17. pyrogram/connection/transport/tcp/tcp_full.py +64 -0
  18. pyrogram/connection/transport/tcp/tcp_intermediate.py +45 -0
  19. pyrogram/connection/transport/tcp/tcp_intermediate_o.py +79 -0
  20. pyrogram/crypto/__init__.py +17 -0
  21. pyrogram/crypto/aes.py +130 -0
  22. pyrogram/crypto/mtproto.py +127 -0
  23. pyrogram/crypto/prime.py +82 -0
  24. pyrogram/crypto/rsa.py +259 -0
  25. pyrogram/dispatcher.py +259 -0
  26. pyrogram/emoji.py +4019 -0
  27. pyrogram/enums/__init__.py +51 -0
  28. pyrogram/enums/auto_name.py +27 -0
  29. pyrogram/enums/chat_action.py +72 -0
  30. pyrogram/enums/chat_event_action.py +136 -0
  31. pyrogram/enums/chat_member_status.py +43 -0
  32. pyrogram/enums/chat_members_filter.py +42 -0
  33. pyrogram/enums/chat_type.py +40 -0
  34. pyrogram/enums/message_entity_type.py +84 -0
  35. pyrogram/enums/message_media_type.py +70 -0
  36. pyrogram/enums/message_service_type.py +100 -0
  37. pyrogram/enums/messages_filter.py +75 -0
  38. pyrogram/enums/next_code_type.py +39 -0
  39. pyrogram/enums/parse_mode.py +37 -0
  40. pyrogram/enums/poll_type.py +31 -0
  41. pyrogram/enums/sent_code_type.py +45 -0
  42. pyrogram/enums/stories_privacy.py +40 -0
  43. pyrogram/enums/user_status.py +43 -0
  44. pyrogram/errors/__init__.py +65 -0
  45. pyrogram/errors/exceptions/__init__.py +26 -0
  46. pyrogram/errors/exceptions/all.py +537 -0
  47. pyrogram/errors/exceptions/bad_request_400.py +2632 -0
  48. pyrogram/errors/exceptions/flood_420.py +63 -0
  49. pyrogram/errors/exceptions/forbidden_403.py +308 -0
  50. pyrogram/errors/exceptions/internal_server_error_500.py +343 -0
  51. pyrogram/errors/exceptions/not_acceptable_406.py +112 -0
  52. pyrogram/errors/exceptions/see_other_303.py +63 -0
  53. pyrogram/errors/exceptions/service_unavailable_503.py +49 -0
  54. pyrogram/errors/exceptions/unauthorized_401.py +91 -0
  55. pyrogram/errors/rpc_error.py +103 -0
  56. pyrogram/file_id.py +481 -0
  57. pyrogram/filters.py +929 -0
  58. pyrogram/handlers/__init__.py +30 -0
  59. pyrogram/handlers/callback_query_handler.py +49 -0
  60. pyrogram/handlers/chat_join_request_handler.py +49 -0
  61. pyrogram/handlers/chat_member_updated_handler.py +49 -0
  62. pyrogram/handlers/chosen_inline_result_handler.py +50 -0
  63. pyrogram/handlers/deleted_messages_handler.py +61 -0
  64. pyrogram/handlers/disconnect_handler.py +43 -0
  65. pyrogram/handlers/edited_message_handler.py +49 -0
  66. pyrogram/handlers/handler.py +43 -0
  67. pyrogram/handlers/inline_query_handler.py +49 -0
  68. pyrogram/handlers/message_handler.py +49 -0
  69. pyrogram/handlers/poll_handler.py +50 -0
  70. pyrogram/handlers/raw_update_handler.py +67 -0
  71. pyrogram/handlers/user_status_handler.py +47 -0
  72. pyrogram/methods/__init__.py +47 -0
  73. pyrogram/methods/advanced/__init__.py +29 -0
  74. pyrogram/methods/advanced/invoke.py +89 -0
  75. pyrogram/methods/advanced/resolve_peer.py +125 -0
  76. pyrogram/methods/advanced/save_file.py +230 -0
  77. pyrogram/methods/auth/__init__.py +53 -0
  78. pyrogram/methods/auth/accept_terms_of_service.py +44 -0
  79. pyrogram/methods/auth/check_password.py +60 -0
  80. pyrogram/methods/auth/connect.py +51 -0
  81. pyrogram/methods/auth/disconnect.py +40 -0
  82. pyrogram/methods/auth/get_password_hint.py +38 -0
  83. pyrogram/methods/auth/initialize.py +49 -0
  84. pyrogram/methods/auth/log_out.py +51 -0
  85. pyrogram/methods/auth/recover_password.py +57 -0
  86. pyrogram/methods/auth/resend_code.py +64 -0
  87. pyrogram/methods/auth/send_code.py +79 -0
  88. pyrogram/methods/auth/send_recovery_code.py +43 -0
  89. pyrogram/methods/auth/sign_in.py +80 -0
  90. pyrogram/methods/auth/sign_in_bot.py +79 -0
  91. pyrogram/methods/auth/sign_up.py +73 -0
  92. pyrogram/methods/auth/terminate.py +54 -0
  93. pyrogram/methods/bots/__init__.py +59 -0
  94. pyrogram/methods/bots/answer_callback_query.py +81 -0
  95. pyrogram/methods/bots/answer_inline_query.py +112 -0
  96. pyrogram/methods/bots/answer_web_app_query.py +53 -0
  97. pyrogram/methods/bots/delete_bot_commands.py +62 -0
  98. pyrogram/methods/bots/get_bot_commands.py +67 -0
  99. pyrogram/methods/bots/get_bot_default_privileges.py +59 -0
  100. pyrogram/methods/bots/get_bot_info.py +49 -0
  101. pyrogram/methods/bots/get_chat_menu_button.py +66 -0
  102. pyrogram/methods/bots/get_game_high_scores.py +72 -0
  103. pyrogram/methods/bots/get_inline_bot_results.py +92 -0
  104. pyrogram/methods/bots/request_callback_answer.py +77 -0
  105. pyrogram/methods/bots/send_game.py +109 -0
  106. pyrogram/methods/bots/send_inline_bot_result.py +85 -0
  107. pyrogram/methods/bots/set_bot_commands.py +73 -0
  108. pyrogram/methods/bots/set_bot_default_privileges.py +81 -0
  109. pyrogram/methods/bots/set_bot_info.py +61 -0
  110. pyrogram/methods/bots/set_chat_menu_button.py +56 -0
  111. pyrogram/methods/bots/set_game_score.py +100 -0
  112. pyrogram/methods/chats/__init__.py +125 -0
  113. pyrogram/methods/chats/add_chat_members.py +90 -0
  114. pyrogram/methods/chats/archive_chats.py +71 -0
  115. pyrogram/methods/chats/ban_chat_member.py +111 -0
  116. pyrogram/methods/chats/close_forum_topic.py +57 -0
  117. pyrogram/methods/chats/close_general_topic.py +53 -0
  118. pyrogram/methods/chats/create_channel.py +56 -0
  119. pyrogram/methods/chats/create_forum_topic.py +68 -0
  120. pyrogram/methods/chats/create_group.py +67 -0
  121. pyrogram/methods/chats/create_supergroup.py +60 -0
  122. pyrogram/methods/chats/delete_channel.py +52 -0
  123. pyrogram/methods/chats/delete_chat_photo.py +70 -0
  124. pyrogram/methods/chats/delete_forum_topic.py +60 -0
  125. pyrogram/methods/chats/delete_supergroup.py +52 -0
  126. pyrogram/methods/chats/delete_user_history.py +55 -0
  127. pyrogram/methods/chats/edit_forum_topic.py +66 -0
  128. pyrogram/methods/chats/edit_general_topic.py +57 -0
  129. pyrogram/methods/chats/get_chat.py +87 -0
  130. pyrogram/methods/chats/get_chat_event_log.py +109 -0
  131. pyrogram/methods/chats/get_chat_member.py +92 -0
  132. pyrogram/methods/chats/get_chat_members.py +158 -0
  133. pyrogram/methods/chats/get_chat_members_count.py +69 -0
  134. pyrogram/methods/chats/get_chat_online_count.py +51 -0
  135. pyrogram/methods/chats/get_dialogs.py +104 -0
  136. pyrogram/methods/chats/get_dialogs_count.py +63 -0
  137. pyrogram/methods/chats/get_forum_topics.py +68 -0
  138. pyrogram/methods/chats/get_forum_topics_by_id.py +90 -0
  139. pyrogram/methods/chats/get_nearby_chats.py +78 -0
  140. pyrogram/methods/chats/get_send_as_chats.py +65 -0
  141. pyrogram/methods/chats/hide_general_topic.py +53 -0
  142. pyrogram/methods/chats/join_chat.py +74 -0
  143. pyrogram/methods/chats/leave_chat.py +77 -0
  144. pyrogram/methods/chats/mark_chat_unread.py +47 -0
  145. pyrogram/methods/chats/pin_chat_message.py +81 -0
  146. pyrogram/methods/chats/promote_chat_member.py +102 -0
  147. pyrogram/methods/chats/reopen_forum_topic.py +57 -0
  148. pyrogram/methods/chats/reopen_general_topic.py +53 -0
  149. pyrogram/methods/chats/restrict_chat_member.py +100 -0
  150. pyrogram/methods/chats/set_administrator_title.py +85 -0
  151. pyrogram/methods/chats/set_chat_description.py +66 -0
  152. pyrogram/methods/chats/set_chat_permissions.py +88 -0
  153. pyrogram/methods/chats/set_chat_photo.py +121 -0
  154. pyrogram/methods/chats/set_chat_protected_content.py +53 -0
  155. pyrogram/methods/chats/set_chat_title.py +78 -0
  156. pyrogram/methods/chats/set_chat_username.py +68 -0
  157. pyrogram/methods/chats/set_send_as_chat.py +57 -0
  158. pyrogram/methods/chats/set_slow_mode.py +63 -0
  159. pyrogram/methods/chats/unarchive_chats.py +71 -0
  160. pyrogram/methods/chats/unban_chat_member.py +64 -0
  161. pyrogram/methods/chats/unhide_general_topic.py +53 -0
  162. pyrogram/methods/chats/unpin_all_chat_messages.py +55 -0
  163. pyrogram/methods/chats/unpin_chat_message.py +61 -0
  164. pyrogram/methods/contacts/__init__.py +33 -0
  165. pyrogram/methods/contacts/add_contact.py +78 -0
  166. pyrogram/methods/contacts/delete_contacts.py +66 -0
  167. pyrogram/methods/contacts/get_contacts.py +47 -0
  168. pyrogram/methods/contacts/get_contacts_count.py +41 -0
  169. pyrogram/methods/contacts/import_contacts.py +58 -0
  170. pyrogram/methods/decorators/__init__.py +47 -0
  171. pyrogram/methods/decorators/on_callback_query.py +61 -0
  172. pyrogram/methods/decorators/on_chat_join_request.py +60 -0
  173. pyrogram/methods/decorators/on_chat_member_updated.py +60 -0
  174. pyrogram/methods/decorators/on_chosen_inline_result.py +61 -0
  175. pyrogram/methods/decorators/on_deleted_messages.py +61 -0
  176. pyrogram/methods/decorators/on_disconnect.py +43 -0
  177. pyrogram/methods/decorators/on_edited_message.py +61 -0
  178. pyrogram/methods/decorators/on_inline_query.py +61 -0
  179. pyrogram/methods/decorators/on_message.py +61 -0
  180. pyrogram/methods/decorators/on_poll.py +61 -0
  181. pyrogram/methods/decorators/on_raw_update.py +55 -0
  182. pyrogram/methods/decorators/on_user_status.py +59 -0
  183. pyrogram/methods/invite_links/__init__.py +58 -0
  184. pyrogram/methods/invite_links/approve_all_chat_join_requests.py +55 -0
  185. pyrogram/methods/invite_links/approve_chat_join_request.py +57 -0
  186. pyrogram/methods/invite_links/create_chat_invite_link.py +87 -0
  187. pyrogram/methods/invite_links/decline_all_chat_join_requests.py +55 -0
  188. pyrogram/methods/invite_links/decline_chat_join_request.py +57 -0
  189. pyrogram/methods/invite_links/delete_chat_admin_invite_links.py +54 -0
  190. pyrogram/methods/invite_links/delete_chat_invite_link.py +52 -0
  191. pyrogram/methods/invite_links/edit_chat_invite_link.py +92 -0
  192. pyrogram/methods/invite_links/export_chat_invite_link.py +65 -0
  193. pyrogram/methods/invite_links/get_chat_admin_invite_links.py +100 -0
  194. pyrogram/methods/invite_links/get_chat_admin_invite_links_count.py +62 -0
  195. pyrogram/methods/invite_links/get_chat_admins_with_invite_links.py +56 -0
  196. pyrogram/methods/invite_links/get_chat_invite_link.py +56 -0
  197. pyrogram/methods/invite_links/get_chat_invite_link_joiners.py +87 -0
  198. pyrogram/methods/invite_links/get_chat_invite_link_joiners_count.py +56 -0
  199. pyrogram/methods/invite_links/get_chat_join_requests.py +88 -0
  200. pyrogram/methods/invite_links/revoke_chat_invite_link.py +68 -0
  201. pyrogram/methods/messages/__init__.py +119 -0
  202. pyrogram/methods/messages/copy_media_group.py +149 -0
  203. pyrogram/methods/messages/copy_message.py +127 -0
  204. pyrogram/methods/messages/delete_messages.py +84 -0
  205. pyrogram/methods/messages/download_media.py +187 -0
  206. pyrogram/methods/messages/edit_inline_caption.py +65 -0
  207. pyrogram/methods/messages/edit_inline_media.py +244 -0
  208. pyrogram/methods/messages/edit_inline_reply_markup.py +69 -0
  209. pyrogram/methods/messages/edit_inline_text.py +88 -0
  210. pyrogram/methods/messages/edit_message_caption.py +76 -0
  211. pyrogram/methods/messages/edit_message_media.py +287 -0
  212. pyrogram/methods/messages/edit_message_reply_markup.py +77 -0
  213. pyrogram/methods/messages/edit_message_text.py +98 -0
  214. pyrogram/methods/messages/forward_messages.py +121 -0
  215. pyrogram/methods/messages/get_chat_history.py +133 -0
  216. pyrogram/methods/messages/get_chat_history_count.py +72 -0
  217. pyrogram/methods/messages/get_custom_emoji_stickers.py +55 -0
  218. pyrogram/methods/messages/get_discussion_message.py +65 -0
  219. pyrogram/methods/messages/get_discussion_replies.py +86 -0
  220. pyrogram/methods/messages/get_discussion_replies_count.py +62 -0
  221. pyrogram/methods/messages/get_media_group.py +73 -0
  222. pyrogram/methods/messages/get_messages.py +119 -0
  223. pyrogram/methods/messages/inline_session.py +64 -0
  224. pyrogram/methods/messages/read_chat_history.py +73 -0
  225. pyrogram/methods/messages/retract_vote.py +61 -0
  226. pyrogram/methods/messages/search_global.py +117 -0
  227. pyrogram/methods/messages/search_global_count.py +62 -0
  228. pyrogram/methods/messages/search_messages.py +151 -0
  229. pyrogram/methods/messages/search_messages_count.py +84 -0
  230. pyrogram/methods/messages/send_animation.py +288 -0
  231. pyrogram/methods/messages/send_audio.py +258 -0
  232. pyrogram/methods/messages/send_cached_media.py +147 -0
  233. pyrogram/methods/messages/send_chat_action.py +86 -0
  234. pyrogram/methods/messages/send_contact.py +131 -0
  235. pyrogram/methods/messages/send_dice.py +132 -0
  236. pyrogram/methods/messages/send_document.py +236 -0
  237. pyrogram/methods/messages/send_location.py +123 -0
  238. pyrogram/methods/messages/send_media_group.py +445 -0
  239. pyrogram/methods/messages/send_message.py +193 -0
  240. pyrogram/methods/messages/send_photo.py +221 -0
  241. pyrogram/methods/messages/send_poll.py +190 -0
  242. pyrogram/methods/messages/send_reaction.py +73 -0
  243. pyrogram/methods/messages/send_sticker.py +195 -0
  244. pyrogram/methods/messages/send_venue.py +147 -0
  245. pyrogram/methods/messages/send_video.py +331 -0
  246. pyrogram/methods/messages/send_video_note.py +219 -0
  247. pyrogram/methods/messages/send_voice.py +223 -0
  248. pyrogram/methods/messages/stop_poll.py +77 -0
  249. pyrogram/methods/messages/stream_media.py +106 -0
  250. pyrogram/methods/messages/vote_poll.py +69 -0
  251. pyrogram/methods/password/__init__.py +29 -0
  252. pyrogram/methods/password/change_cloud_password.py +82 -0
  253. pyrogram/methods/password/enable_cloud_password.py +88 -0
  254. pyrogram/methods/password/remove_cloud_password.py +64 -0
  255. pyrogram/methods/stickers/__init__.py +28 -0
  256. pyrogram/methods/stickers/add_sticker_to_set.py +85 -0
  257. pyrogram/methods/stickers/create_sticker_set.py +122 -0
  258. pyrogram/methods/stickers/get_sticker_set.py +54 -0
  259. pyrogram/methods/users/__init__.py +59 -0
  260. pyrogram/methods/users/block_user.py +54 -0
  261. pyrogram/methods/users/delete_profile_photos.py +63 -0
  262. pyrogram/methods/users/delete_stories.py +65 -0
  263. pyrogram/methods/users/edit_story.py +240 -0
  264. pyrogram/methods/users/export_story_link.py +66 -0
  265. pyrogram/methods/users/get_chat_photos.py +135 -0
  266. pyrogram/methods/users/get_chat_photos_count.py +74 -0
  267. pyrogram/methods/users/get_common_chats.py +67 -0
  268. pyrogram/methods/users/get_default_emoji_statuses.py +47 -0
  269. pyrogram/methods/users/get_me.py +49 -0
  270. pyrogram/methods/users/get_stories.py +76 -0
  271. pyrogram/methods/users/get_users.py +71 -0
  272. pyrogram/methods/users/send_story.py +256 -0
  273. pyrogram/methods/users/set_emoji_status.py +58 -0
  274. pyrogram/methods/users/set_profile_photo.py +75 -0
  275. pyrogram/methods/users/set_username.py +57 -0
  276. pyrogram/methods/users/unblock_user.py +54 -0
  277. pyrogram/methods/users/update_profile.py +72 -0
  278. pyrogram/methods/utilities/__init__.py +41 -0
  279. pyrogram/methods/utilities/add_handler.py +67 -0
  280. pyrogram/methods/utilities/compose.py +78 -0
  281. pyrogram/methods/utilities/export_session_string.py +40 -0
  282. pyrogram/methods/utilities/idle.py +87 -0
  283. pyrogram/methods/utilities/remove_handler.py +63 -0
  284. pyrogram/methods/utilities/restart.py +72 -0
  285. pyrogram/methods/utilities/run.py +86 -0
  286. pyrogram/methods/utilities/run_sync.py +43 -0
  287. pyrogram/methods/utilities/start.py +76 -0
  288. pyrogram/methods/utilities/stop.py +69 -0
  289. pyrogram/methods/utilities/stop_transmission.py +44 -0
  290. pyrogram/mime_types.py +1881 -0
  291. pyrogram/parser/__init__.py +19 -0
  292. pyrogram/parser/html.py +243 -0
  293. pyrogram/parser/markdown.py +173 -0
  294. pyrogram/parser/parser.py +61 -0
  295. pyrogram/parser/utils.py +41 -0
  296. pyrogram/py.typed +0 -0
  297. pyrogram/raw/__init__.py +26 -0
  298. pyrogram/raw/all.py +2172 -0
  299. pyrogram/raw/base/__init__.py +388 -0
  300. pyrogram/raw/base/access_point_rule.py +53 -0
  301. pyrogram/raw/base/account/__init__.py +47 -0
  302. pyrogram/raw/base/account/authorization_form.py +63 -0
  303. pyrogram/raw/base/account/authorizations.py +63 -0
  304. pyrogram/raw/base/account/auto_download_settings.py +63 -0
  305. pyrogram/raw/base/account/auto_save_settings.py +63 -0
  306. pyrogram/raw/base/account/business_chat_links.py +63 -0
  307. pyrogram/raw/base/account/connected_bots.py +63 -0
  308. pyrogram/raw/base/account/content_settings.py +63 -0
  309. pyrogram/raw/base/account/email_verified.py +64 -0
  310. pyrogram/raw/base/account/emoji_statuses.py +67 -0
  311. pyrogram/raw/base/account/password.py +63 -0
  312. pyrogram/raw/base/account/password_input_settings.py +53 -0
  313. pyrogram/raw/base/account/password_settings.py +63 -0
  314. pyrogram/raw/base/account/privacy_rules.py +64 -0
  315. pyrogram/raw/base/account/reset_password_result.py +65 -0
  316. pyrogram/raw/base/account/resolved_business_chat_links.py +63 -0
  317. pyrogram/raw/base/account/saved_ringtone.py +64 -0
  318. pyrogram/raw/base/account/saved_ringtones.py +64 -0
  319. pyrogram/raw/base/account/sent_email_code.py +63 -0
  320. pyrogram/raw/base/account/takeout.py +63 -0
  321. pyrogram/raw/base/account/themes.py +65 -0
  322. pyrogram/raw/base/account/tmp_password.py +63 -0
  323. pyrogram/raw/base/account/wall_papers.py +64 -0
  324. pyrogram/raw/base/account/web_authorizations.py +63 -0
  325. pyrogram/raw/base/account_days_ttl.py +63 -0
  326. pyrogram/raw/base/attach_menu_bot.py +53 -0
  327. pyrogram/raw/base/attach_menu_bot_icon.py +53 -0
  328. pyrogram/raw/base/attach_menu_bot_icon_color.py +53 -0
  329. pyrogram/raw/base/attach_menu_bots.py +64 -0
  330. pyrogram/raw/base/attach_menu_bots_bot.py +63 -0
  331. pyrogram/raw/base/attach_menu_peer_type.py +57 -0
  332. pyrogram/raw/base/auth/__init__.py +32 -0
  333. pyrogram/raw/base/auth/authorization.py +70 -0
  334. pyrogram/raw/base/auth/code_type.py +57 -0
  335. pyrogram/raw/base/auth/exported_authorization.py +63 -0
  336. pyrogram/raw/base/auth/logged_out.py +63 -0
  337. pyrogram/raw/base/auth/login_token.py +66 -0
  338. pyrogram/raw/base/auth/password_recovery.py +63 -0
  339. pyrogram/raw/base/auth/sent_code.py +69 -0
  340. pyrogram/raw/base/auth/sent_code_type.py +63 -0
  341. pyrogram/raw/base/authorization.py +63 -0
  342. pyrogram/raw/base/auto_download_settings.py +53 -0
  343. pyrogram/raw/base/auto_save_exception.py +53 -0
  344. pyrogram/raw/base/auto_save_settings.py +53 -0
  345. pyrogram/raw/base/available_effect.py +53 -0
  346. pyrogram/raw/base/available_reaction.py +53 -0
  347. pyrogram/raw/base/bad_msg_notification.py +54 -0
  348. pyrogram/raw/base/bank_card_open_url.py +53 -0
  349. pyrogram/raw/base/base_theme.py +57 -0
  350. pyrogram/raw/base/bind_auth_key_inner.py +53 -0
  351. pyrogram/raw/base/birthday.py +53 -0
  352. pyrogram/raw/base/boost.py +53 -0
  353. pyrogram/raw/base/bot_app.py +54 -0
  354. pyrogram/raw/base/bot_app_settings.py +53 -0
  355. pyrogram/raw/base/bot_business_connection.py +53 -0
  356. pyrogram/raw/base/bot_command.py +63 -0
  357. pyrogram/raw/base/bot_command_scope.py +59 -0
  358. pyrogram/raw/base/bot_info.py +53 -0
  359. pyrogram/raw/base/bot_inline_message.py +59 -0
  360. pyrogram/raw/base/bot_inline_result.py +54 -0
  361. pyrogram/raw/base/bot_menu_button.py +65 -0
  362. pyrogram/raw/base/bot_preview_media.py +65 -0
  363. pyrogram/raw/base/bot_verification.py +53 -0
  364. pyrogram/raw/base/bot_verifier_settings.py +53 -0
  365. pyrogram/raw/base/bots/__init__.py +27 -0
  366. pyrogram/raw/base/bots/bot_info.py +63 -0
  367. pyrogram/raw/base/bots/popular_app_bots.py +63 -0
  368. pyrogram/raw/base/bots/preview_info.py +63 -0
  369. pyrogram/raw/base/broadcast_revenue_balances.py +53 -0
  370. pyrogram/raw/base/broadcast_revenue_transaction.py +55 -0
  371. pyrogram/raw/base/business_away_message.py +53 -0
  372. pyrogram/raw/base/business_away_message_schedule.py +55 -0
  373. pyrogram/raw/base/business_bot_recipients.py +53 -0
  374. pyrogram/raw/base/business_chat_link.py +64 -0
  375. pyrogram/raw/base/business_greeting_message.py +53 -0
  376. pyrogram/raw/base/business_intro.py +53 -0
  377. pyrogram/raw/base/business_location.py +53 -0
  378. pyrogram/raw/base/business_recipients.py +53 -0
  379. pyrogram/raw/base/business_weekly_open.py +53 -0
  380. pyrogram/raw/base/business_work_hours.py +53 -0
  381. pyrogram/raw/base/cdn_config.py +63 -0
  382. pyrogram/raw/base/cdn_public_key.py +53 -0
  383. pyrogram/raw/base/channel_admin_log_event.py +53 -0
  384. pyrogram/raw/base/channel_admin_log_event_action.py +102 -0
  385. pyrogram/raw/base/channel_admin_log_events_filter.py +53 -0
  386. pyrogram/raw/base/channel_location.py +54 -0
  387. pyrogram/raw/base/channel_messages_filter.py +54 -0
  388. pyrogram/raw/base/channel_participant.py +58 -0
  389. pyrogram/raw/base/channel_participants_filter.py +60 -0
  390. pyrogram/raw/base/channels/__init__.py +29 -0
  391. pyrogram/raw/base/channels/admin_log_results.py +63 -0
  392. pyrogram/raw/base/channels/channel_participant.py +63 -0
  393. pyrogram/raw/base/channels/channel_participants.py +64 -0
  394. pyrogram/raw/base/channels/send_as_peers.py +63 -0
  395. pyrogram/raw/base/channels/sponsored_message_report_result.py +65 -0
  396. pyrogram/raw/base/chat.py +57 -0
  397. pyrogram/raw/base/chat_admin_rights.py +53 -0
  398. pyrogram/raw/base/chat_admin_with_invites.py +53 -0
  399. pyrogram/raw/base/chat_banned_rights.py +53 -0
  400. pyrogram/raw/base/chat_full.py +54 -0
  401. pyrogram/raw/base/chat_invite.py +65 -0
  402. pyrogram/raw/base/chat_invite_importer.py +53 -0
  403. pyrogram/raw/base/chat_onlines.py +63 -0
  404. pyrogram/raw/base/chat_participant.py +55 -0
  405. pyrogram/raw/base/chat_participants.py +54 -0
  406. pyrogram/raw/base/chat_photo.py +54 -0
  407. pyrogram/raw/base/chat_reactions.py +55 -0
  408. pyrogram/raw/base/chatlists/__init__.py +28 -0
  409. pyrogram/raw/base/chatlists/chatlist_invite.py +64 -0
  410. pyrogram/raw/base/chatlists/chatlist_updates.py +63 -0
  411. pyrogram/raw/base/chatlists/exported_chatlist_invite.py +63 -0
  412. pyrogram/raw/base/chatlists/exported_invites.py +63 -0
  413. pyrogram/raw/base/client_dh_inner_data.py +53 -0
  414. pyrogram/raw/base/code_settings.py +53 -0
  415. pyrogram/raw/base/config.py +63 -0
  416. pyrogram/raw/base/connected_bot.py +53 -0
  417. pyrogram/raw/base/connected_bot_star_ref.py +53 -0
  418. pyrogram/raw/base/contact.py +53 -0
  419. pyrogram/raw/base/contact_birthday.py +53 -0
  420. pyrogram/raw/base/contact_status.py +63 -0
  421. pyrogram/raw/base/contacts/__init__.py +31 -0
  422. pyrogram/raw/base/contacts/blocked.py +64 -0
  423. pyrogram/raw/base/contacts/contact_birthdays.py +63 -0
  424. pyrogram/raw/base/contacts/contacts.py +64 -0
  425. pyrogram/raw/base/contacts/found.py +63 -0
  426. pyrogram/raw/base/contacts/imported_contacts.py +63 -0
  427. pyrogram/raw/base/contacts/resolved_peer.py +64 -0
  428. pyrogram/raw/base/contacts/top_peers.py +65 -0
  429. pyrogram/raw/base/data_json.py +65 -0
  430. pyrogram/raw/base/dc_option.py +53 -0
  431. pyrogram/raw/base/default_history_ttl.py +63 -0
  432. pyrogram/raw/base/destroy_auth_key_res.py +65 -0
  433. pyrogram/raw/base/destroy_session_res.py +64 -0
  434. pyrogram/raw/base/dialog.py +54 -0
  435. pyrogram/raw/base/dialog_filter.py +55 -0
  436. pyrogram/raw/base/dialog_filter_suggested.py +63 -0
  437. pyrogram/raw/base/dialog_peer.py +64 -0
  438. pyrogram/raw/base/document.py +67 -0
  439. pyrogram/raw/base/document_attribute.py +60 -0
  440. pyrogram/raw/base/draft_message.py +54 -0
  441. pyrogram/raw/base/email_verification.py +55 -0
  442. pyrogram/raw/base/email_verify_purpose.py +55 -0
  443. pyrogram/raw/base/emoji_group.py +55 -0
  444. pyrogram/raw/base/emoji_keyword.py +54 -0
  445. pyrogram/raw/base/emoji_keywords_difference.py +64 -0
  446. pyrogram/raw/base/emoji_language.py +63 -0
  447. pyrogram/raw/base/emoji_list.py +68 -0
  448. pyrogram/raw/base/emoji_status.py +56 -0
  449. pyrogram/raw/base/emoji_url.py +63 -0
  450. pyrogram/raw/base/encrypted_chat.py +68 -0
  451. pyrogram/raw/base/encrypted_file.py +64 -0
  452. pyrogram/raw/base/encrypted_message.py +54 -0
  453. pyrogram/raw/base/exported_chat_invite.py +64 -0
  454. pyrogram/raw/base/exported_chatlist_invite.py +63 -0
  455. pyrogram/raw/base/exported_contact_token.py +63 -0
  456. pyrogram/raw/base/exported_message_link.py +63 -0
  457. pyrogram/raw/base/exported_story_link.py +63 -0
  458. pyrogram/raw/base/fact_check.py +63 -0
  459. pyrogram/raw/base/file_hash.py +65 -0
  460. pyrogram/raw/base/folder.py +53 -0
  461. pyrogram/raw/base/folder_peer.py +53 -0
  462. pyrogram/raw/base/forum_topic.py +54 -0
  463. pyrogram/raw/base/found_story.py +53 -0
  464. pyrogram/raw/base/fragment/__init__.py +25 -0
  465. pyrogram/raw/base/fragment/collectible_info.py +63 -0
  466. pyrogram/raw/base/game.py +53 -0
  467. pyrogram/raw/base/geo_point.py +54 -0
  468. pyrogram/raw/base/geo_point_address.py +53 -0
  469. pyrogram/raw/base/global_privacy_settings.py +64 -0
  470. pyrogram/raw/base/group_call.py +54 -0
  471. pyrogram/raw/base/group_call_participant.py +53 -0
  472. pyrogram/raw/base/group_call_participant_video.py +53 -0
  473. pyrogram/raw/base/group_call_participant_video_source_group.py +53 -0
  474. pyrogram/raw/base/group_call_stream_channel.py +53 -0
  475. pyrogram/raw/base/help/__init__.py +45 -0
  476. pyrogram/raw/base/help/app_config.py +64 -0
  477. pyrogram/raw/base/help/app_update.py +64 -0
  478. pyrogram/raw/base/help/config_simple.py +53 -0
  479. pyrogram/raw/base/help/countries_list.py +64 -0
  480. pyrogram/raw/base/help/country.py +53 -0
  481. pyrogram/raw/base/help/country_code.py +53 -0
  482. pyrogram/raw/base/help/deep_link_info.py +64 -0
  483. pyrogram/raw/base/help/invite_text.py +63 -0
  484. pyrogram/raw/base/help/passport_config.py +64 -0
  485. pyrogram/raw/base/help/peer_color_option.py +53 -0
  486. pyrogram/raw/base/help/peer_color_set.py +54 -0
  487. pyrogram/raw/base/help/peer_colors.py +65 -0
  488. pyrogram/raw/base/help/premium_promo.py +63 -0
  489. pyrogram/raw/base/help/promo_data.py +64 -0
  490. pyrogram/raw/base/help/recent_me_urls.py +63 -0
  491. pyrogram/raw/base/help/support.py +63 -0
  492. pyrogram/raw/base/help/support_name.py +63 -0
  493. pyrogram/raw/base/help/terms_of_service.py +53 -0
  494. pyrogram/raw/base/help/terms_of_service_update.py +64 -0
  495. pyrogram/raw/base/help/timezones_list.py +64 -0
  496. pyrogram/raw/base/help/user_info.py +65 -0
  497. pyrogram/raw/base/high_score.py +53 -0
  498. pyrogram/raw/base/http_wait.py +53 -0
  499. pyrogram/raw/base/imported_contact.py +53 -0
  500. pyrogram/raw/base/inline_bot_switch_pm.py +53 -0
  501. pyrogram/raw/base/inline_bot_web_view.py +53 -0
  502. pyrogram/raw/base/inline_query_peer_type.py +58 -0
  503. pyrogram/raw/base/input_app_event.py +53 -0
  504. pyrogram/raw/base/input_bot_app.py +54 -0
  505. pyrogram/raw/base/input_bot_inline_message.py +60 -0
  506. pyrogram/raw/base/input_bot_inline_message_id.py +54 -0
  507. pyrogram/raw/base/input_bot_inline_result.py +56 -0
  508. pyrogram/raw/base/input_business_away_message.py +53 -0
  509. pyrogram/raw/base/input_business_bot_recipients.py +53 -0
  510. pyrogram/raw/base/input_business_chat_link.py +53 -0
  511. pyrogram/raw/base/input_business_greeting_message.py +53 -0
  512. pyrogram/raw/base/input_business_intro.py +53 -0
  513. pyrogram/raw/base/input_business_recipients.py +53 -0
  514. pyrogram/raw/base/input_channel.py +55 -0
  515. pyrogram/raw/base/input_chat_photo.py +55 -0
  516. pyrogram/raw/base/input_chatlist.py +53 -0
  517. pyrogram/raw/base/input_check_password_srp.py +54 -0
  518. pyrogram/raw/base/input_client_proxy.py +53 -0
  519. pyrogram/raw/base/input_collectible.py +54 -0
  520. pyrogram/raw/base/input_contact.py +53 -0
  521. pyrogram/raw/base/input_dialog_peer.py +54 -0
  522. pyrogram/raw/base/input_document.py +54 -0
  523. pyrogram/raw/base/input_encrypted_chat.py +53 -0
  524. pyrogram/raw/base/input_encrypted_file.py +56 -0
  525. pyrogram/raw/base/input_file.py +55 -0
  526. pyrogram/raw/base/input_file_location.py +62 -0
  527. pyrogram/raw/base/input_folder_peer.py +53 -0
  528. pyrogram/raw/base/input_game.py +54 -0
  529. pyrogram/raw/base/input_geo_point.py +54 -0
  530. pyrogram/raw/base/input_group_call.py +53 -0
  531. pyrogram/raw/base/input_invoice.py +60 -0
  532. pyrogram/raw/base/input_media.py +70 -0
  533. pyrogram/raw/base/input_message.py +56 -0
  534. pyrogram/raw/base/input_notify_peer.py +57 -0
  535. pyrogram/raw/base/input_payment_credentials.py +56 -0
  536. pyrogram/raw/base/input_peer.py +59 -0
  537. pyrogram/raw/base/input_peer_notify_settings.py +53 -0
  538. pyrogram/raw/base/input_phone_call.py +53 -0
  539. pyrogram/raw/base/input_photo.py +54 -0
  540. pyrogram/raw/base/input_privacy_key.py +64 -0
  541. pyrogram/raw/base/input_privacy_rule.py +64 -0
  542. pyrogram/raw/base/input_quick_reply_shortcut.py +54 -0
  543. pyrogram/raw/base/input_reply_to.py +54 -0
  544. pyrogram/raw/base/input_saved_star_gift.py +54 -0
  545. pyrogram/raw/base/input_secure_file.py +54 -0
  546. pyrogram/raw/base/input_secure_value.py +53 -0
  547. pyrogram/raw/base/input_single_media.py +53 -0
  548. pyrogram/raw/base/input_stars_transaction.py +53 -0
  549. pyrogram/raw/base/input_sticker_set.py +63 -0
  550. pyrogram/raw/base/input_sticker_set_item.py +53 -0
  551. pyrogram/raw/base/input_stickered_media.py +54 -0
  552. pyrogram/raw/base/input_store_payment_purpose.py +59 -0
  553. pyrogram/raw/base/input_theme.py +54 -0
  554. pyrogram/raw/base/input_theme_settings.py +53 -0
  555. pyrogram/raw/base/input_user.py +56 -0
  556. pyrogram/raw/base/input_wall_paper.py +55 -0
  557. pyrogram/raw/base/input_web_document.py +53 -0
  558. pyrogram/raw/base/input_web_file_location.py +55 -0
  559. pyrogram/raw/base/invoice.py +53 -0
  560. pyrogram/raw/base/ip_port.py +54 -0
  561. pyrogram/raw/base/json_object_value.py +53 -0
  562. pyrogram/raw/base/json_value.py +58 -0
  563. pyrogram/raw/base/keyboard_button.py +70 -0
  564. pyrogram/raw/base/keyboard_button_row.py +53 -0
  565. pyrogram/raw/base/labeled_price.py +53 -0
  566. pyrogram/raw/base/lang_pack_difference.py +64 -0
  567. pyrogram/raw/base/lang_pack_language.py +64 -0
  568. pyrogram/raw/base/lang_pack_string.py +65 -0
  569. pyrogram/raw/base/mask_coords.py +53 -0
  570. pyrogram/raw/base/media_area.py +61 -0
  571. pyrogram/raw/base/media_area_coordinates.py +53 -0
  572. pyrogram/raw/base/message.py +55 -0
  573. pyrogram/raw/base/message_action.py +100 -0
  574. pyrogram/raw/base/message_entity.py +73 -0
  575. pyrogram/raw/base/message_extended_media.py +54 -0
  576. pyrogram/raw/base/message_fwd_header.py +53 -0
  577. pyrogram/raw/base/message_media.py +80 -0
  578. pyrogram/raw/base/message_peer_reaction.py +53 -0
  579. pyrogram/raw/base/message_peer_vote.py +55 -0
  580. pyrogram/raw/base/message_range.py +63 -0
  581. pyrogram/raw/base/message_reactions.py +53 -0
  582. pyrogram/raw/base/message_reactor.py +53 -0
  583. pyrogram/raw/base/message_replies.py +53 -0
  584. pyrogram/raw/base/message_reply_header.py +54 -0
  585. pyrogram/raw/base/message_report_option.py +53 -0
  586. pyrogram/raw/base/message_views.py +53 -0
  587. pyrogram/raw/base/messages/__init__.py +84 -0
  588. pyrogram/raw/base/messages/affected_found_messages.py +63 -0
  589. pyrogram/raw/base/messages/affected_history.py +69 -0
  590. pyrogram/raw/base/messages/affected_messages.py +66 -0
  591. pyrogram/raw/base/messages/all_stickers.py +66 -0
  592. pyrogram/raw/base/messages/archived_stickers.py +63 -0
  593. pyrogram/raw/base/messages/available_effects.py +64 -0
  594. pyrogram/raw/base/messages/available_reactions.py +64 -0
  595. pyrogram/raw/base/messages/bot_app.py +63 -0
  596. pyrogram/raw/base/messages/bot_callback_answer.py +63 -0
  597. pyrogram/raw/base/messages/bot_prepared_inline_message.py +63 -0
  598. pyrogram/raw/base/messages/bot_results.py +63 -0
  599. pyrogram/raw/base/messages/chat_admins_with_invites.py +63 -0
  600. pyrogram/raw/base/messages/chat_full.py +64 -0
  601. pyrogram/raw/base/messages/chat_invite_importers.py +63 -0
  602. pyrogram/raw/base/messages/chats.py +71 -0
  603. pyrogram/raw/base/messages/checked_history_import_peer.py +63 -0
  604. pyrogram/raw/base/messages/dh_config.py +64 -0
  605. pyrogram/raw/base/messages/dialog_filters.py +63 -0
  606. pyrogram/raw/base/messages/dialogs.py +65 -0
  607. pyrogram/raw/base/messages/discussion_message.py +63 -0
  608. pyrogram/raw/base/messages/emoji_groups.py +67 -0
  609. pyrogram/raw/base/messages/exported_chat_invite.py +65 -0
  610. pyrogram/raw/base/messages/exported_chat_invites.py +63 -0
  611. pyrogram/raw/base/messages/faved_stickers.py +64 -0
  612. pyrogram/raw/base/messages/featured_stickers.py +66 -0
  613. pyrogram/raw/base/messages/forum_topics.py +64 -0
  614. pyrogram/raw/base/messages/found_sticker_sets.py +65 -0
  615. pyrogram/raw/base/messages/found_stickers.py +64 -0
  616. pyrogram/raw/base/messages/high_scores.py +64 -0
  617. pyrogram/raw/base/messages/history_import.py +63 -0
  618. pyrogram/raw/base/messages/history_import_parsed.py +63 -0
  619. pyrogram/raw/base/messages/inactive_chats.py +63 -0
  620. pyrogram/raw/base/messages/invited_users.py +65 -0
  621. pyrogram/raw/base/messages/message_edit_data.py +63 -0
  622. pyrogram/raw/base/messages/message_reactions_list.py +63 -0
  623. pyrogram/raw/base/messages/message_views.py +63 -0
  624. pyrogram/raw/base/messages/messages.py +80 -0
  625. pyrogram/raw/base/messages/my_stickers.py +63 -0
  626. pyrogram/raw/base/messages/peer_dialogs.py +64 -0
  627. pyrogram/raw/base/messages/peer_settings.py +63 -0
  628. pyrogram/raw/base/messages/prepared_inline_message.py +63 -0
  629. pyrogram/raw/base/messages/quick_replies.py +64 -0
  630. pyrogram/raw/base/messages/reactions.py +66 -0
  631. pyrogram/raw/base/messages/recent_stickers.py +64 -0
  632. pyrogram/raw/base/messages/saved_dialogs.py +66 -0
  633. pyrogram/raw/base/messages/saved_gifs.py +64 -0
  634. pyrogram/raw/base/messages/saved_reaction_tags.py +64 -0
  635. pyrogram/raw/base/messages/search_counter.py +63 -0
  636. pyrogram/raw/base/messages/search_results_calendar.py +63 -0
  637. pyrogram/raw/base/messages/search_results_positions.py +63 -0
  638. pyrogram/raw/base/messages/sent_encrypted_message.py +66 -0
  639. pyrogram/raw/base/messages/sponsored_messages.py +64 -0
  640. pyrogram/raw/base/messages/sticker_set.py +72 -0
  641. pyrogram/raw/base/messages/sticker_set_install_result.py +64 -0
  642. pyrogram/raw/base/messages/stickers.py +64 -0
  643. pyrogram/raw/base/messages/transcribed_audio.py +63 -0
  644. pyrogram/raw/base/messages/translated_text.py +63 -0
  645. pyrogram/raw/base/messages/votes_list.py +63 -0
  646. pyrogram/raw/base/messages/web_page.py +63 -0
  647. pyrogram/raw/base/messages/web_page_preview.py +63 -0
  648. pyrogram/raw/base/messages_filter.py +69 -0
  649. pyrogram/raw/base/missing_invitee.py +53 -0
  650. pyrogram/raw/base/msg_detailed_info.py +54 -0
  651. pyrogram/raw/base/msg_resend_req.py +54 -0
  652. pyrogram/raw/base/msgs_ack.py +53 -0
  653. pyrogram/raw/base/msgs_all_info.py +53 -0
  654. pyrogram/raw/base/msgs_state_info.py +53 -0
  655. pyrogram/raw/base/msgs_state_req.py +53 -0
  656. pyrogram/raw/base/my_boost.py +53 -0
  657. pyrogram/raw/base/nearest_dc.py +63 -0
  658. pyrogram/raw/base/new_session.py +53 -0
  659. pyrogram/raw/base/notification_sound.py +56 -0
  660. pyrogram/raw/base/notify_peer.py +57 -0
  661. pyrogram/raw/base/outbox_read_date.py +63 -0
  662. pyrogram/raw/base/page.py +53 -0
  663. pyrogram/raw/base/page_block.py +81 -0
  664. pyrogram/raw/base/page_caption.py +53 -0
  665. pyrogram/raw/base/page_list_item.py +54 -0
  666. pyrogram/raw/base/page_list_ordered_item.py +54 -0
  667. pyrogram/raw/base/page_related_article.py +53 -0
  668. pyrogram/raw/base/page_table_cell.py +53 -0
  669. pyrogram/raw/base/page_table_row.py +53 -0
  670. pyrogram/raw/base/password_kdf_algo.py +54 -0
  671. pyrogram/raw/base/payment_charge.py +53 -0
  672. pyrogram/raw/base/payment_form_method.py +53 -0
  673. pyrogram/raw/base/payment_requested_info.py +53 -0
  674. pyrogram/raw/base/payment_saved_credentials.py +53 -0
  675. pyrogram/raw/base/payments/__init__.py +44 -0
  676. pyrogram/raw/base/payments/bank_card_data.py +63 -0
  677. pyrogram/raw/base/payments/checked_gift_code.py +63 -0
  678. pyrogram/raw/base/payments/connected_star_ref_bots.py +66 -0
  679. pyrogram/raw/base/payments/exported_invoice.py +63 -0
  680. pyrogram/raw/base/payments/giveaway_info.py +64 -0
  681. pyrogram/raw/base/payments/payment_form.py +65 -0
  682. pyrogram/raw/base/payments/payment_receipt.py +64 -0
  683. pyrogram/raw/base/payments/payment_result.py +65 -0
  684. pyrogram/raw/base/payments/saved_info.py +63 -0
  685. pyrogram/raw/base/payments/saved_star_gifts.py +64 -0
  686. pyrogram/raw/base/payments/star_gift_upgrade_preview.py +63 -0
  687. pyrogram/raw/base/payments/star_gift_withdrawal_url.py +63 -0
  688. pyrogram/raw/base/payments/star_gifts.py +64 -0
  689. pyrogram/raw/base/payments/stars_revenue_ads_account_url.py +63 -0
  690. pyrogram/raw/base/payments/stars_revenue_stats.py +63 -0
  691. pyrogram/raw/base/payments/stars_revenue_withdrawal_url.py +63 -0
  692. pyrogram/raw/base/payments/stars_status.py +66 -0
  693. pyrogram/raw/base/payments/suggested_star_ref_bots.py +63 -0
  694. pyrogram/raw/base/payments/unique_star_gift.py +63 -0
  695. pyrogram/raw/base/payments/validated_requested_info.py +63 -0
  696. pyrogram/raw/base/peer.py +65 -0
  697. pyrogram/raw/base/peer_blocked.py +53 -0
  698. pyrogram/raw/base/peer_color.py +53 -0
  699. pyrogram/raw/base/peer_located.py +54 -0
  700. pyrogram/raw/base/peer_notify_settings.py +63 -0
  701. pyrogram/raw/base/peer_settings.py +53 -0
  702. pyrogram/raw/base/peer_stories.py +53 -0
  703. pyrogram/raw/base/phone/__init__.py +31 -0
  704. pyrogram/raw/base/phone/exported_group_call_invite.py +63 -0
  705. pyrogram/raw/base/phone/group_call.py +63 -0
  706. pyrogram/raw/base/phone/group_call_stream_channels.py +63 -0
  707. pyrogram/raw/base/phone/group_call_stream_rtmp_url.py +63 -0
  708. pyrogram/raw/base/phone/group_participants.py +63 -0
  709. pyrogram/raw/base/phone/join_as_peers.py +63 -0
  710. pyrogram/raw/base/phone/phone_call.py +66 -0
  711. pyrogram/raw/base/phone_call.py +58 -0
  712. pyrogram/raw/base/phone_call_discard_reason.py +57 -0
  713. pyrogram/raw/base/phone_call_protocol.py +53 -0
  714. pyrogram/raw/base/phone_connection.py +54 -0
  715. pyrogram/raw/base/photo.py +54 -0
  716. pyrogram/raw/base/photo_size.py +58 -0
  717. pyrogram/raw/base/photos/__init__.py +26 -0
  718. pyrogram/raw/base/photos/photo.py +65 -0
  719. pyrogram/raw/base/photos/photos.py +64 -0
  720. pyrogram/raw/base/poll.py +53 -0
  721. pyrogram/raw/base/poll_answer.py +53 -0
  722. pyrogram/raw/base/poll_answer_voters.py +53 -0
  723. pyrogram/raw/base/poll_results.py +53 -0
  724. pyrogram/raw/base/pong.py +64 -0
  725. pyrogram/raw/base/popular_contact.py +53 -0
  726. pyrogram/raw/base/post_address.py +53 -0
  727. pyrogram/raw/base/post_interaction_counters.py +54 -0
  728. pyrogram/raw/base/pq_inner_data.py +56 -0
  729. pyrogram/raw/base/premium/__init__.py +27 -0
  730. pyrogram/raw/base/premium/boosts_list.py +64 -0
  731. pyrogram/raw/base/premium/boosts_status.py +63 -0
  732. pyrogram/raw/base/premium/my_boosts.py +64 -0
  733. pyrogram/raw/base/premium_gift_code_option.py +63 -0
  734. pyrogram/raw/base/premium_gift_option.py +53 -0
  735. pyrogram/raw/base/premium_subscription_option.py +53 -0
  736. pyrogram/raw/base/prepaid_giveaway.py +54 -0
  737. pyrogram/raw/base/privacy_key.py +64 -0
  738. pyrogram/raw/base/privacy_rule.py +64 -0
  739. pyrogram/raw/base/public_forward.py +54 -0
  740. pyrogram/raw/base/quick_reply.py +53 -0
  741. pyrogram/raw/base/reaction.py +56 -0
  742. pyrogram/raw/base/reaction_count.py +53 -0
  743. pyrogram/raw/base/reaction_notifications_from.py +54 -0
  744. pyrogram/raw/base/reactions_notify_settings.py +64 -0
  745. pyrogram/raw/base/read_participant_date.py +63 -0
  746. pyrogram/raw/base/received_notify_message.py +63 -0
  747. pyrogram/raw/base/recent_me_url.py +57 -0
  748. pyrogram/raw/base/reply_markup.py +56 -0
  749. pyrogram/raw/base/report_reason.py +62 -0
  750. pyrogram/raw/base/report_result.py +66 -0
  751. pyrogram/raw/base/request_peer_type.py +55 -0
  752. pyrogram/raw/base/requested_peer.py +55 -0
  753. pyrogram/raw/base/res_pq.py +64 -0
  754. pyrogram/raw/base/restriction_reason.py +53 -0
  755. pyrogram/raw/base/rich_text.py +68 -0
  756. pyrogram/raw/base/rpc_drop_answer.py +65 -0
  757. pyrogram/raw/base/rpc_error.py +53 -0
  758. pyrogram/raw/base/rpc_result.py +53 -0
  759. pyrogram/raw/base/saved_contact.py +63 -0
  760. pyrogram/raw/base/saved_dialog.py +53 -0
  761. pyrogram/raw/base/saved_reaction_tag.py +53 -0
  762. pyrogram/raw/base/saved_star_gift.py +53 -0
  763. pyrogram/raw/base/search_results_calendar_period.py +53 -0
  764. pyrogram/raw/base/search_results_position.py +53 -0
  765. pyrogram/raw/base/secure_credentials_encrypted.py +53 -0
  766. pyrogram/raw/base/secure_data.py +53 -0
  767. pyrogram/raw/base/secure_file.py +54 -0
  768. pyrogram/raw/base/secure_password_kdf_algo.py +55 -0
  769. pyrogram/raw/base/secure_plain_data.py +54 -0
  770. pyrogram/raw/base/secure_required_type.py +54 -0
  771. pyrogram/raw/base/secure_secret_settings.py +53 -0
  772. pyrogram/raw/base/secure_value.py +65 -0
  773. pyrogram/raw/base/secure_value_error.py +61 -0
  774. pyrogram/raw/base/secure_value_hash.py +53 -0
  775. pyrogram/raw/base/secure_value_type.py +65 -0
  776. pyrogram/raw/base/send_as_peer.py +53 -0
  777. pyrogram/raw/base/send_message_action.py +70 -0
  778. pyrogram/raw/base/server_dh_inner_data.py +53 -0
  779. pyrogram/raw/base/server_dh_params.py +64 -0
  780. pyrogram/raw/base/set_client_dh_params_answer.py +65 -0
  781. pyrogram/raw/base/shipping_option.py +53 -0
  782. pyrogram/raw/base/sms_job.py +63 -0
  783. pyrogram/raw/base/smsjobs/__init__.py +26 -0
  784. pyrogram/raw/base/smsjobs/eligibility_to_join.py +63 -0
  785. pyrogram/raw/base/smsjobs/status.py +63 -0
  786. pyrogram/raw/base/sponsored_message.py +53 -0
  787. pyrogram/raw/base/sponsored_message_report_option.py +53 -0
  788. pyrogram/raw/base/star_gift.py +54 -0
  789. pyrogram/raw/base/star_gift_attribute.py +56 -0
  790. pyrogram/raw/base/star_ref_program.py +63 -0
  791. pyrogram/raw/base/stars_amount.py +53 -0
  792. pyrogram/raw/base/stars_gift_option.py +63 -0
  793. pyrogram/raw/base/stars_giveaway_option.py +63 -0
  794. pyrogram/raw/base/stars_giveaway_winners_option.py +53 -0
  795. pyrogram/raw/base/stars_revenue_status.py +53 -0
  796. pyrogram/raw/base/stars_subscription.py +53 -0
  797. pyrogram/raw/base/stars_subscription_pricing.py +53 -0
  798. pyrogram/raw/base/stars_topup_option.py +63 -0
  799. pyrogram/raw/base/stars_transaction.py +53 -0
  800. pyrogram/raw/base/stars_transaction_peer.py +60 -0
  801. pyrogram/raw/base/stats/__init__.py +32 -0
  802. pyrogram/raw/base/stats/broadcast_revenue_stats.py +63 -0
  803. pyrogram/raw/base/stats/broadcast_revenue_transactions.py +63 -0
  804. pyrogram/raw/base/stats/broadcast_revenue_withdrawal_url.py +63 -0
  805. pyrogram/raw/base/stats/broadcast_stats.py +63 -0
  806. pyrogram/raw/base/stats/megagroup_stats.py +63 -0
  807. pyrogram/raw/base/stats/message_stats.py +63 -0
  808. pyrogram/raw/base/stats/public_forwards.py +64 -0
  809. pyrogram/raw/base/stats/story_stats.py +63 -0
  810. pyrogram/raw/base/stats_abs_value_and_prev.py +53 -0
  811. pyrogram/raw/base/stats_date_range_days.py +53 -0
  812. pyrogram/raw/base/stats_graph.py +65 -0
  813. pyrogram/raw/base/stats_group_top_admin.py +53 -0
  814. pyrogram/raw/base/stats_group_top_inviter.py +53 -0
  815. pyrogram/raw/base/stats_group_top_poster.py +53 -0
  816. pyrogram/raw/base/stats_percent_value.py +53 -0
  817. pyrogram/raw/base/stats_url.py +53 -0
  818. pyrogram/raw/base/sticker_keyword.py +53 -0
  819. pyrogram/raw/base/sticker_pack.py +53 -0
  820. pyrogram/raw/base/sticker_set.py +53 -0
  821. pyrogram/raw/base/sticker_set_covered.py +66 -0
  822. pyrogram/raw/base/stickers/__init__.py +25 -0
  823. pyrogram/raw/base/stickers/suggested_short_name.py +63 -0
  824. pyrogram/raw/base/storage/__init__.py +25 -0
  825. pyrogram/raw/base/storage/file_type.py +62 -0
  826. pyrogram/raw/base/stories/__init__.py +31 -0
  827. pyrogram/raw/base/stories/all_stories.py +64 -0
  828. pyrogram/raw/base/stories/found_stories.py +63 -0
  829. pyrogram/raw/base/stories/peer_stories.py +63 -0
  830. pyrogram/raw/base/stories/stories.py +65 -0
  831. pyrogram/raw/base/stories/story_reactions_list.py +63 -0
  832. pyrogram/raw/base/stories/story_views.py +63 -0
  833. pyrogram/raw/base/stories/story_views_list.py +63 -0
  834. pyrogram/raw/base/stories_stealth_mode.py +53 -0
  835. pyrogram/raw/base/story_fwd_header.py +53 -0
  836. pyrogram/raw/base/story_item.py +55 -0
  837. pyrogram/raw/base/story_reaction.py +55 -0
  838. pyrogram/raw/base/story_view.py +55 -0
  839. pyrogram/raw/base/story_views.py +53 -0
  840. pyrogram/raw/base/text_with_entities.py +53 -0
  841. pyrogram/raw/base/theme.py +65 -0
  842. pyrogram/raw/base/theme_settings.py +53 -0
  843. pyrogram/raw/base/timezone.py +53 -0
  844. pyrogram/raw/base/top_peer.py +53 -0
  845. pyrogram/raw/base/top_peer_category.py +61 -0
  846. pyrogram/raw/base/top_peer_category_peers.py +53 -0
  847. pyrogram/raw/base/update.py +193 -0
  848. pyrogram/raw/base/updates/__init__.py +27 -0
  849. pyrogram/raw/base/updates/channel_difference.py +65 -0
  850. pyrogram/raw/base/updates/difference.py +66 -0
  851. pyrogram/raw/base/updates/state.py +63 -0
  852. pyrogram/raw/base/updates_t.py +175 -0
  853. pyrogram/raw/base/upload/__init__.py +27 -0
  854. pyrogram/raw/base/upload/cdn_file.py +64 -0
  855. pyrogram/raw/base/upload/file.py +64 -0
  856. pyrogram/raw/base/upload/web_file.py +63 -0
  857. pyrogram/raw/base/url_auth_result.py +66 -0
  858. pyrogram/raw/base/user.py +69 -0
  859. pyrogram/raw/base/user_full.py +53 -0
  860. pyrogram/raw/base/user_profile_photo.py +54 -0
  861. pyrogram/raw/base/user_status.py +58 -0
  862. pyrogram/raw/base/username.py +53 -0
  863. pyrogram/raw/base/users/__init__.py +26 -0
  864. pyrogram/raw/base/users/user_full.py +63 -0
  865. pyrogram/raw/base/users/users.py +64 -0
  866. pyrogram/raw/base/video_size.py +55 -0
  867. pyrogram/raw/base/wall_paper.py +66 -0
  868. pyrogram/raw/base/wall_paper_settings.py +53 -0
  869. pyrogram/raw/base/web_authorization.py +53 -0
  870. pyrogram/raw/base/web_document.py +54 -0
  871. pyrogram/raw/base/web_page.py +56 -0
  872. pyrogram/raw/base/web_page_attribute.py +56 -0
  873. pyrogram/raw/base/web_view_message_sent.py +63 -0
  874. pyrogram/raw/base/web_view_result.py +66 -0
  875. pyrogram/raw/core/__init__.py +31 -0
  876. pyrogram/raw/core/future_salt.py +53 -0
  877. pyrogram/raw/core/future_salts.py +63 -0
  878. pyrogram/raw/core/gzip_packed.py +62 -0
  879. pyrogram/raw/core/list.py +26 -0
  880. pyrogram/raw/core/message.py +56 -0
  881. pyrogram/raw/core/msg_container.py +53 -0
  882. pyrogram/raw/core/primitives/__init__.py +24 -0
  883. pyrogram/raw/core/primitives/bool.py +48 -0
  884. pyrogram/raw/core/primitives/bytes.py +55 -0
  885. pyrogram/raw/core/primitives/double.py +32 -0
  886. pyrogram/raw/core/primitives/int.py +45 -0
  887. pyrogram/raw/core/primitives/string.py +31 -0
  888. pyrogram/raw/core/primitives/vector.py +59 -0
  889. pyrogram/raw/core/tl_object.py +82 -0
  890. pyrogram/raw/functions/__init__.py +45 -0
  891. pyrogram/raw/functions/account/__init__.py +137 -0
  892. pyrogram/raw/functions/account/accept_authorization.py +104 -0
  893. pyrogram/raw/functions/account/cancel_password_email.py +67 -0
  894. pyrogram/raw/functions/account/change_authorization_settings.py +98 -0
  895. pyrogram/raw/functions/account/change_phone.py +88 -0
  896. pyrogram/raw/functions/account/check_username.py +72 -0
  897. pyrogram/raw/functions/account/clear_recent_emoji_statuses.py +67 -0
  898. pyrogram/raw/functions/account/confirm_password_email.py +72 -0
  899. pyrogram/raw/functions/account/confirm_phone.py +80 -0
  900. pyrogram/raw/functions/account/create_business_chat_link.py +72 -0
  901. pyrogram/raw/functions/account/create_theme.py +102 -0
  902. pyrogram/raw/functions/account/decline_password_reset.py +67 -0
  903. pyrogram/raw/functions/account/delete_account.py +84 -0
  904. pyrogram/raw/functions/account/delete_auto_save_exceptions.py +67 -0
  905. pyrogram/raw/functions/account/delete_business_chat_link.py +72 -0
  906. pyrogram/raw/functions/account/delete_secure_value.py +72 -0
  907. pyrogram/raw/functions/account/disable_peer_connected_bot.py +72 -0
  908. pyrogram/raw/functions/account/edit_business_chat_link.py +80 -0
  909. pyrogram/raw/functions/account/finish_takeout_session.py +72 -0
  910. pyrogram/raw/functions/account/get_account_ttl.py +67 -0
  911. pyrogram/raw/functions/account/get_all_secure_values.py +67 -0
  912. pyrogram/raw/functions/account/get_authorization_form.py +88 -0
  913. pyrogram/raw/functions/account/get_authorizations.py +67 -0
  914. pyrogram/raw/functions/account/get_auto_download_settings.py +67 -0
  915. pyrogram/raw/functions/account/get_auto_save_settings.py +67 -0
  916. pyrogram/raw/functions/account/get_bot_business_connection.py +72 -0
  917. pyrogram/raw/functions/account/get_business_chat_links.py +67 -0
  918. pyrogram/raw/functions/account/get_channel_default_emoji_statuses.py +72 -0
  919. pyrogram/raw/functions/account/get_channel_restricted_status_emojis.py +72 -0
  920. pyrogram/raw/functions/account/get_chat_themes.py +72 -0
  921. pyrogram/raw/functions/account/get_collectible_emoji_statuses.py +72 -0
  922. pyrogram/raw/functions/account/get_connected_bots.py +67 -0
  923. pyrogram/raw/functions/account/get_contact_sign_up_notification.py +67 -0
  924. pyrogram/raw/functions/account/get_content_settings.py +67 -0
  925. pyrogram/raw/functions/account/get_default_background_emojis.py +72 -0
  926. pyrogram/raw/functions/account/get_default_emoji_statuses.py +72 -0
  927. pyrogram/raw/functions/account/get_default_group_photo_emojis.py +72 -0
  928. pyrogram/raw/functions/account/get_default_profile_photo_emojis.py +72 -0
  929. pyrogram/raw/functions/account/get_global_privacy_settings.py +67 -0
  930. pyrogram/raw/functions/account/get_multi_wall_papers.py +72 -0
  931. pyrogram/raw/functions/account/get_notify_exceptions.py +88 -0
  932. pyrogram/raw/functions/account/get_notify_settings.py +72 -0
  933. pyrogram/raw/functions/account/get_password.py +67 -0
  934. pyrogram/raw/functions/account/get_password_settings.py +72 -0
  935. pyrogram/raw/functions/account/get_privacy.py +72 -0
  936. pyrogram/raw/functions/account/get_reactions_notify_settings.py +67 -0
  937. pyrogram/raw/functions/account/get_recent_emoji_statuses.py +72 -0
  938. pyrogram/raw/functions/account/get_saved_ringtones.py +72 -0
  939. pyrogram/raw/functions/account/get_secure_value.py +72 -0
  940. pyrogram/raw/functions/account/get_theme.py +80 -0
  941. pyrogram/raw/functions/account/get_themes.py +80 -0
  942. pyrogram/raw/functions/account/get_tmp_password.py +80 -0
  943. pyrogram/raw/functions/account/get_wall_paper.py +72 -0
  944. pyrogram/raw/functions/account/get_wall_papers.py +72 -0
  945. pyrogram/raw/functions/account/get_web_authorizations.py +67 -0
  946. pyrogram/raw/functions/account/init_takeout_session.py +111 -0
  947. pyrogram/raw/functions/account/install_theme.py +101 -0
  948. pyrogram/raw/functions/account/install_wall_paper.py +80 -0
  949. pyrogram/raw/functions/account/invalidate_sign_in_codes.py +72 -0
  950. pyrogram/raw/functions/account/register_device.py +112 -0
  951. pyrogram/raw/functions/account/reorder_usernames.py +72 -0
  952. pyrogram/raw/functions/account/report_peer.py +88 -0
  953. pyrogram/raw/functions/account/report_profile_photo.py +96 -0
  954. pyrogram/raw/functions/account/resend_password_email.py +67 -0
  955. pyrogram/raw/functions/account/reset_authorization.py +72 -0
  956. pyrogram/raw/functions/account/reset_notify_settings.py +67 -0
  957. pyrogram/raw/functions/account/reset_password.py +67 -0
  958. pyrogram/raw/functions/account/reset_wall_papers.py +67 -0
  959. pyrogram/raw/functions/account/reset_web_authorization.py +72 -0
  960. pyrogram/raw/functions/account/reset_web_authorizations.py +67 -0
  961. pyrogram/raw/functions/account/resolve_business_chat_link.py +72 -0
  962. pyrogram/raw/functions/account/save_auto_download_settings.py +86 -0
  963. pyrogram/raw/functions/account/save_auto_save_settings.py +102 -0
  964. pyrogram/raw/functions/account/save_ringtone.py +80 -0
  965. pyrogram/raw/functions/account/save_secure_value.py +80 -0
  966. pyrogram/raw/functions/account/save_theme.py +80 -0
  967. pyrogram/raw/functions/account/save_wall_paper.py +88 -0
  968. pyrogram/raw/functions/account/send_change_phone_code.py +80 -0
  969. pyrogram/raw/functions/account/send_confirm_phone_code.py +80 -0
  970. pyrogram/raw/functions/account/send_verify_email_code.py +80 -0
  971. pyrogram/raw/functions/account/send_verify_phone_code.py +80 -0
  972. pyrogram/raw/functions/account/set_account_ttl.py +72 -0
  973. pyrogram/raw/functions/account/set_authorization_ttl.py +72 -0
  974. pyrogram/raw/functions/account/set_contact_sign_up_notification.py +72 -0
  975. pyrogram/raw/functions/account/set_content_settings.py +72 -0
  976. pyrogram/raw/functions/account/set_global_privacy_settings.py +72 -0
  977. pyrogram/raw/functions/account/set_privacy.py +80 -0
  978. pyrogram/raw/functions/account/set_reactions_notify_settings.py +72 -0
  979. pyrogram/raw/functions/account/toggle_connected_bot_paused.py +80 -0
  980. pyrogram/raw/functions/account/toggle_sponsored_messages.py +72 -0
  981. pyrogram/raw/functions/account/toggle_username.py +80 -0
  982. pyrogram/raw/functions/account/unregister_device.py +88 -0
  983. pyrogram/raw/functions/account/update_birthday.py +76 -0
  984. pyrogram/raw/functions/account/update_business_away_message.py +76 -0
  985. pyrogram/raw/functions/account/update_business_greeting_message.py +76 -0
  986. pyrogram/raw/functions/account/update_business_intro.py +76 -0
  987. pyrogram/raw/functions/account/update_business_location.py +85 -0
  988. pyrogram/raw/functions/account/update_business_work_hours.py +76 -0
  989. pyrogram/raw/functions/account/update_color.py +90 -0
  990. pyrogram/raw/functions/account/update_connected_bot.py +94 -0
  991. pyrogram/raw/functions/account/update_device_locked.py +72 -0
  992. pyrogram/raw/functions/account/update_emoji_status.py +72 -0
  993. pyrogram/raw/functions/account/update_notify_settings.py +80 -0
  994. pyrogram/raw/functions/account/update_password_settings.py +80 -0
  995. pyrogram/raw/functions/account/update_personal_channel.py +72 -0
  996. pyrogram/raw/functions/account/update_profile.py +93 -0
  997. pyrogram/raw/functions/account/update_status.py +72 -0
  998. pyrogram/raw/functions/account/update_theme.py +120 -0
  999. pyrogram/raw/functions/account/update_username.py +72 -0
  1000. pyrogram/raw/functions/account/upload_ringtone.py +88 -0
  1001. pyrogram/raw/functions/account/upload_theme.py +100 -0
  1002. pyrogram/raw/functions/account/upload_wall_paper.py +96 -0
  1003. pyrogram/raw/functions/account/verify_email.py +80 -0
  1004. pyrogram/raw/functions/account/verify_phone.py +88 -0
  1005. pyrogram/raw/functions/auth/__init__.py +47 -0
  1006. pyrogram/raw/functions/auth/accept_login_token.py +72 -0
  1007. pyrogram/raw/functions/auth/bind_temp_auth_key.py +96 -0
  1008. pyrogram/raw/functions/auth/cancel_code.py +80 -0
  1009. pyrogram/raw/functions/auth/check_password.py +72 -0
  1010. pyrogram/raw/functions/auth/check_recovery_password.py +72 -0
  1011. pyrogram/raw/functions/auth/drop_temp_auth_keys.py +72 -0
  1012. pyrogram/raw/functions/auth/export_authorization.py +72 -0
  1013. pyrogram/raw/functions/auth/export_login_token.py +88 -0
  1014. pyrogram/raw/functions/auth/import_authorization.py +80 -0
  1015. pyrogram/raw/functions/auth/import_bot_authorization.py +96 -0
  1016. pyrogram/raw/functions/auth/import_login_token.py +72 -0
  1017. pyrogram/raw/functions/auth/import_web_token_authorization.py +88 -0
  1018. pyrogram/raw/functions/auth/log_out.py +67 -0
  1019. pyrogram/raw/functions/auth/recover_password.py +84 -0
  1020. pyrogram/raw/functions/auth/report_missing_code.py +88 -0
  1021. pyrogram/raw/functions/auth/request_firebase_sms.py +109 -0
  1022. pyrogram/raw/functions/auth/request_password_recovery.py +67 -0
  1023. pyrogram/raw/functions/auth/resend_code.py +91 -0
  1024. pyrogram/raw/functions/auth/reset_authorizations.py +67 -0
  1025. pyrogram/raw/functions/auth/reset_login_email.py +80 -0
  1026. pyrogram/raw/functions/auth/send_code.py +96 -0
  1027. pyrogram/raw/functions/auth/sign_in.py +101 -0
  1028. pyrogram/raw/functions/auth/sign_up.py +104 -0
  1029. pyrogram/raw/functions/bots/__init__.py +54 -0
  1030. pyrogram/raw/functions/bots/add_preview_media.py +88 -0
  1031. pyrogram/raw/functions/bots/allow_send_message.py +72 -0
  1032. pyrogram/raw/functions/bots/answer_webhook_json_query.py +80 -0
  1033. pyrogram/raw/functions/bots/can_send_message.py +72 -0
  1034. pyrogram/raw/functions/bots/check_download_file_params.py +88 -0
  1035. pyrogram/raw/functions/bots/delete_preview_media.py +88 -0
  1036. pyrogram/raw/functions/bots/edit_preview_media.py +96 -0
  1037. pyrogram/raw/functions/bots/get_admined_bots.py +67 -0
  1038. pyrogram/raw/functions/bots/get_bot_commands.py +80 -0
  1039. pyrogram/raw/functions/bots/get_bot_info.py +84 -0
  1040. pyrogram/raw/functions/bots/get_bot_menu_button.py +72 -0
  1041. pyrogram/raw/functions/bots/get_bot_recommendations.py +72 -0
  1042. pyrogram/raw/functions/bots/get_popular_app_bots.py +80 -0
  1043. pyrogram/raw/functions/bots/get_preview_info.py +80 -0
  1044. pyrogram/raw/functions/bots/get_preview_medias.py +72 -0
  1045. pyrogram/raw/functions/bots/invoke_web_view_custom_method.py +88 -0
  1046. pyrogram/raw/functions/bots/reorder_preview_medias.py +88 -0
  1047. pyrogram/raw/functions/bots/reorder_usernames.py +80 -0
  1048. pyrogram/raw/functions/bots/reset_bot_commands.py +80 -0
  1049. pyrogram/raw/functions/bots/send_custom_request.py +80 -0
  1050. pyrogram/raw/functions/bots/set_bot_broadcast_default_admin_rights.py +72 -0
  1051. pyrogram/raw/functions/bots/set_bot_commands.py +88 -0
  1052. pyrogram/raw/functions/bots/set_bot_group_default_admin_rights.py +72 -0
  1053. pyrogram/raw/functions/bots/set_bot_info.py +111 -0
  1054. pyrogram/raw/functions/bots/set_bot_menu_button.py +80 -0
  1055. pyrogram/raw/functions/bots/set_custom_verification.py +99 -0
  1056. pyrogram/raw/functions/bots/toggle_user_emoji_status_permission.py +80 -0
  1057. pyrogram/raw/functions/bots/toggle_username.py +88 -0
  1058. pyrogram/raw/functions/bots/update_star_ref_program.py +91 -0
  1059. pyrogram/raw/functions/bots/update_user_emoji_status.py +80 -0
  1060. pyrogram/raw/functions/channels/__init__.py +85 -0
  1061. pyrogram/raw/functions/channels/check_username.py +80 -0
  1062. pyrogram/raw/functions/channels/convert_to_gigagroup.py +72 -0
  1063. pyrogram/raw/functions/channels/create_channel.py +134 -0
  1064. pyrogram/raw/functions/channels/create_forum_topic.py +118 -0
  1065. pyrogram/raw/functions/channels/deactivate_all_usernames.py +72 -0
  1066. pyrogram/raw/functions/channels/delete_channel.py +72 -0
  1067. pyrogram/raw/functions/channels/delete_history.py +88 -0
  1068. pyrogram/raw/functions/channels/delete_messages.py +80 -0
  1069. pyrogram/raw/functions/channels/delete_participant_history.py +80 -0
  1070. pyrogram/raw/functions/channels/delete_topic_history.py +80 -0
  1071. pyrogram/raw/functions/channels/edit_admin.py +96 -0
  1072. pyrogram/raw/functions/channels/edit_banned.py +88 -0
  1073. pyrogram/raw/functions/channels/edit_creator.py +88 -0
  1074. pyrogram/raw/functions/channels/edit_forum_topic.py +118 -0
  1075. pyrogram/raw/functions/channels/edit_location.py +88 -0
  1076. pyrogram/raw/functions/channels/edit_photo.py +80 -0
  1077. pyrogram/raw/functions/channels/edit_title.py +80 -0
  1078. pyrogram/raw/functions/channels/export_message_link.py +94 -0
  1079. pyrogram/raw/functions/channels/get_admin_log.py +126 -0
  1080. pyrogram/raw/functions/channels/get_admined_public_channels.py +84 -0
  1081. pyrogram/raw/functions/channels/get_channel_recommendations.py +76 -0
  1082. pyrogram/raw/functions/channels/get_channels.py +72 -0
  1083. pyrogram/raw/functions/channels/get_forum_topics.py +115 -0
  1084. pyrogram/raw/functions/channels/get_forum_topics_by_id.py +80 -0
  1085. pyrogram/raw/functions/channels/get_full_channel.py +72 -0
  1086. pyrogram/raw/functions/channels/get_groups_for_discussion.py +67 -0
  1087. pyrogram/raw/functions/channels/get_inactive_channels.py +67 -0
  1088. pyrogram/raw/functions/channels/get_left_channels.py +72 -0
  1089. pyrogram/raw/functions/channels/get_messages.py +80 -0
  1090. pyrogram/raw/functions/channels/get_participant.py +80 -0
  1091. pyrogram/raw/functions/channels/get_participants.py +104 -0
  1092. pyrogram/raw/functions/channels/get_send_as.py +72 -0
  1093. pyrogram/raw/functions/channels/invite_to_channel.py +80 -0
  1094. pyrogram/raw/functions/channels/join_channel.py +72 -0
  1095. pyrogram/raw/functions/channels/leave_channel.py +72 -0
  1096. pyrogram/raw/functions/channels/read_history.py +80 -0
  1097. pyrogram/raw/functions/channels/read_message_contents.py +80 -0
  1098. pyrogram/raw/functions/channels/reorder_pinned_forum_topics.py +88 -0
  1099. pyrogram/raw/functions/channels/reorder_usernames.py +80 -0
  1100. pyrogram/raw/functions/channels/report_anti_spam_false_positive.py +80 -0
  1101. pyrogram/raw/functions/channels/report_spam.py +88 -0
  1102. pyrogram/raw/functions/channels/restrict_sponsored_messages.py +80 -0
  1103. pyrogram/raw/functions/channels/search_posts.py +104 -0
  1104. pyrogram/raw/functions/channels/set_boosts_to_unblock_restrictions.py +80 -0
  1105. pyrogram/raw/functions/channels/set_discussion_group.py +80 -0
  1106. pyrogram/raw/functions/channels/set_emoji_stickers.py +80 -0
  1107. pyrogram/raw/functions/channels/set_stickers.py +80 -0
  1108. pyrogram/raw/functions/channels/toggle_anti_spam.py +80 -0
  1109. pyrogram/raw/functions/channels/toggle_forum.py +80 -0
  1110. pyrogram/raw/functions/channels/toggle_join_request.py +80 -0
  1111. pyrogram/raw/functions/channels/toggle_join_to_send.py +80 -0
  1112. pyrogram/raw/functions/channels/toggle_participants_hidden.py +80 -0
  1113. pyrogram/raw/functions/channels/toggle_pre_history_hidden.py +80 -0
  1114. pyrogram/raw/functions/channels/toggle_signatures.py +86 -0
  1115. pyrogram/raw/functions/channels/toggle_slow_mode.py +80 -0
  1116. pyrogram/raw/functions/channels/toggle_username.py +88 -0
  1117. pyrogram/raw/functions/channels/toggle_view_forum_as_messages.py +80 -0
  1118. pyrogram/raw/functions/channels/update_color.py +98 -0
  1119. pyrogram/raw/functions/channels/update_emoji_status.py +80 -0
  1120. pyrogram/raw/functions/channels/update_pinned_forum_topic.py +88 -0
  1121. pyrogram/raw/functions/channels/update_username.py +80 -0
  1122. pyrogram/raw/functions/chatlists/__init__.py +35 -0
  1123. pyrogram/raw/functions/chatlists/check_chatlist_invite.py +72 -0
  1124. pyrogram/raw/functions/chatlists/delete_exported_invite.py +80 -0
  1125. pyrogram/raw/functions/chatlists/edit_exported_invite.py +101 -0
  1126. pyrogram/raw/functions/chatlists/export_chatlist_invite.py +88 -0
  1127. pyrogram/raw/functions/chatlists/get_chatlist_updates.py +72 -0
  1128. pyrogram/raw/functions/chatlists/get_exported_invites.py +72 -0
  1129. pyrogram/raw/functions/chatlists/get_leave_chatlist_suggestions.py +72 -0
  1130. pyrogram/raw/functions/chatlists/hide_chatlist_updates.py +72 -0
  1131. pyrogram/raw/functions/chatlists/join_chatlist_invite.py +80 -0
  1132. pyrogram/raw/functions/chatlists/join_chatlist_updates.py +80 -0
  1133. pyrogram/raw/functions/chatlists/leave_chatlist.py +80 -0
  1134. pyrogram/raw/functions/contacts/__init__.py +50 -0
  1135. pyrogram/raw/functions/contacts/accept_contact.py +72 -0
  1136. pyrogram/raw/functions/contacts/add_contact.py +104 -0
  1137. pyrogram/raw/functions/contacts/block.py +80 -0
  1138. pyrogram/raw/functions/contacts/block_from_replies.py +92 -0
  1139. pyrogram/raw/functions/contacts/delete_by_phones.py +72 -0
  1140. pyrogram/raw/functions/contacts/delete_contacts.py +72 -0
  1141. pyrogram/raw/functions/contacts/edit_close_friends.py +72 -0
  1142. pyrogram/raw/functions/contacts/export_contact_token.py +67 -0
  1143. pyrogram/raw/functions/contacts/get_birthdays.py +67 -0
  1144. pyrogram/raw/functions/contacts/get_blocked.py +88 -0
  1145. pyrogram/raw/functions/contacts/get_contact_i_ds.py +72 -0
  1146. pyrogram/raw/functions/contacts/get_contacts.py +72 -0
  1147. pyrogram/raw/functions/contacts/get_located.py +89 -0
  1148. pyrogram/raw/functions/contacts/get_saved.py +67 -0
  1149. pyrogram/raw/functions/contacts/get_statuses.py +67 -0
  1150. pyrogram/raw/functions/contacts/get_top_peers.py +144 -0
  1151. pyrogram/raw/functions/contacts/import_contact_token.py +72 -0
  1152. pyrogram/raw/functions/contacts/import_contacts.py +72 -0
  1153. pyrogram/raw/functions/contacts/reset_saved.py +67 -0
  1154. pyrogram/raw/functions/contacts/reset_top_peer_rating.py +80 -0
  1155. pyrogram/raw/functions/contacts/resolve_phone.py +72 -0
  1156. pyrogram/raw/functions/contacts/resolve_username.py +83 -0
  1157. pyrogram/raw/functions/contacts/search.py +80 -0
  1158. pyrogram/raw/functions/contacts/set_blocked.py +88 -0
  1159. pyrogram/raw/functions/contacts/toggle_top_peers.py +72 -0
  1160. pyrogram/raw/functions/contacts/unblock.py +80 -0
  1161. pyrogram/raw/functions/contest/__init__.py +25 -0
  1162. pyrogram/raw/functions/contest/save_developer_info.py +104 -0
  1163. pyrogram/raw/functions/destroy_auth_key.py +67 -0
  1164. pyrogram/raw/functions/destroy_session.py +72 -0
  1165. pyrogram/raw/functions/folders/__init__.py +25 -0
  1166. pyrogram/raw/functions/folders/edit_peer_folders.py +72 -0
  1167. pyrogram/raw/functions/fragment/__init__.py +25 -0
  1168. pyrogram/raw/functions/fragment/get_collectible_info.py +72 -0
  1169. pyrogram/raw/functions/get_future_salts.py +72 -0
  1170. pyrogram/raw/functions/help/__init__.py +49 -0
  1171. pyrogram/raw/functions/help/accept_terms_of_service.py +72 -0
  1172. pyrogram/raw/functions/help/dismiss_suggestion.py +80 -0
  1173. pyrogram/raw/functions/help/edit_user_info.py +88 -0
  1174. pyrogram/raw/functions/help/get_app_config.py +72 -0
  1175. pyrogram/raw/functions/help/get_app_update.py +72 -0
  1176. pyrogram/raw/functions/help/get_cdn_config.py +67 -0
  1177. pyrogram/raw/functions/help/get_config.py +67 -0
  1178. pyrogram/raw/functions/help/get_countries_list.py +80 -0
  1179. pyrogram/raw/functions/help/get_deep_link_info.py +72 -0
  1180. pyrogram/raw/functions/help/get_invite_text.py +67 -0
  1181. pyrogram/raw/functions/help/get_nearest_dc.py +67 -0
  1182. pyrogram/raw/functions/help/get_passport_config.py +72 -0
  1183. pyrogram/raw/functions/help/get_peer_colors.py +72 -0
  1184. pyrogram/raw/functions/help/get_peer_profile_colors.py +72 -0
  1185. pyrogram/raw/functions/help/get_premium_promo.py +67 -0
  1186. pyrogram/raw/functions/help/get_promo_data.py +67 -0
  1187. pyrogram/raw/functions/help/get_recent_me_urls.py +72 -0
  1188. pyrogram/raw/functions/help/get_support.py +67 -0
  1189. pyrogram/raw/functions/help/get_support_name.py +67 -0
  1190. pyrogram/raw/functions/help/get_terms_of_service_update.py +67 -0
  1191. pyrogram/raw/functions/help/get_timezones_list.py +72 -0
  1192. pyrogram/raw/functions/help/get_user_info.py +72 -0
  1193. pyrogram/raw/functions/help/hide_promo_data.py +72 -0
  1194. pyrogram/raw/functions/help/save_app_log.py +72 -0
  1195. pyrogram/raw/functions/help/set_bot_updates_status.py +80 -0
  1196. pyrogram/raw/functions/init_connection.py +150 -0
  1197. pyrogram/raw/functions/invoke_after_msg.py +80 -0
  1198. pyrogram/raw/functions/invoke_after_msgs.py +80 -0
  1199. pyrogram/raw/functions/invoke_with_apns_secret.py +88 -0
  1200. pyrogram/raw/functions/invoke_with_business_connection.py +80 -0
  1201. pyrogram/raw/functions/invoke_with_google_play_integrity.py +88 -0
  1202. pyrogram/raw/functions/invoke_with_layer.py +80 -0
  1203. pyrogram/raw/functions/invoke_with_messages_range.py +80 -0
  1204. pyrogram/raw/functions/invoke_with_takeout.py +80 -0
  1205. pyrogram/raw/functions/invoke_without_updates.py +72 -0
  1206. pyrogram/raw/functions/langpack/__init__.py +29 -0
  1207. pyrogram/raw/functions/langpack/get_difference.py +88 -0
  1208. pyrogram/raw/functions/langpack/get_lang_pack.py +80 -0
  1209. pyrogram/raw/functions/langpack/get_language.py +80 -0
  1210. pyrogram/raw/functions/langpack/get_languages.py +72 -0
  1211. pyrogram/raw/functions/langpack/get_strings.py +88 -0
  1212. pyrogram/raw/functions/messages/__init__.py +249 -0
  1213. pyrogram/raw/functions/messages/accept_encryption.py +88 -0
  1214. pyrogram/raw/functions/messages/accept_url_auth.py +109 -0
  1215. pyrogram/raw/functions/messages/add_chat_user.py +88 -0
  1216. pyrogram/raw/functions/messages/check_chat_invite.py +72 -0
  1217. pyrogram/raw/functions/messages/check_history_import.py +72 -0
  1218. pyrogram/raw/functions/messages/check_history_import_peer.py +72 -0
  1219. pyrogram/raw/functions/messages/check_quick_reply_shortcut.py +72 -0
  1220. pyrogram/raw/functions/messages/clear_all_drafts.py +67 -0
  1221. pyrogram/raw/functions/messages/clear_recent_reactions.py +67 -0
  1222. pyrogram/raw/functions/messages/clear_recent_stickers.py +72 -0
  1223. pyrogram/raw/functions/messages/click_sponsored_message.py +94 -0
  1224. pyrogram/raw/functions/messages/create_chat.py +91 -0
  1225. pyrogram/raw/functions/messages/delete_chat.py +72 -0
  1226. pyrogram/raw/functions/messages/delete_chat_user.py +88 -0
  1227. pyrogram/raw/functions/messages/delete_exported_chat_invite.py +80 -0
  1228. pyrogram/raw/functions/messages/delete_fact_check.py +80 -0
  1229. pyrogram/raw/functions/messages/delete_history.py +112 -0
  1230. pyrogram/raw/functions/messages/delete_messages.py +80 -0
  1231. pyrogram/raw/functions/messages/delete_phone_call_history.py +72 -0
  1232. pyrogram/raw/functions/messages/delete_quick_reply_messages.py +80 -0
  1233. pyrogram/raw/functions/messages/delete_quick_reply_shortcut.py +72 -0
  1234. pyrogram/raw/functions/messages/delete_revoked_exported_chat_invites.py +80 -0
  1235. pyrogram/raw/functions/messages/delete_saved_history.py +100 -0
  1236. pyrogram/raw/functions/messages/delete_scheduled_messages.py +80 -0
  1237. pyrogram/raw/functions/messages/discard_encryption.py +80 -0
  1238. pyrogram/raw/functions/messages/edit_chat_about.py +80 -0
  1239. pyrogram/raw/functions/messages/edit_chat_admin.py +88 -0
  1240. pyrogram/raw/functions/messages/edit_chat_default_banned_rights.py +80 -0
  1241. pyrogram/raw/functions/messages/edit_chat_photo.py +80 -0
  1242. pyrogram/raw/functions/messages/edit_chat_title.py +80 -0
  1243. pyrogram/raw/functions/messages/edit_exported_chat_invite.py +124 -0
  1244. pyrogram/raw/functions/messages/edit_fact_check.py +88 -0
  1245. pyrogram/raw/functions/messages/edit_inline_bot_message.py +125 -0
  1246. pyrogram/raw/functions/messages/edit_message.py +151 -0
  1247. pyrogram/raw/functions/messages/edit_quick_reply_shortcut.py +80 -0
  1248. pyrogram/raw/functions/messages/export_chat_invite.py +123 -0
  1249. pyrogram/raw/functions/messages/fave_sticker.py +80 -0
  1250. pyrogram/raw/functions/messages/forward_messages.py +187 -0
  1251. pyrogram/raw/functions/messages/get_admins_with_invites.py +72 -0
  1252. pyrogram/raw/functions/messages/get_all_drafts.py +67 -0
  1253. pyrogram/raw/functions/messages/get_all_stickers.py +72 -0
  1254. pyrogram/raw/functions/messages/get_archived_stickers.py +94 -0
  1255. pyrogram/raw/functions/messages/get_attach_menu_bot.py +72 -0
  1256. pyrogram/raw/functions/messages/get_attach_menu_bots.py +72 -0
  1257. pyrogram/raw/functions/messages/get_attached_stickers.py +72 -0
  1258. pyrogram/raw/functions/messages/get_available_effects.py +72 -0
  1259. pyrogram/raw/functions/messages/get_available_reactions.py +72 -0
  1260. pyrogram/raw/functions/messages/get_bot_app.py +80 -0
  1261. pyrogram/raw/functions/messages/get_bot_callback_answer.py +107 -0
  1262. pyrogram/raw/functions/messages/get_chat_invite_importers.py +128 -0
  1263. pyrogram/raw/functions/messages/get_chats.py +72 -0
  1264. pyrogram/raw/functions/messages/get_common_chats.py +88 -0
  1265. pyrogram/raw/functions/messages/get_custom_emoji_documents.py +72 -0
  1266. pyrogram/raw/functions/messages/get_default_history_ttl.py +67 -0
  1267. pyrogram/raw/functions/messages/get_default_tag_reactions.py +72 -0
  1268. pyrogram/raw/functions/messages/get_dh_config.py +80 -0
  1269. pyrogram/raw/functions/messages/get_dialog_filters.py +67 -0
  1270. pyrogram/raw/functions/messages/get_dialog_unread_marks.py +67 -0
  1271. pyrogram/raw/functions/messages/get_dialogs.py +121 -0
  1272. pyrogram/raw/functions/messages/get_discussion_message.py +80 -0
  1273. pyrogram/raw/functions/messages/get_document_by_hash.py +88 -0
  1274. pyrogram/raw/functions/messages/get_emoji_groups.py +72 -0
  1275. pyrogram/raw/functions/messages/get_emoji_keywords.py +72 -0
  1276. pyrogram/raw/functions/messages/get_emoji_keywords_difference.py +80 -0
  1277. pyrogram/raw/functions/messages/get_emoji_keywords_languages.py +72 -0
  1278. pyrogram/raw/functions/messages/get_emoji_profile_photo_groups.py +72 -0
  1279. pyrogram/raw/functions/messages/get_emoji_status_groups.py +72 -0
  1280. pyrogram/raw/functions/messages/get_emoji_sticker_groups.py +72 -0
  1281. pyrogram/raw/functions/messages/get_emoji_stickers.py +72 -0
  1282. pyrogram/raw/functions/messages/get_emoji_url.py +72 -0
  1283. pyrogram/raw/functions/messages/get_exported_chat_invite.py +80 -0
  1284. pyrogram/raw/functions/messages/get_exported_chat_invites.py +114 -0
  1285. pyrogram/raw/functions/messages/get_extended_media.py +80 -0
  1286. pyrogram/raw/functions/messages/get_fact_check.py +80 -0
  1287. pyrogram/raw/functions/messages/get_faved_stickers.py +72 -0
  1288. pyrogram/raw/functions/messages/get_featured_emoji_stickers.py +72 -0
  1289. pyrogram/raw/functions/messages/get_featured_stickers.py +72 -0
  1290. pyrogram/raw/functions/messages/get_full_chat.py +72 -0
  1291. pyrogram/raw/functions/messages/get_game_high_scores.py +88 -0
  1292. pyrogram/raw/functions/messages/get_history.py +128 -0
  1293. pyrogram/raw/functions/messages/get_inline_bot_results.py +108 -0
  1294. pyrogram/raw/functions/messages/get_inline_game_high_scores.py +80 -0
  1295. pyrogram/raw/functions/messages/get_mask_stickers.py +72 -0
  1296. pyrogram/raw/functions/messages/get_message_edit_data.py +80 -0
  1297. pyrogram/raw/functions/messages/get_message_reactions_list.py +109 -0
  1298. pyrogram/raw/functions/messages/get_message_read_participants.py +80 -0
  1299. pyrogram/raw/functions/messages/get_messages.py +72 -0
  1300. pyrogram/raw/functions/messages/get_messages_reactions.py +80 -0
  1301. pyrogram/raw/functions/messages/get_messages_views.py +88 -0
  1302. pyrogram/raw/functions/messages/get_my_stickers.py +80 -0
  1303. pyrogram/raw/functions/messages/get_old_featured_stickers.py +88 -0
  1304. pyrogram/raw/functions/messages/get_onlines.py +72 -0
  1305. pyrogram/raw/functions/messages/get_outbox_read_date.py +80 -0
  1306. pyrogram/raw/functions/messages/get_paid_reaction_privacy.py +67 -0
  1307. pyrogram/raw/functions/messages/get_peer_dialogs.py +72 -0
  1308. pyrogram/raw/functions/messages/get_peer_settings.py +72 -0
  1309. pyrogram/raw/functions/messages/get_pinned_dialogs.py +72 -0
  1310. pyrogram/raw/functions/messages/get_pinned_saved_dialogs.py +67 -0
  1311. pyrogram/raw/functions/messages/get_poll_results.py +80 -0
  1312. pyrogram/raw/functions/messages/get_poll_votes.py +108 -0
  1313. pyrogram/raw/functions/messages/get_prepared_inline_message.py +80 -0
  1314. pyrogram/raw/functions/messages/get_quick_replies.py +72 -0
  1315. pyrogram/raw/functions/messages/get_quick_reply_messages.py +92 -0
  1316. pyrogram/raw/functions/messages/get_recent_locations.py +88 -0
  1317. pyrogram/raw/functions/messages/get_recent_reactions.py +80 -0
  1318. pyrogram/raw/functions/messages/get_recent_stickers.py +80 -0
  1319. pyrogram/raw/functions/messages/get_replies.py +136 -0
  1320. pyrogram/raw/functions/messages/get_saved_dialogs.py +112 -0
  1321. pyrogram/raw/functions/messages/get_saved_gifs.py +72 -0
  1322. pyrogram/raw/functions/messages/get_saved_history.py +128 -0
  1323. pyrogram/raw/functions/messages/get_saved_reaction_tags.py +84 -0
  1324. pyrogram/raw/functions/messages/get_scheduled_history.py +80 -0
  1325. pyrogram/raw/functions/messages/get_scheduled_messages.py +80 -0
  1326. pyrogram/raw/functions/messages/get_search_counters.py +101 -0
  1327. pyrogram/raw/functions/messages/get_search_results_calendar.py +108 -0
  1328. pyrogram/raw/functions/messages/get_search_results_positions.py +108 -0
  1329. pyrogram/raw/functions/messages/get_split_ranges.py +67 -0
  1330. pyrogram/raw/functions/messages/get_sponsored_messages.py +72 -0
  1331. pyrogram/raw/functions/messages/get_sticker_set.py +80 -0
  1332. pyrogram/raw/functions/messages/get_stickers.py +80 -0
  1333. pyrogram/raw/functions/messages/get_suggested_dialog_filters.py +67 -0
  1334. pyrogram/raw/functions/messages/get_top_reactions.py +80 -0
  1335. pyrogram/raw/functions/messages/get_unread_mentions.py +123 -0
  1336. pyrogram/raw/functions/messages/get_unread_reactions.py +123 -0
  1337. pyrogram/raw/functions/messages/get_web_page.py +80 -0
  1338. pyrogram/raw/functions/messages/get_web_page_preview.py +84 -0
  1339. pyrogram/raw/functions/messages/hide_all_chat_join_requests.py +89 -0
  1340. pyrogram/raw/functions/messages/hide_chat_join_request.py +88 -0
  1341. pyrogram/raw/functions/messages/hide_peer_settings_bar.py +72 -0
  1342. pyrogram/raw/functions/messages/import_chat_invite.py +72 -0
  1343. pyrogram/raw/functions/messages/init_history_import.py +88 -0
  1344. pyrogram/raw/functions/messages/install_sticker_set.py +80 -0
  1345. pyrogram/raw/functions/messages/mark_dialog_unread.py +80 -0
  1346. pyrogram/raw/functions/messages/migrate_chat.py +72 -0
  1347. pyrogram/raw/functions/messages/prolong_web_view.py +116 -0
  1348. pyrogram/raw/functions/messages/rate_transcribed_audio.py +96 -0
  1349. pyrogram/raw/functions/messages/read_discussion.py +88 -0
  1350. pyrogram/raw/functions/messages/read_encrypted_history.py +80 -0
  1351. pyrogram/raw/functions/messages/read_featured_stickers.py +72 -0
  1352. pyrogram/raw/functions/messages/read_history.py +80 -0
  1353. pyrogram/raw/functions/messages/read_mentions.py +83 -0
  1354. pyrogram/raw/functions/messages/read_message_contents.py +72 -0
  1355. pyrogram/raw/functions/messages/read_reactions.py +83 -0
  1356. pyrogram/raw/functions/messages/received_messages.py +72 -0
  1357. pyrogram/raw/functions/messages/received_queue.py +72 -0
  1358. pyrogram/raw/functions/messages/reorder_pinned_dialogs.py +88 -0
  1359. pyrogram/raw/functions/messages/reorder_pinned_saved_dialogs.py +80 -0
  1360. pyrogram/raw/functions/messages/reorder_quick_replies.py +72 -0
  1361. pyrogram/raw/functions/messages/reorder_sticker_sets.py +86 -0
  1362. pyrogram/raw/functions/messages/report.py +96 -0
  1363. pyrogram/raw/functions/messages/report_encrypted_spam.py +72 -0
  1364. pyrogram/raw/functions/messages/report_messages_delivery.py +88 -0
  1365. pyrogram/raw/functions/messages/report_reaction.py +88 -0
  1366. pyrogram/raw/functions/messages/report_spam.py +72 -0
  1367. pyrogram/raw/functions/messages/report_sponsored_message.py +88 -0
  1368. pyrogram/raw/functions/messages/request_app_web_view.py +127 -0
  1369. pyrogram/raw/functions/messages/request_encryption.py +88 -0
  1370. pyrogram/raw/functions/messages/request_main_web_view.py +121 -0
  1371. pyrogram/raw/functions/messages/request_simple_web_view.py +134 -0
  1372. pyrogram/raw/functions/messages/request_url_auth.py +103 -0
  1373. pyrogram/raw/functions/messages/request_web_view.py +162 -0
  1374. pyrogram/raw/functions/messages/save_default_send_as.py +80 -0
  1375. pyrogram/raw/functions/messages/save_draft.py +133 -0
  1376. pyrogram/raw/functions/messages/save_gif.py +80 -0
  1377. pyrogram/raw/functions/messages/save_prepared_inline_message.py +92 -0
  1378. pyrogram/raw/functions/messages/save_recent_sticker.py +88 -0
  1379. pyrogram/raw/functions/messages/search.py +193 -0
  1380. pyrogram/raw/functions/messages/search_custom_emoji.py +80 -0
  1381. pyrogram/raw/functions/messages/search_emoji_sticker_sets.py +88 -0
  1382. pyrogram/raw/functions/messages/search_global.py +157 -0
  1383. pyrogram/raw/functions/messages/search_sent_media.py +88 -0
  1384. pyrogram/raw/functions/messages/search_sticker_sets.py +88 -0
  1385. pyrogram/raw/functions/messages/search_stickers.py +120 -0
  1386. pyrogram/raw/functions/messages/send_bot_requested_peer.py +96 -0
  1387. pyrogram/raw/functions/messages/send_encrypted.py +96 -0
  1388. pyrogram/raw/functions/messages/send_encrypted_file.py +104 -0
  1389. pyrogram/raw/functions/messages/send_encrypted_service.py +88 -0
  1390. pyrogram/raw/functions/messages/send_inline_bot_result.py +161 -0
  1391. pyrogram/raw/functions/messages/send_media.py +208 -0
  1392. pyrogram/raw/functions/messages/send_message.py +206 -0
  1393. pyrogram/raw/functions/messages/send_multi_media.py +172 -0
  1394. pyrogram/raw/functions/messages/send_paid_reaction.py +107 -0
  1395. pyrogram/raw/functions/messages/send_quick_reply_messages.py +96 -0
  1396. pyrogram/raw/functions/messages/send_reaction.py +104 -0
  1397. pyrogram/raw/functions/messages/send_scheduled_messages.py +80 -0
  1398. pyrogram/raw/functions/messages/send_screenshot_notification.py +88 -0
  1399. pyrogram/raw/functions/messages/send_vote.py +88 -0
  1400. pyrogram/raw/functions/messages/send_web_view_data.py +96 -0
  1401. pyrogram/raw/functions/messages/send_web_view_result_message.py +80 -0
  1402. pyrogram/raw/functions/messages/set_bot_callback_answer.py +106 -0
  1403. pyrogram/raw/functions/messages/set_bot_precheckout_results.py +89 -0
  1404. pyrogram/raw/functions/messages/set_bot_shipping_results.py +93 -0
  1405. pyrogram/raw/functions/messages/set_chat_available_reactions.py +100 -0
  1406. pyrogram/raw/functions/messages/set_chat_theme.py +80 -0
  1407. pyrogram/raw/functions/messages/set_chat_wall_paper.py +115 -0
  1408. pyrogram/raw/functions/messages/set_default_history_ttl.py +72 -0
  1409. pyrogram/raw/functions/messages/set_default_reaction.py +72 -0
  1410. pyrogram/raw/functions/messages/set_encrypted_typing.py +80 -0
  1411. pyrogram/raw/functions/messages/set_game_score.py +110 -0
  1412. pyrogram/raw/functions/messages/set_history_ttl.py +80 -0
  1413. pyrogram/raw/functions/messages/set_inline_bot_results.py +131 -0
  1414. pyrogram/raw/functions/messages/set_inline_game_score.py +102 -0
  1415. pyrogram/raw/functions/messages/set_typing.py +91 -0
  1416. pyrogram/raw/functions/messages/start_bot.py +96 -0
  1417. pyrogram/raw/functions/messages/start_history_import.py +80 -0
  1418. pyrogram/raw/functions/messages/toggle_bot_in_attach_menu.py +88 -0
  1419. pyrogram/raw/functions/messages/toggle_dialog_filter_tags.py +72 -0
  1420. pyrogram/raw/functions/messages/toggle_dialog_pin.py +80 -0
  1421. pyrogram/raw/functions/messages/toggle_no_forwards.py +80 -0
  1422. pyrogram/raw/functions/messages/toggle_paid_reaction_privacy.py +88 -0
  1423. pyrogram/raw/functions/messages/toggle_peer_translations.py +80 -0
  1424. pyrogram/raw/functions/messages/toggle_saved_dialog_pin.py +80 -0
  1425. pyrogram/raw/functions/messages/toggle_sticker_sets.py +92 -0
  1426. pyrogram/raw/functions/messages/transcribe_audio.py +80 -0
  1427. pyrogram/raw/functions/messages/translate_text.py +104 -0
  1428. pyrogram/raw/functions/messages/uninstall_sticker_set.py +72 -0
  1429. pyrogram/raw/functions/messages/unpin_all_messages.py +83 -0
  1430. pyrogram/raw/functions/messages/update_dialog_filter.py +84 -0
  1431. pyrogram/raw/functions/messages/update_dialog_filters_order.py +72 -0
  1432. pyrogram/raw/functions/messages/update_pinned_message.py +100 -0
  1433. pyrogram/raw/functions/messages/update_saved_reaction_tag.py +83 -0
  1434. pyrogram/raw/functions/messages/upload_encrypted_file.py +80 -0
  1435. pyrogram/raw/functions/messages/upload_imported_media.py +96 -0
  1436. pyrogram/raw/functions/messages/upload_media.py +91 -0
  1437. pyrogram/raw/functions/messages/view_sponsored_message.py +80 -0
  1438. pyrogram/raw/functions/payments/__init__.py +71 -0
  1439. pyrogram/raw/functions/payments/apply_gift_code.py +72 -0
  1440. pyrogram/raw/functions/payments/assign_app_store_transaction.py +80 -0
  1441. pyrogram/raw/functions/payments/assign_play_market_transaction.py +80 -0
  1442. pyrogram/raw/functions/payments/bot_cancel_stars_subscription.py +88 -0
  1443. pyrogram/raw/functions/payments/can_purchase_premium.py +72 -0
  1444. pyrogram/raw/functions/payments/change_stars_subscription.py +91 -0
  1445. pyrogram/raw/functions/payments/check_gift_code.py +72 -0
  1446. pyrogram/raw/functions/payments/clear_saved_info.py +78 -0
  1447. pyrogram/raw/functions/payments/connect_star_ref_bot.py +80 -0
  1448. pyrogram/raw/functions/payments/convert_star_gift.py +72 -0
  1449. pyrogram/raw/functions/payments/edit_connected_star_ref_bot.py +88 -0
  1450. pyrogram/raw/functions/payments/export_invoice.py +72 -0
  1451. pyrogram/raw/functions/payments/fulfill_stars_subscription.py +80 -0
  1452. pyrogram/raw/functions/payments/get_bank_card_data.py +72 -0
  1453. pyrogram/raw/functions/payments/get_connected_star_ref_bot.py +80 -0
  1454. pyrogram/raw/functions/payments/get_connected_star_ref_bots.py +100 -0
  1455. pyrogram/raw/functions/payments/get_giveaway_info.py +80 -0
  1456. pyrogram/raw/functions/payments/get_payment_form.py +84 -0
  1457. pyrogram/raw/functions/payments/get_payment_receipt.py +80 -0
  1458. pyrogram/raw/functions/payments/get_premium_gift_code_options.py +76 -0
  1459. pyrogram/raw/functions/payments/get_saved_info.py +67 -0
  1460. pyrogram/raw/functions/payments/get_saved_star_gift.py +72 -0
  1461. pyrogram/raw/functions/payments/get_saved_star_gifts.py +126 -0
  1462. pyrogram/raw/functions/payments/get_star_gift_upgrade_preview.py +72 -0
  1463. pyrogram/raw/functions/payments/get_star_gift_withdrawal_url.py +80 -0
  1464. pyrogram/raw/functions/payments/get_star_gifts.py +72 -0
  1465. pyrogram/raw/functions/payments/get_stars_gift_options.py +76 -0
  1466. pyrogram/raw/functions/payments/get_stars_giveaway_options.py +67 -0
  1467. pyrogram/raw/functions/payments/get_stars_revenue_ads_account_url.py +72 -0
  1468. pyrogram/raw/functions/payments/get_stars_revenue_stats.py +80 -0
  1469. pyrogram/raw/functions/payments/get_stars_revenue_withdrawal_url.py +88 -0
  1470. pyrogram/raw/functions/payments/get_stars_status.py +72 -0
  1471. pyrogram/raw/functions/payments/get_stars_subscriptions.py +88 -0
  1472. pyrogram/raw/functions/payments/get_stars_topup_options.py +67 -0
  1473. pyrogram/raw/functions/payments/get_stars_transactions.py +117 -0
  1474. pyrogram/raw/functions/payments/get_stars_transactions_by_id.py +80 -0
  1475. pyrogram/raw/functions/payments/get_suggested_star_ref_bots.py +102 -0
  1476. pyrogram/raw/functions/payments/get_unique_star_gift.py +72 -0
  1477. pyrogram/raw/functions/payments/launch_prepaid_giveaway.py +88 -0
  1478. pyrogram/raw/functions/payments/refund_stars_charge.py +80 -0
  1479. pyrogram/raw/functions/payments/save_star_gift.py +80 -0
  1480. pyrogram/raw/functions/payments/send_payment_form.py +117 -0
  1481. pyrogram/raw/functions/payments/send_stars_form.py +80 -0
  1482. pyrogram/raw/functions/payments/toggle_chat_star_gift_notifications.py +80 -0
  1483. pyrogram/raw/functions/payments/transfer_star_gift.py +80 -0
  1484. pyrogram/raw/functions/payments/upgrade_star_gift.py +80 -0
  1485. pyrogram/raw/functions/payments/validate_requested_info.py +88 -0
  1486. pyrogram/raw/functions/phone/__init__.py +56 -0
  1487. pyrogram/raw/functions/phone/accept_call.py +88 -0
  1488. pyrogram/raw/functions/phone/check_group_call.py +80 -0
  1489. pyrogram/raw/functions/phone/confirm_call.py +96 -0
  1490. pyrogram/raw/functions/phone/create_conference_call.py +80 -0
  1491. pyrogram/raw/functions/phone/create_group_call.py +106 -0
  1492. pyrogram/raw/functions/phone/discard_call.py +104 -0
  1493. pyrogram/raw/functions/phone/discard_group_call.py +72 -0
  1494. pyrogram/raw/functions/phone/edit_group_call_participant.py +136 -0
  1495. pyrogram/raw/functions/phone/edit_group_call_title.py +80 -0
  1496. pyrogram/raw/functions/phone/export_group_call_invite.py +80 -0
  1497. pyrogram/raw/functions/phone/get_call_config.py +67 -0
  1498. pyrogram/raw/functions/phone/get_group_call.py +80 -0
  1499. pyrogram/raw/functions/phone/get_group_call_join_as.py +72 -0
  1500. pyrogram/raw/functions/phone/get_group_call_stream_channels.py +72 -0
  1501. pyrogram/raw/functions/phone/get_group_call_stream_rtmp_url.py +80 -0
  1502. pyrogram/raw/functions/phone/get_group_participants.py +104 -0
  1503. pyrogram/raw/functions/phone/invite_to_group_call.py +80 -0
  1504. pyrogram/raw/functions/phone/join_group_call.py +120 -0
  1505. pyrogram/raw/functions/phone/join_group_call_presentation.py +80 -0
  1506. pyrogram/raw/functions/phone/leave_group_call.py +80 -0
  1507. pyrogram/raw/functions/phone/leave_group_call_presentation.py +72 -0
  1508. pyrogram/raw/functions/phone/received_call.py +72 -0
  1509. pyrogram/raw/functions/phone/request_call.py +114 -0
  1510. pyrogram/raw/functions/phone/save_call_debug.py +80 -0
  1511. pyrogram/raw/functions/phone/save_call_log.py +80 -0
  1512. pyrogram/raw/functions/phone/save_default_group_call_join_as.py +80 -0
  1513. pyrogram/raw/functions/phone/send_signaling_data.py +80 -0
  1514. pyrogram/raw/functions/phone/set_call_rating.py +96 -0
  1515. pyrogram/raw/functions/phone/start_scheduled_group_call.py +72 -0
  1516. pyrogram/raw/functions/phone/toggle_group_call_record.py +104 -0
  1517. pyrogram/raw/functions/phone/toggle_group_call_settings.py +89 -0
  1518. pyrogram/raw/functions/phone/toggle_group_call_start_subscription.py +80 -0
  1519. pyrogram/raw/functions/photos/__init__.py +29 -0
  1520. pyrogram/raw/functions/photos/delete_photos.py +72 -0
  1521. pyrogram/raw/functions/photos/get_user_photos.py +96 -0
  1522. pyrogram/raw/functions/photos/update_profile_photo.py +90 -0
  1523. pyrogram/raw/functions/photos/upload_contact_profile_photo.py +125 -0
  1524. pyrogram/raw/functions/photos/upload_profile_photo.py +121 -0
  1525. pyrogram/raw/functions/ping.py +72 -0
  1526. pyrogram/raw/functions/ping_delay_disconnect.py +80 -0
  1527. pyrogram/raw/functions/premium/__init__.py +29 -0
  1528. pyrogram/raw/functions/premium/apply_boost.py +84 -0
  1529. pyrogram/raw/functions/premium/get_boosts_list.py +96 -0
  1530. pyrogram/raw/functions/premium/get_boosts_status.py +72 -0
  1531. pyrogram/raw/functions/premium/get_my_boosts.py +67 -0
  1532. pyrogram/raw/functions/premium/get_user_boosts.py +80 -0
  1533. pyrogram/raw/functions/req_dh_params.py +112 -0
  1534. pyrogram/raw/functions/req_pq.py +72 -0
  1535. pyrogram/raw/functions/req_pq_multi.py +72 -0
  1536. pyrogram/raw/functions/rpc_drop_answer.py +72 -0
  1537. pyrogram/raw/functions/set_client_dh_params.py +88 -0
  1538. pyrogram/raw/functions/smsjobs/__init__.py +31 -0
  1539. pyrogram/raw/functions/smsjobs/finish_job.py +83 -0
  1540. pyrogram/raw/functions/smsjobs/get_sms_job.py +72 -0
  1541. pyrogram/raw/functions/smsjobs/get_status.py +67 -0
  1542. pyrogram/raw/functions/smsjobs/is_eligible_to_join.py +67 -0
  1543. pyrogram/raw/functions/smsjobs/join.py +67 -0
  1544. pyrogram/raw/functions/smsjobs/leave.py +67 -0
  1545. pyrogram/raw/functions/smsjobs/update_settings.py +72 -0
  1546. pyrogram/raw/functions/stats/__init__.py +34 -0
  1547. pyrogram/raw/functions/stats/get_broadcast_revenue_stats.py +80 -0
  1548. pyrogram/raw/functions/stats/get_broadcast_revenue_transactions.py +88 -0
  1549. pyrogram/raw/functions/stats/get_broadcast_revenue_withdrawal_url.py +80 -0
  1550. pyrogram/raw/functions/stats/get_broadcast_stats.py +80 -0
  1551. pyrogram/raw/functions/stats/get_megagroup_stats.py +80 -0
  1552. pyrogram/raw/functions/stats/get_message_public_forwards.py +96 -0
  1553. pyrogram/raw/functions/stats/get_message_stats.py +88 -0
  1554. pyrogram/raw/functions/stats/get_story_public_forwards.py +96 -0
  1555. pyrogram/raw/functions/stats/get_story_stats.py +88 -0
  1556. pyrogram/raw/functions/stats/load_async_graph.py +83 -0
  1557. pyrogram/raw/functions/stickers/__init__.py +35 -0
  1558. pyrogram/raw/functions/stickers/add_sticker_to_set.py +80 -0
  1559. pyrogram/raw/functions/stickers/change_sticker.py +102 -0
  1560. pyrogram/raw/functions/stickers/change_sticker_position.py +80 -0
  1561. pyrogram/raw/functions/stickers/check_short_name.py +72 -0
  1562. pyrogram/raw/functions/stickers/create_sticker_set.py +135 -0
  1563. pyrogram/raw/functions/stickers/delete_sticker_set.py +72 -0
  1564. pyrogram/raw/functions/stickers/remove_sticker_from_set.py +72 -0
  1565. pyrogram/raw/functions/stickers/rename_sticker_set.py +80 -0
  1566. pyrogram/raw/functions/stickers/replace_sticker.py +80 -0
  1567. pyrogram/raw/functions/stickers/set_sticker_set_thumb.py +93 -0
  1568. pyrogram/raw/functions/stickers/suggest_short_name.py +72 -0
  1569. pyrogram/raw/functions/stories/__init__.py +50 -0
  1570. pyrogram/raw/functions/stories/activate_stealth_mode.py +78 -0
  1571. pyrogram/raw/functions/stories/can_send_story.py +72 -0
  1572. pyrogram/raw/functions/stories/delete_stories.py +80 -0
  1573. pyrogram/raw/functions/stories/edit_story.py +131 -0
  1574. pyrogram/raw/functions/stories/export_story_link.py +80 -0
  1575. pyrogram/raw/functions/stories/get_all_read_peer_stories.py +67 -0
  1576. pyrogram/raw/functions/stories/get_all_stories.py +87 -0
  1577. pyrogram/raw/functions/stories/get_chats_to_send.py +67 -0
  1578. pyrogram/raw/functions/stories/get_peer_max_i_ds.py +72 -0
  1579. pyrogram/raw/functions/stories/get_peer_stories.py +72 -0
  1580. pyrogram/raw/functions/stories/get_pinned_stories.py +88 -0
  1581. pyrogram/raw/functions/stories/get_stories_archive.py +88 -0
  1582. pyrogram/raw/functions/stories/get_stories_by_id.py +80 -0
  1583. pyrogram/raw/functions/stories/get_stories_views.py +80 -0
  1584. pyrogram/raw/functions/stories/get_story_reactions_list.py +115 -0
  1585. pyrogram/raw/functions/stories/get_story_views_list.py +125 -0
  1586. pyrogram/raw/functions/stories/increment_story_views.py +80 -0
  1587. pyrogram/raw/functions/stories/read_stories.py +80 -0
  1588. pyrogram/raw/functions/stories/report.py +96 -0
  1589. pyrogram/raw/functions/stories/search_posts.py +111 -0
  1590. pyrogram/raw/functions/stories/send_reaction.py +96 -0
  1591. pyrogram/raw/functions/stories/send_story.py +173 -0
  1592. pyrogram/raw/functions/stories/toggle_all_stories_hidden.py +72 -0
  1593. pyrogram/raw/functions/stories/toggle_peer_stories_hidden.py +80 -0
  1594. pyrogram/raw/functions/stories/toggle_pinned.py +88 -0
  1595. pyrogram/raw/functions/stories/toggle_pinned_to_top.py +80 -0
  1596. pyrogram/raw/functions/updates/__init__.py +27 -0
  1597. pyrogram/raw/functions/updates/get_channel_difference.py +104 -0
  1598. pyrogram/raw/functions/updates/get_difference.py +117 -0
  1599. pyrogram/raw/functions/updates/get_state.py +67 -0
  1600. pyrogram/raw/functions/upload/__init__.py +32 -0
  1601. pyrogram/raw/functions/upload/get_cdn_file.py +88 -0
  1602. pyrogram/raw/functions/upload/get_cdn_file_hashes.py +80 -0
  1603. pyrogram/raw/functions/upload/get_file.py +102 -0
  1604. pyrogram/raw/functions/upload/get_file_hashes.py +80 -0
  1605. pyrogram/raw/functions/upload/get_web_file.py +88 -0
  1606. pyrogram/raw/functions/upload/reupload_cdn_file.py +80 -0
  1607. pyrogram/raw/functions/upload/save_big_file_part.py +96 -0
  1608. pyrogram/raw/functions/upload/save_file_part.py +88 -0
  1609. pyrogram/raw/functions/users/__init__.py +28 -0
  1610. pyrogram/raw/functions/users/get_full_user.py +72 -0
  1611. pyrogram/raw/functions/users/get_is_premium_required_to_contact.py +72 -0
  1612. pyrogram/raw/functions/users/get_users.py +72 -0
  1613. pyrogram/raw/functions/users/set_secure_value_errors.py +80 -0
  1614. pyrogram/raw/types/__init__.py +1172 -0
  1615. pyrogram/raw/types/access_point_rule.py +88 -0
  1616. pyrogram/raw/types/account/__init__.py +55 -0
  1617. pyrogram/raw/types/account/authorization_form.py +116 -0
  1618. pyrogram/raw/types/account/authorizations.py +89 -0
  1619. pyrogram/raw/types/account/auto_download_settings.py +97 -0
  1620. pyrogram/raw/types/account/auto_save_settings.py +121 -0
  1621. pyrogram/raw/types/account/business_chat_links.py +97 -0
  1622. pyrogram/raw/types/account/connected_bots.py +89 -0
  1623. pyrogram/raw/types/account/content_settings.py +87 -0
  1624. pyrogram/raw/types/account/email_verified.py +81 -0
  1625. pyrogram/raw/types/account/email_verified_login.py +89 -0
  1626. pyrogram/raw/types/account/emoji_statuses.py +92 -0
  1627. pyrogram/raw/types/account/emoji_statuses_not_modified.py +79 -0
  1628. pyrogram/raw/types/account/password.py +181 -0
  1629. pyrogram/raw/types/account/password_input_settings.py +113 -0
  1630. pyrogram/raw/types/account/password_settings.py +94 -0
  1631. pyrogram/raw/types/account/privacy_rules.py +98 -0
  1632. pyrogram/raw/types/account/reset_password_failed_wait.py +81 -0
  1633. pyrogram/raw/types/account/reset_password_ok.py +76 -0
  1634. pyrogram/raw/types/account/reset_password_requested_wait.py +81 -0
  1635. pyrogram/raw/types/account/resolved_business_chat_links.py +117 -0
  1636. pyrogram/raw/types/account/saved_ringtone.py +76 -0
  1637. pyrogram/raw/types/account/saved_ringtone_converted.py +81 -0
  1638. pyrogram/raw/types/account/saved_ringtones.py +89 -0
  1639. pyrogram/raw/types/account/saved_ringtones_not_modified.py +76 -0
  1640. pyrogram/raw/types/account/sent_email_code.py +89 -0
  1641. pyrogram/raw/types/account/takeout.py +81 -0
  1642. pyrogram/raw/types/account/themes.py +90 -0
  1643. pyrogram/raw/types/account/themes_not_modified.py +77 -0
  1644. pyrogram/raw/types/account/tmp_password.py +89 -0
  1645. pyrogram/raw/types/account/wall_papers.py +89 -0
  1646. pyrogram/raw/types/account/wall_papers_not_modified.py +76 -0
  1647. pyrogram/raw/types/account/web_authorizations.py +89 -0
  1648. pyrogram/raw/types/account_days_ttl.py +81 -0
  1649. pyrogram/raw/types/attach_menu_bot.py +136 -0
  1650. pyrogram/raw/types/attach_menu_bot_icon.py +92 -0
  1651. pyrogram/raw/types/attach_menu_bot_icon_color.py +80 -0
  1652. pyrogram/raw/types/attach_menu_bots.py +97 -0
  1653. pyrogram/raw/types/attach_menu_bots_bot.py +89 -0
  1654. pyrogram/raw/types/attach_menu_bots_not_modified.py +76 -0
  1655. pyrogram/raw/types/attach_menu_peer_type_bot_pm.py +67 -0
  1656. pyrogram/raw/types/attach_menu_peer_type_broadcast.py +67 -0
  1657. pyrogram/raw/types/attach_menu_peer_type_chat.py +67 -0
  1658. pyrogram/raw/types/attach_menu_peer_type_pm.py +67 -0
  1659. pyrogram/raw/types/attach_menu_peer_type_same_bot_pm.py +67 -0
  1660. pyrogram/raw/types/auth/__init__.py +50 -0
  1661. pyrogram/raw/types/auth/authorization.py +122 -0
  1662. pyrogram/raw/types/auth/authorization_sign_up_required.py +91 -0
  1663. pyrogram/raw/types/auth/code_type_call.py +67 -0
  1664. pyrogram/raw/types/auth/code_type_flash_call.py +67 -0
  1665. pyrogram/raw/types/auth/code_type_fragment_sms.py +67 -0
  1666. pyrogram/raw/types/auth/code_type_missed_call.py +67 -0
  1667. pyrogram/raw/types/auth/code_type_sms.py +67 -0
  1668. pyrogram/raw/types/auth/exported_authorization.py +89 -0
  1669. pyrogram/raw/types/auth/logged_out.py +84 -0
  1670. pyrogram/raw/types/auth/login_token.py +90 -0
  1671. pyrogram/raw/types/auth/login_token_migrate_to.py +90 -0
  1672. pyrogram/raw/types/auth/login_token_success.py +82 -0
  1673. pyrogram/raw/types/auth/password_recovery.py +81 -0
  1674. pyrogram/raw/types/auth/sent_code.py +115 -0
  1675. pyrogram/raw/types/auth/sent_code_success.py +86 -0
  1676. pyrogram/raw/types/auth/sent_code_type_app.py +72 -0
  1677. pyrogram/raw/types/auth/sent_code_type_call.py +72 -0
  1678. pyrogram/raw/types/auth/sent_code_type_email_code.py +112 -0
  1679. pyrogram/raw/types/auth/sent_code_type_firebase_sms.py +119 -0
  1680. pyrogram/raw/types/auth/sent_code_type_flash_call.py +72 -0
  1681. pyrogram/raw/types/auth/sent_code_type_fragment_sms.py +80 -0
  1682. pyrogram/raw/types/auth/sent_code_type_missed_call.py +80 -0
  1683. pyrogram/raw/types/auth/sent_code_type_set_up_email_required.py +78 -0
  1684. pyrogram/raw/types/auth/sent_code_type_sms.py +72 -0
  1685. pyrogram/raw/types/auth/sent_code_type_sms_phrase.py +75 -0
  1686. pyrogram/raw/types/auth/sent_code_type_sms_word.py +75 -0
  1687. pyrogram/raw/types/authorization.py +207 -0
  1688. pyrogram/raw/types/auto_download_settings.py +144 -0
  1689. pyrogram/raw/types/auto_save_exception.py +80 -0
  1690. pyrogram/raw/types/auto_save_settings.py +87 -0
  1691. pyrogram/raw/types/available_effect.py +114 -0
  1692. pyrogram/raw/types/available_reaction.py +154 -0
  1693. pyrogram/raw/types/bad_msg_notification.py +88 -0
  1694. pyrogram/raw/types/bad_server_salt.py +96 -0
  1695. pyrogram/raw/types/bank_card_open_url.py +80 -0
  1696. pyrogram/raw/types/base_theme_arctic.py +67 -0
  1697. pyrogram/raw/types/base_theme_classic.py +67 -0
  1698. pyrogram/raw/types/base_theme_day.py +67 -0
  1699. pyrogram/raw/types/base_theme_night.py +67 -0
  1700. pyrogram/raw/types/base_theme_tinted.py +67 -0
  1701. pyrogram/raw/types/bind_auth_key_inner.py +104 -0
  1702. pyrogram/raw/types/birthday.py +91 -0
  1703. pyrogram/raw/types/boost.py +153 -0
  1704. pyrogram/raw/types/bot_app.py +132 -0
  1705. pyrogram/raw/types/bot_app_not_modified.py +67 -0
  1706. pyrogram/raw/types/bot_app_settings.py +111 -0
  1707. pyrogram/raw/types/bot_business_connection.py +110 -0
  1708. pyrogram/raw/types/bot_command.py +89 -0
  1709. pyrogram/raw/types/bot_command_scope_chat_admins.py +67 -0
  1710. pyrogram/raw/types/bot_command_scope_chats.py +67 -0
  1711. pyrogram/raw/types/bot_command_scope_default.py +67 -0
  1712. pyrogram/raw/types/bot_command_scope_peer.py +72 -0
  1713. pyrogram/raw/types/bot_command_scope_peer_admins.py +72 -0
  1714. pyrogram/raw/types/bot_command_scope_peer_user.py +80 -0
  1715. pyrogram/raw/types/bot_command_scope_users.py +67 -0
  1716. pyrogram/raw/types/bot_info.py +159 -0
  1717. pyrogram/raw/types/bot_inline_media_result.py +128 -0
  1718. pyrogram/raw/types/bot_inline_message_media_auto.py +100 -0
  1719. pyrogram/raw/types/bot_inline_message_media_contact.py +108 -0
  1720. pyrogram/raw/types/bot_inline_message_media_geo.py +111 -0
  1721. pyrogram/raw/types/bot_inline_message_media_invoice.py +130 -0
  1722. pyrogram/raw/types/bot_inline_message_media_venue.py +124 -0
  1723. pyrogram/raw/types/bot_inline_message_media_web_page.py +132 -0
  1724. pyrogram/raw/types/bot_inline_message_text.py +106 -0
  1725. pyrogram/raw/types/bot_inline_result.py +137 -0
  1726. pyrogram/raw/types/bot_menu_button.py +89 -0
  1727. pyrogram/raw/types/bot_menu_button_commands.py +76 -0
  1728. pyrogram/raw/types/bot_menu_button_default.py +76 -0
  1729. pyrogram/raw/types/bot_preview_media.py +91 -0
  1730. pyrogram/raw/types/bot_verification.py +88 -0
  1731. pyrogram/raw/types/bot_verifier_settings.py +97 -0
  1732. pyrogram/raw/types/bots/__init__.py +27 -0
  1733. pyrogram/raw/types/bots/bot_info.py +97 -0
  1734. pyrogram/raw/types/bots/popular_app_bots.py +92 -0
  1735. pyrogram/raw/types/bots/preview_info.py +89 -0
  1736. pyrogram/raw/types/broadcast_revenue_balances.py +96 -0
  1737. pyrogram/raw/types/broadcast_revenue_transaction_proceeds.py +88 -0
  1738. pyrogram/raw/types/broadcast_revenue_transaction_refund.py +88 -0
  1739. pyrogram/raw/types/broadcast_revenue_transaction_withdrawal.py +120 -0
  1740. pyrogram/raw/types/business_away_message.py +96 -0
  1741. pyrogram/raw/types/business_away_message_schedule_always.py +67 -0
  1742. pyrogram/raw/types/business_away_message_schedule_custom.py +80 -0
  1743. pyrogram/raw/types/business_away_message_schedule_outside_work_hours.py +67 -0
  1744. pyrogram/raw/types/business_bot_recipients.py +116 -0
  1745. pyrogram/raw/types/business_chat_link.py +119 -0
  1746. pyrogram/raw/types/business_greeting_message.py +88 -0
  1747. pyrogram/raw/types/business_intro.py +92 -0
  1748. pyrogram/raw/types/business_location.py +84 -0
  1749. pyrogram/raw/types/business_recipients.py +106 -0
  1750. pyrogram/raw/types/business_weekly_open.py +80 -0
  1751. pyrogram/raw/types/business_work_hours.py +88 -0
  1752. pyrogram/raw/types/cdn_config.py +81 -0
  1753. pyrogram/raw/types/cdn_public_key.py +80 -0
  1754. pyrogram/raw/types/channel.py +389 -0
  1755. pyrogram/raw/types/channel_admin_log_event.py +96 -0
  1756. pyrogram/raw/types/channel_admin_log_event_action_change_about.py +80 -0
  1757. pyrogram/raw/types/channel_admin_log_event_action_change_available_reactions.py +80 -0
  1758. pyrogram/raw/types/channel_admin_log_event_action_change_emoji_status.py +80 -0
  1759. pyrogram/raw/types/channel_admin_log_event_action_change_emoji_sticker_set.py +80 -0
  1760. pyrogram/raw/types/channel_admin_log_event_action_change_history_ttl.py +80 -0
  1761. pyrogram/raw/types/channel_admin_log_event_action_change_linked_chat.py +80 -0
  1762. pyrogram/raw/types/channel_admin_log_event_action_change_location.py +80 -0
  1763. pyrogram/raw/types/channel_admin_log_event_action_change_peer_color.py +80 -0
  1764. pyrogram/raw/types/channel_admin_log_event_action_change_photo.py +80 -0
  1765. pyrogram/raw/types/channel_admin_log_event_action_change_profile_peer_color.py +80 -0
  1766. pyrogram/raw/types/channel_admin_log_event_action_change_sticker_set.py +80 -0
  1767. pyrogram/raw/types/channel_admin_log_event_action_change_title.py +80 -0
  1768. pyrogram/raw/types/channel_admin_log_event_action_change_username.py +80 -0
  1769. pyrogram/raw/types/channel_admin_log_event_action_change_usernames.py +80 -0
  1770. pyrogram/raw/types/channel_admin_log_event_action_change_wallpaper.py +80 -0
  1771. pyrogram/raw/types/channel_admin_log_event_action_create_topic.py +72 -0
  1772. pyrogram/raw/types/channel_admin_log_event_action_default_banned_rights.py +80 -0
  1773. pyrogram/raw/types/channel_admin_log_event_action_delete_message.py +72 -0
  1774. pyrogram/raw/types/channel_admin_log_event_action_delete_topic.py +72 -0
  1775. pyrogram/raw/types/channel_admin_log_event_action_discard_group_call.py +72 -0
  1776. pyrogram/raw/types/channel_admin_log_event_action_edit_message.py +80 -0
  1777. pyrogram/raw/types/channel_admin_log_event_action_edit_topic.py +80 -0
  1778. pyrogram/raw/types/channel_admin_log_event_action_exported_invite_delete.py +72 -0
  1779. pyrogram/raw/types/channel_admin_log_event_action_exported_invite_edit.py +80 -0
  1780. pyrogram/raw/types/channel_admin_log_event_action_exported_invite_revoke.py +72 -0
  1781. pyrogram/raw/types/channel_admin_log_event_action_participant_invite.py +72 -0
  1782. pyrogram/raw/types/channel_admin_log_event_action_participant_join.py +67 -0
  1783. pyrogram/raw/types/channel_admin_log_event_action_participant_join_by_invite.py +80 -0
  1784. pyrogram/raw/types/channel_admin_log_event_action_participant_join_by_request.py +80 -0
  1785. pyrogram/raw/types/channel_admin_log_event_action_participant_leave.py +67 -0
  1786. pyrogram/raw/types/channel_admin_log_event_action_participant_mute.py +72 -0
  1787. pyrogram/raw/types/channel_admin_log_event_action_participant_sub_extend.py +80 -0
  1788. pyrogram/raw/types/channel_admin_log_event_action_participant_toggle_admin.py +80 -0
  1789. pyrogram/raw/types/channel_admin_log_event_action_participant_toggle_ban.py +80 -0
  1790. pyrogram/raw/types/channel_admin_log_event_action_participant_unmute.py +72 -0
  1791. pyrogram/raw/types/channel_admin_log_event_action_participant_volume.py +72 -0
  1792. pyrogram/raw/types/channel_admin_log_event_action_pin_topic.py +86 -0
  1793. pyrogram/raw/types/channel_admin_log_event_action_send_message.py +72 -0
  1794. pyrogram/raw/types/channel_admin_log_event_action_start_group_call.py +72 -0
  1795. pyrogram/raw/types/channel_admin_log_event_action_stop_poll.py +72 -0
  1796. pyrogram/raw/types/channel_admin_log_event_action_toggle_anti_spam.py +72 -0
  1797. pyrogram/raw/types/channel_admin_log_event_action_toggle_forum.py +72 -0
  1798. pyrogram/raw/types/channel_admin_log_event_action_toggle_group_call_setting.py +72 -0
  1799. pyrogram/raw/types/channel_admin_log_event_action_toggle_invites.py +72 -0
  1800. pyrogram/raw/types/channel_admin_log_event_action_toggle_no_forwards.py +72 -0
  1801. pyrogram/raw/types/channel_admin_log_event_action_toggle_pre_history_hidden.py +72 -0
  1802. pyrogram/raw/types/channel_admin_log_event_action_toggle_signature_profiles.py +72 -0
  1803. pyrogram/raw/types/channel_admin_log_event_action_toggle_signatures.py +72 -0
  1804. pyrogram/raw/types/channel_admin_log_event_action_toggle_slow_mode.py +80 -0
  1805. pyrogram/raw/types/channel_admin_log_event_action_update_pinned.py +72 -0
  1806. pyrogram/raw/types/channel_admin_log_events_filter.py +180 -0
  1807. pyrogram/raw/types/channel_forbidden.py +111 -0
  1808. pyrogram/raw/types/channel_full.py +581 -0
  1809. pyrogram/raw/types/channel_location.py +80 -0
  1810. pyrogram/raw/types/channel_location_empty.py +67 -0
  1811. pyrogram/raw/types/channel_messages_filter.py +80 -0
  1812. pyrogram/raw/types/channel_messages_filter_empty.py +67 -0
  1813. pyrogram/raw/types/channel_participant.py +91 -0
  1814. pyrogram/raw/types/channel_participant_admin.py +128 -0
  1815. pyrogram/raw/types/channel_participant_banned.py +104 -0
  1816. pyrogram/raw/types/channel_participant_creator.py +91 -0
  1817. pyrogram/raw/types/channel_participant_left.py +72 -0
  1818. pyrogram/raw/types/channel_participant_self.py +105 -0
  1819. pyrogram/raw/types/channel_participants_admins.py +67 -0
  1820. pyrogram/raw/types/channel_participants_banned.py +72 -0
  1821. pyrogram/raw/types/channel_participants_bots.py +67 -0
  1822. pyrogram/raw/types/channel_participants_contacts.py +72 -0
  1823. pyrogram/raw/types/channel_participants_kicked.py +72 -0
  1824. pyrogram/raw/types/channel_participants_mentions.py +84 -0
  1825. pyrogram/raw/types/channel_participants_recent.py +67 -0
  1826. pyrogram/raw/types/channel_participants_search.py +72 -0
  1827. pyrogram/raw/types/channels/__init__.py +32 -0
  1828. pyrogram/raw/types/channels/admin_log_results.py +97 -0
  1829. pyrogram/raw/types/channels/channel_participant.py +97 -0
  1830. pyrogram/raw/types/channels/channel_participants.py +105 -0
  1831. pyrogram/raw/types/channels/channel_participants_not_modified.py +76 -0
  1832. pyrogram/raw/types/channels/send_as_peers.py +97 -0
  1833. pyrogram/raw/types/channels/sponsored_message_report_result_ads_hidden.py +76 -0
  1834. pyrogram/raw/types/channels/sponsored_message_report_result_choose_option.py +89 -0
  1835. pyrogram/raw/types/channels/sponsored_message_report_result_reported.py +76 -0
  1836. pyrogram/raw/types/chat.py +180 -0
  1837. pyrogram/raw/types/chat_admin_rights.py +156 -0
  1838. pyrogram/raw/types/chat_admin_with_invites.py +88 -0
  1839. pyrogram/raw/types/chat_banned_rights.py +194 -0
  1840. pyrogram/raw/types/chat_empty.py +72 -0
  1841. pyrogram/raw/types/chat_forbidden.py +80 -0
  1842. pyrogram/raw/types/chat_full.py +240 -0
  1843. pyrogram/raw/types/chat_invite.py +209 -0
  1844. pyrogram/raw/types/chat_invite_already.py +81 -0
  1845. pyrogram/raw/types/chat_invite_exported.py +190 -0
  1846. pyrogram/raw/types/chat_invite_importer.py +112 -0
  1847. pyrogram/raw/types/chat_invite_peek.py +89 -0
  1848. pyrogram/raw/types/chat_invite_public_join_requests.py +76 -0
  1849. pyrogram/raw/types/chat_onlines.py +81 -0
  1850. pyrogram/raw/types/chat_participant.py +88 -0
  1851. pyrogram/raw/types/chat_participant_admin.py +88 -0
  1852. pyrogram/raw/types/chat_participant_creator.py +72 -0
  1853. pyrogram/raw/types/chat_participants.py +88 -0
  1854. pyrogram/raw/types/chat_participants_forbidden.py +84 -0
  1855. pyrogram/raw/types/chat_photo.py +97 -0
  1856. pyrogram/raw/types/chat_photo_empty.py +67 -0
  1857. pyrogram/raw/types/chat_reactions_all.py +72 -0
  1858. pyrogram/raw/types/chat_reactions_none.py +67 -0
  1859. pyrogram/raw/types/chat_reactions_some.py +72 -0
  1860. pyrogram/raw/types/chatlists/__init__.py +29 -0
  1861. pyrogram/raw/types/chatlists/chatlist_invite.py +122 -0
  1862. pyrogram/raw/types/chatlists/chatlist_invite_already.py +113 -0
  1863. pyrogram/raw/types/chatlists/chatlist_updates.py +97 -0
  1864. pyrogram/raw/types/chatlists/exported_chatlist_invite.py +89 -0
  1865. pyrogram/raw/types/chatlists/exported_invites.py +97 -0
  1866. pyrogram/raw/types/client_dh_inner_data.py +96 -0
  1867. pyrogram/raw/types/code_settings.py +130 -0
  1868. pyrogram/raw/types/config.py +453 -0
  1869. pyrogram/raw/types/connected_bot.py +88 -0
  1870. pyrogram/raw/types/connected_bot_star_ref.py +129 -0
  1871. pyrogram/raw/types/contact.py +80 -0
  1872. pyrogram/raw/types/contact_birthday.py +80 -0
  1873. pyrogram/raw/types/contact_status.py +89 -0
  1874. pyrogram/raw/types/contacts/__init__.py +35 -0
  1875. pyrogram/raw/types/contacts/blocked.py +97 -0
  1876. pyrogram/raw/types/contacts/blocked_slice.py +105 -0
  1877. pyrogram/raw/types/contacts/contact_birthdays.py +89 -0
  1878. pyrogram/raw/types/contacts/contacts.py +97 -0
  1879. pyrogram/raw/types/contacts/contacts_not_modified.py +76 -0
  1880. pyrogram/raw/types/contacts/found.py +105 -0
  1881. pyrogram/raw/types/contacts/imported_contacts.py +105 -0
  1882. pyrogram/raw/types/contacts/resolved_peer.py +98 -0
  1883. pyrogram/raw/types/contacts/top_peers.py +97 -0
  1884. pyrogram/raw/types/contacts/top_peers_disabled.py +76 -0
  1885. pyrogram/raw/types/contacts/top_peers_not_modified.py +76 -0
  1886. pyrogram/raw/types/data_json.py +83 -0
  1887. pyrogram/raw/types/dc_option.py +135 -0
  1888. pyrogram/raw/types/default_history_ttl.py +81 -0
  1889. pyrogram/raw/types/destroy_auth_key_fail.py +76 -0
  1890. pyrogram/raw/types/destroy_auth_key_none.py +76 -0
  1891. pyrogram/raw/types/destroy_auth_key_ok.py +76 -0
  1892. pyrogram/raw/types/destroy_session_none.py +81 -0
  1893. pyrogram/raw/types/destroy_session_ok.py +81 -0
  1894. pyrogram/raw/types/dh_gen_fail.py +97 -0
  1895. pyrogram/raw/types/dh_gen_ok.py +97 -0
  1896. pyrogram/raw/types/dh_gen_retry.py +97 -0
  1897. pyrogram/raw/types/dialog.py +185 -0
  1898. pyrogram/raw/types/dialog_filter.py +178 -0
  1899. pyrogram/raw/types/dialog_filter_chatlist.py +128 -0
  1900. pyrogram/raw/types/dialog_filter_default.py +67 -0
  1901. pyrogram/raw/types/dialog_filter_suggested.py +89 -0
  1902. pyrogram/raw/types/dialog_folder.py +128 -0
  1903. pyrogram/raw/types/dialog_peer.py +81 -0
  1904. pyrogram/raw/types/dialog_peer_folder.py +81 -0
  1905. pyrogram/raw/types/document.py +162 -0
  1906. pyrogram/raw/types/document_attribute_animated.py +67 -0
  1907. pyrogram/raw/types/document_attribute_audio.py +107 -0
  1908. pyrogram/raw/types/document_attribute_custom_emoji.py +94 -0
  1909. pyrogram/raw/types/document_attribute_filename.py +72 -0
  1910. pyrogram/raw/types/document_attribute_has_stickers.py +67 -0
  1911. pyrogram/raw/types/document_attribute_image_size.py +80 -0
  1912. pyrogram/raw/types/document_attribute_sticker.py +98 -0
  1913. pyrogram/raw/types/document_attribute_video.py +135 -0
  1914. pyrogram/raw/types/document_empty.py +84 -0
  1915. pyrogram/raw/types/draft_message.py +133 -0
  1916. pyrogram/raw/types/draft_message_empty.py +75 -0
  1917. pyrogram/raw/types/email_verification_apple.py +72 -0
  1918. pyrogram/raw/types/email_verification_code.py +72 -0
  1919. pyrogram/raw/types/email_verification_google.py +72 -0
  1920. pyrogram/raw/types/email_verify_purpose_login_change.py +67 -0
  1921. pyrogram/raw/types/email_verify_purpose_login_setup.py +80 -0
  1922. pyrogram/raw/types/email_verify_purpose_passport.py +67 -0
  1923. pyrogram/raw/types/emoji_group.py +88 -0
  1924. pyrogram/raw/types/emoji_group_greeting.py +88 -0
  1925. pyrogram/raw/types/emoji_group_premium.py +80 -0
  1926. pyrogram/raw/types/emoji_keyword.py +80 -0
  1927. pyrogram/raw/types/emoji_keyword_deleted.py +80 -0
  1928. pyrogram/raw/types/emoji_keywords_difference.py +106 -0
  1929. pyrogram/raw/types/emoji_language.py +81 -0
  1930. pyrogram/raw/types/emoji_list.py +93 -0
  1931. pyrogram/raw/types/emoji_list_not_modified.py +80 -0
  1932. pyrogram/raw/types/emoji_status.py +83 -0
  1933. pyrogram/raw/types/emoji_status_collectible.py +147 -0
  1934. pyrogram/raw/types/emoji_status_empty.py +67 -0
  1935. pyrogram/raw/types/emoji_url.py +81 -0
  1936. pyrogram/raw/types/encrypted_chat.py +130 -0
  1937. pyrogram/raw/types/encrypted_chat_discarded.py +90 -0
  1938. pyrogram/raw/types/encrypted_chat_empty.py +82 -0
  1939. pyrogram/raw/types/encrypted_chat_requested.py +133 -0
  1940. pyrogram/raw/types/encrypted_chat_waiting.py +114 -0
  1941. pyrogram/raw/types/encrypted_file.py +113 -0
  1942. pyrogram/raw/types/encrypted_file_empty.py +76 -0
  1943. pyrogram/raw/types/encrypted_message.py +104 -0
  1944. pyrogram/raw/types/encrypted_message_service.py +96 -0
  1945. pyrogram/raw/types/exported_chatlist_invite.py +100 -0
  1946. pyrogram/raw/types/exported_contact_token.py +89 -0
  1947. pyrogram/raw/types/exported_message_link.py +89 -0
  1948. pyrogram/raw/types/exported_story_link.py +81 -0
  1949. pyrogram/raw/types/fact_check.py +108 -0
  1950. pyrogram/raw/types/file_hash.py +99 -0
  1951. pyrogram/raw/types/folder.py +110 -0
  1952. pyrogram/raw/types/folder_peer.py +80 -0
  1953. pyrogram/raw/types/forum_topic.py +211 -0
  1954. pyrogram/raw/types/forum_topic_deleted.py +72 -0
  1955. pyrogram/raw/types/found_story.py +80 -0
  1956. pyrogram/raw/types/fragment/__init__.py +25 -0
  1957. pyrogram/raw/types/fragment/collectible_info.py +121 -0
  1958. pyrogram/raw/types/game.py +124 -0
  1959. pyrogram/raw/types/geo_point.py +99 -0
  1960. pyrogram/raw/types/geo_point_address.py +101 -0
  1961. pyrogram/raw/types/geo_point_empty.py +67 -0
  1962. pyrogram/raw/types/global_privacy_settings.py +106 -0
  1963. pyrogram/raw/types/group_call.py +208 -0
  1964. pyrogram/raw/types/group_call_discarded.py +88 -0
  1965. pyrogram/raw/types/group_call_participant.py +206 -0
  1966. pyrogram/raw/types/group_call_participant_video.py +97 -0
  1967. pyrogram/raw/types/group_call_participant_video_source_group.py +80 -0
  1968. pyrogram/raw/types/group_call_stream_channel.py +88 -0
  1969. pyrogram/raw/types/help/__init__.py +56 -0
  1970. pyrogram/raw/types/help/app_config.py +89 -0
  1971. pyrogram/raw/types/help/app_config_not_modified.py +76 -0
  1972. pyrogram/raw/types/help/app_update.py +142 -0
  1973. pyrogram/raw/types/help/config_simple.py +88 -0
  1974. pyrogram/raw/types/help/countries_list.py +89 -0
  1975. pyrogram/raw/types/help/countries_list_not_modified.py +76 -0
  1976. pyrogram/raw/types/help/country.py +105 -0
  1977. pyrogram/raw/types/help/country_code.py +94 -0
  1978. pyrogram/raw/types/help/deep_link_info.py +99 -0
  1979. pyrogram/raw/types/help/deep_link_info_empty.py +76 -0
  1980. pyrogram/raw/types/help/invite_text.py +81 -0
  1981. pyrogram/raw/types/help/no_app_update.py +76 -0
  1982. pyrogram/raw/types/help/passport_config.py +89 -0
  1983. pyrogram/raw/types/help/passport_config_not_modified.py +76 -0
  1984. pyrogram/raw/types/help/peer_color_option.py +118 -0
  1985. pyrogram/raw/types/help/peer_color_profile_set.py +88 -0
  1986. pyrogram/raw/types/help/peer_color_set.py +72 -0
  1987. pyrogram/raw/types/help/peer_colors.py +90 -0
  1988. pyrogram/raw/types/help/peer_colors_not_modified.py +77 -0
  1989. pyrogram/raw/types/help/premium_promo.py +121 -0
  1990. pyrogram/raw/types/help/promo_data.py +131 -0
  1991. pyrogram/raw/types/help/promo_data_empty.py +81 -0
  1992. pyrogram/raw/types/help/recent_me_urls.py +97 -0
  1993. pyrogram/raw/types/help/support.py +89 -0
  1994. pyrogram/raw/types/help/support_name.py +81 -0
  1995. pyrogram/raw/types/help/terms_of_service.py +105 -0
  1996. pyrogram/raw/types/help/terms_of_service_update.py +89 -0
  1997. pyrogram/raw/types/help/terms_of_service_update_empty.py +81 -0
  1998. pyrogram/raw/types/help/timezones_list.py +89 -0
  1999. pyrogram/raw/types/help/timezones_list_not_modified.py +76 -0
  2000. pyrogram/raw/types/help/user_info.py +106 -0
  2001. pyrogram/raw/types/help/user_info_empty.py +77 -0
  2002. pyrogram/raw/types/high_score.py +88 -0
  2003. pyrogram/raw/types/http_wait.py +88 -0
  2004. pyrogram/raw/types/imported_contact.py +80 -0
  2005. pyrogram/raw/types/inline_bot_switch_pm.py +80 -0
  2006. pyrogram/raw/types/inline_bot_web_view.py +80 -0
  2007. pyrogram/raw/types/inline_query_peer_type_bot_pm.py +67 -0
  2008. pyrogram/raw/types/inline_query_peer_type_broadcast.py +67 -0
  2009. pyrogram/raw/types/inline_query_peer_type_chat.py +67 -0
  2010. pyrogram/raw/types/inline_query_peer_type_megagroup.py +67 -0
  2011. pyrogram/raw/types/inline_query_peer_type_pm.py +67 -0
  2012. pyrogram/raw/types/inline_query_peer_type_same_bot_pm.py +67 -0
  2013. pyrogram/raw/types/input_app_event.py +96 -0
  2014. pyrogram/raw/types/input_bot_app_id.py +80 -0
  2015. pyrogram/raw/types/input_bot_app_short_name.py +80 -0
  2016. pyrogram/raw/types/input_bot_inline_message_game.py +76 -0
  2017. pyrogram/raw/types/input_bot_inline_message_id.py +88 -0
  2018. pyrogram/raw/types/input_bot_inline_message_id64.py +96 -0
  2019. pyrogram/raw/types/input_bot_inline_message_media_auto.py +100 -0
  2020. pyrogram/raw/types/input_bot_inline_message_media_contact.py +108 -0
  2021. pyrogram/raw/types/input_bot_inline_message_media_geo.py +111 -0
  2022. pyrogram/raw/types/input_bot_inline_message_media_invoice.py +134 -0
  2023. pyrogram/raw/types/input_bot_inline_message_media_venue.py +124 -0
  2024. pyrogram/raw/types/input_bot_inline_message_media_web_page.py +126 -0
  2025. pyrogram/raw/types/input_bot_inline_message_text.py +106 -0
  2026. pyrogram/raw/types/input_bot_inline_result.py +137 -0
  2027. pyrogram/raw/types/input_bot_inline_result_document.py +116 -0
  2028. pyrogram/raw/types/input_bot_inline_result_game.py +88 -0
  2029. pyrogram/raw/types/input_bot_inline_result_photo.py +96 -0
  2030. pyrogram/raw/types/input_business_away_message.py +96 -0
  2031. pyrogram/raw/types/input_business_bot_recipients.py +116 -0
  2032. pyrogram/raw/types/input_business_chat_link.py +93 -0
  2033. pyrogram/raw/types/input_business_greeting_message.py +88 -0
  2034. pyrogram/raw/types/input_business_intro.py +92 -0
  2035. pyrogram/raw/types/input_business_recipients.py +106 -0
  2036. pyrogram/raw/types/input_channel.py +80 -0
  2037. pyrogram/raw/types/input_channel_empty.py +67 -0
  2038. pyrogram/raw/types/input_channel_from_message.py +88 -0
  2039. pyrogram/raw/types/input_chat_photo.py +72 -0
  2040. pyrogram/raw/types/input_chat_photo_empty.py +67 -0
  2041. pyrogram/raw/types/input_chat_uploaded_photo.py +105 -0
  2042. pyrogram/raw/types/input_chatlist_dialog_filter.py +72 -0
  2043. pyrogram/raw/types/input_check_password_empty.py +67 -0
  2044. pyrogram/raw/types/input_check_password_srp.py +88 -0
  2045. pyrogram/raw/types/input_client_proxy.py +80 -0
  2046. pyrogram/raw/types/input_collectible_phone.py +72 -0
  2047. pyrogram/raw/types/input_collectible_username.py +72 -0
  2048. pyrogram/raw/types/input_dialog_peer.py +72 -0
  2049. pyrogram/raw/types/input_dialog_peer_folder.py +72 -0
  2050. pyrogram/raw/types/input_document.py +88 -0
  2051. pyrogram/raw/types/input_document_empty.py +67 -0
  2052. pyrogram/raw/types/input_document_file_location.py +96 -0
  2053. pyrogram/raw/types/input_emoji_status_collectible.py +83 -0
  2054. pyrogram/raw/types/input_encrypted_chat.py +80 -0
  2055. pyrogram/raw/types/input_encrypted_file.py +80 -0
  2056. pyrogram/raw/types/input_encrypted_file_big_uploaded.py +88 -0
  2057. pyrogram/raw/types/input_encrypted_file_empty.py +67 -0
  2058. pyrogram/raw/types/input_encrypted_file_location.py +80 -0
  2059. pyrogram/raw/types/input_encrypted_file_uploaded.py +96 -0
  2060. pyrogram/raw/types/input_file.py +96 -0
  2061. pyrogram/raw/types/input_file_big.py +88 -0
  2062. pyrogram/raw/types/input_file_location.py +96 -0
  2063. pyrogram/raw/types/input_file_story_document.py +72 -0
  2064. pyrogram/raw/types/input_folder_peer.py +80 -0
  2065. pyrogram/raw/types/input_game_id.py +80 -0
  2066. pyrogram/raw/types/input_game_short_name.py +80 -0
  2067. pyrogram/raw/types/input_geo_point.py +91 -0
  2068. pyrogram/raw/types/input_geo_point_empty.py +67 -0
  2069. pyrogram/raw/types/input_group_call.py +80 -0
  2070. pyrogram/raw/types/input_group_call_stream.py +108 -0
  2071. pyrogram/raw/types/input_invoice_chat_invite_subscription.py +72 -0
  2072. pyrogram/raw/types/input_invoice_message.py +80 -0
  2073. pyrogram/raw/types/input_invoice_premium_gift_code.py +80 -0
  2074. pyrogram/raw/types/input_invoice_slug.py +72 -0
  2075. pyrogram/raw/types/input_invoice_star_gift.py +104 -0
  2076. pyrogram/raw/types/input_invoice_star_gift_transfer.py +80 -0
  2077. pyrogram/raw/types/input_invoice_star_gift_upgrade.py +80 -0
  2078. pyrogram/raw/types/input_invoice_stars.py +72 -0
  2079. pyrogram/raw/types/input_keyboard_button_request_peer.py +116 -0
  2080. pyrogram/raw/types/input_keyboard_button_url_auth.py +105 -0
  2081. pyrogram/raw/types/input_keyboard_button_user_profile.py +80 -0
  2082. pyrogram/raw/types/input_media_area_channel_post.py +88 -0
  2083. pyrogram/raw/types/input_media_area_venue.py +88 -0
  2084. pyrogram/raw/types/input_media_contact.py +96 -0
  2085. pyrogram/raw/types/input_media_dice.py +72 -0
  2086. pyrogram/raw/types/input_media_document.py +117 -0
  2087. pyrogram/raw/types/input_media_document_external.py +108 -0
  2088. pyrogram/raw/types/input_media_empty.py +67 -0
  2089. pyrogram/raw/types/input_media_game.py +72 -0
  2090. pyrogram/raw/types/input_media_geo_live.py +107 -0
  2091. pyrogram/raw/types/input_media_geo_point.py +72 -0
  2092. pyrogram/raw/types/input_media_invoice.py +144 -0
  2093. pyrogram/raw/types/input_media_paid_media.py +91 -0
  2094. pyrogram/raw/types/input_media_photo.py +89 -0
  2095. pyrogram/raw/types/input_media_photo_external.py +89 -0
  2096. pyrogram/raw/types/input_media_poll.py +103 -0
  2097. pyrogram/raw/types/input_media_story.py +80 -0
  2098. pyrogram/raw/types/input_media_uploaded_document.py +156 -0
  2099. pyrogram/raw/types/input_media_uploaded_photo.py +99 -0
  2100. pyrogram/raw/types/input_media_venue.py +112 -0
  2101. pyrogram/raw/types/input_media_web_page.py +92 -0
  2102. pyrogram/raw/types/input_message_callback_query.py +80 -0
  2103. pyrogram/raw/types/input_message_entity_mention_name.py +88 -0
  2104. pyrogram/raw/types/input_message_id.py +72 -0
  2105. pyrogram/raw/types/input_message_pinned.py +67 -0
  2106. pyrogram/raw/types/input_message_reply_to.py +72 -0
  2107. pyrogram/raw/types/input_messages_filter_chat_photos.py +67 -0
  2108. pyrogram/raw/types/input_messages_filter_contacts.py +67 -0
  2109. pyrogram/raw/types/input_messages_filter_document.py +67 -0
  2110. pyrogram/raw/types/input_messages_filter_empty.py +67 -0
  2111. pyrogram/raw/types/input_messages_filter_geo.py +67 -0
  2112. pyrogram/raw/types/input_messages_filter_gif.py +67 -0
  2113. pyrogram/raw/types/input_messages_filter_music.py +67 -0
  2114. pyrogram/raw/types/input_messages_filter_my_mentions.py +67 -0
  2115. pyrogram/raw/types/input_messages_filter_phone_calls.py +72 -0
  2116. pyrogram/raw/types/input_messages_filter_photo_video.py +67 -0
  2117. pyrogram/raw/types/input_messages_filter_photos.py +67 -0
  2118. pyrogram/raw/types/input_messages_filter_pinned.py +67 -0
  2119. pyrogram/raw/types/input_messages_filter_round_video.py +67 -0
  2120. pyrogram/raw/types/input_messages_filter_round_voice.py +67 -0
  2121. pyrogram/raw/types/input_messages_filter_url.py +67 -0
  2122. pyrogram/raw/types/input_messages_filter_video.py +67 -0
  2123. pyrogram/raw/types/input_messages_filter_voice.py +67 -0
  2124. pyrogram/raw/types/input_notify_broadcasts.py +67 -0
  2125. pyrogram/raw/types/input_notify_chats.py +67 -0
  2126. pyrogram/raw/types/input_notify_forum_topic.py +80 -0
  2127. pyrogram/raw/types/input_notify_peer.py +72 -0
  2128. pyrogram/raw/types/input_notify_users.py +67 -0
  2129. pyrogram/raw/types/input_payment_credentials.py +80 -0
  2130. pyrogram/raw/types/input_payment_credentials_apple_pay.py +72 -0
  2131. pyrogram/raw/types/input_payment_credentials_google_pay.py +72 -0
  2132. pyrogram/raw/types/input_payment_credentials_saved.py +80 -0
  2133. pyrogram/raw/types/input_peer_channel.py +80 -0
  2134. pyrogram/raw/types/input_peer_channel_from_message.py +88 -0
  2135. pyrogram/raw/types/input_peer_chat.py +72 -0
  2136. pyrogram/raw/types/input_peer_empty.py +67 -0
  2137. pyrogram/raw/types/input_peer_notify_settings.py +131 -0
  2138. pyrogram/raw/types/input_peer_photo_file_location.py +88 -0
  2139. pyrogram/raw/types/input_peer_self.py +67 -0
  2140. pyrogram/raw/types/input_peer_user.py +80 -0
  2141. pyrogram/raw/types/input_peer_user_from_message.py +88 -0
  2142. pyrogram/raw/types/input_phone_call.py +80 -0
  2143. pyrogram/raw/types/input_phone_contact.py +96 -0
  2144. pyrogram/raw/types/input_photo.py +88 -0
  2145. pyrogram/raw/types/input_photo_empty.py +67 -0
  2146. pyrogram/raw/types/input_photo_file_location.py +96 -0
  2147. pyrogram/raw/types/input_photo_legacy_file_location.py +112 -0
  2148. pyrogram/raw/types/input_privacy_key_about.py +67 -0
  2149. pyrogram/raw/types/input_privacy_key_added_by_phone.py +67 -0
  2150. pyrogram/raw/types/input_privacy_key_birthday.py +67 -0
  2151. pyrogram/raw/types/input_privacy_key_chat_invite.py +67 -0
  2152. pyrogram/raw/types/input_privacy_key_forwards.py +67 -0
  2153. pyrogram/raw/types/input_privacy_key_phone_call.py +67 -0
  2154. pyrogram/raw/types/input_privacy_key_phone_number.py +67 -0
  2155. pyrogram/raw/types/input_privacy_key_phone_p2_p.py +67 -0
  2156. pyrogram/raw/types/input_privacy_key_profile_photo.py +67 -0
  2157. pyrogram/raw/types/input_privacy_key_star_gifts_auto_save.py +67 -0
  2158. pyrogram/raw/types/input_privacy_key_status_timestamp.py +67 -0
  2159. pyrogram/raw/types/input_privacy_key_voice_messages.py +67 -0
  2160. pyrogram/raw/types/input_privacy_value_allow_all.py +67 -0
  2161. pyrogram/raw/types/input_privacy_value_allow_bots.py +67 -0
  2162. pyrogram/raw/types/input_privacy_value_allow_chat_participants.py +72 -0
  2163. pyrogram/raw/types/input_privacy_value_allow_close_friends.py +67 -0
  2164. pyrogram/raw/types/input_privacy_value_allow_contacts.py +67 -0
  2165. pyrogram/raw/types/input_privacy_value_allow_premium.py +67 -0
  2166. pyrogram/raw/types/input_privacy_value_allow_users.py +72 -0
  2167. pyrogram/raw/types/input_privacy_value_disallow_all.py +67 -0
  2168. pyrogram/raw/types/input_privacy_value_disallow_bots.py +67 -0
  2169. pyrogram/raw/types/input_privacy_value_disallow_chat_participants.py +72 -0
  2170. pyrogram/raw/types/input_privacy_value_disallow_contacts.py +67 -0
  2171. pyrogram/raw/types/input_privacy_value_disallow_users.py +72 -0
  2172. pyrogram/raw/types/input_quick_reply_shortcut.py +72 -0
  2173. pyrogram/raw/types/input_quick_reply_shortcut_id.py +72 -0
  2174. pyrogram/raw/types/input_reply_to_message.py +121 -0
  2175. pyrogram/raw/types/input_reply_to_story.py +80 -0
  2176. pyrogram/raw/types/input_report_reason_child_abuse.py +67 -0
  2177. pyrogram/raw/types/input_report_reason_copyright.py +67 -0
  2178. pyrogram/raw/types/input_report_reason_fake.py +67 -0
  2179. pyrogram/raw/types/input_report_reason_geo_irrelevant.py +67 -0
  2180. pyrogram/raw/types/input_report_reason_illegal_drugs.py +67 -0
  2181. pyrogram/raw/types/input_report_reason_other.py +67 -0
  2182. pyrogram/raw/types/input_report_reason_personal_details.py +67 -0
  2183. pyrogram/raw/types/input_report_reason_pornography.py +67 -0
  2184. pyrogram/raw/types/input_report_reason_spam.py +67 -0
  2185. pyrogram/raw/types/input_report_reason_violence.py +67 -0
  2186. pyrogram/raw/types/input_saved_star_gift_chat.py +80 -0
  2187. pyrogram/raw/types/input_saved_star_gift_user.py +72 -0
  2188. pyrogram/raw/types/input_secure_file.py +80 -0
  2189. pyrogram/raw/types/input_secure_file_location.py +80 -0
  2190. pyrogram/raw/types/input_secure_file_uploaded.py +104 -0
  2191. pyrogram/raw/types/input_secure_value.py +144 -0
  2192. pyrogram/raw/types/input_single_media.py +100 -0
  2193. pyrogram/raw/types/input_stars_transaction.py +80 -0
  2194. pyrogram/raw/types/input_sticker_set_animated_emoji.py +67 -0
  2195. pyrogram/raw/types/input_sticker_set_animated_emoji_animations.py +67 -0
  2196. pyrogram/raw/types/input_sticker_set_dice.py +72 -0
  2197. pyrogram/raw/types/input_sticker_set_emoji_channel_default_statuses.py +67 -0
  2198. pyrogram/raw/types/input_sticker_set_emoji_default_statuses.py +67 -0
  2199. pyrogram/raw/types/input_sticker_set_emoji_default_topic_icons.py +67 -0
  2200. pyrogram/raw/types/input_sticker_set_emoji_generic_animations.py +67 -0
  2201. pyrogram/raw/types/input_sticker_set_empty.py +67 -0
  2202. pyrogram/raw/types/input_sticker_set_id.py +80 -0
  2203. pyrogram/raw/types/input_sticker_set_item.py +101 -0
  2204. pyrogram/raw/types/input_sticker_set_premium_gifts.py +67 -0
  2205. pyrogram/raw/types/input_sticker_set_short_name.py +72 -0
  2206. pyrogram/raw/types/input_sticker_set_thumb.py +80 -0
  2207. pyrogram/raw/types/input_stickered_media_document.py +72 -0
  2208. pyrogram/raw/types/input_stickered_media_photo.py +72 -0
  2209. pyrogram/raw/types/input_store_payment_gift_premium.py +88 -0
  2210. pyrogram/raw/types/input_store_payment_premium_gift_code.py +110 -0
  2211. pyrogram/raw/types/input_store_payment_premium_giveaway.py +147 -0
  2212. pyrogram/raw/types/input_store_payment_premium_subscription.py +78 -0
  2213. pyrogram/raw/types/input_store_payment_stars_gift.py +96 -0
  2214. pyrogram/raw/types/input_store_payment_stars_giveaway.py +163 -0
  2215. pyrogram/raw/types/input_store_payment_stars_topup.py +88 -0
  2216. pyrogram/raw/types/input_takeout_file_location.py +67 -0
  2217. pyrogram/raw/types/input_theme.py +80 -0
  2218. pyrogram/raw/types/input_theme_settings.py +127 -0
  2219. pyrogram/raw/types/input_theme_slug.py +72 -0
  2220. pyrogram/raw/types/input_user.py +80 -0
  2221. pyrogram/raw/types/input_user_empty.py +67 -0
  2222. pyrogram/raw/types/input_user_from_message.py +88 -0
  2223. pyrogram/raw/types/input_user_self.py +67 -0
  2224. pyrogram/raw/types/input_wall_paper.py +80 -0
  2225. pyrogram/raw/types/input_wall_paper_no_file.py +72 -0
  2226. pyrogram/raw/types/input_wall_paper_slug.py +72 -0
  2227. pyrogram/raw/types/input_web_document.py +96 -0
  2228. pyrogram/raw/types/input_web_file_audio_album_thumb_location.py +100 -0
  2229. pyrogram/raw/types/input_web_file_geo_point_location.py +112 -0
  2230. pyrogram/raw/types/input_web_file_location.py +80 -0
  2231. pyrogram/raw/types/invoice.py +173 -0
  2232. pyrogram/raw/types/ip_port.py +80 -0
  2233. pyrogram/raw/types/ip_port_secret.py +88 -0
  2234. pyrogram/raw/types/json_array.py +72 -0
  2235. pyrogram/raw/types/json_bool.py +72 -0
  2236. pyrogram/raw/types/json_null.py +67 -0
  2237. pyrogram/raw/types/json_number.py +72 -0
  2238. pyrogram/raw/types/json_object.py +72 -0
  2239. pyrogram/raw/types/json_object_value.py +80 -0
  2240. pyrogram/raw/types/json_string.py +72 -0
  2241. pyrogram/raw/types/keyboard_button.py +72 -0
  2242. pyrogram/raw/types/keyboard_button_buy.py +72 -0
  2243. pyrogram/raw/types/keyboard_button_callback.py +88 -0
  2244. pyrogram/raw/types/keyboard_button_copy.py +80 -0
  2245. pyrogram/raw/types/keyboard_button_game.py +72 -0
  2246. pyrogram/raw/types/keyboard_button_request_geo_location.py +72 -0
  2247. pyrogram/raw/types/keyboard_button_request_peer.py +96 -0
  2248. pyrogram/raw/types/keyboard_button_request_phone.py +72 -0
  2249. pyrogram/raw/types/keyboard_button_request_poll.py +83 -0
  2250. pyrogram/raw/types/keyboard_button_row.py +72 -0
  2251. pyrogram/raw/types/keyboard_button_simple_web_view.py +80 -0
  2252. pyrogram/raw/types/keyboard_button_switch_inline.py +98 -0
  2253. pyrogram/raw/types/keyboard_button_url.py +80 -0
  2254. pyrogram/raw/types/keyboard_button_url_auth.py +99 -0
  2255. pyrogram/raw/types/keyboard_button_user_profile.py +80 -0
  2256. pyrogram/raw/types/keyboard_button_web_view.py +80 -0
  2257. pyrogram/raw/types/labeled_price.py +80 -0
  2258. pyrogram/raw/types/lang_pack_difference.py +106 -0
  2259. pyrogram/raw/types/lang_pack_language.py +159 -0
  2260. pyrogram/raw/types/lang_pack_string.py +89 -0
  2261. pyrogram/raw/types/lang_pack_string_deleted.py +81 -0
  2262. pyrogram/raw/types/lang_pack_string_pluralized.py +136 -0
  2263. pyrogram/raw/types/mask_coords.py +96 -0
  2264. pyrogram/raw/types/media_area_channel_post.py +88 -0
  2265. pyrogram/raw/types/media_area_coordinates.py +115 -0
  2266. pyrogram/raw/types/media_area_geo_point.py +92 -0
  2267. pyrogram/raw/types/media_area_star_gift.py +80 -0
  2268. pyrogram/raw/types/media_area_suggested_reaction.py +94 -0
  2269. pyrogram/raw/types/media_area_url.py +80 -0
  2270. pyrogram/raw/types/media_area_venue.py +120 -0
  2271. pyrogram/raw/types/media_area_weather.py +96 -0
  2272. pyrogram/raw/types/message.py +398 -0
  2273. pyrogram/raw/types/message_action_boost_apply.py +72 -0
  2274. pyrogram/raw/types/message_action_bot_allowed.py +97 -0
  2275. pyrogram/raw/types/message_action_channel_create.py +72 -0
  2276. pyrogram/raw/types/message_action_channel_migrate_from.py +80 -0
  2277. pyrogram/raw/types/message_action_chat_add_user.py +72 -0
  2278. pyrogram/raw/types/message_action_chat_create.py +80 -0
  2279. pyrogram/raw/types/message_action_chat_delete_photo.py +67 -0
  2280. pyrogram/raw/types/message_action_chat_delete_user.py +72 -0
  2281. pyrogram/raw/types/message_action_chat_edit_photo.py +72 -0
  2282. pyrogram/raw/types/message_action_chat_edit_title.py +72 -0
  2283. pyrogram/raw/types/message_action_chat_joined_by_link.py +72 -0
  2284. pyrogram/raw/types/message_action_chat_joined_by_request.py +67 -0
  2285. pyrogram/raw/types/message_action_chat_migrate_to.py +72 -0
  2286. pyrogram/raw/types/message_action_contact_sign_up.py +67 -0
  2287. pyrogram/raw/types/message_action_custom_action.py +72 -0
  2288. pyrogram/raw/types/message_action_empty.py +67 -0
  2289. pyrogram/raw/types/message_action_game_score.py +80 -0
  2290. pyrogram/raw/types/message_action_geo_proximity_reached.py +88 -0
  2291. pyrogram/raw/types/message_action_gift_code.py +150 -0
  2292. pyrogram/raw/types/message_action_gift_premium.py +118 -0
  2293. pyrogram/raw/types/message_action_gift_stars.py +117 -0
  2294. pyrogram/raw/types/message_action_giveaway_launch.py +75 -0
  2295. pyrogram/raw/types/message_action_giveaway_results.py +88 -0
  2296. pyrogram/raw/types/message_action_group_call.py +83 -0
  2297. pyrogram/raw/types/message_action_group_call_scheduled.py +80 -0
  2298. pyrogram/raw/types/message_action_history_clear.py +67 -0
  2299. pyrogram/raw/types/message_action_invite_to_group_call.py +80 -0
  2300. pyrogram/raw/types/message_action_payment_refunded.py +107 -0
  2301. pyrogram/raw/types/message_action_payment_sent.py +112 -0
  2302. pyrogram/raw/types/message_action_payment_sent_me.py +138 -0
  2303. pyrogram/raw/types/message_action_phone_call.py +99 -0
  2304. pyrogram/raw/types/message_action_pin_message.py +67 -0
  2305. pyrogram/raw/types/message_action_prize_stars.py +104 -0
  2306. pyrogram/raw/types/message_action_requested_peer.py +80 -0
  2307. pyrogram/raw/types/message_action_requested_peer_sent_me.py +80 -0
  2308. pyrogram/raw/types/message_action_screenshot_taken.py +67 -0
  2309. pyrogram/raw/types/message_action_secure_values_sent.py +72 -0
  2310. pyrogram/raw/types/message_action_secure_values_sent_me.py +80 -0
  2311. pyrogram/raw/types/message_action_set_chat_theme.py +72 -0
  2312. pyrogram/raw/types/message_action_set_chat_wall_paper.py +86 -0
  2313. pyrogram/raw/types/message_action_set_messages_ttl.py +83 -0
  2314. pyrogram/raw/types/message_action_star_gift.py +176 -0
  2315. pyrogram/raw/types/message_action_star_gift_unique.py +145 -0
  2316. pyrogram/raw/types/message_action_suggest_profile_photo.py +72 -0
  2317. pyrogram/raw/types/message_action_topic_create.py +91 -0
  2318. pyrogram/raw/types/message_action_topic_edit.py +102 -0
  2319. pyrogram/raw/types/message_action_web_view_data_sent.py +72 -0
  2320. pyrogram/raw/types/message_action_web_view_data_sent_me.py +80 -0
  2321. pyrogram/raw/types/message_empty.py +84 -0
  2322. pyrogram/raw/types/message_entity_bank_card.py +80 -0
  2323. pyrogram/raw/types/message_entity_blockquote.py +88 -0
  2324. pyrogram/raw/types/message_entity_bold.py +80 -0
  2325. pyrogram/raw/types/message_entity_bot_command.py +80 -0
  2326. pyrogram/raw/types/message_entity_cashtag.py +80 -0
  2327. pyrogram/raw/types/message_entity_code.py +80 -0
  2328. pyrogram/raw/types/message_entity_custom_emoji.py +88 -0
  2329. pyrogram/raw/types/message_entity_email.py +80 -0
  2330. pyrogram/raw/types/message_entity_hashtag.py +80 -0
  2331. pyrogram/raw/types/message_entity_italic.py +80 -0
  2332. pyrogram/raw/types/message_entity_mention.py +80 -0
  2333. pyrogram/raw/types/message_entity_mention_name.py +88 -0
  2334. pyrogram/raw/types/message_entity_phone.py +80 -0
  2335. pyrogram/raw/types/message_entity_pre.py +88 -0
  2336. pyrogram/raw/types/message_entity_spoiler.py +80 -0
  2337. pyrogram/raw/types/message_entity_strike.py +80 -0
  2338. pyrogram/raw/types/message_entity_text_url.py +88 -0
  2339. pyrogram/raw/types/message_entity_underline.py +80 -0
  2340. pyrogram/raw/types/message_entity_unknown.py +80 -0
  2341. pyrogram/raw/types/message_entity_url.py +80 -0
  2342. pyrogram/raw/types/message_extended_media.py +72 -0
  2343. pyrogram/raw/types/message_extended_media_preview.py +103 -0
  2344. pyrogram/raw/types/message_fwd_header.py +179 -0
  2345. pyrogram/raw/types/message_media_contact.py +114 -0
  2346. pyrogram/raw/types/message_media_dice.py +90 -0
  2347. pyrogram/raw/types/message_media_document.py +154 -0
  2348. pyrogram/raw/types/message_media_empty.py +77 -0
  2349. pyrogram/raw/types/message_media_game.py +82 -0
  2350. pyrogram/raw/types/message_media_geo.py +82 -0
  2351. pyrogram/raw/types/message_media_geo_live.py +110 -0
  2352. pyrogram/raw/types/message_media_giveaway.py +149 -0
  2353. pyrogram/raw/types/message_media_giveaway_results.py +172 -0
  2354. pyrogram/raw/types/message_media_invoice.py +157 -0
  2355. pyrogram/raw/types/message_media_paid_media.py +90 -0
  2356. pyrogram/raw/types/message_media_photo.py +101 -0
  2357. pyrogram/raw/types/message_media_poll.py +90 -0
  2358. pyrogram/raw/types/message_media_story.py +108 -0
  2359. pyrogram/raw/types/message_media_unsupported.py +77 -0
  2360. pyrogram/raw/types/message_media_venue.py +122 -0
  2361. pyrogram/raw/types/message_media_web_page.py +108 -0
  2362. pyrogram/raw/types/message_peer_reaction.py +108 -0
  2363. pyrogram/raw/types/message_peer_vote.py +88 -0
  2364. pyrogram/raw/types/message_peer_vote_input_option.py +80 -0
  2365. pyrogram/raw/types/message_peer_vote_multiple.py +88 -0
  2366. pyrogram/raw/types/message_range.py +89 -0
  2367. pyrogram/raw/types/message_reactions.py +112 -0
  2368. pyrogram/raw/types/message_reactor.py +102 -0
  2369. pyrogram/raw/types/message_replies.py +125 -0
  2370. pyrogram/raw/types/message_reply_header.py +160 -0
  2371. pyrogram/raw/types/message_reply_story_header.py +80 -0
  2372. pyrogram/raw/types/message_report_option.py +80 -0
  2373. pyrogram/raw/types/message_service.py +179 -0
  2374. pyrogram/raw/types/message_views.py +94 -0
  2375. pyrogram/raw/types/messages/__init__.py +112 -0
  2376. pyrogram/raw/types/messages/affected_found_messages.py +105 -0
  2377. pyrogram/raw/types/messages/affected_history.py +103 -0
  2378. pyrogram/raw/types/messages/affected_messages.py +92 -0
  2379. pyrogram/raw/types/messages/all_stickers.py +91 -0
  2380. pyrogram/raw/types/messages/all_stickers_not_modified.py +78 -0
  2381. pyrogram/raw/types/messages/archived_stickers.py +89 -0
  2382. pyrogram/raw/types/messages/available_effects.py +97 -0
  2383. pyrogram/raw/types/messages/available_effects_not_modified.py +76 -0
  2384. pyrogram/raw/types/messages/available_reactions.py +89 -0
  2385. pyrogram/raw/types/messages/available_reactions_not_modified.py +76 -0
  2386. pyrogram/raw/types/messages/bot_app.py +101 -0
  2387. pyrogram/raw/types/messages/bot_callback_answer.py +119 -0
  2388. pyrogram/raw/types/messages/bot_prepared_inline_message.py +89 -0
  2389. pyrogram/raw/types/messages/bot_results.py +142 -0
  2390. pyrogram/raw/types/messages/channel_messages.py +152 -0
  2391. pyrogram/raw/types/messages/chat_admins_with_invites.py +89 -0
  2392. pyrogram/raw/types/messages/chat_full.py +98 -0
  2393. pyrogram/raw/types/messages/chat_invite_importers.py +97 -0
  2394. pyrogram/raw/types/messages/chats.py +88 -0
  2395. pyrogram/raw/types/messages/chats_slice.py +96 -0
  2396. pyrogram/raw/types/messages/checked_history_import_peer.py +81 -0
  2397. pyrogram/raw/types/messages/dh_config.py +105 -0
  2398. pyrogram/raw/types/messages/dh_config_not_modified.py +81 -0
  2399. pyrogram/raw/types/messages/dialog_filters.py +89 -0
  2400. pyrogram/raw/types/messages/dialogs.py +105 -0
  2401. pyrogram/raw/types/messages/dialogs_not_modified.py +81 -0
  2402. pyrogram/raw/types/messages/dialogs_slice.py +113 -0
  2403. pyrogram/raw/types/messages/discussion_message.py +134 -0
  2404. pyrogram/raw/types/messages/emoji_groups.py +92 -0
  2405. pyrogram/raw/types/messages/emoji_groups_not_modified.py +79 -0
  2406. pyrogram/raw/types/messages/exported_chat_invite.py +90 -0
  2407. pyrogram/raw/types/messages/exported_chat_invite_replaced.py +98 -0
  2408. pyrogram/raw/types/messages/exported_chat_invites.py +97 -0
  2409. pyrogram/raw/types/messages/faved_stickers.py +97 -0
  2410. pyrogram/raw/types/messages/faved_stickers_not_modified.py +76 -0
  2411. pyrogram/raw/types/messages/featured_stickers.py +115 -0
  2412. pyrogram/raw/types/messages/featured_stickers_not_modified.py +83 -0
  2413. pyrogram/raw/types/messages/forum_topics.py +130 -0
  2414. pyrogram/raw/types/messages/found_sticker_sets.py +90 -0
  2415. pyrogram/raw/types/messages/found_sticker_sets_not_modified.py +77 -0
  2416. pyrogram/raw/types/messages/found_stickers.py +100 -0
  2417. pyrogram/raw/types/messages/found_stickers_not_modified.py +84 -0
  2418. pyrogram/raw/types/messages/high_scores.py +90 -0
  2419. pyrogram/raw/types/messages/history_import.py +81 -0
  2420. pyrogram/raw/types/messages/history_import_parsed.py +96 -0
  2421. pyrogram/raw/types/messages/inactive_chats.py +97 -0
  2422. pyrogram/raw/types/messages/invited_users.py +91 -0
  2423. pyrogram/raw/types/messages/message_edit_data.py +81 -0
  2424. pyrogram/raw/types/messages/message_reactions_list.py +116 -0
  2425. pyrogram/raw/types/messages/message_views.py +97 -0
  2426. pyrogram/raw/types/messages/messages.py +111 -0
  2427. pyrogram/raw/types/messages/messages_not_modified.py +95 -0
  2428. pyrogram/raw/types/messages/messages_slice.py +145 -0
  2429. pyrogram/raw/types/messages/my_stickers.py +89 -0
  2430. pyrogram/raw/types/messages/peer_dialogs.py +114 -0
  2431. pyrogram/raw/types/messages/peer_settings.py +97 -0
  2432. pyrogram/raw/types/messages/prepared_inline_message.py +113 -0
  2433. pyrogram/raw/types/messages/quick_replies.py +105 -0
  2434. pyrogram/raw/types/messages/quick_replies_not_modified.py +76 -0
  2435. pyrogram/raw/types/messages/reactions.py +91 -0
  2436. pyrogram/raw/types/messages/reactions_not_modified.py +78 -0
  2437. pyrogram/raw/types/messages/recent_stickers.py +105 -0
  2438. pyrogram/raw/types/messages/recent_stickers_not_modified.py +76 -0
  2439. pyrogram/raw/types/messages/saved_dialogs.py +106 -0
  2440. pyrogram/raw/types/messages/saved_dialogs_not_modified.py +82 -0
  2441. pyrogram/raw/types/messages/saved_dialogs_slice.py +114 -0
  2442. pyrogram/raw/types/messages/saved_gifs.py +89 -0
  2443. pyrogram/raw/types/messages/saved_gifs_not_modified.py +76 -0
  2444. pyrogram/raw/types/messages/saved_reaction_tags.py +89 -0
  2445. pyrogram/raw/types/messages/saved_reaction_tags_not_modified.py +76 -0
  2446. pyrogram/raw/types/messages/search_counter.py +97 -0
  2447. pyrogram/raw/types/messages/search_results_calendar.py +146 -0
  2448. pyrogram/raw/types/messages/search_results_positions.py +89 -0
  2449. pyrogram/raw/types/messages/sent_encrypted_file.py +91 -0
  2450. pyrogram/raw/types/messages/sent_encrypted_message.py +83 -0
  2451. pyrogram/raw/types/messages/sponsored_messages.py +108 -0
  2452. pyrogram/raw/types/messages/sponsored_messages_empty.py +76 -0
  2453. pyrogram/raw/types/messages/sticker_set.py +113 -0
  2454. pyrogram/raw/types/messages/sticker_set_install_result_archive.py +81 -0
  2455. pyrogram/raw/types/messages/sticker_set_install_result_success.py +76 -0
  2456. pyrogram/raw/types/messages/sticker_set_not_modified.py +84 -0
  2457. pyrogram/raw/types/messages/stickers.py +89 -0
  2458. pyrogram/raw/types/messages/stickers_not_modified.py +76 -0
  2459. pyrogram/raw/types/messages/transcribed_audio.py +115 -0
  2460. pyrogram/raw/types/messages/translate_result.py +81 -0
  2461. pyrogram/raw/types/messages/votes_list.py +116 -0
  2462. pyrogram/raw/types/messages/web_page.py +97 -0
  2463. pyrogram/raw/types/messages/web_page_preview.py +89 -0
  2464. pyrogram/raw/types/missing_invitee.py +86 -0
  2465. pyrogram/raw/types/msg_detailed_info.py +96 -0
  2466. pyrogram/raw/types/msg_new_detailed_info.py +88 -0
  2467. pyrogram/raw/types/msg_resend_ans_req.py +72 -0
  2468. pyrogram/raw/types/msg_resend_req.py +72 -0
  2469. pyrogram/raw/types/msgs_ack.py +72 -0
  2470. pyrogram/raw/types/msgs_all_info.py +80 -0
  2471. pyrogram/raw/types/msgs_state_info.py +80 -0
  2472. pyrogram/raw/types/msgs_state_req.py +72 -0
  2473. pyrogram/raw/types/my_boost.py +109 -0
  2474. pyrogram/raw/types/nearest_dc.py +97 -0
  2475. pyrogram/raw/types/new_session_created.py +88 -0
  2476. pyrogram/raw/types/notification_sound_default.py +67 -0
  2477. pyrogram/raw/types/notification_sound_local.py +80 -0
  2478. pyrogram/raw/types/notification_sound_none.py +67 -0
  2479. pyrogram/raw/types/notification_sound_ringtone.py +72 -0
  2480. pyrogram/raw/types/notify_broadcasts.py +67 -0
  2481. pyrogram/raw/types/notify_chats.py +67 -0
  2482. pyrogram/raw/types/notify_forum_topic.py +80 -0
  2483. pyrogram/raw/types/notify_peer.py +72 -0
  2484. pyrogram/raw/types/notify_users.py +67 -0
  2485. pyrogram/raw/types/outbox_read_date.py +81 -0
  2486. pyrogram/raw/types/page.py +125 -0
  2487. pyrogram/raw/types/page_block_anchor.py +72 -0
  2488. pyrogram/raw/types/page_block_audio.py +80 -0
  2489. pyrogram/raw/types/page_block_author_date.py +80 -0
  2490. pyrogram/raw/types/page_block_blockquote.py +80 -0
  2491. pyrogram/raw/types/page_block_channel.py +72 -0
  2492. pyrogram/raw/types/page_block_collage.py +80 -0
  2493. pyrogram/raw/types/page_block_cover.py +72 -0
  2494. pyrogram/raw/types/page_block_details.py +88 -0
  2495. pyrogram/raw/types/page_block_divider.py +67 -0
  2496. pyrogram/raw/types/page_block_embed.py +131 -0
  2497. pyrogram/raw/types/page_block_embed_post.py +120 -0
  2498. pyrogram/raw/types/page_block_footer.py +72 -0
  2499. pyrogram/raw/types/page_block_header.py +72 -0
  2500. pyrogram/raw/types/page_block_kicker.py +72 -0
  2501. pyrogram/raw/types/page_block_list.py +72 -0
  2502. pyrogram/raw/types/page_block_map.py +104 -0
  2503. pyrogram/raw/types/page_block_ordered_list.py +72 -0
  2504. pyrogram/raw/types/page_block_paragraph.py +72 -0
  2505. pyrogram/raw/types/page_block_photo.py +100 -0
  2506. pyrogram/raw/types/page_block_preformatted.py +80 -0
  2507. pyrogram/raw/types/page_block_pullquote.py +80 -0
  2508. pyrogram/raw/types/page_block_related_articles.py +80 -0
  2509. pyrogram/raw/types/page_block_slideshow.py +80 -0
  2510. pyrogram/raw/types/page_block_subheader.py +72 -0
  2511. pyrogram/raw/types/page_block_subtitle.py +72 -0
  2512. pyrogram/raw/types/page_block_table.py +94 -0
  2513. pyrogram/raw/types/page_block_title.py +72 -0
  2514. pyrogram/raw/types/page_block_unsupported.py +67 -0
  2515. pyrogram/raw/types/page_block_video.py +94 -0
  2516. pyrogram/raw/types/page_caption.py +80 -0
  2517. pyrogram/raw/types/page_list_item_blocks.py +72 -0
  2518. pyrogram/raw/types/page_list_item_text.py +72 -0
  2519. pyrogram/raw/types/page_list_ordered_item_blocks.py +80 -0
  2520. pyrogram/raw/types/page_list_ordered_item_text.py +80 -0
  2521. pyrogram/raw/types/page_related_article.py +127 -0
  2522. pyrogram/raw/types/page_table_cell.py +124 -0
  2523. pyrogram/raw/types/page_table_row.py +72 -0
  2524. pyrogram/raw/types/password_kdf_algo_sha256_sha256_pbkdf2_hmacsha512iter100000_sha256_mod_pow.py +96 -0
  2525. pyrogram/raw/types/password_kdf_algo_unknown.py +67 -0
  2526. pyrogram/raw/types/payment_charge.py +80 -0
  2527. pyrogram/raw/types/payment_form_method.py +80 -0
  2528. pyrogram/raw/types/payment_requested_info.py +103 -0
  2529. pyrogram/raw/types/payment_saved_credentials_card.py +80 -0
  2530. pyrogram/raw/types/payments/__init__.py +50 -0
  2531. pyrogram/raw/types/payments/bank_card_data.py +89 -0
  2532. pyrogram/raw/types/payments/checked_gift_code.py +150 -0
  2533. pyrogram/raw/types/payments/connected_star_ref_bots.py +100 -0
  2534. pyrogram/raw/types/payments/exported_invoice.py +81 -0
  2535. pyrogram/raw/types/payments/giveaway_info.py +122 -0
  2536. pyrogram/raw/types/payments/giveaway_info_results.py +138 -0
  2537. pyrogram/raw/types/payments/payment_form.py +210 -0
  2538. pyrogram/raw/types/payments/payment_form_star_gift.py +89 -0
  2539. pyrogram/raw/types/payments/payment_form_stars.py +133 -0
  2540. pyrogram/raw/types/payments/payment_receipt.py +194 -0
  2541. pyrogram/raw/types/payments/payment_receipt_stars.py +157 -0
  2542. pyrogram/raw/types/payments/payment_result.py +82 -0
  2543. pyrogram/raw/types/payments/payment_verification_needed.py +82 -0
  2544. pyrogram/raw/types/payments/saved_info.py +91 -0
  2545. pyrogram/raw/types/payments/saved_star_gifts.py +126 -0
  2546. pyrogram/raw/types/payments/star_gift_upgrade_preview.py +81 -0
  2547. pyrogram/raw/types/payments/star_gift_withdrawal_url.py +81 -0
  2548. pyrogram/raw/types/payments/star_gifts.py +89 -0
  2549. pyrogram/raw/types/payments/star_gifts_not_modified.py +76 -0
  2550. pyrogram/raw/types/payments/stars_revenue_ads_account_url.py +81 -0
  2551. pyrogram/raw/types/payments/stars_revenue_stats.py +97 -0
  2552. pyrogram/raw/types/payments/stars_revenue_withdrawal_url.py +81 -0
  2553. pyrogram/raw/types/payments/stars_status.py +149 -0
  2554. pyrogram/raw/types/payments/suggested_star_ref_bots.py +108 -0
  2555. pyrogram/raw/types/payments/unique_star_gift.py +89 -0
  2556. pyrogram/raw/types/payments/validated_requested_info.py +94 -0
  2557. pyrogram/raw/types/peer_blocked.py +80 -0
  2558. pyrogram/raw/types/peer_channel.py +81 -0
  2559. pyrogram/raw/types/peer_chat.py +81 -0
  2560. pyrogram/raw/types/peer_color.py +84 -0
  2561. pyrogram/raw/types/peer_located.py +88 -0
  2562. pyrogram/raw/types/peer_notify_settings.py +180 -0
  2563. pyrogram/raw/types/peer_self_located.py +72 -0
  2564. pyrogram/raw/types/peer_settings.py +177 -0
  2565. pyrogram/raw/types/peer_stories.py +91 -0
  2566. pyrogram/raw/types/peer_user.py +81 -0
  2567. pyrogram/raw/types/phone/__init__.py +31 -0
  2568. pyrogram/raw/types/phone/exported_group_call_invite.py +81 -0
  2569. pyrogram/raw/types/phone/group_call.py +113 -0
  2570. pyrogram/raw/types/phone/group_call_stream_channels.py +81 -0
  2571. pyrogram/raw/types/phone/group_call_stream_rtmp_url.py +89 -0
  2572. pyrogram/raw/types/phone/group_participants.py +121 -0
  2573. pyrogram/raw/types/phone/join_as_peers.py +97 -0
  2574. pyrogram/raw/types/phone/phone_call.py +92 -0
  2575. pyrogram/raw/types/phone_call.py +178 -0
  2576. pyrogram/raw/types/phone_call_accepted.py +138 -0
  2577. pyrogram/raw/types/phone_call_discard_reason_allow_group_call.py +72 -0
  2578. pyrogram/raw/types/phone_call_discard_reason_busy.py +67 -0
  2579. pyrogram/raw/types/phone_call_discard_reason_disconnect.py +67 -0
  2580. pyrogram/raw/types/phone_call_discard_reason_hangup.py +67 -0
  2581. pyrogram/raw/types/phone_call_discard_reason_missed.py +67 -0
  2582. pyrogram/raw/types/phone_call_discarded.py +121 -0
  2583. pyrogram/raw/types/phone_call_empty.py +72 -0
  2584. pyrogram/raw/types/phone_call_protocol.py +102 -0
  2585. pyrogram/raw/types/phone_call_requested.py +138 -0
  2586. pyrogram/raw/types/phone_call_waiting.py +139 -0
  2587. pyrogram/raw/types/phone_connection.py +112 -0
  2588. pyrogram/raw/types/phone_connection_webrtc.py +126 -0
  2589. pyrogram/raw/types/photo.py +130 -0
  2590. pyrogram/raw/types/photo_cached_size.py +96 -0
  2591. pyrogram/raw/types/photo_empty.py +72 -0
  2592. pyrogram/raw/types/photo_path_size.py +80 -0
  2593. pyrogram/raw/types/photo_size.py +96 -0
  2594. pyrogram/raw/types/photo_size_empty.py +72 -0
  2595. pyrogram/raw/types/photo_size_progressive.py +96 -0
  2596. pyrogram/raw/types/photo_stripped_size.py +80 -0
  2597. pyrogram/raw/types/photos/__init__.py +27 -0
  2598. pyrogram/raw/types/photos/photo.py +91 -0
  2599. pyrogram/raw/types/photos/photos.py +89 -0
  2600. pyrogram/raw/types/photos/photos_slice.py +97 -0
  2601. pyrogram/raw/types/poll.py +132 -0
  2602. pyrogram/raw/types/poll_answer.py +80 -0
  2603. pyrogram/raw/types/poll_answer_voters.py +94 -0
  2604. pyrogram/raw/types/poll_results.py +120 -0
  2605. pyrogram/raw/types/pong.py +90 -0
  2606. pyrogram/raw/types/popular_contact.py +80 -0
  2607. pyrogram/raw/types/post_address.py +112 -0
  2608. pyrogram/raw/types/post_interaction_counters_message.py +96 -0
  2609. pyrogram/raw/types/post_interaction_counters_story.py +96 -0
  2610. pyrogram/raw/types/pq_inner_data.py +112 -0
  2611. pyrogram/raw/types/pq_inner_data_dc.py +120 -0
  2612. pyrogram/raw/types/pq_inner_data_temp.py +120 -0
  2613. pyrogram/raw/types/pq_inner_data_temp_dc.py +128 -0
  2614. pyrogram/raw/types/premium/__init__.py +27 -0
  2615. pyrogram/raw/types/premium/boosts_list.py +109 -0
  2616. pyrogram/raw/types/premium/boosts_status.py +161 -0
  2617. pyrogram/raw/types/premium/my_boosts.py +98 -0
  2618. pyrogram/raw/types/premium_gift_code_option.py +125 -0
  2619. pyrogram/raw/types/premium_gift_option.py +107 -0
  2620. pyrogram/raw/types/premium_subscription_option.py +128 -0
  2621. pyrogram/raw/types/prepaid_giveaway.py +96 -0
  2622. pyrogram/raw/types/prepaid_stars_giveaway.py +104 -0
  2623. pyrogram/raw/types/privacy_key_about.py +67 -0
  2624. pyrogram/raw/types/privacy_key_added_by_phone.py +67 -0
  2625. pyrogram/raw/types/privacy_key_birthday.py +67 -0
  2626. pyrogram/raw/types/privacy_key_chat_invite.py +67 -0
  2627. pyrogram/raw/types/privacy_key_forwards.py +67 -0
  2628. pyrogram/raw/types/privacy_key_phone_call.py +67 -0
  2629. pyrogram/raw/types/privacy_key_phone_number.py +67 -0
  2630. pyrogram/raw/types/privacy_key_phone_p2_p.py +67 -0
  2631. pyrogram/raw/types/privacy_key_profile_photo.py +67 -0
  2632. pyrogram/raw/types/privacy_key_star_gifts_auto_save.py +67 -0
  2633. pyrogram/raw/types/privacy_key_status_timestamp.py +67 -0
  2634. pyrogram/raw/types/privacy_key_voice_messages.py +67 -0
  2635. pyrogram/raw/types/privacy_value_allow_all.py +67 -0
  2636. pyrogram/raw/types/privacy_value_allow_bots.py +67 -0
  2637. pyrogram/raw/types/privacy_value_allow_chat_participants.py +72 -0
  2638. pyrogram/raw/types/privacy_value_allow_close_friends.py +67 -0
  2639. pyrogram/raw/types/privacy_value_allow_contacts.py +67 -0
  2640. pyrogram/raw/types/privacy_value_allow_premium.py +67 -0
  2641. pyrogram/raw/types/privacy_value_allow_users.py +72 -0
  2642. pyrogram/raw/types/privacy_value_disallow_all.py +67 -0
  2643. pyrogram/raw/types/privacy_value_disallow_bots.py +67 -0
  2644. pyrogram/raw/types/privacy_value_disallow_chat_participants.py +72 -0
  2645. pyrogram/raw/types/privacy_value_disallow_contacts.py +67 -0
  2646. pyrogram/raw/types/privacy_value_disallow_users.py +72 -0
  2647. pyrogram/raw/types/public_forward_message.py +72 -0
  2648. pyrogram/raw/types/public_forward_story.py +80 -0
  2649. pyrogram/raw/types/quick_reply.py +96 -0
  2650. pyrogram/raw/types/reaction_count.py +91 -0
  2651. pyrogram/raw/types/reaction_custom_emoji.py +72 -0
  2652. pyrogram/raw/types/reaction_emoji.py +72 -0
  2653. pyrogram/raw/types/reaction_empty.py +67 -0
  2654. pyrogram/raw/types/reaction_notifications_from_all.py +67 -0
  2655. pyrogram/raw/types/reaction_notifications_from_contacts.py +67 -0
  2656. pyrogram/raw/types/reaction_paid.py +67 -0
  2657. pyrogram/raw/types/reactions_notify_settings.py +112 -0
  2658. pyrogram/raw/types/read_participant_date.py +89 -0
  2659. pyrogram/raw/types/received_notify_message.py +89 -0
  2660. pyrogram/raw/types/recent_me_url_chat.py +80 -0
  2661. pyrogram/raw/types/recent_me_url_chat_invite.py +80 -0
  2662. pyrogram/raw/types/recent_me_url_sticker_set.py +80 -0
  2663. pyrogram/raw/types/recent_me_url_unknown.py +72 -0
  2664. pyrogram/raw/types/recent_me_url_user.py +80 -0
  2665. pyrogram/raw/types/reply_inline_markup.py +72 -0
  2666. pyrogram/raw/types/reply_keyboard_force_reply.py +87 -0
  2667. pyrogram/raw/types/reply_keyboard_hide.py +72 -0
  2668. pyrogram/raw/types/reply_keyboard_markup.py +107 -0
  2669. pyrogram/raw/types/report_result_add_comment.py +90 -0
  2670. pyrogram/raw/types/report_result_choose_option.py +90 -0
  2671. pyrogram/raw/types/report_result_reported.py +77 -0
  2672. pyrogram/raw/types/request_peer_type_broadcast.py +101 -0
  2673. pyrogram/raw/types/request_peer_type_chat.py +116 -0
  2674. pyrogram/raw/types/request_peer_type_user.py +84 -0
  2675. pyrogram/raw/types/requested_peer_channel.py +102 -0
  2676. pyrogram/raw/types/requested_peer_chat.py +93 -0
  2677. pyrogram/raw/types/requested_peer_user.py +111 -0
  2678. pyrogram/raw/types/res_pq.py +106 -0
  2679. pyrogram/raw/types/restriction_reason.py +88 -0
  2680. pyrogram/raw/types/rpc_answer_dropped.py +97 -0
  2681. pyrogram/raw/types/rpc_answer_dropped_running.py +76 -0
  2682. pyrogram/raw/types/rpc_answer_unknown.py +76 -0
  2683. pyrogram/raw/types/rpc_error.py +80 -0
  2684. pyrogram/raw/types/rpc_result.py +80 -0
  2685. pyrogram/raw/types/saved_dialog.py +88 -0
  2686. pyrogram/raw/types/saved_phone_contact.py +105 -0
  2687. pyrogram/raw/types/saved_reaction_tag.py +91 -0
  2688. pyrogram/raw/types/saved_star_gift.py +180 -0
  2689. pyrogram/raw/types/search_result_position.py +88 -0
  2690. pyrogram/raw/types/search_results_calendar_period.py +96 -0
  2691. pyrogram/raw/types/secure_credentials_encrypted.py +88 -0
  2692. pyrogram/raw/types/secure_data.py +88 -0
  2693. pyrogram/raw/types/secure_file.py +120 -0
  2694. pyrogram/raw/types/secure_file_empty.py +67 -0
  2695. pyrogram/raw/types/secure_password_kdf_algo_pbkdf2_hmacsha512iter100000.py +72 -0
  2696. pyrogram/raw/types/secure_password_kdf_algo_sha512.py +72 -0
  2697. pyrogram/raw/types/secure_password_kdf_algo_unknown.py +67 -0
  2698. pyrogram/raw/types/secure_plain_email.py +72 -0
  2699. pyrogram/raw/types/secure_plain_phone.py +72 -0
  2700. pyrogram/raw/types/secure_required_type.py +92 -0
  2701. pyrogram/raw/types/secure_required_type_one_of.py +72 -0
  2702. pyrogram/raw/types/secure_secret_settings.py +88 -0
  2703. pyrogram/raw/types/secure_value.py +163 -0
  2704. pyrogram/raw/types/secure_value_error.py +88 -0
  2705. pyrogram/raw/types/secure_value_error_data.py +96 -0
  2706. pyrogram/raw/types/secure_value_error_file.py +88 -0
  2707. pyrogram/raw/types/secure_value_error_files.py +88 -0
  2708. pyrogram/raw/types/secure_value_error_front_side.py +88 -0
  2709. pyrogram/raw/types/secure_value_error_reverse_side.py +88 -0
  2710. pyrogram/raw/types/secure_value_error_selfie.py +88 -0
  2711. pyrogram/raw/types/secure_value_error_translation_file.py +88 -0
  2712. pyrogram/raw/types/secure_value_error_translation_files.py +88 -0
  2713. pyrogram/raw/types/secure_value_hash.py +80 -0
  2714. pyrogram/raw/types/secure_value_type_address.py +67 -0
  2715. pyrogram/raw/types/secure_value_type_bank_statement.py +67 -0
  2716. pyrogram/raw/types/secure_value_type_driver_license.py +67 -0
  2717. pyrogram/raw/types/secure_value_type_email.py +67 -0
  2718. pyrogram/raw/types/secure_value_type_identity_card.py +67 -0
  2719. pyrogram/raw/types/secure_value_type_internal_passport.py +67 -0
  2720. pyrogram/raw/types/secure_value_type_passport.py +67 -0
  2721. pyrogram/raw/types/secure_value_type_passport_registration.py +67 -0
  2722. pyrogram/raw/types/secure_value_type_personal_details.py +67 -0
  2723. pyrogram/raw/types/secure_value_type_phone.py +67 -0
  2724. pyrogram/raw/types/secure_value_type_rental_agreement.py +67 -0
  2725. pyrogram/raw/types/secure_value_type_temporary_registration.py +67 -0
  2726. pyrogram/raw/types/secure_value_type_utility_bill.py +67 -0
  2727. pyrogram/raw/types/send_as_peer.py +80 -0
  2728. pyrogram/raw/types/send_message_cancel_action.py +67 -0
  2729. pyrogram/raw/types/send_message_choose_contact_action.py +67 -0
  2730. pyrogram/raw/types/send_message_choose_sticker_action.py +67 -0
  2731. pyrogram/raw/types/send_message_emoji_interaction.py +88 -0
  2732. pyrogram/raw/types/send_message_emoji_interaction_seen.py +72 -0
  2733. pyrogram/raw/types/send_message_game_play_action.py +67 -0
  2734. pyrogram/raw/types/send_message_geo_location_action.py +67 -0
  2735. pyrogram/raw/types/send_message_history_import_action.py +72 -0
  2736. pyrogram/raw/types/send_message_record_audio_action.py +67 -0
  2737. pyrogram/raw/types/send_message_record_round_action.py +67 -0
  2738. pyrogram/raw/types/send_message_record_video_action.py +67 -0
  2739. pyrogram/raw/types/send_message_typing_action.py +67 -0
  2740. pyrogram/raw/types/send_message_upload_audio_action.py +72 -0
  2741. pyrogram/raw/types/send_message_upload_document_action.py +72 -0
  2742. pyrogram/raw/types/send_message_upload_photo_action.py +72 -0
  2743. pyrogram/raw/types/send_message_upload_round_action.py +72 -0
  2744. pyrogram/raw/types/send_message_upload_video_action.py +72 -0
  2745. pyrogram/raw/types/server_dh_inner_data.py +112 -0
  2746. pyrogram/raw/types/server_dh_params_fail.py +97 -0
  2747. pyrogram/raw/types/server_dh_params_ok.py +97 -0
  2748. pyrogram/raw/types/shipping_option.py +88 -0
  2749. pyrogram/raw/types/sms_job.py +97 -0
  2750. pyrogram/raw/types/smsjobs/__init__.py +26 -0
  2751. pyrogram/raw/types/smsjobs/eligible_to_join.py +89 -0
  2752. pyrogram/raw/types/smsjobs/status.py +138 -0
  2753. pyrogram/raw/types/speaking_in_group_call_action.py +67 -0
  2754. pyrogram/raw/types/sponsored_message.py +176 -0
  2755. pyrogram/raw/types/sponsored_message_report_option.py +80 -0
  2756. pyrogram/raw/types/star_gift.py +161 -0
  2757. pyrogram/raw/types/star_gift_attribute_backdrop.py +112 -0
  2758. pyrogram/raw/types/star_gift_attribute_model.py +88 -0
  2759. pyrogram/raw/types/star_gift_attribute_original_details.py +102 -0
  2760. pyrogram/raw/types/star_gift_attribute_pattern.py +88 -0
  2761. pyrogram/raw/types/star_gift_unique.py +150 -0
  2762. pyrogram/raw/types/star_ref_program.py +119 -0
  2763. pyrogram/raw/types/stars_amount.py +80 -0
  2764. pyrogram/raw/types/stars_gift_option.py +114 -0
  2765. pyrogram/raw/types/stars_giveaway_option.py +136 -0
  2766. pyrogram/raw/types/stars_giveaway_winners_option.py +88 -0
  2767. pyrogram/raw/types/stars_revenue_status.py +105 -0
  2768. pyrogram/raw/types/stars_subscription.py +159 -0
  2769. pyrogram/raw/types/stars_subscription_pricing.py +80 -0
  2770. pyrogram/raw/types/stars_topup_option.py +114 -0
  2771. pyrogram/raw/types/stars_transaction.py +274 -0
  2772. pyrogram/raw/types/stars_transaction_peer.py +72 -0
  2773. pyrogram/raw/types/stars_transaction_peer_ads.py +67 -0
  2774. pyrogram/raw/types/stars_transaction_peer_api.py +67 -0
  2775. pyrogram/raw/types/stars_transaction_peer_app_store.py +67 -0
  2776. pyrogram/raw/types/stars_transaction_peer_fragment.py +67 -0
  2777. pyrogram/raw/types/stars_transaction_peer_play_market.py +67 -0
  2778. pyrogram/raw/types/stars_transaction_peer_premium_bot.py +67 -0
  2779. pyrogram/raw/types/stars_transaction_peer_unsupported.py +67 -0
  2780. pyrogram/raw/types/stats/__init__.py +32 -0
  2781. pyrogram/raw/types/stats/broadcast_revenue_stats.py +105 -0
  2782. pyrogram/raw/types/stats/broadcast_revenue_transactions.py +89 -0
  2783. pyrogram/raw/types/stats/broadcast_revenue_withdrawal_url.py +81 -0
  2784. pyrogram/raw/types/stats/broadcast_stats.py +249 -0
  2785. pyrogram/raw/types/stats/megagroup_stats.py +209 -0
  2786. pyrogram/raw/types/stats/message_stats.py +89 -0
  2787. pyrogram/raw/types/stats/public_forwards.py +117 -0
  2788. pyrogram/raw/types/stats/story_stats.py +89 -0
  2789. pyrogram/raw/types/stats_abs_value_and_prev.py +80 -0
  2790. pyrogram/raw/types/stats_date_range_days.py +80 -0
  2791. pyrogram/raw/types/stats_graph.py +92 -0
  2792. pyrogram/raw/types/stats_graph_async.py +81 -0
  2793. pyrogram/raw/types/stats_graph_error.py +81 -0
  2794. pyrogram/raw/types/stats_group_top_admin.py +96 -0
  2795. pyrogram/raw/types/stats_group_top_inviter.py +80 -0
  2796. pyrogram/raw/types/stats_group_top_poster.py +88 -0
  2797. pyrogram/raw/types/stats_percent_value.py +80 -0
  2798. pyrogram/raw/types/stats_url.py +72 -0
  2799. pyrogram/raw/types/sticker_keyword.py +80 -0
  2800. pyrogram/raw/types/sticker_pack.py +80 -0
  2801. pyrogram/raw/types/sticker_set.py +202 -0
  2802. pyrogram/raw/types/sticker_set_covered.py +89 -0
  2803. pyrogram/raw/types/sticker_set_full_covered.py +105 -0
  2804. pyrogram/raw/types/sticker_set_multi_covered.py +89 -0
  2805. pyrogram/raw/types/sticker_set_no_covered.py +81 -0
  2806. pyrogram/raw/types/stickers/__init__.py +25 -0
  2807. pyrogram/raw/types/stickers/suggested_short_name.py +81 -0
  2808. pyrogram/raw/types/storage/__init__.py +34 -0
  2809. pyrogram/raw/types/storage/file_gif.py +67 -0
  2810. pyrogram/raw/types/storage/file_jpeg.py +67 -0
  2811. pyrogram/raw/types/storage/file_mov.py +67 -0
  2812. pyrogram/raw/types/storage/file_mp3.py +67 -0
  2813. pyrogram/raw/types/storage/file_mp4.py +67 -0
  2814. pyrogram/raw/types/storage/file_partial.py +67 -0
  2815. pyrogram/raw/types/storage/file_pdf.py +67 -0
  2816. pyrogram/raw/types/storage/file_png.py +67 -0
  2817. pyrogram/raw/types/storage/file_unknown.py +67 -0
  2818. pyrogram/raw/types/storage/file_webp.py +67 -0
  2819. pyrogram/raw/types/stories/__init__.py +32 -0
  2820. pyrogram/raw/types/stories/all_stories.py +129 -0
  2821. pyrogram/raw/types/stories/all_stories_not_modified.py +92 -0
  2822. pyrogram/raw/types/stories/found_stories.py +116 -0
  2823. pyrogram/raw/types/stories/peer_stories.py +97 -0
  2824. pyrogram/raw/types/stories/stories.py +119 -0
  2825. pyrogram/raw/types/stories/story_reactions_list.py +116 -0
  2826. pyrogram/raw/types/stories/story_views.py +89 -0
  2827. pyrogram/raw/types/stories/story_views_list.py +140 -0
  2828. pyrogram/raw/types/stories_stealth_mode.py +84 -0
  2829. pyrogram/raw/types/story_fwd_header.py +100 -0
  2830. pyrogram/raw/types/story_item.py +231 -0
  2831. pyrogram/raw/types/story_item_deleted.py +72 -0
  2832. pyrogram/raw/types/story_item_skipped.py +96 -0
  2833. pyrogram/raw/types/story_reaction.py +88 -0
  2834. pyrogram/raw/types/story_reaction_public_forward.py +72 -0
  2835. pyrogram/raw/types/story_reaction_public_repost.py +80 -0
  2836. pyrogram/raw/types/story_view.py +104 -0
  2837. pyrogram/raw/types/story_view_public_forward.py +86 -0
  2838. pyrogram/raw/types/story_view_public_repost.py +94 -0
  2839. pyrogram/raw/types/story_views.py +118 -0
  2840. pyrogram/raw/types/text_anchor.py +80 -0
  2841. pyrogram/raw/types/text_bold.py +72 -0
  2842. pyrogram/raw/types/text_concat.py +72 -0
  2843. pyrogram/raw/types/text_email.py +80 -0
  2844. pyrogram/raw/types/text_empty.py +67 -0
  2845. pyrogram/raw/types/text_fixed.py +72 -0
  2846. pyrogram/raw/types/text_image.py +88 -0
  2847. pyrogram/raw/types/text_italic.py +72 -0
  2848. pyrogram/raw/types/text_marked.py +72 -0
  2849. pyrogram/raw/types/text_phone.py +80 -0
  2850. pyrogram/raw/types/text_plain.py +72 -0
  2851. pyrogram/raw/types/text_strike.py +72 -0
  2852. pyrogram/raw/types/text_subscript.py +72 -0
  2853. pyrogram/raw/types/text_superscript.py +72 -0
  2854. pyrogram/raw/types/text_underline.py +72 -0
  2855. pyrogram/raw/types/text_url.py +88 -0
  2856. pyrogram/raw/types/text_with_entities.py +80 -0
  2857. pyrogram/raw/types/theme.py +165 -0
  2858. pyrogram/raw/types/theme_settings.py +117 -0
  2859. pyrogram/raw/types/timezone.py +88 -0
  2860. pyrogram/raw/types/top_peer.py +80 -0
  2861. pyrogram/raw/types/top_peer_category_bots_app.py +67 -0
  2862. pyrogram/raw/types/top_peer_category_bots_inline.py +67 -0
  2863. pyrogram/raw/types/top_peer_category_bots_pm.py +67 -0
  2864. pyrogram/raw/types/top_peer_category_channels.py +67 -0
  2865. pyrogram/raw/types/top_peer_category_correspondents.py +67 -0
  2866. pyrogram/raw/types/top_peer_category_forward_chats.py +67 -0
  2867. pyrogram/raw/types/top_peer_category_forward_users.py +67 -0
  2868. pyrogram/raw/types/top_peer_category_groups.py +67 -0
  2869. pyrogram/raw/types/top_peer_category_peers.py +88 -0
  2870. pyrogram/raw/types/top_peer_category_phone_calls.py +67 -0
  2871. pyrogram/raw/types/update_attach_menu_bots.py +67 -0
  2872. pyrogram/raw/types/update_auto_save_settings.py +67 -0
  2873. pyrogram/raw/types/update_bot_business_connect.py +80 -0
  2874. pyrogram/raw/types/update_bot_callback_query.py +124 -0
  2875. pyrogram/raw/types/update_bot_chat_boost.py +88 -0
  2876. pyrogram/raw/types/update_bot_chat_invite_requester.py +112 -0
  2877. pyrogram/raw/types/update_bot_commands.py +88 -0
  2878. pyrogram/raw/types/update_bot_delete_business_message.py +96 -0
  2879. pyrogram/raw/types/update_bot_edit_business_message.py +100 -0
  2880. pyrogram/raw/types/update_bot_inline_query.py +118 -0
  2881. pyrogram/raw/types/update_bot_inline_send.py +110 -0
  2882. pyrogram/raw/types/update_bot_menu_button.py +80 -0
  2883. pyrogram/raw/types/update_bot_message_reaction.py +120 -0
  2884. pyrogram/raw/types/update_bot_message_reactions.py +104 -0
  2885. pyrogram/raw/types/update_bot_new_business_message.py +100 -0
  2886. pyrogram/raw/types/update_bot_precheckout_query.py +125 -0
  2887. pyrogram/raw/types/update_bot_purchased_paid_media.py +88 -0
  2888. pyrogram/raw/types/update_bot_shipping_query.py +96 -0
  2889. pyrogram/raw/types/update_bot_stopped.py +96 -0
  2890. pyrogram/raw/types/update_bot_webhook_json.py +72 -0
  2891. pyrogram/raw/types/update_bot_webhook_json_query.py +88 -0
  2892. pyrogram/raw/types/update_broadcast_revenue_transactions.py +80 -0
  2893. pyrogram/raw/types/update_business_bot_callback_query.py +125 -0
  2894. pyrogram/raw/types/update_channel.py +72 -0
  2895. pyrogram/raw/types/update_channel_available_messages.py +80 -0
  2896. pyrogram/raw/types/update_channel_message_forwards.py +88 -0
  2897. pyrogram/raw/types/update_channel_message_views.py +88 -0
  2898. pyrogram/raw/types/update_channel_participant.py +142 -0
  2899. pyrogram/raw/types/update_channel_pinned_topic.py +88 -0
  2900. pyrogram/raw/types/update_channel_pinned_topics.py +84 -0
  2901. pyrogram/raw/types/update_channel_read_messages_contents.py +91 -0
  2902. pyrogram/raw/types/update_channel_too_long.py +83 -0
  2903. pyrogram/raw/types/update_channel_user_typing.py +99 -0
  2904. pyrogram/raw/types/update_channel_view_forum_as_messages.py +80 -0
  2905. pyrogram/raw/types/update_channel_web_page.py +96 -0
  2906. pyrogram/raw/types/update_chat.py +72 -0
  2907. pyrogram/raw/types/update_chat_default_banned_rights.py +88 -0
  2908. pyrogram/raw/types/update_chat_participant.py +136 -0
  2909. pyrogram/raw/types/update_chat_participant_add.py +104 -0
  2910. pyrogram/raw/types/update_chat_participant_admin.py +96 -0
  2911. pyrogram/raw/types/update_chat_participant_delete.py +88 -0
  2912. pyrogram/raw/types/update_chat_participants.py +72 -0
  2913. pyrogram/raw/types/update_chat_user_typing.py +88 -0
  2914. pyrogram/raw/types/update_config.py +67 -0
  2915. pyrogram/raw/types/update_contacts_reset.py +67 -0
  2916. pyrogram/raw/types/update_dc_options.py +72 -0
  2917. pyrogram/raw/types/update_delete_channel_messages.py +96 -0
  2918. pyrogram/raw/types/update_delete_messages.py +88 -0
  2919. pyrogram/raw/types/update_delete_quick_reply.py +72 -0
  2920. pyrogram/raw/types/update_delete_quick_reply_messages.py +80 -0
  2921. pyrogram/raw/types/update_delete_scheduled_messages.py +92 -0
  2922. pyrogram/raw/types/update_dialog_filter.py +84 -0
  2923. pyrogram/raw/types/update_dialog_filter_order.py +72 -0
  2924. pyrogram/raw/types/update_dialog_filters.py +67 -0
  2925. pyrogram/raw/types/update_dialog_pinned.py +89 -0
  2926. pyrogram/raw/types/update_dialog_unread_mark.py +80 -0
  2927. pyrogram/raw/types/update_draft_message.py +91 -0
  2928. pyrogram/raw/types/update_edit_channel_message.py +88 -0
  2929. pyrogram/raw/types/update_edit_message.py +88 -0
  2930. pyrogram/raw/types/update_encrypted_chat_typing.py +72 -0
  2931. pyrogram/raw/types/update_encrypted_messages_read.py +88 -0
  2932. pyrogram/raw/types/update_encryption.py +80 -0
  2933. pyrogram/raw/types/update_faved_stickers.py +67 -0
  2934. pyrogram/raw/types/update_folder_peers.py +88 -0
  2935. pyrogram/raw/types/update_geo_live_viewed.py +80 -0
  2936. pyrogram/raw/types/update_group_call.py +83 -0
  2937. pyrogram/raw/types/update_group_call_connection.py +80 -0
  2938. pyrogram/raw/types/update_group_call_participants.py +88 -0
  2939. pyrogram/raw/types/update_inline_bot_callback_query.py +116 -0
  2940. pyrogram/raw/types/update_lang_pack.py +72 -0
  2941. pyrogram/raw/types/update_lang_pack_too_long.py +72 -0
  2942. pyrogram/raw/types/update_login_token.py +67 -0
  2943. pyrogram/raw/types/update_message_extended_media.py +88 -0
  2944. pyrogram/raw/types/update_message_id.py +80 -0
  2945. pyrogram/raw/types/update_message_poll.py +92 -0
  2946. pyrogram/raw/types/update_message_poll_vote.py +96 -0
  2947. pyrogram/raw/types/update_message_reactions.py +99 -0
  2948. pyrogram/raw/types/update_move_sticker_set_to_top.py +86 -0
  2949. pyrogram/raw/types/update_new_authorization.py +107 -0
  2950. pyrogram/raw/types/update_new_channel_message.py +88 -0
  2951. pyrogram/raw/types/update_new_encrypted_message.py +80 -0
  2952. pyrogram/raw/types/update_new_message.py +88 -0
  2953. pyrogram/raw/types/update_new_quick_reply.py +72 -0
  2954. pyrogram/raw/types/update_new_scheduled_message.py +72 -0
  2955. pyrogram/raw/types/update_new_sticker_set.py +72 -0
  2956. pyrogram/raw/types/update_new_story_reaction.py +88 -0
  2957. pyrogram/raw/types/update_notify_settings.py +80 -0
  2958. pyrogram/raw/types/update_paid_reaction_privacy.py +72 -0
  2959. pyrogram/raw/types/update_peer_blocked.py +86 -0
  2960. pyrogram/raw/types/update_peer_history_ttl.py +83 -0
  2961. pyrogram/raw/types/update_peer_located.py +72 -0
  2962. pyrogram/raw/types/update_peer_settings.py +80 -0
  2963. pyrogram/raw/types/update_peer_wallpaper.py +90 -0
  2964. pyrogram/raw/types/update_pending_join_requests.py +88 -0
  2965. pyrogram/raw/types/update_phone_call.py +72 -0
  2966. pyrogram/raw/types/update_phone_call_signaling_data.py +80 -0
  2967. pyrogram/raw/types/update_pinned_channel_messages.py +104 -0
  2968. pyrogram/raw/types/update_pinned_dialogs.py +85 -0
  2969. pyrogram/raw/types/update_pinned_messages.py +104 -0
  2970. pyrogram/raw/types/update_pinned_saved_dialogs.py +76 -0
  2971. pyrogram/raw/types/update_privacy.py +80 -0
  2972. pyrogram/raw/types/update_pts_changed.py +67 -0
  2973. pyrogram/raw/types/update_quick_replies.py +72 -0
  2974. pyrogram/raw/types/update_quick_reply_message.py +72 -0
  2975. pyrogram/raw/types/update_read_channel_discussion_inbox.py +108 -0
  2976. pyrogram/raw/types/update_read_channel_discussion_outbox.py +88 -0
  2977. pyrogram/raw/types/update_read_channel_inbox.py +107 -0
  2978. pyrogram/raw/types/update_read_channel_outbox.py +80 -0
  2979. pyrogram/raw/types/update_read_featured_emoji_stickers.py +67 -0
  2980. pyrogram/raw/types/update_read_featured_stickers.py +67 -0
  2981. pyrogram/raw/types/update_read_history_inbox.py +115 -0
  2982. pyrogram/raw/types/update_read_history_outbox.py +96 -0
  2983. pyrogram/raw/types/update_read_messages_contents.py +99 -0
  2984. pyrogram/raw/types/update_read_stories.py +80 -0
  2985. pyrogram/raw/types/update_recent_emoji_statuses.py +67 -0
  2986. pyrogram/raw/types/update_recent_reactions.py +67 -0
  2987. pyrogram/raw/types/update_recent_stickers.py +67 -0
  2988. pyrogram/raw/types/update_saved_dialog_pinned.py +80 -0
  2989. pyrogram/raw/types/update_saved_gifs.py +67 -0
  2990. pyrogram/raw/types/update_saved_reaction_tags.py +67 -0
  2991. pyrogram/raw/types/update_saved_ringtones.py +67 -0
  2992. pyrogram/raw/types/update_sent_story_reaction.py +88 -0
  2993. pyrogram/raw/types/update_service_notification.py +119 -0
  2994. pyrogram/raw/types/update_short.py +195 -0
  2995. pyrogram/raw/types/update_short_chat_message.py +309 -0
  2996. pyrogram/raw/types/update_short_message.py +301 -0
  2997. pyrogram/raw/types/update_short_sent_message.py +248 -0
  2998. pyrogram/raw/types/update_sms_job.py +72 -0
  2999. pyrogram/raw/types/update_stars_balance.py +72 -0
  3000. pyrogram/raw/types/update_stars_revenue_status.py +80 -0
  3001. pyrogram/raw/types/update_sticker_sets.py +78 -0
  3002. pyrogram/raw/types/update_sticker_sets_order.py +86 -0
  3003. pyrogram/raw/types/update_stories_stealth_mode.py +72 -0
  3004. pyrogram/raw/types/update_story.py +80 -0
  3005. pyrogram/raw/types/update_story_id.py +80 -0
  3006. pyrogram/raw/types/update_theme.py +72 -0
  3007. pyrogram/raw/types/update_transcribed_audio.py +104 -0
  3008. pyrogram/raw/types/update_user.py +72 -0
  3009. pyrogram/raw/types/update_user_emoji_status.py +80 -0
  3010. pyrogram/raw/types/update_user_name.py +96 -0
  3011. pyrogram/raw/types/update_user_phone.py +80 -0
  3012. pyrogram/raw/types/update_user_status.py +80 -0
  3013. pyrogram/raw/types/update_user_typing.py +80 -0
  3014. pyrogram/raw/types/update_web_page.py +88 -0
  3015. pyrogram/raw/types/update_web_view_result_sent.py +72 -0
  3016. pyrogram/raw/types/updates/__init__.py +32 -0
  3017. pyrogram/raw/types/updates/channel_difference.py +130 -0
  3018. pyrogram/raw/types/updates/channel_difference_empty.py +98 -0
  3019. pyrogram/raw/types/updates/channel_difference_too_long.py +122 -0
  3020. pyrogram/raw/types/updates/difference.py +121 -0
  3021. pyrogram/raw/types/updates/difference_empty.py +89 -0
  3022. pyrogram/raw/types/updates/difference_slice.py +121 -0
  3023. pyrogram/raw/types/updates/difference_too_long.py +81 -0
  3024. pyrogram/raw/types/updates/state.py +113 -0
  3025. pyrogram/raw/types/updates_combined.py +227 -0
  3026. pyrogram/raw/types/updates_t.py +219 -0
  3027. pyrogram/raw/types/updates_too_long.py +182 -0
  3028. pyrogram/raw/types/upload/__init__.py +29 -0
  3029. pyrogram/raw/types/upload/cdn_file.py +81 -0
  3030. pyrogram/raw/types/upload/cdn_file_reupload_needed.py +81 -0
  3031. pyrogram/raw/types/upload/file.py +97 -0
  3032. pyrogram/raw/types/upload/file_cdn_redirect.py +113 -0
  3033. pyrogram/raw/types/upload/web_file.py +113 -0
  3034. pyrogram/raw/types/url_auth_result_accepted.py +82 -0
  3035. pyrogram/raw/types/url_auth_result_default.py +77 -0
  3036. pyrogram/raw/types/url_auth_result_request.py +98 -0
  3037. pyrogram/raw/types/user.py +411 -0
  3038. pyrogram/raw/types/user_empty.py +86 -0
  3039. pyrogram/raw/types/user_full.py +449 -0
  3040. pyrogram/raw/types/user_profile_photo.py +103 -0
  3041. pyrogram/raw/types/user_profile_photo_empty.py +67 -0
  3042. pyrogram/raw/types/user_status_empty.py +67 -0
  3043. pyrogram/raw/types/user_status_last_month.py +72 -0
  3044. pyrogram/raw/types/user_status_last_week.py +72 -0
  3045. pyrogram/raw/types/user_status_offline.py +72 -0
  3046. pyrogram/raw/types/user_status_online.py +72 -0
  3047. pyrogram/raw/types/user_status_recently.py +72 -0
  3048. pyrogram/raw/types/username.py +86 -0
  3049. pyrogram/raw/types/users/__init__.py +27 -0
  3050. pyrogram/raw/types/users/user_full.py +97 -0
  3051. pyrogram/raw/types/users/users.py +81 -0
  3052. pyrogram/raw/types/users/users_slice.py +89 -0
  3053. pyrogram/raw/types/video_size.py +107 -0
  3054. pyrogram/raw/types/video_size_emoji_markup.py +80 -0
  3055. pyrogram/raw/types/video_size_sticker_markup.py +88 -0
  3056. pyrogram/raw/types/wall_paper.py +143 -0
  3057. pyrogram/raw/types/wall_paper_no_file.py +107 -0
  3058. pyrogram/raw/types/wall_paper_settings.py +141 -0
  3059. pyrogram/raw/types/web_authorization.py +136 -0
  3060. pyrogram/raw/types/web_document.py +104 -0
  3061. pyrogram/raw/types/web_document_no_proxy.py +96 -0
  3062. pyrogram/raw/types/web_page.py +234 -0
  3063. pyrogram/raw/types/web_page_attribute_sticker_set.py +86 -0
  3064. pyrogram/raw/types/web_page_attribute_story.py +92 -0
  3065. pyrogram/raw/types/web_page_attribute_theme.py +86 -0
  3066. pyrogram/raw/types/web_page_attribute_unique_star_gift.py +72 -0
  3067. pyrogram/raw/types/web_page_empty.py +83 -0
  3068. pyrogram/raw/types/web_page_not_modified.py +75 -0
  3069. pyrogram/raw/types/web_page_pending.py +91 -0
  3070. pyrogram/raw/types/web_view_message_sent.py +85 -0
  3071. pyrogram/raw/types/web_view_result_url.py +107 -0
  3072. pyrogram/session/__init__.py +20 -0
  3073. pyrogram/session/auth.py +262 -0
  3074. pyrogram/session/internals/__init__.py +21 -0
  3075. pyrogram/session/internals/data_center.py +82 -0
  3076. pyrogram/session/internals/msg_factory.py +38 -0
  3077. pyrogram/session/internals/msg_id.py +45 -0
  3078. pyrogram/session/internals/seq_no.py +34 -0
  3079. pyrogram/session/session.py +393 -0
  3080. pyrogram/storage/__init__.py +22 -0
  3081. pyrogram/storage/dummy_client.py +62 -0
  3082. pyrogram/storage/file_storage.py +72 -0
  3083. pyrogram/storage/memory_storage.py +73 -0
  3084. pyrogram/storage/mongo_storage.py +206 -0
  3085. pyrogram/storage/sqlite_storage.py +228 -0
  3086. pyrogram/storage/storage.py +91 -0
  3087. pyrogram/sync.py +113 -0
  3088. pyrogram/types/__init__.py +28 -0
  3089. pyrogram/types/authorization/__init__.py +22 -0
  3090. pyrogram/types/authorization/sent_code.py +62 -0
  3091. pyrogram/types/authorization/terms_of_service.py +56 -0
  3092. pyrogram/types/bots_and_keyboards/__init__.py +79 -0
  3093. pyrogram/types/bots_and_keyboards/bot_command.py +53 -0
  3094. pyrogram/types/bots_and_keyboards/bot_command_scope.py +73 -0
  3095. pyrogram/types/bots_and_keyboards/bot_command_scope_all_chat_administrators.py +32 -0
  3096. pyrogram/types/bots_and_keyboards/bot_command_scope_all_group_chats.py +32 -0
  3097. pyrogram/types/bots_and_keyboards/bot_command_scope_all_private_chats.py +32 -0
  3098. pyrogram/types/bots_and_keyboards/bot_command_scope_chat.py +43 -0
  3099. pyrogram/types/bots_and_keyboards/bot_command_scope_chat_administrators.py +43 -0
  3100. pyrogram/types/bots_and_keyboards/bot_command_scope_chat_member.py +48 -0
  3101. pyrogram/types/bots_and_keyboards/bot_command_scope_default.py +33 -0
  3102. pyrogram/types/bots_and_keyboards/bot_info.py +52 -0
  3103. pyrogram/types/bots_and_keyboards/callback_game.py +29 -0
  3104. pyrogram/types/bots_and_keyboards/callback_query.py +313 -0
  3105. pyrogram/types/bots_and_keyboards/force_reply.py +66 -0
  3106. pyrogram/types/bots_and_keyboards/game_high_score.py +70 -0
  3107. pyrogram/types/bots_and_keyboards/inline_keyboard_button.py +208 -0
  3108. pyrogram/types/bots_and_keyboards/inline_keyboard_markup.py +76 -0
  3109. pyrogram/types/bots_and_keyboards/keyboard_button.py +171 -0
  3110. pyrogram/types/bots_and_keyboards/login_url.py +90 -0
  3111. pyrogram/types/bots_and_keyboards/menu_button.py +44 -0
  3112. pyrogram/types/bots_and_keyboards/menu_button_commands.py +32 -0
  3113. pyrogram/types/bots_and_keyboards/menu_button_default.py +32 -0
  3114. pyrogram/types/bots_and_keyboards/menu_button_web_app.py +51 -0
  3115. pyrogram/types/bots_and_keyboards/reply_keyboard_markup.py +112 -0
  3116. pyrogram/types/bots_and_keyboards/reply_keyboard_remove.py +58 -0
  3117. pyrogram/types/bots_and_keyboards/request_peer_type_channel.py +41 -0
  3118. pyrogram/types/bots_and_keyboards/request_peer_type_chat.py +51 -0
  3119. pyrogram/types/bots_and_keyboards/request_peer_type_user.py +41 -0
  3120. pyrogram/types/bots_and_keyboards/sent_web_app_message.py +42 -0
  3121. pyrogram/types/bots_and_keyboards/web_app_info.py +37 -0
  3122. pyrogram/types/inline_mode/__init__.py +47 -0
  3123. pyrogram/types/inline_mode/chosen_inline_result.py +99 -0
  3124. pyrogram/types/inline_mode/inline_query.py +181 -0
  3125. pyrogram/types/inline_mode/inline_query_result.py +63 -0
  3126. pyrogram/types/inline_mode/inline_query_result_animation.py +155 -0
  3127. pyrogram/types/inline_mode/inline_query_result_article.py +99 -0
  3128. pyrogram/types/inline_mode/inline_query_result_audio.py +120 -0
  3129. pyrogram/types/inline_mode/inline_query_result_cached_animation.py +108 -0
  3130. pyrogram/types/inline_mode/inline_query_result_cached_audio.py +101 -0
  3131. pyrogram/types/inline_mode/inline_query_result_cached_document.py +113 -0
  3132. pyrogram/types/inline_mode/inline_query_result_cached_photo.py +111 -0
  3133. pyrogram/types/inline_mode/inline_query_result_cached_sticker.py +78 -0
  3134. pyrogram/types/inline_mode/inline_query_result_cached_video.py +114 -0
  3135. pyrogram/types/inline_mode/inline_query_result_cached_voice.py +108 -0
  3136. pyrogram/types/inline_mode/inline_query_result_contact.py +114 -0
  3137. pyrogram/types/inline_mode/inline_query_result_document.py +145 -0
  3138. pyrogram/types/inline_mode/inline_query_result_location.py +122 -0
  3139. pyrogram/types/inline_mode/inline_query_result_photo.py +147 -0
  3140. pyrogram/types/inline_mode/inline_query_result_venue.py +131 -0
  3141. pyrogram/types/inline_mode/inline_query_result_video.py +151 -0
  3142. pyrogram/types/inline_mode/inline_query_result_voice.py +114 -0
  3143. pyrogram/types/input_media/__init__.py +30 -0
  3144. pyrogram/types/input_media/input_media.py +49 -0
  3145. pyrogram/types/input_media/input_media_animation.py +85 -0
  3146. pyrogram/types/input_media/input_media_audio.py +82 -0
  3147. pyrogram/types/input_media/input_media_document.py +65 -0
  3148. pyrogram/types/input_media/input_media_photo.py +63 -0
  3149. pyrogram/types/input_media/input_media_video.py +91 -0
  3150. pyrogram/types/input_media/input_phone_contact.py +51 -0
  3151. pyrogram/types/input_message_content/__init__.py +26 -0
  3152. pyrogram/types/input_message_content/input_message_content.py +40 -0
  3153. pyrogram/types/input_message_content/input_reply_to_message.py +62 -0
  3154. pyrogram/types/input_message_content/input_reply_to_story.py +49 -0
  3155. pyrogram/types/input_message_content/input_text_message_content.py +68 -0
  3156. pyrogram/types/list.py +30 -0
  3157. pyrogram/types/messages_and_media/__init__.py +52 -0
  3158. pyrogram/types/messages_and_media/animation.py +121 -0
  3159. pyrogram/types/messages_and_media/audio.py +121 -0
  3160. pyrogram/types/messages_and_media/contact.py +71 -0
  3161. pyrogram/types/messages_and_media/dice.py +47 -0
  3162. pyrogram/types/messages_and_media/document.py +98 -0
  3163. pyrogram/types/messages_and_media/exported_story_link.py +44 -0
  3164. pyrogram/types/messages_and_media/game.py +99 -0
  3165. pyrogram/types/messages_and_media/location.py +55 -0
  3166. pyrogram/types/messages_and_media/message.py +3893 -0
  3167. pyrogram/types/messages_and_media/message_entity.py +124 -0
  3168. pyrogram/types/messages_and_media/message_reactions.py +56 -0
  3169. pyrogram/types/messages_and_media/photo.py +130 -0
  3170. pyrogram/types/messages_and_media/poll.py +240 -0
  3171. pyrogram/types/messages_and_media/poll_option.py +50 -0
  3172. pyrogram/types/messages_and_media/reaction.py +86 -0
  3173. pyrogram/types/messages_and_media/sticker.py +206 -0
  3174. pyrogram/types/messages_and_media/stickerset.py +89 -0
  3175. pyrogram/types/messages_and_media/stories_privacy.py +47 -0
  3176. pyrogram/types/messages_and_media/story.py +1638 -0
  3177. pyrogram/types/messages_and_media/story_views.py +50 -0
  3178. pyrogram/types/messages_and_media/stripped_thumbnail.py +47 -0
  3179. pyrogram/types/messages_and_media/thumbnail.py +111 -0
  3180. pyrogram/types/messages_and_media/venue.py +74 -0
  3181. pyrogram/types/messages_and_media/video.py +148 -0
  3182. pyrogram/types/messages_and_media/video_note.py +108 -0
  3183. pyrogram/types/messages_and_media/voice.py +96 -0
  3184. pyrogram/types/messages_and_media/web_app_data.py +51 -0
  3185. pyrogram/types/messages_and_media/web_page.py +187 -0
  3186. pyrogram/types/object.py +121 -0
  3187. pyrogram/types/update.py +29 -0
  3188. pyrogram/types/user_and_chats/__init__.py +89 -0
  3189. pyrogram/types/user_and_chats/chat.py +1002 -0
  3190. pyrogram/types/user_and_chats/chat_admin_with_invite_links.py +63 -0
  3191. pyrogram/types/user_and_chats/chat_event.py +533 -0
  3192. pyrogram/types/user_and_chats/chat_event_filter.py +175 -0
  3193. pyrogram/types/user_and_chats/chat_invite_link.py +130 -0
  3194. pyrogram/types/user_and_chats/chat_join_request.py +139 -0
  3195. pyrogram/types/user_and_chats/chat_joined_by_request.py +29 -0
  3196. pyrogram/types/user_and_chats/chat_joiner.py +82 -0
  3197. pyrogram/types/user_and_chats/chat_member.py +227 -0
  3198. pyrogram/types/user_and_chats/chat_member_updated.py +102 -0
  3199. pyrogram/types/user_and_chats/chat_permissions.py +105 -0
  3200. pyrogram/types/user_and_chats/chat_photo.py +107 -0
  3201. pyrogram/types/user_and_chats/chat_preview.py +79 -0
  3202. pyrogram/types/user_and_chats/chat_privileges.py +119 -0
  3203. pyrogram/types/user_and_chats/chat_reactions.py +69 -0
  3204. pyrogram/types/user_and_chats/dialog.py +79 -0
  3205. pyrogram/types/user_and_chats/emoji_status.py +77 -0
  3206. pyrogram/types/user_and_chats/forum_topic.py +152 -0
  3207. pyrogram/types/user_and_chats/forum_topic_closed.py +29 -0
  3208. pyrogram/types/user_and_chats/forum_topic_created.py +58 -0
  3209. pyrogram/types/user_and_chats/forum_topic_edited.py +58 -0
  3210. pyrogram/types/user_and_chats/forum_topic_reopened.py +29 -0
  3211. pyrogram/types/user_and_chats/general_forum_topic_hidden.py +29 -0
  3212. pyrogram/types/user_and_chats/general_forum_topic_unhidden.py +29 -0
  3213. pyrogram/types/user_and_chats/invite_link_importer.py +61 -0
  3214. pyrogram/types/user_and_chats/peer_channel.py +46 -0
  3215. pyrogram/types/user_and_chats/peer_user.py +47 -0
  3216. pyrogram/types/user_and_chats/restriction.py +50 -0
  3217. pyrogram/types/user_and_chats/user.py +419 -0
  3218. pyrogram/types/user_and_chats/username.py +58 -0
  3219. pyrogram/types/user_and_chats/video_chat_ended.py +41 -0
  3220. pyrogram/types/user_and_chats/video_chat_members_invited.py +50 -0
  3221. pyrogram/types/user_and_chats/video_chat_scheduled.py +43 -0
  3222. pyrogram/types/user_and_chats/video_chat_started.py +29 -0
  3223. pyrogram/utils.py +382 -0
@@ -0,0 +1,3893 @@
1
+ # Pyrogram - Telegram MTProto API Client Library for Python
2
+ # Copyright (C) 2017-present Dan <https://github.com/delivrance>
3
+ #
4
+ # This file is part of Pyrogram.
5
+ #
6
+ # Pyrogram is free software: you can redistribute it and/or modify
7
+ # it under the terms of the GNU Lesser General Public License as published
8
+ # by the Free Software Foundation, either version 3 of the License, or
9
+ # (at your option) any later version.
10
+ #
11
+ # Pyrogram is distributed in the hope that it will be useful,
12
+ # but WITHOUT ANY WARRANTY; without even the implied warranty of
13
+ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14
+ # GNU Lesser General Public License for more details.
15
+ #
16
+ # You should have received a copy of the GNU Lesser General Public License
17
+ # along with Pyrogram. If not, see <http://www.gnu.org/licenses/>.
18
+
19
+ import logging
20
+ from datetime import datetime
21
+ from functools import partial
22
+ from typing import List, Match, Union, BinaryIO, Optional, Callable
23
+
24
+ import pyrogram
25
+ from pyrogram import raw, enums
26
+ from pyrogram import types
27
+ from pyrogram import utils
28
+ from pyrogram.errors import MessageIdsEmpty, PeerIdInvalid
29
+ from pyrogram.parser import utils as parser_utils, Parser
30
+ from ..object import Object
31
+ from ..update import Update
32
+
33
+ log = logging.getLogger(__name__)
34
+
35
+
36
+ class Str(str):
37
+ def __init__(self, *args):
38
+ super().__init__()
39
+
40
+ self.entities = None
41
+
42
+ def init(self, entities):
43
+ self.entities = entities
44
+
45
+ return self
46
+
47
+ @property
48
+ def markdown(self):
49
+ return Parser.unparse(self, self.entities, False)
50
+
51
+ @property
52
+ def html(self):
53
+ return Parser.unparse(self, self.entities, True)
54
+
55
+ def __getitem__(self, item):
56
+ return parser_utils.remove_surrogates(parser_utils.add_surrogates(self)[item])
57
+
58
+
59
+ class Message(Object, Update):
60
+ """A message.
61
+
62
+ Parameters:
63
+ id (``int``):
64
+ Unique message identifier inside this chat.
65
+
66
+ message_thread_id (``int``, *optional*):
67
+ Unique identifier of a message thread to which the message belongs.
68
+ for supergroups only
69
+
70
+ from_user (:obj:`~pyrogram.types.User`, *optional*):
71
+ Sender, empty for messages sent to channels.
72
+
73
+ sender_chat (:obj:`~pyrogram.types.Chat`, *optional*):
74
+ Sender of the message, sent on behalf of a chat.
75
+ The channel itself for channel messages.
76
+ The supergroup itself for messages from anonymous group administrators.
77
+ The linked channel for messages automatically forwarded to the discussion group.
78
+
79
+ date (:py:obj:`~datetime.datetime`, *optional*):
80
+ Date the message was sent.
81
+
82
+ chat (:obj:`~pyrogram.types.Chat`, *optional*):
83
+ Conversation the message belongs to.
84
+
85
+ topics (:obj:`~pyrogram.types.ForumTopic`, *optional*):
86
+ Topic the message belongs to.
87
+ only returned using when client.get_messages.
88
+
89
+ forward_from (:obj:`~pyrogram.types.User`, *optional*):
90
+ For forwarded messages, sender of the original message.
91
+
92
+ forward_sender_name (``str``, *optional*):
93
+ For messages forwarded from users who have hidden their accounts, name of the user.
94
+
95
+ forward_from_chat (:obj:`~pyrogram.types.Chat`, *optional*):
96
+ For messages forwarded from channels, information about the original channel. For messages forwarded from anonymous group administrators, information about the original supergroup.
97
+
98
+ forward_from_message_id (``int``, *optional*):
99
+ For messages forwarded from channels, identifier of the original message in the channel.
100
+
101
+ forward_signature (``str``, *optional*):
102
+ For messages forwarded from channels, signature of the post author if present.
103
+
104
+ forward_date (:py:obj:`~datetime.datetime`, *optional*):
105
+ For forwarded messages, date the original message was sent.
106
+
107
+ is_topic_message (``bool``, *optional*):
108
+ True, if the message is sent to a forum topic
109
+
110
+ reply_to_message_id (``int``, *optional*):
111
+ The id of the message which this message directly replied to.
112
+
113
+ reply_to_top_message_id (``int``, *optional*):
114
+ The id of the first message which started this message thread.
115
+
116
+ reply_to_message (:obj:`~pyrogram.types.Message`, *optional*):
117
+ For replies, the original message. Note that the Message object in this field will not contain
118
+ further reply_to_message fields even if it itself is a reply.
119
+
120
+ mentioned (``bool``, *optional*):
121
+ The message contains a mention.
122
+
123
+ empty (``bool``, *optional*):
124
+ The message is empty.
125
+ A message can be empty in case it was deleted or you tried to retrieve a message that doesn't exist yet.
126
+
127
+ service (:obj:`~pyrogram.enums.MessageServiceType`, *optional*):
128
+ The message is a service message.
129
+ This field will contain the enumeration type of the service message.
130
+ You can use ``service = getattr(message, message.service.value)`` to access the service message.
131
+
132
+ media (:obj:`~pyrogram.enums.MessageMediaType`, *optional*):
133
+ The message is a media message.
134
+ This field will contain the enumeration type of the media message.
135
+ You can use ``media = getattr(message, message.media.value)`` to access the media message.
136
+
137
+ edit_date (:py:obj:`~datetime.datetime`, *optional*):
138
+ Date the message was last edited.
139
+
140
+ media_group_id (``str``, *optional*):
141
+ The unique identifier of a media message group this message belongs to.
142
+
143
+ author_signature (``str``, *optional*):
144
+ Signature of the post author for messages in channels, or the custom title of an anonymous group
145
+ administrator.
146
+
147
+ has_protected_content (``bool``, *optional*):
148
+ True, if the message can't be forwarded.
149
+
150
+ has_media_spoiler (``bool``, *optional*):
151
+ True, if the message media is covered by a spoiler animation.
152
+
153
+ text (``str``, *optional*):
154
+ For text messages, the actual UTF-8 text of the message, 0-4096 characters.
155
+ If the message contains entities (bold, italic, ...) you can access *text.markdown* or
156
+ *text.html* to get the marked up message text. In case there is no entity, the fields
157
+ will contain the same text as *text*.
158
+
159
+ entities (List of :obj:`~pyrogram.types.MessageEntity`, *optional*):
160
+ For text messages, special entities like usernames, URLs, bot commands, etc. that appear in the text.
161
+
162
+ caption_entities (List of :obj:`~pyrogram.types.MessageEntity`, *optional*):
163
+ For messages with a caption, special entities like usernames, URLs, bot commands, etc. that appear
164
+ in the caption.
165
+
166
+ audio (:obj:`~pyrogram.types.Audio`, *optional*):
167
+ Message is an audio file, information about the file.
168
+
169
+ document (:obj:`~pyrogram.types.Document`, *optional*):
170
+ Message is a general file, information about the file.
171
+
172
+ photo (:obj:`~pyrogram.types.Photo`, *optional*):
173
+ Message is a photo, information about the photo.
174
+
175
+ sticker (:obj:`~pyrogram.types.Sticker`, *optional*):
176
+ Message is a sticker, information about the sticker.
177
+
178
+ animation (:obj:`~pyrogram.types.Animation`, *optional*):
179
+ Message is an animation, information about the animation.
180
+
181
+ game (:obj:`~pyrogram.types.Game`, *optional*):
182
+ Message is a game, information about the game.
183
+
184
+ video (:obj:`~pyrogram.types.Video`, *optional*):
185
+ Message is a video, information about the video.
186
+
187
+ voice (:obj:`~pyrogram.types.Voice`, *optional*):
188
+ Message is a voice message, information about the file.
189
+
190
+ video_note (:obj:`~pyrogram.types.VideoNote`, *optional*):
191
+ Message is a video note, information about the video message.
192
+
193
+ caption (``str``, *optional*):
194
+ Caption for the audio, document, photo, video or voice, 0-1024 characters.
195
+ If the message contains caption entities (bold, italic, ...) you can access *caption.markdown* or
196
+ *caption.html* to get the marked up caption text. In case there is no caption entity, the fields
197
+ will contain the same text as *caption*.
198
+
199
+ contact (:obj:`~pyrogram.types.Contact`, *optional*):
200
+ Message is a shared contact, information about the contact.
201
+
202
+ location (:obj:`~pyrogram.types.Location`, *optional*):
203
+ Message is a shared location, information about the location.
204
+
205
+ venue (:obj:`~pyrogram.types.Venue`, *optional*):
206
+ Message is a venue, information about the venue.
207
+
208
+ web_page (:obj:`~pyrogram.types.WebPage`, *optional*):
209
+ Message was sent with a webpage preview.
210
+
211
+ poll (:obj:`~pyrogram.types.Poll`, *optional*):
212
+ Message is a native poll, information about the poll.
213
+
214
+ dice (:obj:`~pyrogram.types.Dice`, *optional*):
215
+ A dice containing a value that is randomly generated by Telegram.
216
+
217
+ new_chat_members (List of :obj:`~pyrogram.types.User`, *optional*):
218
+ New members that were added to the group or supergroup and information about them
219
+ (the bot itself may be one of these members).
220
+
221
+ chat_joined_by_request (:obj:`~pyrogram.types.ChatJoinedByRequest`, *optional*):
222
+ New members chat join request has been approved in group or supergroup.
223
+
224
+ left_chat_member (:obj:`~pyrogram.types.User`, *optional*):
225
+ A member was removed from the group, information about them (this member may be the bot itself).
226
+
227
+ new_chat_title (``str``, *optional*):
228
+ A chat title was changed to this value.
229
+
230
+ new_chat_photo (:obj:`~pyrogram.types.Photo`, *optional*):
231
+ A chat photo was change to this value.
232
+
233
+ delete_chat_photo (``bool``, *optional*):
234
+ Service message: the chat photo was deleted.
235
+
236
+ group_chat_created (``bool``, *optional*):
237
+ Service message: the group has been created.
238
+
239
+ supergroup_chat_created (``bool``, *optional*):
240
+ Service message: the supergroup has been created.
241
+ This field can't be received in a message coming through updates, because bot can't be a member of a
242
+ supergroup when it is created. It can only be found in reply_to_message if someone replies to a very
243
+ first message in a directly created supergroup.
244
+
245
+ channel_chat_created (``bool``, *optional*):
246
+ Service message: the channel has been created.
247
+ This field can't be received in a message coming through updates, because bot can't be a member of a
248
+ channel when it is created. It can only be found in reply_to_message if someone replies to a very
249
+ first message in a channel.
250
+
251
+ migrate_to_chat_id (``int``, *optional*):
252
+ The group has been migrated to a supergroup with the specified identifier.
253
+ This number may be greater than 32 bits and some programming languages may have difficulty/silent defects
254
+ in interpreting it. But it is smaller than 52 bits, so a signed 64 bit integer or double-precision float
255
+ type are safe for storing this identifier.
256
+
257
+ migrate_from_chat_id (``int``, *optional*):
258
+ The supergroup has been migrated from a group with the specified identifier.
259
+ This number may be greater than 32 bits and some programming languages may have difficulty/silent defects
260
+ in interpreting it. But it is smaller than 52 bits, so a signed 64 bit integer or double-precision float
261
+ type are safe for storing this identifier.
262
+
263
+ pinned_message (:obj:`~pyrogram.types.Message`, *optional*):
264
+ Specified message was pinned.
265
+ Note that the Message object in this field will not contain further reply_to_message fields even if it
266
+ is itself a reply.
267
+
268
+ game_high_score (:obj:`~pyrogram.types.GameHighScore`, *optional*):
269
+ The game score for a user.
270
+ The reply_to_message field will contain the game Message.
271
+
272
+ views (``int``, *optional*):
273
+ Channel post views.
274
+
275
+ forwards (``int``, *optional*):
276
+ Channel post forwards.
277
+
278
+ via_bot (:obj:`~pyrogram.types.User`):
279
+ The information of the bot that generated the message from an inline query of a user.
280
+
281
+ outgoing (``bool``, *optional*):
282
+ Whether the message is incoming or outgoing.
283
+ Messages received from other chats are incoming (*outgoing* is False).
284
+ Messages sent from yourself to other chats are outgoing (*outgoing* is True).
285
+ An exception is made for your own personal chat; messages sent there will be incoming.
286
+
287
+ matches (List of regex Matches, *optional*):
288
+ A list containing all `Match Objects <https://docs.python.org/3/library/re.html#match-objects>`_ that match
289
+ the text of this message. Only applicable when using :obj:`Filters.regex <pyrogram.Filters.regex>`.
290
+
291
+ command (List of ``str``, *optional*):
292
+ A list containing the command and its arguments, if any.
293
+ E.g.: "/start 1 2 3" would produce ["start", "1", "2", "3"].
294
+ Only applicable when using :obj:`~pyrogram.filters.command`.
295
+
296
+ channel_shared (``int``, *optional*):
297
+ Service message: chat/channel shared
298
+
299
+ user_shared (``int``, *optional*):
300
+ Service message: user shared
301
+
302
+ forum_topic_created (:obj:`~pyrogram.types.ForumTopicCreated`, *optional*):
303
+ Service message: forum topic created
304
+
305
+ forum_topic_closed (:obj:`~pyrogram.types.ForumTopicClosed`, *optional*):
306
+ Service message: forum topic closed
307
+
308
+ forum_topic_reopened (:obj:`~pyrogram.types.ForumTopicReopened`, *optional*):
309
+ Service message: forum topic reopened
310
+
311
+ forum_topic_edited (:obj:`~pyrogram.types.ForumTopicEdited`, *optional*):
312
+ Service message: forum topic edited
313
+
314
+ general_topic_hidden (:obj:`~pyrogram.types.GeneralTopicHidden`, *optional*):
315
+ Service message: forum general topic hidden
316
+
317
+ general_topic_unhidden (:obj:`~pyrogram.types.GeneralTopicUnhidden`, *optional*):
318
+ Service message: forum general topic unhidden
319
+
320
+ video_chat_scheduled (:obj:`~pyrogram.types.VideoChatScheduled`, *optional*):
321
+ Service message: voice chat scheduled.
322
+
323
+ video_chat_started (:obj:`~pyrogram.types.VideoChatStarted`, *optional*):
324
+ Service message: the voice chat started.
325
+
326
+ video_chat_ended (:obj:`~pyrogram.types.VideoChatEnded`, *optional*):
327
+ Service message: the voice chat has ended.
328
+
329
+ video_chat_members_invited (:obj:`~pyrogram.types.VoiceChatParticipantsInvited`, *optional*):
330
+ Service message: new members were invited to the voice chat.
331
+
332
+ web_app_data (:obj:`~pyrogram.types.WebAppData`, *optional*):
333
+ Service message: web app data sent to the bot.
334
+
335
+ reply_markup (:obj:`~pyrogram.types.InlineKeyboardMarkup` | :obj:`~pyrogram.types.ReplyKeyboardMarkup` | :obj:`~pyrogram.types.ReplyKeyboardRemove` | :obj:`~pyrogram.types.ForceReply`, *optional*):
336
+ Additional interface options. An object for an inline keyboard, custom reply keyboard,
337
+ instructions to remove reply keyboard or to force a reply from the user.
338
+
339
+ reactions (List of :obj:`~pyrogram.types.Reaction`):
340
+ List of the reactions to this message.
341
+
342
+ link (``str``, *property*):
343
+ Generate a link to this message, only for groups and channels.
344
+ """
345
+
346
+ # TODO: Add game missing field. Also invoice, successful_payment, connected_website
347
+
348
+ def __init__(
349
+ self,
350
+ *,
351
+ client: "pyrogram.Client" = None,
352
+ id: int,
353
+ message_thread_id: int = None,
354
+ from_user: "types.User" = None,
355
+ sender_chat: "types.Chat" = None,
356
+ date: datetime = None,
357
+ chat: "types.Chat" = None,
358
+ topics: "types.ForumTopic" = None,
359
+ forward_from: "types.User" = None,
360
+ forward_sender_name: str = None,
361
+ forward_from_chat: "types.Chat" = None,
362
+ forward_from_message_id: int = None,
363
+ forward_signature: str = None,
364
+ forward_date: datetime = None,
365
+ is_topic_message: bool = None,
366
+ reply_to_message_id: int = None,
367
+ reply_to_top_message_id: int = None,
368
+ reply_to_message: "Message" = None,
369
+ mentioned: bool = None,
370
+ empty: bool = None,
371
+ service: "enums.MessageServiceType" = None,
372
+ scheduled: bool = None,
373
+ from_scheduled: bool = None,
374
+ media: "enums.MessageMediaType" = None,
375
+ edit_date: datetime = None,
376
+ media_group_id: str = None,
377
+ author_signature: str = None,
378
+ has_protected_content: bool = None,
379
+ has_media_spoiler: bool = None,
380
+ text: Str = None,
381
+ entities: List["types.MessageEntity"] = None,
382
+ caption_entities: List["types.MessageEntity"] = None,
383
+ audio: "types.Audio" = None,
384
+ document: "types.Document" = None,
385
+ photo: "types.Photo" = None,
386
+ sticker: "types.Sticker" = None,
387
+ animation: "types.Animation" = None,
388
+ game: "types.Game" = None,
389
+ video: "types.Video" = None,
390
+ voice: "types.Voice" = None,
391
+ video_note: "types.VideoNote" = None,
392
+ caption: Str = None,
393
+ contact: "types.Contact" = None,
394
+ location: "types.Location" = None,
395
+ venue: "types.Venue" = None,
396
+ web_page: "types.WebPage" = None,
397
+ poll: "types.Poll" = None,
398
+ dice: "types.Dice" = None,
399
+ new_chat_members: List["types.User"] = None,
400
+ chat_joined_by_request: "types.ChatJoinedByRequest" = None,
401
+ left_chat_member: "types.User" = None,
402
+ new_chat_title: str = None,
403
+ new_chat_photo: "types.Photo" = None,
404
+ delete_chat_photo: bool = None,
405
+ group_chat_created: bool = None,
406
+ supergroup_chat_created: bool = None,
407
+ channel_chat_created: bool = None,
408
+ migrate_to_chat_id: int = None,
409
+ migrate_from_chat_id: int = None,
410
+ pinned_message: "Message" = None,
411
+ game_high_score: int = None,
412
+ views: int = None,
413
+ forwards: int = None,
414
+ via_bot: "types.User" = None,
415
+ outgoing: bool = None,
416
+ matches: List[Match] = None,
417
+ command: List[str] = None,
418
+ channel_shared: int = None,
419
+ user_shared: int = None,
420
+ forum_topic_created: "types.ForumTopicCreated" = None,
421
+ forum_topic_closed: "types.ForumTopicClosed" = None,
422
+ forum_topic_reopened: "types.ForumTopicReopened" = None,
423
+ forum_topic_edited: "types.ForumTopicEdited" = None,
424
+ general_topic_hidden: "types.GeneralTopicHidden" = None,
425
+ general_topic_unhidden: "types.GeneralTopicUnhidden" = None,
426
+ video_chat_scheduled: "types.VideoChatScheduled" = None,
427
+ video_chat_started: "types.VideoChatStarted" = None,
428
+ video_chat_ended: "types.VideoChatEnded" = None,
429
+ video_chat_members_invited: "types.VideoChatMembersInvited" = None,
430
+ web_app_data: "types.WebAppData" = None,
431
+ reply_markup: Union[
432
+ "types.InlineKeyboardMarkup",
433
+ "types.ReplyKeyboardMarkup",
434
+ "types.ReplyKeyboardRemove",
435
+ "types.ForceReply"
436
+ ] = None,
437
+ reactions: List["types.Reaction"] = None
438
+ ):
439
+ super().__init__(client)
440
+
441
+ self.id = id
442
+ self.message_thread_id = message_thread_id
443
+ self.from_user = from_user
444
+ self.sender_chat = sender_chat
445
+ self.date = date
446
+ self.chat = chat
447
+ self.topics = topics
448
+ self.forward_from = forward_from
449
+ self.forward_sender_name = forward_sender_name
450
+ self.forward_from_chat = forward_from_chat
451
+ self.forward_from_message_id = forward_from_message_id
452
+ self.forward_signature = forward_signature
453
+ self.forward_date = forward_date
454
+ self.is_topic_message = is_topic_message
455
+ self.reply_to_message_id = reply_to_message_id
456
+ self.reply_to_top_message_id = reply_to_top_message_id
457
+ self.reply_to_message = reply_to_message
458
+ self.mentioned = mentioned
459
+ self.empty = empty
460
+ self.service = service
461
+ self.scheduled = scheduled
462
+ self.from_scheduled = from_scheduled
463
+ self.media = media
464
+ self.edit_date = edit_date
465
+ self.media_group_id = media_group_id
466
+ self.author_signature = author_signature
467
+ self.has_protected_content = has_protected_content
468
+ self.has_media_spoiler = has_media_spoiler
469
+ self.text = text
470
+ self.entities = entities
471
+ self.caption_entities = caption_entities
472
+ self.audio = audio
473
+ self.document = document
474
+ self.photo = photo
475
+ self.sticker = sticker
476
+ self.animation = animation
477
+ self.game = game
478
+ self.video = video
479
+ self.voice = voice
480
+ self.video_note = video_note
481
+ self.caption = caption
482
+ self.contact = contact
483
+ self.location = location
484
+ self.venue = venue
485
+ self.web_page = web_page
486
+ self.poll = poll
487
+ self.dice = dice
488
+ self.new_chat_members = new_chat_members
489
+ self.chat_joined_by_request = chat_joined_by_request
490
+ self.left_chat_member = left_chat_member
491
+ self.new_chat_title = new_chat_title
492
+ self.new_chat_photo = new_chat_photo
493
+ self.delete_chat_photo = delete_chat_photo
494
+ self.group_chat_created = group_chat_created
495
+ self.supergroup_chat_created = supergroup_chat_created
496
+ self.channel_chat_created = channel_chat_created
497
+ self.migrate_to_chat_id = migrate_to_chat_id
498
+ self.migrate_from_chat_id = migrate_from_chat_id
499
+ self.pinned_message = pinned_message
500
+ self.game_high_score = game_high_score
501
+ self.views = views
502
+ self.forwards = forwards
503
+ self.via_bot = via_bot
504
+ self.outgoing = outgoing
505
+ self.matches = matches
506
+ self.command = command
507
+ self.reply_markup = reply_markup
508
+ self.channel_shared = channel_shared
509
+ self.user_shared = user_shared
510
+ self.forum_topic_created = forum_topic_created
511
+ self.forum_topic_closed = forum_topic_closed
512
+ self.forum_topic_reopened = forum_topic_reopened
513
+ self.forum_topic_edited = forum_topic_edited
514
+ self.general_topic_hidden = general_topic_hidden
515
+ self.general_topic_unhidden = general_topic_unhidden
516
+ self.video_chat_scheduled = video_chat_scheduled
517
+ self.video_chat_started = video_chat_started
518
+ self.video_chat_ended = video_chat_ended
519
+ self.video_chat_members_invited = video_chat_members_invited
520
+ self.web_app_data = web_app_data
521
+ self.reactions = reactions
522
+
523
+ @staticmethod
524
+ async def _parse(
525
+ client: "pyrogram.Client",
526
+ message: raw.base.Message,
527
+ users: dict,
528
+ chats: dict,
529
+ topics: dict = None,
530
+ is_scheduled: bool = False,
531
+ replies: int = 1
532
+ ):
533
+ if isinstance(message, raw.types.MessageEmpty):
534
+ return Message(id=message.id, empty=True, client=client)
535
+
536
+ from_id = utils.get_raw_peer_id(message.from_id)
537
+ peer_id = utils.get_raw_peer_id(message.peer_id)
538
+ user_id = from_id or peer_id
539
+
540
+ if isinstance(message.from_id, raw.types.PeerUser) and isinstance(message.peer_id, raw.types.PeerUser):
541
+ if from_id not in users or peer_id not in users:
542
+ try:
543
+ r = await client.invoke(
544
+ raw.functions.users.GetUsers(
545
+ id=[
546
+ await client.resolve_peer(from_id),
547
+ await client.resolve_peer(peer_id)
548
+ ]
549
+ )
550
+ )
551
+ except PeerIdInvalid:
552
+ pass
553
+ else:
554
+ users.update({i.id: i for i in r})
555
+
556
+ if isinstance(message, raw.types.MessageService):
557
+ message_thread_id = None
558
+ action = message.action
559
+
560
+ new_chat_members = None
561
+ chat_joined_by_request = None
562
+ left_chat_member = None
563
+ new_chat_title = None
564
+ delete_chat_photo = None
565
+ migrate_to_chat_id = None
566
+ migrate_from_chat_id = None
567
+ group_chat_created = None
568
+ channel_chat_created = None
569
+ new_chat_photo = None
570
+ channel_shared = None
571
+ user_shared = None
572
+ is_topic_message = None
573
+ forum_topic_created = None
574
+ forum_topic_closed = None
575
+ forum_topic_reopened = None
576
+ forum_topic_edited = None
577
+ general_topic_hidden = None
578
+ general_topic_unhidden = None
579
+ video_chat_scheduled = None
580
+ video_chat_started = None
581
+ video_chat_ended = None
582
+ video_chat_members_invited = None
583
+ web_app_data = None
584
+
585
+ service_type = None
586
+
587
+ if isinstance(action, raw.types.MessageActionChatAddUser):
588
+ new_chat_members = [types.User._parse(client, users[i]) for i in action.users]
589
+ service_type = enums.MessageServiceType.NEW_CHAT_MEMBERS
590
+ elif isinstance(action, raw.types.MessageActionChatJoinedByLink):
591
+ new_chat_members = [types.User._parse(client, users[utils.get_raw_peer_id(message.from_id)])]
592
+ service_type = enums.MessageServiceType.NEW_CHAT_MEMBERS
593
+ elif isinstance(action, raw.types.MessageActionChatJoinedByRequest):
594
+ chat_joined_by_request = types.ChatJoinedByRequest()
595
+ service_type = enums.MessageServiceType.CHAT_JOINED_BY_REQUEST
596
+ elif isinstance(action, raw.types.MessageActionChatDeleteUser):
597
+ left_chat_member = types.User._parse(client, users[action.user_id])
598
+ service_type = enums.MessageServiceType.LEFT_CHAT_MEMBERS
599
+ elif isinstance(action, raw.types.MessageActionChatEditTitle):
600
+ new_chat_title = action.title
601
+ service_type = enums.MessageServiceType.NEW_CHAT_TITLE
602
+ elif isinstance(action, raw.types.MessageActionChatDeletePhoto):
603
+ delete_chat_photo = True
604
+ service_type = enums.MessageServiceType.DELETE_CHAT_PHOTO
605
+ elif isinstance(action, raw.types.MessageActionChatMigrateTo):
606
+ migrate_to_chat_id = action.channel_id
607
+ service_type = enums.MessageServiceType.MIGRATE_TO_CHAT_ID
608
+ elif isinstance(action, raw.types.MessageActionChannelMigrateFrom):
609
+ migrate_from_chat_id = action.chat_id
610
+ service_type = enums.MessageServiceType.MIGRATE_FROM_CHAT_ID
611
+ elif isinstance(action, raw.types.MessageActionChatCreate):
612
+ group_chat_created = True
613
+ service_type = enums.MessageServiceType.GROUP_CHAT_CREATED
614
+ elif isinstance(action, raw.types.MessageActionChannelCreate):
615
+ channel_chat_created = True
616
+ service_type = enums.MessageServiceType.CHANNEL_CHAT_CREATED
617
+ elif isinstance(action, raw.types.MessageActionChatEditPhoto):
618
+ new_chat_photo = types.Photo._parse(client, action.photo)
619
+ service_type = enums.MessageServiceType.NEW_CHAT_PHOTO
620
+ elif isinstance(action, raw.types.MessageActionRequestedPeer):
621
+ if isinstance(action.peer, raw.types.PeerChannel):
622
+ channel_shared = int(f"-100{action.peer.channel_id}")
623
+ service_type = enums.MessageServiceType.ChannelShared
624
+ elif isinstance(action.peer, raw.types.PeerChat):
625
+ channel_shared = int(f"-100{action.peer.chat_id}")
626
+ service_type = enums.MessageServiceType.ChannelShared
627
+ elif isinstance(action.peer, raw.types.PeerUser):
628
+ user_shared = action.peer.user_id
629
+ service_type = enums.MessageServiceType.UserShared
630
+ elif isinstance(action, raw.types.MessageActionTopicCreate):
631
+ forum_topic_created = types.ForumTopicCreated._parse(action)
632
+ service_type = enums.MessageServiceType.FORUM_TOPIC_CREATED
633
+ elif isinstance(action, raw.types.MessageActionTopicEdit):
634
+ if action.title:
635
+ forum_topic_edited = types.ForumTopicEdited._parse(action)
636
+ service_type = enums.MessageServiceType.FORUM_TOPIC_EDITED
637
+ elif action.hidden:
638
+ general_topic_hidden = types.GeneralTopicHidden()
639
+ service_type = enums.MessageServiceType.GENERAL_TOPIC_HIDDEN
640
+ elif action.closed:
641
+ forum_topic_closed = types.ForumTopicClosed()
642
+ service_type = enums.MessageServiceType.FORUM_TOPIC_CLOSED
643
+ else:
644
+ if hasattr(action, "hidden"):
645
+ general_topic_unhidden = types.GeneralTopicUnhidden()
646
+ service_type = enums.MessageServiceType.GENERAL_TOPIC_UNHIDDEN
647
+ else:
648
+ forum_topic_reopened = types.ForumTopicReopened()
649
+ service_type = enums.MessageServiceType.FORUM_TOPIC_REOPENED
650
+ elif isinstance(action, raw.types.MessageActionGroupCallScheduled):
651
+ video_chat_scheduled = types.VideoChatScheduled._parse(action)
652
+ service_type = enums.MessageServiceType.VIDEO_CHAT_SCHEDULED
653
+ elif isinstance(action, raw.types.MessageActionGroupCall):
654
+ if action.duration:
655
+ video_chat_ended = types.VideoChatEnded._parse(action)
656
+ service_type = enums.MessageServiceType.VIDEO_CHAT_ENDED
657
+ else:
658
+ video_chat_started = types.VideoChatStarted()
659
+ service_type = enums.MessageServiceType.VIDEO_CHAT_STARTED
660
+ elif isinstance(action, raw.types.MessageActionInviteToGroupCall):
661
+ video_chat_members_invited = types.VideoChatMembersInvited._parse(client, action, users)
662
+ service_type = enums.MessageServiceType.VIDEO_CHAT_MEMBERS_INVITED
663
+ elif isinstance(action, raw.types.MessageActionWebViewDataSentMe):
664
+ web_app_data = types.WebAppData._parse(action)
665
+ service_type = enums.MessageServiceType.WEB_APP_DATA
666
+
667
+ from_user = types.User._parse(client, users.get(user_id, None))
668
+ sender_chat = types.Chat._parse(client, message, users, chats, is_chat=False) if not from_user else None
669
+
670
+ parsed_message = Message(
671
+ id=message.id,
672
+ message_thread_id=message_thread_id,
673
+ date=utils.timestamp_to_datetime(message.date),
674
+ chat=types.Chat._parse(client, message, users, chats, is_chat=True),
675
+ topics=None,
676
+ from_user=from_user,
677
+ sender_chat=sender_chat,
678
+ service=service_type,
679
+ new_chat_members=new_chat_members,
680
+ chat_joined_by_request=chat_joined_by_request,
681
+ left_chat_member=left_chat_member,
682
+ new_chat_title=new_chat_title,
683
+ new_chat_photo=new_chat_photo,
684
+ delete_chat_photo=delete_chat_photo,
685
+ migrate_to_chat_id=utils.get_channel_id(migrate_to_chat_id) if migrate_to_chat_id else None,
686
+ migrate_from_chat_id=-migrate_from_chat_id if migrate_from_chat_id else None,
687
+ group_chat_created=group_chat_created,
688
+ channel_chat_created=channel_chat_created,
689
+ channel_shared=channel_shared,
690
+ user_shared=user_shared,
691
+ is_topic_message=is_topic_message,
692
+ forum_topic_created=forum_topic_created,
693
+ forum_topic_closed=forum_topic_closed,
694
+ forum_topic_reopened=forum_topic_reopened,
695
+ forum_topic_edited=forum_topic_edited,
696
+ general_topic_hidden=general_topic_hidden,
697
+ general_topic_unhidden=general_topic_unhidden,
698
+ video_chat_scheduled=video_chat_scheduled,
699
+ video_chat_started=video_chat_started,
700
+ video_chat_ended=video_chat_ended,
701
+ video_chat_members_invited=video_chat_members_invited,
702
+ web_app_data=web_app_data,
703
+ client=client
704
+ # TODO: supergroup_chat_created
705
+ )
706
+
707
+ if isinstance(action, raw.types.MessageActionPinMessage):
708
+ try:
709
+ parsed_message.pinned_message = await client.get_messages(
710
+ parsed_message.chat.id,
711
+ reply_to_message_ids=message.id,
712
+ replies=0
713
+ )
714
+
715
+ parsed_message.service = enums.MessageServiceType.PINNED_MESSAGE
716
+ except MessageIdsEmpty:
717
+ pass
718
+
719
+ if isinstance(action, raw.types.MessageActionGameScore):
720
+ parsed_message.game_high_score = types.GameHighScore._parse_action(client, message, users)
721
+
722
+ if message.reply_to and replies:
723
+ try:
724
+ parsed_message.reply_to_message = await client.get_messages(
725
+ parsed_message.chat.id,
726
+ reply_to_message_ids=message.id,
727
+ replies=0
728
+ )
729
+
730
+ parsed_message.service = enums.MessageServiceType.GAME_HIGH_SCORE
731
+ except MessageIdsEmpty:
732
+ pass
733
+
734
+ client.message_cache[(parsed_message.chat.id, parsed_message.id)] = parsed_message
735
+
736
+ if message.reply_to:
737
+ if message.reply_to.forum_topic:
738
+ if message.reply_to.reply_to_top_id:
739
+ parsed_message.message_thread_id = message.reply_to.reply_to_top_id
740
+ else:
741
+ parsed_message.message_thread_id = message.reply_to.reply_to_msg_id
742
+ parsed_message.is_topic_message = True
743
+
744
+ return parsed_message
745
+
746
+ if isinstance(message, raw.types.Message):
747
+ message_thread_id = None
748
+ entities = [types.MessageEntity._parse(client, entity, users) for entity in message.entities]
749
+ entities = types.List(filter(lambda x: x is not None, entities))
750
+
751
+ forward_from = None
752
+ forward_sender_name = None
753
+ forward_from_chat = None
754
+ forward_from_message_id = None
755
+ forward_signature = None
756
+ forward_date = None
757
+ is_topic_message = None
758
+
759
+ forward_header = message.fwd_from # type: raw.types.MessageFwdHeader
760
+
761
+ if forward_header:
762
+ forward_date = utils.timestamp_to_datetime(forward_header.date)
763
+
764
+ if forward_header.from_id:
765
+ raw_peer_id = utils.get_raw_peer_id(forward_header.from_id)
766
+ peer_id = utils.get_peer_id(forward_header.from_id)
767
+
768
+ if peer_id > 0:
769
+ forward_from = types.User._parse(client, users[raw_peer_id])
770
+ else:
771
+ forward_from_chat = types.Chat._parse_channel_chat(client, chats[raw_peer_id])
772
+ forward_from_message_id = forward_header.channel_post
773
+ forward_signature = forward_header.post_author
774
+ elif forward_header.from_name:
775
+ forward_sender_name = forward_header.from_name
776
+
777
+ photo = None
778
+ location = None
779
+ contact = None
780
+ venue = None
781
+ game = None
782
+ audio = None
783
+ voice = None
784
+ animation = None
785
+ video = None
786
+ video_note = None
787
+ sticker = None
788
+ document = None
789
+ web_page = None
790
+ poll = None
791
+ dice = None
792
+
793
+ media = message.media
794
+ media_type = None
795
+ has_media_spoiler = None
796
+
797
+ if media:
798
+ if isinstance(media, raw.types.MessageMediaPhoto):
799
+ photo = types.Photo._parse(client, media.photo, media.ttl_seconds)
800
+ media_type = enums.MessageMediaType.PHOTO
801
+ has_media_spoiler = media.spoiler
802
+ elif isinstance(media, raw.types.MessageMediaGeo):
803
+ location = types.Location._parse(client, media.geo)
804
+ media_type = enums.MessageMediaType.LOCATION
805
+ elif isinstance(media, raw.types.MessageMediaContact):
806
+ contact = types.Contact._parse(client, media)
807
+ media_type = enums.MessageMediaType.CONTACT
808
+ elif isinstance(media, raw.types.MessageMediaVenue):
809
+ venue = types.Venue._parse(client, media)
810
+ media_type = enums.MessageMediaType.VENUE
811
+ elif isinstance(media, raw.types.MessageMediaGame):
812
+ game = types.Game._parse(client, message)
813
+ media_type = enums.MessageMediaType.GAME
814
+ elif isinstance(media, raw.types.MessageMediaDocument):
815
+ doc = media.document
816
+
817
+ if isinstance(doc, raw.types.Document):
818
+ attributes = {type(i): i for i in doc.attributes}
819
+
820
+ file_name = getattr(
821
+ attributes.get(
822
+ raw.types.DocumentAttributeFilename, None
823
+ ), "file_name", None
824
+ )
825
+
826
+ if raw.types.DocumentAttributeAnimated in attributes:
827
+ video_attributes = attributes.get(raw.types.DocumentAttributeVideo, None)
828
+ animation = types.Animation._parse(client, doc, video_attributes, file_name)
829
+ media_type = enums.MessageMediaType.ANIMATION
830
+ has_media_spoiler = media.spoiler
831
+ elif raw.types.DocumentAttributeSticker in attributes:
832
+ sticker = await types.Sticker._parse(client, doc, attributes)
833
+ media_type = enums.MessageMediaType.STICKER
834
+ elif raw.types.DocumentAttributeVideo in attributes:
835
+ video_attributes = attributes[raw.types.DocumentAttributeVideo]
836
+
837
+ if video_attributes.round_message:
838
+ video_note = types.VideoNote._parse(client, doc, video_attributes)
839
+ media_type = enums.MessageMediaType.VIDEO_NOTE
840
+ else:
841
+ video = types.Video._parse(
842
+ client,
843
+ doc,
844
+ video_attributes,
845
+ file_name,
846
+ media.ttl_seconds,
847
+ getattr(media, "video_cover", None),
848
+ getattr(media, "video_timestamp", None)
849
+ )
850
+ media_type = enums.MessageMediaType.VIDEO
851
+ has_media_spoiler = media.spoiler
852
+ elif raw.types.DocumentAttributeAudio in attributes:
853
+ audio_attributes = attributes[raw.types.DocumentAttributeAudio]
854
+
855
+ if audio_attributes.voice:
856
+ voice = types.Voice._parse(client, doc, audio_attributes)
857
+ media_type = enums.MessageMediaType.VOICE
858
+ else:
859
+ audio = types.Audio._parse(client, doc, audio_attributes, file_name)
860
+ media_type = enums.MessageMediaType.AUDIO
861
+ else:
862
+ document = types.Document._parse(client, doc, file_name)
863
+ media_type = enums.MessageMediaType.DOCUMENT
864
+ elif isinstance(media, raw.types.MessageMediaWebPage):
865
+ if isinstance(media.webpage, raw.types.WebPage):
866
+ web_page = types.WebPage._parse(client, media.webpage)
867
+ media_type = enums.MessageMediaType.WEB_PAGE
868
+ else:
869
+ media = None
870
+ elif isinstance(media, raw.types.MessageMediaPoll):
871
+ poll = types.Poll._parse(client, media)
872
+ media_type = enums.MessageMediaType.POLL
873
+ elif isinstance(media, raw.types.MessageMediaDice):
874
+ dice = types.Dice._parse(client, media)
875
+ media_type = enums.MessageMediaType.DICE
876
+ else:
877
+ media = None
878
+
879
+ reply_markup = message.reply_markup
880
+
881
+ if reply_markup:
882
+ if isinstance(reply_markup, raw.types.ReplyKeyboardForceReply):
883
+ reply_markup = types.ForceReply.read(reply_markup)
884
+ elif isinstance(reply_markup, raw.types.ReplyKeyboardMarkup):
885
+ reply_markup = types.ReplyKeyboardMarkup.read(reply_markup)
886
+ elif isinstance(reply_markup, raw.types.ReplyInlineMarkup):
887
+ reply_markup = types.InlineKeyboardMarkup.read(reply_markup)
888
+ elif isinstance(reply_markup, raw.types.ReplyKeyboardHide):
889
+ reply_markup = types.ReplyKeyboardRemove.read(reply_markup)
890
+ else:
891
+ reply_markup = None
892
+
893
+ from_user = types.User._parse(client, users.get(user_id, None))
894
+ sender_chat = types.Chat._parse(client, message, users, chats, is_chat=False) if not from_user else None
895
+
896
+ reactions = types.MessageReactions._parse(client, message.reactions)
897
+
898
+ parsed_message = Message(
899
+ id=message.id,
900
+ message_thread_id=message_thread_id,
901
+ date=utils.timestamp_to_datetime(message.date),
902
+ chat=types.Chat._parse(client, message, users, chats, is_chat=True),
903
+ topics=None,
904
+ from_user=from_user,
905
+ sender_chat=sender_chat,
906
+ text=(
907
+ Str(message.message).init(entities) or None
908
+ if media is None or web_page is not None
909
+ else None
910
+ ),
911
+ caption=(
912
+ Str(message.message).init(entities) or None
913
+ if media is not None and web_page is None
914
+ else None
915
+ ),
916
+ entities=(
917
+ entities or None
918
+ if media is None or web_page is not None
919
+ else None
920
+ ),
921
+ caption_entities=(
922
+ entities or None
923
+ if media is not None and web_page is None
924
+ else None
925
+ ),
926
+ author_signature=message.post_author,
927
+ has_protected_content=message.noforwards,
928
+ has_media_spoiler=has_media_spoiler,
929
+ forward_from=forward_from,
930
+ forward_sender_name=forward_sender_name,
931
+ forward_from_chat=forward_from_chat,
932
+ forward_from_message_id=forward_from_message_id,
933
+ forward_signature=forward_signature,
934
+ forward_date=forward_date,
935
+ is_topic_message=is_topic_message,
936
+ mentioned=message.mentioned,
937
+ scheduled=is_scheduled,
938
+ from_scheduled=message.from_scheduled,
939
+ media=media_type,
940
+ edit_date=utils.timestamp_to_datetime(message.edit_date),
941
+ media_group_id=message.grouped_id,
942
+ photo=photo,
943
+ location=location,
944
+ contact=contact,
945
+ venue=venue,
946
+ audio=audio,
947
+ voice=voice,
948
+ animation=animation,
949
+ game=game,
950
+ video=video,
951
+ video_note=video_note,
952
+ sticker=sticker,
953
+ document=document,
954
+ web_page=web_page,
955
+ poll=poll,
956
+ dice=dice,
957
+ views=message.views,
958
+ forwards=message.forwards,
959
+ via_bot=types.User._parse(client, users.get(message.via_bot_id, None)),
960
+ outgoing=message.out,
961
+ reply_markup=reply_markup,
962
+ reactions=reactions,
963
+ client=client
964
+ )
965
+
966
+ if message.reply_to:
967
+ if message.reply_to.forum_topic:
968
+ if message.reply_to.reply_to_top_id:
969
+ thread_id = message.reply_to.reply_to_top_id
970
+ parsed_message.reply_to_message_id = message.reply_to.reply_to_msg_id
971
+ else:
972
+ thread_id = message.reply_to.reply_to_msg_id
973
+ parsed_message.message_thread_id = thread_id
974
+ parsed_message.is_topic_message = True
975
+ if topics:
976
+ parsed_message.topics = types.ForumTopic._parse(topics[thread_id])
977
+ else:
978
+ try:
979
+ msg = await client.get_messages(parsed_message.chat.id,message.id)
980
+ if getattr(msg, "topics"):
981
+ parsed_message.topics = msg.topics
982
+ except Exception:
983
+ pass
984
+ else:
985
+ parsed_message.reply_to_message_id = message.reply_to.reply_to_msg_id
986
+ parsed_message.reply_to_top_message_id = message.reply_to.reply_to_top_id
987
+
988
+ if replies:
989
+ try:
990
+ key = (parsed_message.chat.id, parsed_message.reply_to_message_id)
991
+ reply_to_message = client.message_cache[key]
992
+
993
+ if not reply_to_message:
994
+ reply_to_message = await client.get_messages(
995
+ parsed_message.chat.id,
996
+ reply_to_message_ids=message.id,
997
+ replies=replies - 1
998
+ )
999
+ if reply_to_message and not reply_to_message.forum_topic_created:
1000
+ parsed_message.reply_to_message = reply_to_message
1001
+ except MessageIdsEmpty:
1002
+ pass
1003
+
1004
+ if not parsed_message.poll: # Do not cache poll messages
1005
+ client.message_cache[(parsed_message.chat.id, parsed_message.id)] = parsed_message
1006
+
1007
+ return parsed_message
1008
+
1009
+ @property
1010
+ def link(self) -> str:
1011
+ if (
1012
+ self.chat.type in (enums.ChatType.GROUP, enums.ChatType.SUPERGROUP, enums.ChatType.CHANNEL)
1013
+ and self.chat.username
1014
+ ):
1015
+ return f"https://t.me/{self.chat.username}/{self.id}"
1016
+ else:
1017
+ return f"https://t.me/c/{utils.get_channel_id(self.chat.id)}/{self.id}"
1018
+
1019
+ async def get_media_group(self) -> List["types.Message"]:
1020
+ """Bound method *get_media_group* of :obj:`~pyrogram.types.Message`.
1021
+
1022
+ Use as a shortcut for:
1023
+
1024
+ .. code-block:: python
1025
+
1026
+ await client.get_media_group(
1027
+ chat_id=message.chat.id,
1028
+ message_id=message.id
1029
+ )
1030
+
1031
+ Example:
1032
+ .. code-block:: python
1033
+
1034
+ await message.get_media_group()
1035
+
1036
+ Returns:
1037
+ List of :obj:`~pyrogram.types.Message`: On success, a list of messages of the media group is returned.
1038
+
1039
+ Raises:
1040
+ ValueError: In case the passed message id doesn't belong to a media group.
1041
+ """
1042
+
1043
+ return await self._client.get_media_group(
1044
+ chat_id=self.chat.id,
1045
+ message_id=self.id
1046
+ )
1047
+
1048
+ async def reply_text(
1049
+ self,
1050
+ text: str,
1051
+ quote: bool = None,
1052
+ parse_mode: Optional["enums.ParseMode"] = None,
1053
+ entities: List["types.MessageEntity"] = None,
1054
+ disable_web_page_preview: bool = None,
1055
+ disable_notification: bool = None,
1056
+ reply_to_message_id: int = None,
1057
+ schedule_date: datetime = None,
1058
+ protect_content: bool = None,
1059
+ reply_markup=None
1060
+ ) -> "Message":
1061
+ """Bound method *reply_text* of :obj:`~pyrogram.types.Message`.
1062
+
1063
+ An alias exists as *reply*.
1064
+
1065
+ Use as a shortcut for:
1066
+
1067
+ .. code-block:: python
1068
+
1069
+ await client.send_message(
1070
+ chat_id=message.chat.id,
1071
+ text="hello",
1072
+ reply_to_message_id=message.id
1073
+ )
1074
+
1075
+ Example:
1076
+ .. code-block:: python
1077
+
1078
+ await message.reply_text("hello", quote=True)
1079
+
1080
+ Parameters:
1081
+ text (``str``):
1082
+ Text of the message to be sent.
1083
+
1084
+ quote (``bool``, *optional*):
1085
+ If ``True``, the message will be sent as a reply to this message.
1086
+ If *reply_to_message_id* is passed, this parameter will be ignored.
1087
+ Defaults to ``True`` in group chats and ``False`` in private chats.
1088
+
1089
+ parse_mode (:obj:`~pyrogram.enums.ParseMode`, *optional*):
1090
+ By default, texts are parsed using both Markdown and HTML styles.
1091
+ You can combine both syntaxes together.
1092
+
1093
+ entities (List of :obj:`~pyrogram.types.MessageEntity`):
1094
+ List of special entities that appear in message text, which can be specified instead of *parse_mode*.
1095
+
1096
+ disable_web_page_preview (``bool``, *optional*):
1097
+ Disables link previews for links in this message.
1098
+
1099
+ disable_notification (``bool``, *optional*):
1100
+ Sends the message silently.
1101
+ Users will receive a notification with no sound.
1102
+
1103
+ reply_to_message_id (``int``, *optional*):
1104
+ If the message is a reply, ID of the original message.
1105
+
1106
+ schedule_date (:py:obj:`~datetime.datetime`, *optional*):
1107
+ Date when the message will be automatically sent.
1108
+
1109
+ protect_content (``bool``, *optional*):
1110
+ Protects the contents of the sent message from forwarding and saving.
1111
+
1112
+ reply_markup (:obj:`~pyrogram.types.InlineKeyboardMarkup` | :obj:`~pyrogram.types.ReplyKeyboardMarkup` | :obj:`~pyrogram.types.ReplyKeyboardRemove` | :obj:`~pyrogram.types.ForceReply`, *optional*):
1113
+ Additional interface options. An object for an inline keyboard, custom reply keyboard,
1114
+ instructions to remove reply keyboard or to force a reply from the user.
1115
+
1116
+ Returns:
1117
+ On success, the sent Message is returned.
1118
+
1119
+ Raises:
1120
+ RPCError: In case of a Telegram RPC error.
1121
+ """
1122
+ if quote is None:
1123
+ quote = self.chat.type != enums.ChatType.PRIVATE
1124
+
1125
+ if reply_to_message_id is None and quote:
1126
+ reply_to_message_id = self.id
1127
+
1128
+ message_thread_id = None
1129
+ if self.message_thread_id:
1130
+ message_thread_id = self.message_thread_id
1131
+
1132
+ return await self._client.send_message(
1133
+ chat_id=self.chat.id,
1134
+ text=text,
1135
+ parse_mode=parse_mode,
1136
+ entities=entities,
1137
+ disable_web_page_preview=disable_web_page_preview,
1138
+ disable_notification=disable_notification,
1139
+ message_thread_id=message_thread_id,
1140
+ reply_to_message_id=reply_to_message_id,
1141
+ schedule_date=schedule_date,
1142
+ protect_content=protect_content,
1143
+ reply_markup=reply_markup
1144
+ )
1145
+
1146
+ reply = reply_text
1147
+
1148
+ async def reply_animation(
1149
+ self,
1150
+ animation: Union[str, BinaryIO],
1151
+ quote: bool = None,
1152
+ caption: str = "",
1153
+ parse_mode: Optional["enums.ParseMode"] = None,
1154
+ caption_entities: List["types.MessageEntity"] = None,
1155
+ has_spoiler: bool = None,
1156
+ duration: int = 0,
1157
+ width: int = 0,
1158
+ height: int = 0,
1159
+ thumb: Union[str, BinaryIO] = None,
1160
+ file_name: str = None,
1161
+ disable_notification: bool = None,
1162
+ reply_markup: Union[
1163
+ "types.InlineKeyboardMarkup",
1164
+ "types.ReplyKeyboardMarkup",
1165
+ "types.ReplyKeyboardRemove",
1166
+ "types.ForceReply"
1167
+ ] = None,
1168
+ reply_to_message_id: int = None,
1169
+ progress: Callable = None,
1170
+ progress_args: tuple = ()
1171
+ ) -> "Message":
1172
+ """Bound method *reply_animation* :obj:`~pyrogram.types.Message`.
1173
+
1174
+ Use as a shortcut for:
1175
+
1176
+ .. code-block:: python
1177
+
1178
+ await client.send_animation(
1179
+ chat_id=message.chat.id,
1180
+ animation=animation
1181
+ )
1182
+
1183
+ Example:
1184
+ .. code-block:: python
1185
+
1186
+ await message.reply_animation(animation)
1187
+
1188
+ Parameters:
1189
+ animation (``str``):
1190
+ Animation to send.
1191
+ Pass a file_id as string to send an animation that exists on the Telegram servers,
1192
+ pass an HTTP URL as a string for Telegram to get an animation from the Internet, or
1193
+ pass a file path as string to upload a new animation that exists on your local machine.
1194
+
1195
+ quote (``bool``, *optional*):
1196
+ If ``True``, the message will be sent as a reply to this message.
1197
+ If *reply_to_message_id* is passed, this parameter will be ignored.
1198
+ Defaults to ``True`` in group chats and ``False`` in private chats.
1199
+
1200
+ caption (``str``, *optional*):
1201
+ Animation caption, 0-1024 characters.
1202
+
1203
+ parse_mode (:obj:`~pyrogram.enums.ParseMode`, *optional*):
1204
+ By default, texts are parsed using both Markdown and HTML styles.
1205
+ You can combine both syntaxes together.
1206
+
1207
+ caption_entities (List of :obj:`~pyrogram.types.MessageEntity`):
1208
+ List of special entities that appear in the caption, which can be specified instead of *parse_mode*.
1209
+
1210
+ has_spoiler (``bool``, *optional*):
1211
+ Pass True if the animation needs to be covered with a spoiler animation.
1212
+
1213
+ duration (``int``, *optional*):
1214
+ Duration of sent animation in seconds.
1215
+
1216
+ width (``int``, *optional*):
1217
+ Animation width.
1218
+
1219
+ height (``int``, *optional*):
1220
+ Animation height.
1221
+
1222
+ thumb (``str`` | ``BinaryIO``, *optional*):
1223
+ Thumbnail of the animation file sent.
1224
+ The thumbnail should be in JPEG format and less than 200 KB in size.
1225
+ A thumbnail's width and height should not exceed 320 pixels.
1226
+ Thumbnails can't be reused and can be only uploaded as a new file.
1227
+
1228
+ file_name (``str``, *optional*):
1229
+ File name of the animation sent.
1230
+ Defaults to file's path basename.
1231
+
1232
+ disable_notification (``bool``, *optional*):
1233
+ Sends the message silently.
1234
+ Users will receive a notification with no sound.
1235
+
1236
+ reply_to_message_id (``int``, *optional*):
1237
+ If the message is a reply, ID of the original message.
1238
+
1239
+ reply_markup (:obj:`~pyrogram.types.InlineKeyboardMarkup` | :obj:`~pyrogram.types.ReplyKeyboardMarkup` | :obj:`~pyrogram.types.ReplyKeyboardRemove` | :obj:`~pyrogram.types.ForceReply`, *optional*):
1240
+ Additional interface options. An object for an inline keyboard, custom reply keyboard,
1241
+ instructions to remove reply keyboard or to force a reply from the user.
1242
+
1243
+ progress (``Callable``, *optional*):
1244
+ Pass a callback function to view the file transmission progress.
1245
+ The function must take *(current, total)* as positional arguments (look at Other Parameters below for a
1246
+ detailed description) and will be called back each time a new file chunk has been successfully
1247
+ transmitted.
1248
+
1249
+ progress_args (``tuple``, *optional*):
1250
+ Extra custom arguments for the progress callback function.
1251
+ You can pass anything you need to be available in the progress callback scope; for example, a Message
1252
+ object or a Client instance in order to edit the message with the updated progress status.
1253
+
1254
+ Other Parameters:
1255
+ current (``int``):
1256
+ The amount of bytes transmitted so far.
1257
+
1258
+ total (``int``):
1259
+ The total size of the file.
1260
+
1261
+ *args (``tuple``, *optional*):
1262
+ Extra custom arguments as defined in the ``progress_args`` parameter.
1263
+ You can either keep ``*args`` or add every single extra argument in your function signature.
1264
+
1265
+ Returns:
1266
+ On success, the sent :obj:`~pyrogram.types.Message` is returned.
1267
+ In case the upload is deliberately stopped with :meth:`~pyrogram.Client.stop_transmission`, None is returned
1268
+ instead.
1269
+
1270
+ Raises:
1271
+ RPCError: In case of a Telegram RPC error.
1272
+ """
1273
+ if quote is None:
1274
+ quote = self.chat.type != enums.ChatType.PRIVATE
1275
+
1276
+ if reply_to_message_id is None and quote:
1277
+ reply_to_message_id = self.id
1278
+
1279
+ message_thread_id = None
1280
+ if self.message_thread_id:
1281
+ message_thread_id = self.message_thread_id
1282
+
1283
+ return await self._client.send_animation(
1284
+ chat_id=self.chat.id,
1285
+ animation=animation,
1286
+ caption=caption,
1287
+ parse_mode=parse_mode,
1288
+ caption_entities=caption_entities,
1289
+ has_spoiler=has_spoiler,
1290
+ duration=duration,
1291
+ width=width,
1292
+ height=height,
1293
+ thumb=thumb,
1294
+ file_name=file_name,
1295
+ disable_notification=disable_notification,
1296
+ message_thread_id=message_thread_id,
1297
+ reply_to_message_id=reply_to_message_id,
1298
+ reply_markup=reply_markup,
1299
+ progress=progress,
1300
+ progress_args=progress_args
1301
+ )
1302
+
1303
+ async def reply_audio(
1304
+ self,
1305
+ audio: Union[str, BinaryIO],
1306
+ quote: bool = None,
1307
+ caption: str = "",
1308
+ parse_mode: Optional["enums.ParseMode"] = None,
1309
+ caption_entities: List["types.MessageEntity"] = None,
1310
+ duration: int = 0,
1311
+ performer: str = None,
1312
+ title: str = None,
1313
+ thumb: Union[str, BinaryIO] = None,
1314
+ file_name: str = None,
1315
+ disable_notification: bool = None,
1316
+ reply_to_message_id: int = None,
1317
+ reply_markup: Union[
1318
+ "types.InlineKeyboardMarkup",
1319
+ "types.ReplyKeyboardMarkup",
1320
+ "types.ReplyKeyboardRemove",
1321
+ "types.ForceReply"
1322
+ ] = None,
1323
+ progress: Callable = None,
1324
+ progress_args: tuple = ()
1325
+ ) -> "Message":
1326
+ """Bound method *reply_audio* of :obj:`~pyrogram.types.Message`.
1327
+
1328
+ Use as a shortcut for:
1329
+
1330
+ .. code-block:: python
1331
+
1332
+ await client.send_audio(
1333
+ chat_id=message.chat.id,
1334
+ audio=audio
1335
+ )
1336
+
1337
+ Example:
1338
+ .. code-block:: python
1339
+
1340
+ await message.reply_audio(audio)
1341
+
1342
+ Parameters:
1343
+ audio (``str``):
1344
+ Audio file to send.
1345
+ Pass a file_id as string to send an audio file that exists on the Telegram servers,
1346
+ pass an HTTP URL as a string for Telegram to get an audio file from the Internet, or
1347
+ pass a file path as string to upload a new audio file that exists on your local machine.
1348
+
1349
+ quote (``bool``, *optional*):
1350
+ If ``True``, the message will be sent as a reply to this message.
1351
+ If *reply_to_message_id* is passed, this parameter will be ignored.
1352
+ Defaults to ``True`` in group chats and ``False`` in private chats.
1353
+
1354
+ caption (``str``, *optional*):
1355
+ Audio caption, 0-1024 characters.
1356
+
1357
+ parse_mode (:obj:`~pyrogram.enums.ParseMode`, *optional*):
1358
+ By default, texts are parsed using both Markdown and HTML styles.
1359
+ You can combine both syntaxes together.
1360
+
1361
+ caption_entities (List of :obj:`~pyrogram.types.MessageEntity`):
1362
+ List of special entities that appear in the caption, which can be specified instead of *parse_mode*.
1363
+
1364
+ duration (``int``, *optional*):
1365
+ Duration of the audio in seconds.
1366
+
1367
+ performer (``str``, *optional*):
1368
+ Performer.
1369
+
1370
+ title (``str``, *optional*):
1371
+ Track name.
1372
+
1373
+ thumb (``str`` | ``BinaryIO``, *optional*):
1374
+ Thumbnail of the music file album cover.
1375
+ The thumbnail should be in JPEG format and less than 200 KB in size.
1376
+ A thumbnail's width and height should not exceed 320 pixels.
1377
+ Thumbnails can't be reused and can be only uploaded as a new file.
1378
+
1379
+ file_name (``str``, *optional*):
1380
+ File name of the audio sent.
1381
+ Defaults to file's path basename.
1382
+
1383
+ disable_notification (``bool``, *optional*):
1384
+ Sends the message silently.
1385
+ Users will receive a notification with no sound.
1386
+
1387
+ reply_to_message_id (``int``, *optional*):
1388
+ If the message is a reply, ID of the original message.
1389
+
1390
+ reply_markup (:obj:`~pyrogram.types.InlineKeyboardMarkup` | :obj:`~pyrogram.types.ReplyKeyboardMarkup` | :obj:`~pyrogram.types.ReplyKeyboardRemove` | :obj:`~pyrogram.types.ForceReply`, *optional*):
1391
+ Additional interface options. An object for an inline keyboard, custom reply keyboard,
1392
+ instructions to remove reply keyboard or to force a reply from the user.
1393
+
1394
+ progress (``Callable``, *optional*):
1395
+ Pass a callback function to view the file transmission progress.
1396
+ The function must take *(current, total)* as positional arguments (look at Other Parameters below for a
1397
+ detailed description) and will be called back each time a new file chunk has been successfully
1398
+ transmitted.
1399
+
1400
+ progress_args (``tuple``, *optional*):
1401
+ Extra custom arguments for the progress callback function.
1402
+ You can pass anything you need to be available in the progress callback scope; for example, a Message
1403
+ object or a Client instance in order to edit the message with the updated progress status.
1404
+
1405
+ Other Parameters:
1406
+ current (``int``):
1407
+ The amount of bytes transmitted so far.
1408
+
1409
+ total (``int``):
1410
+ The total size of the file.
1411
+
1412
+ *args (``tuple``, *optional*):
1413
+ Extra custom arguments as defined in the ``progress_args`` parameter.
1414
+ You can either keep ``*args`` or add every single extra argument in your function signature.
1415
+
1416
+ Returns:
1417
+ On success, the sent :obj:`~pyrogram.types.Message` is returned.
1418
+ In case the upload is deliberately stopped with :meth:`~pyrogram.Client.stop_transmission`, None is returned
1419
+ instead.
1420
+
1421
+ Raises:
1422
+ RPCError: In case of a Telegram RPC error.
1423
+ """
1424
+ if quote is None:
1425
+ quote = self.chat.type != enums.ChatType.PRIVATE
1426
+
1427
+ if reply_to_message_id is None and quote:
1428
+ reply_to_message_id = self.id
1429
+
1430
+ message_thread_id = None
1431
+ if self.message_thread_id:
1432
+ message_thread_id = self.message_thread_id
1433
+
1434
+ return await self._client.send_audio(
1435
+ chat_id=self.chat.id,
1436
+ audio=audio,
1437
+ caption=caption,
1438
+ parse_mode=parse_mode,
1439
+ caption_entities=caption_entities,
1440
+ duration=duration,
1441
+ performer=performer,
1442
+ title=title,
1443
+ thumb=thumb,
1444
+ file_name=file_name,
1445
+ disable_notification=disable_notification,
1446
+ message_thread_id=message_thread_id,
1447
+ reply_to_message_id=reply_to_message_id,
1448
+ reply_markup=reply_markup,
1449
+ progress=progress,
1450
+ progress_args=progress_args
1451
+ )
1452
+
1453
+ async def reply_cached_media(
1454
+ self,
1455
+ file_id: str,
1456
+ quote: bool = None,
1457
+ caption: str = "",
1458
+ parse_mode: Optional["enums.ParseMode"] = None,
1459
+ caption_entities: List["types.MessageEntity"] = None,
1460
+ disable_notification: bool = None,
1461
+ reply_to_message_id: int = None,
1462
+ reply_markup: Union[
1463
+ "types.InlineKeyboardMarkup",
1464
+ "types.ReplyKeyboardMarkup",
1465
+ "types.ReplyKeyboardRemove",
1466
+ "types.ForceReply"
1467
+ ] = None
1468
+ ) -> "Message":
1469
+ """Bound method *reply_cached_media* of :obj:`~pyrogram.types.Message`.
1470
+
1471
+ Use as a shortcut for:
1472
+
1473
+ .. code-block:: python
1474
+
1475
+ await client.send_cached_media(
1476
+ chat_id=message.chat.id,
1477
+ file_id=file_id
1478
+ )
1479
+
1480
+ Example:
1481
+ .. code-block:: python
1482
+
1483
+ await message.reply_cached_media(file_id)
1484
+
1485
+ Parameters:
1486
+ file_id (``str``):
1487
+ Media to send.
1488
+ Pass a file_id as string to send a media that exists on the Telegram servers.
1489
+
1490
+ quote (``bool``, *optional*):
1491
+ If ``True``, the message will be sent as a reply to this message.
1492
+ If *reply_to_message_id* is passed, this parameter will be ignored.
1493
+ Defaults to ``True`` in group chats and ``False`` in private chats.
1494
+
1495
+ caption (``bool``, *optional*):
1496
+ Media caption, 0-1024 characters.
1497
+
1498
+ parse_mode (:obj:`~pyrogram.enums.ParseMode`, *optional*):
1499
+ By default, texts are parsed using both Markdown and HTML styles.
1500
+ You can combine both syntaxes together.
1501
+
1502
+ caption_entities (List of :obj:`~pyrogram.types.MessageEntity`):
1503
+ List of special entities that appear in the caption, which can be specified instead of *parse_mode*.
1504
+
1505
+ disable_notification (``bool``, *optional*):
1506
+ Sends the message silently.
1507
+ Users will receive a notification with no sound.
1508
+
1509
+ reply_to_message_id (``int``, *optional*):
1510
+ If the message is a reply, ID of the original message.
1511
+
1512
+ reply_markup (:obj:`~pyrogram.types.InlineKeyboardMarkup` | :obj:`~pyrogram.types.ReplyKeyboardMarkup` | :obj:`~pyrogram.types.ReplyKeyboardRemove` | :obj:`~pyrogram.types.ForceReply`, *optional*):
1513
+ Additional interface options. An object for an inline keyboard, custom reply keyboard,
1514
+ instructions to remove reply keyboard or to force a reply from the user.
1515
+
1516
+ Returns:
1517
+ On success, the sent :obj:`~pyrogram.types.Message` is returned.
1518
+
1519
+ Raises:
1520
+ RPCError: In case of a Telegram RPC error.
1521
+ """
1522
+ if quote is None:
1523
+ quote = self.chat.type != enums.ChatType.PRIVATE
1524
+
1525
+ if reply_to_message_id is None and quote:
1526
+ reply_to_message_id = self.id
1527
+
1528
+ message_thread_id = None
1529
+ if self.message_thread_id:
1530
+ message_thread_id = self.message_thread_id
1531
+
1532
+ return await self._client.send_cached_media(
1533
+ chat_id=self.chat.id,
1534
+ file_id=file_id,
1535
+ caption=caption,
1536
+ parse_mode=parse_mode,
1537
+ caption_entities=caption_entities,
1538
+ disable_notification=disable_notification,
1539
+ message_thread_id=message_thread_id,
1540
+ reply_to_message_id=reply_to_message_id,
1541
+ reply_markup=reply_markup
1542
+ )
1543
+
1544
+ async def reply_chat_action(self, action: "enums.ChatAction") -> bool:
1545
+ """Bound method *reply_chat_action* of :obj:`~pyrogram.types.Message`.
1546
+
1547
+ Use as a shortcut for:
1548
+
1549
+ .. code-block:: python
1550
+
1551
+ from pyrogram import enums
1552
+
1553
+ await client.send_chat_action(
1554
+ chat_id=message.chat.id,
1555
+ action=enums.ChatAction.TYPING
1556
+ )
1557
+
1558
+ Example:
1559
+ .. code-block:: python
1560
+
1561
+ from pyrogram import enums
1562
+
1563
+ await message.reply_chat_action(enums.ChatAction.TYPING)
1564
+
1565
+ Parameters:
1566
+ action (:obj:`~pyrogram.enums.ChatAction`):
1567
+ Type of action to broadcast.
1568
+
1569
+ Returns:
1570
+ ``bool``: On success, True is returned.
1571
+
1572
+ Raises:
1573
+ RPCError: In case of a Telegram RPC error.
1574
+ ValueError: In case the provided string is not a valid chat action.
1575
+ """
1576
+ return await self._client.send_chat_action(
1577
+ chat_id=self.chat.id,
1578
+ action=action
1579
+ )
1580
+
1581
+ async def reply_contact(
1582
+ self,
1583
+ phone_number: str,
1584
+ first_name: str,
1585
+ quote: bool = None,
1586
+ last_name: str = "",
1587
+ vcard: str = "",
1588
+ disable_notification: bool = None,
1589
+ reply_to_message_id: int = None,
1590
+ reply_markup: Union[
1591
+ "types.InlineKeyboardMarkup",
1592
+ "types.ReplyKeyboardMarkup",
1593
+ "types.ReplyKeyboardRemove",
1594
+ "types.ForceReply"
1595
+ ] = None
1596
+ ) -> "Message":
1597
+ """Bound method *reply_contact* of :obj:`~pyrogram.types.Message`.
1598
+
1599
+ Use as a shortcut for:
1600
+
1601
+ .. code-block:: python
1602
+
1603
+ await client.send_contact(
1604
+ chat_id=message.chat.id,
1605
+ phone_number=phone_number,
1606
+ first_name=first_name
1607
+ )
1608
+
1609
+ Example:
1610
+ .. code-block:: python
1611
+
1612
+ await message.reply_contact("+1-123-456-7890", "Name")
1613
+
1614
+ Parameters:
1615
+ phone_number (``str``):
1616
+ Contact's phone number.
1617
+
1618
+ first_name (``str``):
1619
+ Contact's first name.
1620
+
1621
+ quote (``bool``, *optional*):
1622
+ If ``True``, the message will be sent as a reply to this message.
1623
+ If *reply_to_message_id* is passed, this parameter will be ignored.
1624
+ Defaults to ``True`` in group chats and ``False`` in private chats.
1625
+
1626
+ last_name (``str``, *optional*):
1627
+ Contact's last name.
1628
+
1629
+ vcard (``str``, *optional*):
1630
+ Additional data about the contact in the form of a vCard, 0-2048 bytes
1631
+
1632
+ disable_notification (``bool``, *optional*):
1633
+ Sends the message silently.
1634
+ Users will receive a notification with no sound.
1635
+
1636
+ reply_to_message_id (``int``, *optional*):
1637
+ If the message is a reply, ID of the original message.
1638
+
1639
+ reply_markup (:obj:`~pyrogram.types.InlineKeyboardMarkup` | :obj:`~pyrogram.types.ReplyKeyboardMarkup` | :obj:`~pyrogram.types.ReplyKeyboardRemove` | :obj:`~pyrogram.types.ForceReply`, *optional*):
1640
+ Additional interface options. An object for an inline keyboard, custom reply keyboard,
1641
+ instructions to remove reply keyboard or to force a reply from the user.
1642
+
1643
+ Returns:
1644
+ On success, the sent :obj:`~pyrogram.types.Message` is returned.
1645
+
1646
+ Raises:
1647
+ RPCError: In case of a Telegram RPC error.
1648
+ """
1649
+ if quote is None:
1650
+ quote = self.chat.type != enums.ChatType.PRIVATE
1651
+
1652
+ if reply_to_message_id is None and quote:
1653
+ reply_to_message_id = self.id
1654
+
1655
+ message_thread_id = None
1656
+ if self.message_thread_id:
1657
+ message_thread_id = self.message_thread_id
1658
+
1659
+ return await self._client.send_contact(
1660
+ chat_id=self.chat.id,
1661
+ phone_number=phone_number,
1662
+ first_name=first_name,
1663
+ last_name=last_name,
1664
+ vcard=vcard,
1665
+ disable_notification=disable_notification,
1666
+ message_thread_id=message_thread_id,
1667
+ reply_to_message_id=reply_to_message_id,
1668
+ reply_markup=reply_markup
1669
+ )
1670
+
1671
+ async def reply_document(
1672
+ self,
1673
+ document: Union[str, BinaryIO],
1674
+ quote: bool = None,
1675
+ thumb: Union[str, BinaryIO] = None,
1676
+ caption: str = "",
1677
+ parse_mode: Optional["enums.ParseMode"] = None,
1678
+ caption_entities: List["types.MessageEntity"] = None,
1679
+ file_name: str = None,
1680
+ force_document: bool = None,
1681
+ disable_notification: bool = None,
1682
+ reply_to_message_id: int = None,
1683
+ schedule_date: datetime = None,
1684
+ reply_markup: Union[
1685
+ "types.InlineKeyboardMarkup",
1686
+ "types.ReplyKeyboardMarkup",
1687
+ "types.ReplyKeyboardRemove",
1688
+ "types.ForceReply"
1689
+ ] = None,
1690
+ progress: Callable = None,
1691
+ progress_args: tuple = ()
1692
+ ) -> "Message":
1693
+ """Bound method *reply_document* of :obj:`~pyrogram.types.Message`.
1694
+
1695
+ Use as a shortcut for:
1696
+
1697
+ .. code-block:: python
1698
+
1699
+ await client.send_document(
1700
+ chat_id=message.chat.id,
1701
+ document=document
1702
+ )
1703
+
1704
+ Example:
1705
+ .. code-block:: python
1706
+
1707
+ await message.reply_document(document)
1708
+
1709
+ Parameters:
1710
+ document (``str``):
1711
+ File to send.
1712
+ Pass a file_id as string to send a file that exists on the Telegram servers,
1713
+ pass an HTTP URL as a string for Telegram to get a file from the Internet, or
1714
+ pass a file path as string to upload a new file that exists on your local machine.
1715
+
1716
+ quote (``bool``, *optional*):
1717
+ If ``True``, the message will be sent as a reply to this message.
1718
+ If *reply_to_message_id* is passed, this parameter will be ignored.
1719
+ Defaults to ``True`` in group chats and ``False`` in private chats.
1720
+
1721
+ thumb (``str`` | ``BinaryIO``, *optional*):
1722
+ Thumbnail of the file sent.
1723
+ The thumbnail should be in JPEG format and less than 200 KB in size.
1724
+ A thumbnail's width and height should not exceed 320 pixels.
1725
+ Thumbnails can't be reused and can be only uploaded as a new file.
1726
+
1727
+ caption (``str``, *optional*):
1728
+ Document caption, 0-1024 characters.
1729
+
1730
+ parse_mode (:obj:`~pyrogram.enums.ParseMode`, *optional*):
1731
+ By default, texts are parsed using both Markdown and HTML styles.
1732
+ You can combine both syntaxes together.
1733
+
1734
+ caption_entities (List of :obj:`~pyrogram.types.MessageEntity`):
1735
+ List of special entities that appear in the caption, which can be specified instead of *parse_mode*.
1736
+
1737
+ file_name (``str``, *optional*):
1738
+ File name of the document sent.
1739
+ Defaults to file's path basename.
1740
+
1741
+ force_document (``bool``, *optional*):
1742
+ Pass True to force sending files as document. Useful for video files that need to be sent as
1743
+ document messages instead of video messages.
1744
+ Defaults to False.
1745
+
1746
+ disable_notification (``bool``, *optional*):
1747
+ Sends the message silently.
1748
+ Users will receive a notification with no sound.
1749
+
1750
+ reply_to_message_id (``int``, *optional*):
1751
+ If the message is a reply, ID of the original message.
1752
+
1753
+ schedule_date (:py:obj:`~datetime.datetime`, *optional*):
1754
+ Date when the message will be automatically sent.
1755
+
1756
+ reply_markup (:obj:`~pyrogram.types.InlineKeyboardMarkup` | :obj:`~pyrogram.types.ReplyKeyboardMarkup` | :obj:`~pyrogram.types.ReplyKeyboardRemove` | :obj:`~pyrogram.types.ForceReply`, *optional*):
1757
+ Additional interface options. An object for an inline keyboard, custom reply keyboard,
1758
+ instructions to remove reply keyboard or to force a reply from the user.
1759
+
1760
+ progress (``Callable``, *optional*):
1761
+ Pass a callback function to view the file transmission progress.
1762
+ The function must take *(current, total)* as positional arguments (look at Other Parameters below for a
1763
+ detailed description) and will be called back each time a new file chunk has been successfully
1764
+ transmitted.
1765
+
1766
+ progress_args (``tuple``, *optional*):
1767
+ Extra custom arguments for the progress callback function.
1768
+ You can pass anything you need to be available in the progress callback scope; for example, a Message
1769
+ object or a Client instance in order to edit the message with the updated progress status.
1770
+
1771
+ Other Parameters:
1772
+ current (``int``):
1773
+ The amount of bytes transmitted so far.
1774
+
1775
+ total (``int``):
1776
+ The total size of the file.
1777
+
1778
+ *args (``tuple``, *optional*):
1779
+ Extra custom arguments as defined in the ``progress_args`` parameter.
1780
+ You can either keep ``*args`` or add every single extra argument in your function signature.
1781
+
1782
+ Returns:
1783
+ On success, the sent :obj:`~pyrogram.types.Message` is returned.
1784
+ In case the upload is deliberately stopped with :meth:`~pyrogram.Client.stop_transmission`, None is returned
1785
+ instead.
1786
+
1787
+ Raises:
1788
+ RPCError: In case of a Telegram RPC error.
1789
+ """
1790
+ if quote is None:
1791
+ quote = self.chat.type != enums.ChatType.PRIVATE
1792
+
1793
+ if reply_to_message_id is None and quote:
1794
+ reply_to_message_id = self.id
1795
+
1796
+ message_thread_id = None
1797
+ if self.message_thread_id:
1798
+ message_thread_id = self.message_thread_id
1799
+
1800
+ return await self._client.send_document(
1801
+ chat_id=self.chat.id,
1802
+ document=document,
1803
+ thumb=thumb,
1804
+ caption=caption,
1805
+ parse_mode=parse_mode,
1806
+ caption_entities=caption_entities,
1807
+ file_name=file_name,
1808
+ force_document=force_document,
1809
+ disable_notification=disable_notification,
1810
+ message_thread_id=message_thread_id,
1811
+ reply_to_message_id=reply_to_message_id,
1812
+ schedule_date=schedule_date,
1813
+ reply_markup=reply_markup,
1814
+ progress=progress,
1815
+ progress_args=progress_args
1816
+ )
1817
+
1818
+ async def reply_game(
1819
+ self,
1820
+ game_short_name: str,
1821
+ quote: bool = None,
1822
+ disable_notification: bool = None,
1823
+ reply_to_message_id: int = None,
1824
+ reply_markup: Union[
1825
+ "types.InlineKeyboardMarkup",
1826
+ "types.ReplyKeyboardMarkup",
1827
+ "types.ReplyKeyboardRemove",
1828
+ "types.ForceReply"
1829
+ ] = None
1830
+ ) -> "Message":
1831
+ """Bound method *reply_game* of :obj:`~pyrogram.types.Message`.
1832
+
1833
+ Use as a shortcut for:
1834
+
1835
+ .. code-block:: python
1836
+
1837
+ await client.send_game(
1838
+ chat_id=message.chat.id,
1839
+ game_short_name="lumberjack"
1840
+ )
1841
+
1842
+ Example:
1843
+ .. code-block:: python
1844
+
1845
+ await message.reply_game("lumberjack")
1846
+
1847
+ Parameters:
1848
+ game_short_name (``str``):
1849
+ Short name of the game, serves as the unique identifier for the game. Set up your games via Botfather.
1850
+
1851
+ quote (``bool``, *optional*):
1852
+ If ``True``, the message will be sent as a reply to this message.
1853
+ If *reply_to_message_id* is passed, this parameter will be ignored.
1854
+ Defaults to ``True`` in group chats and ``False`` in private chats.
1855
+
1856
+ disable_notification (``bool``, *optional*):
1857
+ Sends the message silently.
1858
+ Users will receive a notification with no sound.
1859
+
1860
+ reply_to_message_id (``int``, *optional*):
1861
+ If the message is a reply, ID of the original message.
1862
+
1863
+ reply_markup (:obj:`~pyrogram.types.InlineKeyboardMarkup`, *optional*):
1864
+ An object for an inline keyboard. If empty, one ‘Play game_title’ button will be shown automatically.
1865
+ If not empty, the first button must launch the game.
1866
+
1867
+ Returns:
1868
+ On success, the sent :obj:`~pyrogram.types.Message` is returned.
1869
+
1870
+ Raises:
1871
+ RPCError: In case of a Telegram RPC error.
1872
+ """
1873
+ if quote is None:
1874
+ quote = self.chat.type != enums.ChatType.PRIVATE
1875
+
1876
+ if reply_to_message_id is None and quote:
1877
+ reply_to_message_id = self.id
1878
+
1879
+ message_thread_id = None
1880
+ if self.message_thread_id:
1881
+ message_thread_id = self.message_thread_id
1882
+
1883
+ return await self._client.send_game(
1884
+ chat_id=self.chat.id,
1885
+ game_short_name=game_short_name,
1886
+ disable_notification=disable_notification,
1887
+ message_thread_id=message_thread_id,
1888
+ reply_to_message_id=reply_to_message_id,
1889
+ reply_markup=reply_markup
1890
+ )
1891
+
1892
+ async def reply_inline_bot_result(
1893
+ self,
1894
+ query_id: int,
1895
+ result_id: str,
1896
+ quote: bool = None,
1897
+ disable_notification: bool = None,
1898
+ reply_to_message_id: int = None
1899
+ ) -> "Message":
1900
+ """Bound method *reply_inline_bot_result* of :obj:`~pyrogram.types.Message`.
1901
+
1902
+ Use as a shortcut for:
1903
+
1904
+ .. code-block:: python
1905
+
1906
+ await client.send_inline_bot_result(
1907
+ chat_id=message.chat.id,
1908
+ query_id=query_id,
1909
+ result_id=result_id
1910
+ )
1911
+
1912
+ Example:
1913
+ .. code-block:: python
1914
+
1915
+ await message.reply_inline_bot_result(query_id, result_id)
1916
+
1917
+ Parameters:
1918
+ query_id (``int``):
1919
+ Unique identifier for the answered query.
1920
+
1921
+ result_id (``str``):
1922
+ Unique identifier for the result that was chosen.
1923
+
1924
+ quote (``bool``, *optional*):
1925
+ If ``True``, the message will be sent as a reply to this message.
1926
+ If *reply_to_message_id* is passed, this parameter will be ignored.
1927
+ Defaults to ``True`` in group chats and ``False`` in private chats.
1928
+
1929
+ disable_notification (``bool``, *optional*):
1930
+ Sends the message silently.
1931
+ Users will receive a notification with no sound.
1932
+
1933
+ reply_to_message_id (``bool``, *optional*):
1934
+ If the message is a reply, ID of the original message.
1935
+
1936
+ Returns:
1937
+ On success, the sent Message is returned.
1938
+
1939
+ Raises:
1940
+ RPCError: In case of a Telegram RPC error.
1941
+ """
1942
+ if quote is None:
1943
+ quote = self.chat.type != enums.ChatType.PRIVATE
1944
+
1945
+ if reply_to_message_id is None and quote:
1946
+ reply_to_message_id = self.id
1947
+
1948
+ message_thread_id = None
1949
+ if self.message_thread_id:
1950
+ message_thread_id = self.message_thread_id
1951
+
1952
+ return await self._client.send_inline_bot_result(
1953
+ chat_id=self.chat.id,
1954
+ query_id=query_id,
1955
+ result_id=result_id,
1956
+ disable_notification=disable_notification,
1957
+ message_thread_id=message_thread_id,
1958
+ reply_to_message_id=reply_to_message_id
1959
+ )
1960
+
1961
+ async def reply_location(
1962
+ self,
1963
+ latitude: float,
1964
+ longitude: float,
1965
+ quote: bool = None,
1966
+ disable_notification: bool = None,
1967
+ reply_to_message_id: int = None,
1968
+ reply_markup: Union[
1969
+ "types.InlineKeyboardMarkup",
1970
+ "types.ReplyKeyboardMarkup",
1971
+ "types.ReplyKeyboardRemove",
1972
+ "types.ForceReply"
1973
+ ] = None
1974
+ ) -> "Message":
1975
+ """Bound method *reply_location* of :obj:`~pyrogram.types.Message`.
1976
+
1977
+ Use as a shortcut for:
1978
+
1979
+ .. code-block:: python
1980
+
1981
+ await client.send_location(
1982
+ chat_id=message.chat.id,
1983
+ latitude=latitude,
1984
+ longitude=longitude
1985
+ )
1986
+
1987
+ Example:
1988
+ .. code-block:: python
1989
+
1990
+ await message.reply_location(latitude, longitude)
1991
+
1992
+ Parameters:
1993
+ latitude (``float``):
1994
+ Latitude of the location.
1995
+
1996
+ longitude (``float``):
1997
+ Longitude of the location.
1998
+
1999
+ quote (``bool``, *optional*):
2000
+ If ``True``, the message will be sent as a reply to this message.
2001
+ If *reply_to_message_id* is passed, this parameter will be ignored.
2002
+ Defaults to ``True`` in group chats and ``False`` in private chats.
2003
+
2004
+ disable_notification (``bool``, *optional*):
2005
+ Sends the message silently.
2006
+ Users will receive a notification with no sound.
2007
+
2008
+ reply_to_message_id (``int``, *optional*):
2009
+ If the message is a reply, ID of the original message
2010
+
2011
+ reply_markup (:obj:`~pyrogram.types.InlineKeyboardMarkup` | :obj:`~pyrogram.types.ReplyKeyboardMarkup` | :obj:`~pyrogram.types.ReplyKeyboardRemove` | :obj:`~pyrogram.types.ForceReply`, *optional*):
2012
+ Additional interface options. An object for an inline keyboard, custom reply keyboard,
2013
+ instructions to remove reply keyboard or to force a reply from the user.
2014
+
2015
+ Returns:
2016
+ On success, the sent :obj:`~pyrogram.types.Message` is returned.
2017
+
2018
+ Raises:
2019
+ RPCError: In case of a Telegram RPC error.
2020
+ """
2021
+ if quote is None:
2022
+ quote = self.chat.type != enums.ChatType.PRIVATE
2023
+
2024
+ if reply_to_message_id is None and quote:
2025
+ reply_to_message_id = self.id
2026
+
2027
+ message_thread_id = None
2028
+ if self.message_thread_id:
2029
+ message_thread_id = self.message_thread_id
2030
+
2031
+ return await self._client.send_location(
2032
+ chat_id=self.chat.id,
2033
+ latitude=latitude,
2034
+ longitude=longitude,
2035
+ disable_notification=disable_notification,
2036
+ message_thread_id=message_thread_id,
2037
+ reply_to_message_id=reply_to_message_id,
2038
+ reply_markup=reply_markup
2039
+ )
2040
+
2041
+ async def reply_media_group(
2042
+ self,
2043
+ media: List[Union[
2044
+ "types.InputMediaPhoto",
2045
+ "types.InputMediaVideo",
2046
+ "types.InputMediaAudio",
2047
+ "types.InputMediaDocument"
2048
+ ]],
2049
+ quote: bool = None,
2050
+ disable_notification: bool = None,
2051
+ reply_to_message_id: int = None
2052
+ ) -> List["types.Message"]:
2053
+ """Bound method *reply_media_group* of :obj:`~pyrogram.types.Message`.
2054
+
2055
+ Use as a shortcut for:
2056
+
2057
+ .. code-block:: python
2058
+
2059
+ await client.send_media_group(
2060
+ chat_id=message.chat.id,
2061
+ media=list_of_media
2062
+ )
2063
+
2064
+ Example:
2065
+ .. code-block:: python
2066
+
2067
+ await message.reply_media_group(list_of_media)
2068
+
2069
+ Parameters:
2070
+ media (``list``):
2071
+ A list containing either :obj:`~pyrogram.types.InputMediaPhoto` or
2072
+ :obj:`~pyrogram.types.InputMediaVideo` objects
2073
+ describing photos and videos to be sent, must include 2–10 items.
2074
+
2075
+ quote (``bool``, *optional*):
2076
+ If ``True``, the message will be sent as a reply to this message.
2077
+ If *reply_to_message_id* is passed, this parameter will be ignored.
2078
+ Defaults to ``True`` in group chats and ``False`` in private chats.
2079
+
2080
+ disable_notification (``bool``, *optional*):
2081
+ Sends the message silently.
2082
+ Users will receive a notification with no sound.
2083
+
2084
+ reply_to_message_id (``int``, *optional*):
2085
+ If the message is a reply, ID of the original message.
2086
+
2087
+ Returns:
2088
+ On success, a :obj:`~pyrogram.types.Messages` object is returned containing all the
2089
+ single messages sent.
2090
+
2091
+ Raises:
2092
+ RPCError: In case of a Telegram RPC error.
2093
+ """
2094
+ if quote is None:
2095
+ quote = self.chat.type != enums.ChatType.PRIVATE
2096
+
2097
+ if reply_to_message_id is None and quote:
2098
+ reply_to_message_id = self.id
2099
+
2100
+ message_thread_id = None
2101
+ if self.message_thread_id:
2102
+ message_thread_id = self.message_thread_id
2103
+
2104
+ return await self._client.send_media_group(
2105
+ chat_id=self.chat.id,
2106
+ media=media,
2107
+ disable_notification=disable_notification,
2108
+ message_thread_id=message_thread_id,
2109
+ reply_to_message_id=reply_to_message_id
2110
+ )
2111
+
2112
+ async def reply_photo(
2113
+ self,
2114
+ photo: Union[str, BinaryIO],
2115
+ quote: bool = None,
2116
+ caption: str = "",
2117
+ parse_mode: Optional["enums.ParseMode"] = None,
2118
+ caption_entities: List["types.MessageEntity"] = None,
2119
+ has_spoiler: bool = None,
2120
+ ttl_seconds: int = None,
2121
+ disable_notification: bool = None,
2122
+ reply_to_message_id: int = None,
2123
+ reply_markup: Union[
2124
+ "types.InlineKeyboardMarkup",
2125
+ "types.ReplyKeyboardMarkup",
2126
+ "types.ReplyKeyboardRemove",
2127
+ "types.ForceReply"
2128
+ ] = None,
2129
+ progress: Callable = None,
2130
+ progress_args: tuple = ()
2131
+ ) -> "Message":
2132
+ """Bound method *reply_photo* of :obj:`~pyrogram.types.Message`.
2133
+
2134
+ Use as a shortcut for:
2135
+
2136
+ .. code-block:: python
2137
+
2138
+ await client.send_photo(
2139
+ chat_id=message.chat.id,
2140
+ photo=photo
2141
+ )
2142
+
2143
+ Example:
2144
+ .. code-block:: python
2145
+
2146
+ await message.reply_photo(photo)
2147
+
2148
+ Parameters:
2149
+ photo (``str``):
2150
+ Photo to send.
2151
+ Pass a file_id as string to send a photo that exists on the Telegram servers,
2152
+ pass an HTTP URL as a string for Telegram to get a photo from the Internet, or
2153
+ pass a file path as string to upload a new photo that exists on your local machine.
2154
+
2155
+ quote (``bool``, *optional*):
2156
+ If ``True``, the message will be sent as a reply to this message.
2157
+ If *reply_to_message_id* is passed, this parameter will be ignored.
2158
+ Defaults to ``True`` in group chats and ``False`` in private chats.
2159
+
2160
+ caption (``str``, *optional*):
2161
+ Photo caption, 0-1024 characters.
2162
+
2163
+ parse_mode (:obj:`~pyrogram.enums.ParseMode`, *optional*):
2164
+ By default, texts are parsed using both Markdown and HTML styles.
2165
+ You can combine both syntaxes together.
2166
+
2167
+ caption_entities (List of :obj:`~pyrogram.types.MessageEntity`):
2168
+ List of special entities that appear in the caption, which can be specified instead of *parse_mode*.
2169
+
2170
+ has_spoiler (``bool``, *optional*):
2171
+ Pass True if the photo needs to be covered with a spoiler animation.
2172
+
2173
+ ttl_seconds (``int``, *optional*):
2174
+ Self-Destruct Timer.
2175
+ If you set a timer, the photo will self-destruct in *ttl_seconds*
2176
+ seconds after it was viewed.
2177
+
2178
+ disable_notification (``bool``, *optional*):
2179
+ Sends the message silently.
2180
+ Users will receive a notification with no sound.
2181
+
2182
+ reply_to_message_id (``int``, *optional*):
2183
+ If the message is a reply, ID of the original message.
2184
+
2185
+ reply_markup (:obj:`~pyrogram.types.InlineKeyboardMarkup` | :obj:`~pyrogram.types.ReplyKeyboardMarkup` | :obj:`~pyrogram.types.ReplyKeyboardRemove` | :obj:`~pyrogram.types.ForceReply`, *optional*):
2186
+ Additional interface options. An object for an inline keyboard, custom reply keyboard,
2187
+ instructions to remove reply keyboard or to force a reply from the user.
2188
+
2189
+ progress (``Callable``, *optional*):
2190
+ Pass a callback function to view the file transmission progress.
2191
+ The function must take *(current, total)* as positional arguments (look at Other Parameters below for a
2192
+ detailed description) and will be called back each time a new file chunk has been successfully
2193
+ transmitted.
2194
+
2195
+ progress_args (``tuple``, *optional*):
2196
+ Extra custom arguments for the progress callback function.
2197
+ You can pass anything you need to be available in the progress callback scope; for example, a Message
2198
+ object or a Client instance in order to edit the message with the updated progress status.
2199
+
2200
+ Other Parameters:
2201
+ current (``int``):
2202
+ The amount of bytes transmitted so far.
2203
+
2204
+ total (``int``):
2205
+ The total size of the file.
2206
+
2207
+ *args (``tuple``, *optional*):
2208
+ Extra custom arguments as defined in the ``progress_args`` parameter.
2209
+ You can either keep ``*args`` or add every single extra argument in your function signature.
2210
+
2211
+ Returns:
2212
+ On success, the sent :obj:`~pyrogram.types.Message` is returned.
2213
+ In case the upload is deliberately stopped with :meth:`~pyrogram.Client.stop_transmission`, None is returned
2214
+ instead.
2215
+
2216
+ Raises:
2217
+ RPCError: In case of a Telegram RPC error.
2218
+ """
2219
+ if quote is None:
2220
+ quote = self.chat.type != enums.ChatType.PRIVATE
2221
+
2222
+ if reply_to_message_id is None and quote:
2223
+ reply_to_message_id = self.id
2224
+
2225
+ message_thread_id = None
2226
+ if self.message_thread_id:
2227
+ message_thread_id = self.message_thread_id
2228
+
2229
+ return await self._client.send_photo(
2230
+ chat_id=self.chat.id,
2231
+ photo=photo,
2232
+ caption=caption,
2233
+ parse_mode=parse_mode,
2234
+ caption_entities=caption_entities,
2235
+ has_spoiler=has_spoiler,
2236
+ ttl_seconds=ttl_seconds,
2237
+ disable_notification=disable_notification,
2238
+ message_thread_id=message_thread_id,
2239
+ reply_to_message_id=reply_to_message_id,
2240
+ reply_markup=reply_markup,
2241
+ progress=progress,
2242
+ progress_args=progress_args
2243
+ )
2244
+
2245
+ async def reply_poll(
2246
+ self,
2247
+ question: str,
2248
+ options: List[str],
2249
+ is_anonymous: bool = True,
2250
+ type: "enums.PollType" = enums.PollType.REGULAR,
2251
+ allows_multiple_answers: bool = None,
2252
+ correct_option_id: int = None,
2253
+ explanation: str = None,
2254
+ explanation_parse_mode: "enums.ParseMode" = None,
2255
+ explanation_entities: List["types.MessageEntity"] = None,
2256
+ open_period: int = None,
2257
+ close_date: datetime = None,
2258
+ is_closed: bool = None,
2259
+ quote: bool = None,
2260
+ disable_notification: bool = None,
2261
+ protect_content: bool = None,
2262
+ reply_to_message_id: int = None,
2263
+ schedule_date: datetime = None,
2264
+ reply_markup: Union[
2265
+ "types.InlineKeyboardMarkup",
2266
+ "types.ReplyKeyboardMarkup",
2267
+ "types.ReplyKeyboardRemove",
2268
+ "types.ForceReply"
2269
+ ] = None
2270
+ ) -> "Message":
2271
+ """Bound method *reply_poll* of :obj:`~pyrogram.types.Message`.
2272
+
2273
+ Use as a shortcut for:
2274
+
2275
+ .. code-block:: python
2276
+
2277
+ await client.send_poll(
2278
+ chat_id=message.chat.id,
2279
+ question="This is a poll",
2280
+ options=["A", "B", "C]
2281
+ )
2282
+
2283
+ Example:
2284
+ .. code-block:: python
2285
+
2286
+ await message.reply_poll("This is a poll", ["A", "B", "C"])
2287
+
2288
+ Parameters:
2289
+ question (``str``):
2290
+ Poll question, 1-255 characters.
2291
+
2292
+ options (List of ``str``):
2293
+ List of answer options, 2-10 strings 1-100 characters each.
2294
+
2295
+ is_anonymous (``bool``, *optional*):
2296
+ True, if the poll needs to be anonymous.
2297
+ Defaults to True.
2298
+
2299
+ type (:obj`~pyrogram.enums.PollType`, *optional*):
2300
+ Poll type, :obj:`~pyrogram.enums.PollType.QUIZ` or :obj:`~pyrogram.enums.PollType.REGULAR`.
2301
+ Defaults to :obj:`~pyrogram.enums.PollType.REGULAR`.
2302
+
2303
+ allows_multiple_answers (``bool``, *optional*):
2304
+ True, if the poll allows multiple answers, ignored for polls in quiz mode.
2305
+ Defaults to False.
2306
+
2307
+ correct_option_id (``int``, *optional*):
2308
+ 0-based identifier of the correct answer option, required for polls in quiz mode.
2309
+
2310
+ explanation (``str``, *optional*):
2311
+ Text that is shown when a user chooses an incorrect answer or taps on the lamp icon in a quiz-style
2312
+ poll, 0-200 characters with at most 2 line feeds after entities parsing.
2313
+
2314
+ explanation_parse_mode (:obj:`~pyrogram.enums.ParseMode`, *optional*):
2315
+ By default, texts are parsed using both Markdown and HTML styles.
2316
+ You can combine both syntaxes together.
2317
+
2318
+ explanation_entities (List of :obj:`~pyrogram.types.MessageEntity`):
2319
+ List of special entities that appear in the poll explanation, which can be specified instead of
2320
+ *parse_mode*.
2321
+
2322
+ open_period (``int``, *optional*):
2323
+ Amount of time in seconds the poll will be active after creation, 5-600.
2324
+ Can't be used together with *close_date*.
2325
+
2326
+ close_date (:py:obj:`~datetime.datetime`, *optional*):
2327
+ Point in time when the poll will be automatically closed.
2328
+ Must be at least 5 and no more than 600 seconds in the future.
2329
+ Can't be used together with *open_period*.
2330
+
2331
+ is_closed (``bool``, *optional*):
2332
+ Pass True, if the poll needs to be immediately closed.
2333
+ This can be useful for poll preview.
2334
+
2335
+ quote (``bool``, *optional*):
2336
+ If ``True``, the message will be sent as a reply to this message.
2337
+ If *reply_to_message_id* is passed, this parameter will be ignored.
2338
+ Defaults to ``True`` in group chats and ``False`` in private chats.
2339
+
2340
+ disable_notification (``bool``, *optional*):
2341
+ Sends the message silently.
2342
+ Users will receive a notification with no sound.
2343
+
2344
+ protect_content (``bool``, *optional*):
2345
+ Protects the contents of the sent message from forwarding and saving.
2346
+
2347
+ reply_to_message_id (``int``, *optional*):
2348
+ If the message is a reply, ID of the original message.
2349
+
2350
+ schedule_date (:py:obj:`~datetime.datetime`, *optional*):
2351
+ Date when the message will be automatically sent.
2352
+
2353
+ reply_markup (:obj:`~pyrogram.types.InlineKeyboardMarkup` | :obj:`~pyrogram.types.ReplyKeyboardMarkup` | :obj:`~pyrogram.types.ReplyKeyboardRemove` | :obj:`~pyrogram.types.ForceReply`, *optional*):
2354
+ Additional interface options. An object for an inline keyboard, custom reply keyboard,
2355
+ instructions to remove reply keyboard or to force a reply from the user.
2356
+
2357
+ Returns:
2358
+ On success, the sent :obj:`~pyrogram.types.Message` is returned.
2359
+
2360
+ Raises:
2361
+ RPCError: In case of a Telegram RPC error.
2362
+ """
2363
+ if quote is None:
2364
+ quote = self.chat.type != enums.ChatType.PRIVATE
2365
+
2366
+ if reply_to_message_id is None and quote:
2367
+ reply_to_message_id = self.id
2368
+
2369
+ message_thread_id = None
2370
+ if self.message_thread_id:
2371
+ message_thread_id = self.message_thread_id
2372
+
2373
+ return await self._client.send_poll(
2374
+ chat_id=self.chat.id,
2375
+ question=question,
2376
+ options=options,
2377
+ is_anonymous=is_anonymous,
2378
+ type=type,
2379
+ allows_multiple_answers=allows_multiple_answers,
2380
+ correct_option_id=correct_option_id,
2381
+ explanation=explanation,
2382
+ explanation_parse_mode=explanation_parse_mode,
2383
+ explanation_entities=explanation_entities,
2384
+ open_period=open_period,
2385
+ close_date=close_date,
2386
+ is_closed=is_closed,
2387
+ disable_notification=disable_notification,
2388
+ protect_content=protect_content,
2389
+ message_thread_id=message_thread_id,
2390
+ reply_to_message_id=reply_to_message_id,
2391
+ schedule_date=schedule_date,
2392
+ reply_markup=reply_markup
2393
+ )
2394
+
2395
+ async def reply_sticker(
2396
+ self,
2397
+ sticker: Union[str, BinaryIO],
2398
+ quote: bool = None,
2399
+ disable_notification: bool = None,
2400
+ reply_to_message_id: int = None,
2401
+ reply_markup: Union[
2402
+ "types.InlineKeyboardMarkup",
2403
+ "types.ReplyKeyboardMarkup",
2404
+ "types.ReplyKeyboardRemove",
2405
+ "types.ForceReply"
2406
+ ] = None,
2407
+ progress: Callable = None,
2408
+ progress_args: tuple = ()
2409
+ ) -> "Message":
2410
+ """Bound method *reply_sticker* of :obj:`~pyrogram.types.Message`.
2411
+
2412
+ Use as a shortcut for:
2413
+
2414
+ .. code-block:: python
2415
+
2416
+ await client.send_sticker(
2417
+ chat_id=message.chat.id,
2418
+ sticker=sticker
2419
+ )
2420
+
2421
+ Example:
2422
+ .. code-block:: python
2423
+
2424
+ await message.reply_sticker(sticker)
2425
+
2426
+ Parameters:
2427
+ sticker (``str``):
2428
+ Sticker to send.
2429
+ Pass a file_id as string to send a sticker that exists on the Telegram servers,
2430
+ pass an HTTP URL as a string for Telegram to get a .webp sticker file from the Internet, or
2431
+ pass a file path as string to upload a new sticker that exists on your local machine.
2432
+
2433
+ quote (``bool``, *optional*):
2434
+ If ``True``, the message will be sent as a reply to this message.
2435
+ If *reply_to_message_id* is passed, this parameter will be ignored.
2436
+ Defaults to ``True`` in group chats and ``False`` in private chats.
2437
+
2438
+ disable_notification (``bool``, *optional*):
2439
+ Sends the message silently.
2440
+ Users will receive a notification with no sound.
2441
+
2442
+ reply_to_message_id (``int``, *optional*):
2443
+ If the message is a reply, ID of the original message.
2444
+
2445
+ reply_markup (:obj:`~pyrogram.types.InlineKeyboardMarkup` | :obj:`~pyrogram.types.ReplyKeyboardMarkup` | :obj:`~pyrogram.types.ReplyKeyboardRemove` | :obj:`~pyrogram.types.ForceReply`, *optional*):
2446
+ Additional interface options. An object for an inline keyboard, custom reply keyboard,
2447
+ instructions to remove reply keyboard or to force a reply from the user.
2448
+
2449
+ progress (``Callable``, *optional*):
2450
+ Pass a callback function to view the file transmission progress.
2451
+ The function must take *(current, total)* as positional arguments (look at Other Parameters below for a
2452
+ detailed description) and will be called back each time a new file chunk has been successfully
2453
+ transmitted.
2454
+
2455
+ progress_args (``tuple``, *optional*):
2456
+ Extra custom arguments for the progress callback function.
2457
+ You can pass anything you need to be available in the progress callback scope; for example, a Message
2458
+ object or a Client instance in order to edit the message with the updated progress status.
2459
+
2460
+ Other Parameters:
2461
+ current (``int``):
2462
+ The amount of bytes transmitted so far.
2463
+
2464
+ total (``int``):
2465
+ The total size of the file.
2466
+
2467
+ *args (``tuple``, *optional*):
2468
+ Extra custom arguments as defined in the ``progress_args`` parameter.
2469
+ You can either keep ``*args`` or add every single extra argument in your function signature.
2470
+
2471
+ Returns:
2472
+ On success, the sent :obj:`~pyrogram.types.Message` is returned.
2473
+ In case the upload is deliberately stopped with :meth:`~pyrogram.Client.stop_transmission`, None is returned
2474
+ instead.
2475
+
2476
+ Raises:
2477
+ RPCError: In case of a Telegram RPC error.
2478
+ """
2479
+ if quote is None:
2480
+ quote = self.chat.type != enums.ChatType.PRIVATE
2481
+
2482
+ if reply_to_message_id is None and quote:
2483
+ reply_to_message_id = self.id
2484
+
2485
+ message_thread_id = None
2486
+ if self.message_thread_id:
2487
+ message_thread_id = self.message_thread_id
2488
+
2489
+ return await self._client.send_sticker(
2490
+ chat_id=self.chat.id,
2491
+ sticker=sticker,
2492
+ disable_notification=disable_notification,
2493
+ message_thread_id=message_thread_id,
2494
+ reply_to_message_id=reply_to_message_id,
2495
+ reply_markup=reply_markup,
2496
+ progress=progress,
2497
+ progress_args=progress_args
2498
+ )
2499
+
2500
+ async def reply_venue(
2501
+ self,
2502
+ latitude: float,
2503
+ longitude: float,
2504
+ title: str,
2505
+ address: str,
2506
+ quote: bool = None,
2507
+ foursquare_id: str = "",
2508
+ foursquare_type: str = "",
2509
+ disable_notification: bool = None,
2510
+ reply_to_message_id: int = None,
2511
+ reply_markup: Union[
2512
+ "types.InlineKeyboardMarkup",
2513
+ "types.ReplyKeyboardMarkup",
2514
+ "types.ReplyKeyboardRemove",
2515
+ "types.ForceReply"
2516
+ ] = None
2517
+ ) -> "Message":
2518
+ """Bound method *reply_venue* of :obj:`~pyrogram.types.Message`.
2519
+
2520
+ Use as a shortcut for:
2521
+
2522
+ .. code-block:: python
2523
+
2524
+ await client.send_venue(
2525
+ chat_id=message.chat.id,
2526
+ latitude=latitude,
2527
+ longitude=longitude,
2528
+ title="Venue title",
2529
+ address="Venue address"
2530
+ )
2531
+
2532
+ Example:
2533
+ .. code-block:: python
2534
+
2535
+ await message.reply_venue(latitude, longitude, "Venue title", "Venue address")
2536
+
2537
+ Parameters:
2538
+ latitude (``float``):
2539
+ Latitude of the venue.
2540
+
2541
+ longitude (``float``):
2542
+ Longitude of the venue.
2543
+
2544
+ title (``str``):
2545
+ Name of the venue.
2546
+
2547
+ address (``str``):
2548
+ Address of the venue.
2549
+
2550
+ quote (``bool``, *optional*):
2551
+ If ``True``, the message will be sent as a reply to this message.
2552
+ If *reply_to_message_id* is passed, this parameter will be ignored.
2553
+ Defaults to ``True`` in group chats and ``False`` in private chats.
2554
+
2555
+ foursquare_id (``str``, *optional*):
2556
+ Foursquare identifier of the venue.
2557
+
2558
+ foursquare_type (``str``, *optional*):
2559
+ Foursquare type of the venue, if known.
2560
+ (For example, "arts_entertainment/default", "arts_entertainment/aquarium" or "food/icecream".)
2561
+
2562
+ disable_notification (``bool``, *optional*):
2563
+ Sends the message silently.
2564
+ Users will receive a notification with no sound.
2565
+
2566
+ reply_to_message_id (``int``, *optional*):
2567
+ If the message is a reply, ID of the original message
2568
+
2569
+ reply_markup (:obj:`~pyrogram.types.InlineKeyboardMarkup` | :obj:`~pyrogram.types.ReplyKeyboardMarkup` | :obj:`~pyrogram.types.ReplyKeyboardRemove` | :obj:`~pyrogram.types.ForceReply`, *optional*):
2570
+ Additional interface options. An object for an inline keyboard, custom reply keyboard,
2571
+ instructions to remove reply keyboard or to force a reply from the user.
2572
+
2573
+ Returns:
2574
+ On success, the sent :obj:`~pyrogram.types.Message` is returned.
2575
+
2576
+ Raises:
2577
+ RPCError: In case of a Telegram RPC error.
2578
+ """
2579
+ if quote is None:
2580
+ quote = self.chat.type != enums.ChatType.PRIVATE
2581
+
2582
+ if reply_to_message_id is None and quote:
2583
+ reply_to_message_id = self.id
2584
+
2585
+ message_thread_id = None
2586
+ if self.message_thread_id:
2587
+ message_thread_id = self.message_thread_id
2588
+
2589
+ return await self._client.send_venue(
2590
+ chat_id=self.chat.id,
2591
+ latitude=latitude,
2592
+ longitude=longitude,
2593
+ title=title,
2594
+ address=address,
2595
+ foursquare_id=foursquare_id,
2596
+ foursquare_type=foursquare_type,
2597
+ disable_notification=disable_notification,
2598
+ message_thread_id=message_thread_id,
2599
+ reply_to_message_id=reply_to_message_id,
2600
+ reply_markup=reply_markup
2601
+ )
2602
+
2603
+ async def reply_video(
2604
+ self,
2605
+ video: Union[str, BinaryIO],
2606
+ quote: bool = None,
2607
+ caption: str = "",
2608
+ parse_mode: Optional["enums.ParseMode"] = None,
2609
+ caption_entities: List["types.MessageEntity"] = None,
2610
+ has_spoiler: bool = None,
2611
+ ttl_seconds: int = None,
2612
+ duration: int = 0,
2613
+ width: int = 0,
2614
+ height: int = 0,
2615
+ thumb: Union[str, BinaryIO] = None,
2616
+ file_name: str = None,
2617
+ supports_streaming: bool = True,
2618
+ disable_notification: bool = None,
2619
+ reply_to_message_id: int = None,
2620
+ reply_markup: Union[
2621
+ "types.InlineKeyboardMarkup",
2622
+ "types.ReplyKeyboardMarkup",
2623
+ "types.ReplyKeyboardRemove",
2624
+ "types.ForceReply"
2625
+ ] = None,
2626
+ progress: Callable = None,
2627
+ progress_args: tuple = ()
2628
+ ) -> "Message":
2629
+ """Bound method *reply_video* of :obj:`~pyrogram.types.Message`.
2630
+
2631
+ Use as a shortcut for:
2632
+
2633
+ .. code-block:: python
2634
+
2635
+ await client.send_video(
2636
+ chat_id=message.chat.id,
2637
+ video=video
2638
+ )
2639
+
2640
+ Example:
2641
+ .. code-block:: python
2642
+
2643
+ await message.reply_video(video)
2644
+
2645
+ Parameters:
2646
+ video (``str``):
2647
+ Video to send.
2648
+ Pass a file_id as string to send a video that exists on the Telegram servers,
2649
+ pass an HTTP URL as a string for Telegram to get a video from the Internet, or
2650
+ pass a file path as string to upload a new video that exists on your local machine.
2651
+
2652
+ quote (``bool``, *optional*):
2653
+ If ``True``, the message will be sent as a reply to this message.
2654
+ If *reply_to_message_id* is passed, this parameter will be ignored.
2655
+ Defaults to ``True`` in group chats and ``False`` in private chats.
2656
+
2657
+ caption (``str``, *optional*):
2658
+ Video caption, 0-1024 characters.
2659
+
2660
+ parse_mode (:obj:`~pyrogram.enums.ParseMode`, *optional*):
2661
+ By default, texts are parsed using both Markdown and HTML styles.
2662
+ You can combine both syntaxes together.
2663
+
2664
+ caption_entities (List of :obj:`~pyrogram.types.MessageEntity`):
2665
+ List of special entities that appear in the caption, which can be specified instead of *parse_mode*.
2666
+
2667
+ has_spoiler (``bool``, *optional*):
2668
+ Pass True if the video needs to be covered with a spoiler animation.
2669
+
2670
+ ttl_seconds (``int``, *optional*):
2671
+ Self-Destruct Timer.
2672
+ If you set a timer, the video will self-destruct in *ttl_seconds*
2673
+ seconds after it was viewed.
2674
+
2675
+ duration (``int``, *optional*):
2676
+ Duration of sent video in seconds.
2677
+
2678
+ width (``int``, *optional*):
2679
+ Video width.
2680
+
2681
+ height (``int``, *optional*):
2682
+ Video height.
2683
+
2684
+ thumb (``str`` | ``BinaryIO``, *optional*):
2685
+ Thumbnail of the video sent.
2686
+ The thumbnail should be in JPEG format and less than 200 KB in size.
2687
+ A thumbnail's width and height should not exceed 320 pixels.
2688
+ Thumbnails can't be reused and can be only uploaded as a new file.
2689
+
2690
+ file_name (``str``, *optional*):
2691
+ File name of the video sent.
2692
+ Defaults to file's path basename.
2693
+
2694
+ supports_streaming (``bool``, *optional*):
2695
+ Pass True, if the uploaded video is suitable for streaming.
2696
+
2697
+ disable_notification (``bool``, *optional*):
2698
+ Sends the message silently.
2699
+ Users will receive a notification with no sound.
2700
+
2701
+ reply_to_message_id (``int``, *optional*):
2702
+ If the message is a reply, ID of the original message.
2703
+
2704
+ reply_markup (:obj:`~pyrogram.types.InlineKeyboardMarkup` | :obj:`~pyrogram.types.ReplyKeyboardMarkup` | :obj:`~pyrogram.types.ReplyKeyboardRemove` | :obj:`~pyrogram.types.ForceReply`, *optional*):
2705
+ Additional interface options. An object for an inline keyboard, custom reply keyboard,
2706
+ instructions to remove reply keyboard or to force a reply from the user.
2707
+
2708
+ progress (``Callable``, *optional*):
2709
+ Pass a callback function to view the file transmission progress.
2710
+ The function must take *(current, total)* as positional arguments (look at Other Parameters below for a
2711
+ detailed description) and will be called back each time a new file chunk has been successfully
2712
+ transmitted.
2713
+
2714
+ progress_args (``tuple``, *optional*):
2715
+ Extra custom arguments for the progress callback function.
2716
+ You can pass anything you need to be available in the progress callback scope; for example, a Message
2717
+ object or a Client instance in order to edit the message with the updated progress status.
2718
+
2719
+ Other Parameters:
2720
+ current (``int``):
2721
+ The amount of bytes transmitted so far.
2722
+
2723
+ total (``int``):
2724
+ The total size of the file.
2725
+
2726
+ *args (``tuple``, *optional*):
2727
+ Extra custom arguments as defined in the ``progress_args`` parameter.
2728
+ You can either keep ``*args`` or add every single extra argument in your function signature.
2729
+
2730
+ Returns:
2731
+ On success, the sent :obj:`~pyrogram.types.Message` is returned.
2732
+ In case the upload is deliberately stopped with :meth:`~pyrogram.Client.stop_transmission`, None is returned
2733
+ instead.
2734
+
2735
+ Raises:
2736
+ RPCError: In case of a Telegram RPC error.
2737
+ """
2738
+ if quote is None:
2739
+ quote = self.chat.type != enums.ChatType.PRIVATE
2740
+
2741
+ if reply_to_message_id is None and quote:
2742
+ reply_to_message_id = self.id
2743
+
2744
+ message_thread_id = None
2745
+ if self.message_thread_id:
2746
+ message_thread_id = self.message_thread_id
2747
+
2748
+ return await self._client.send_video(
2749
+ chat_id=self.chat.id,
2750
+ video=video,
2751
+ caption=caption,
2752
+ parse_mode=parse_mode,
2753
+ caption_entities=caption_entities,
2754
+ has_spoiler=has_spoiler,
2755
+ ttl_seconds=ttl_seconds,
2756
+ duration=duration,
2757
+ width=width,
2758
+ height=height,
2759
+ thumb=thumb,
2760
+ file_name=file_name,
2761
+ supports_streaming=supports_streaming,
2762
+ disable_notification=disable_notification,
2763
+ message_thread_id=message_thread_id,
2764
+ reply_to_message_id=reply_to_message_id,
2765
+ reply_markup=reply_markup,
2766
+ progress=progress,
2767
+ progress_args=progress_args
2768
+ )
2769
+
2770
+ async def reply_video_note(
2771
+ self,
2772
+ video_note: Union[str, BinaryIO],
2773
+ quote: bool = None,
2774
+ duration: int = 0,
2775
+ length: int = 1,
2776
+ thumb: Union[str, BinaryIO] = None,
2777
+ disable_notification: bool = None,
2778
+ reply_to_message_id: int = None,
2779
+ reply_markup: Union[
2780
+ "types.InlineKeyboardMarkup",
2781
+ "types.ReplyKeyboardMarkup",
2782
+ "types.ReplyKeyboardRemove",
2783
+ "types.ForceReply"
2784
+ ] = None,
2785
+ progress: Callable = None,
2786
+ progress_args: tuple = ()
2787
+ ) -> "Message":
2788
+ """Bound method *reply_video_note* of :obj:`~pyrogram.types.Message`.
2789
+
2790
+ Use as a shortcut for:
2791
+
2792
+ .. code-block:: python
2793
+
2794
+ await client.send_video_note(
2795
+ chat_id=message.chat.id,
2796
+ video_note=video_note
2797
+ )
2798
+
2799
+ Example:
2800
+ .. code-block:: python
2801
+
2802
+ await message.reply_video_note(video_note)
2803
+
2804
+ Parameters:
2805
+ video_note (``str``):
2806
+ Video note to send.
2807
+ Pass a file_id as string to send a video note that exists on the Telegram servers, or
2808
+ pass a file path as string to upload a new video note that exists on your local machine.
2809
+ Sending video notes by a URL is currently unsupported.
2810
+
2811
+ quote (``bool``, *optional*):
2812
+ If ``True``, the message will be sent as a reply to this message.
2813
+ If *reply_to_message_id* is passed, this parameter will be ignored.
2814
+ Defaults to ``True`` in group chats and ``False`` in private chats.
2815
+
2816
+ duration (``int``, *optional*):
2817
+ Duration of sent video in seconds.
2818
+
2819
+ length (``int``, *optional*):
2820
+ Video width and height.
2821
+
2822
+ thumb (``str`` | ``BinaryIO``, *optional*):
2823
+ Thumbnail of the video sent.
2824
+ The thumbnail should be in JPEG format and less than 200 KB in size.
2825
+ A thumbnail's width and height should not exceed 320 pixels.
2826
+ Thumbnails can't be reused and can be only uploaded as a new file.
2827
+
2828
+ disable_notification (``bool``, *optional*):
2829
+ Sends the message silently.
2830
+ Users will receive a notification with no sound.
2831
+
2832
+ reply_to_message_id (``int``, *optional*):
2833
+ If the message is a reply, ID of the original message
2834
+
2835
+ reply_markup (:obj:`~pyrogram.types.InlineKeyboardMarkup` | :obj:`~pyrogram.types.ReplyKeyboardMarkup` | :obj:`~pyrogram.types.ReplyKeyboardRemove` | :obj:`~pyrogram.types.ForceReply`, *optional*):
2836
+ Additional interface options. An object for an inline keyboard, custom reply keyboard,
2837
+ instructions to remove reply keyboard or to force a reply from the user.
2838
+
2839
+ progress (``Callable``, *optional*):
2840
+ Pass a callback function to view the file transmission progress.
2841
+ The function must take *(current, total)* as positional arguments (look at Other Parameters below for a
2842
+ detailed description) and will be called back each time a new file chunk has been successfully
2843
+ transmitted.
2844
+
2845
+ progress_args (``tuple``, *optional*):
2846
+ Extra custom arguments for the progress callback function.
2847
+ You can pass anything you need to be available in the progress callback scope; for example, a Message
2848
+ object or a Client instance in order to edit the message with the updated progress status.
2849
+
2850
+ Other Parameters:
2851
+ current (``int``):
2852
+ The amount of bytes transmitted so far.
2853
+
2854
+ total (``int``):
2855
+ The total size of the file.
2856
+
2857
+ *args (``tuple``, *optional*):
2858
+ Extra custom arguments as defined in the ``progress_args`` parameter.
2859
+ You can either keep ``*args`` or add every single extra argument in your function signature.
2860
+
2861
+ Returns:
2862
+ On success, the sent :obj:`~pyrogram.types.Message` is returned.
2863
+ In case the upload is deliberately stopped with :meth:`~pyrogram.Client.stop_transmission`, None is returned
2864
+ instead.
2865
+
2866
+ Raises:
2867
+ RPCError: In case of a Telegram RPC error.
2868
+ """
2869
+ if quote is None:
2870
+ quote = self.chat.type != enums.ChatType.PRIVATE
2871
+
2872
+ if reply_to_message_id is None and quote:
2873
+ reply_to_message_id = self.id
2874
+
2875
+ message_thread_id = None
2876
+ if self.message_thread_id:
2877
+ message_thread_id = self.message_thread_id
2878
+
2879
+ return await self._client.send_video_note(
2880
+ chat_id=self.chat.id,
2881
+ video_note=video_note,
2882
+ duration=duration,
2883
+ length=length,
2884
+ thumb=thumb,
2885
+ disable_notification=disable_notification,
2886
+ message_thread_id=message_thread_id,
2887
+ reply_to_message_id=reply_to_message_id,
2888
+ reply_markup=reply_markup,
2889
+ progress=progress,
2890
+ progress_args=progress_args
2891
+ )
2892
+
2893
+ async def reply_voice(
2894
+ self,
2895
+ voice: Union[str, BinaryIO],
2896
+ quote: bool = None,
2897
+ caption: str = "",
2898
+ parse_mode: Optional["enums.ParseMode"] = None,
2899
+ caption_entities: List["types.MessageEntity"] = None,
2900
+ duration: int = 0,
2901
+ disable_notification: bool = None,
2902
+ reply_to_message_id: int = None,
2903
+ reply_markup: Union[
2904
+ "types.InlineKeyboardMarkup",
2905
+ "types.ReplyKeyboardMarkup",
2906
+ "types.ReplyKeyboardRemove",
2907
+ "types.ForceReply"
2908
+ ] = None,
2909
+ progress: Callable = None,
2910
+ progress_args: tuple = ()
2911
+ ) -> "Message":
2912
+ """Bound method *reply_voice* of :obj:`~pyrogram.types.Message`.
2913
+
2914
+ Use as a shortcut for:
2915
+
2916
+ .. code-block:: python
2917
+
2918
+ await client.send_voice(
2919
+ chat_id=message.chat.id,
2920
+ voice=voice
2921
+ )
2922
+
2923
+ Example:
2924
+ .. code-block:: python
2925
+
2926
+ await message.reply_voice(voice)
2927
+
2928
+ Parameters:
2929
+ voice (``str``):
2930
+ Audio file to send.
2931
+ Pass a file_id as string to send an audio that exists on the Telegram servers,
2932
+ pass an HTTP URL as a string for Telegram to get an audio from the Internet, or
2933
+ pass a file path as string to upload a new audio that exists on your local machine.
2934
+
2935
+ quote (``bool``, *optional*):
2936
+ If ``True``, the message will be sent as a reply to this message.
2937
+ If *reply_to_message_id* is passed, this parameter will be ignored.
2938
+ Defaults to ``True`` in group chats and ``False`` in private chats.
2939
+
2940
+ caption (``str``, *optional*):
2941
+ Voice message caption, 0-1024 characters.
2942
+
2943
+ parse_mode (:obj:`~pyrogram.enums.ParseMode`, *optional*):
2944
+ By default, texts are parsed using both Markdown and HTML styles.
2945
+ You can combine both syntaxes together.
2946
+
2947
+ caption_entities (List of :obj:`~pyrogram.types.MessageEntity`):
2948
+ List of special entities that appear in the caption, which can be specified instead of *parse_mode*.
2949
+
2950
+ duration (``int``, *optional*):
2951
+ Duration of the voice message in seconds.
2952
+
2953
+ disable_notification (``bool``, *optional*):
2954
+ Sends the message silently.
2955
+ Users will receive a notification with no sound.
2956
+
2957
+ reply_to_message_id (``int``, *optional*):
2958
+ If the message is a reply, ID of the original message
2959
+
2960
+ reply_markup (:obj:`~pyrogram.types.InlineKeyboardMarkup` | :obj:`~pyrogram.types.ReplyKeyboardMarkup` | :obj:`~pyrogram.types.ReplyKeyboardRemove` | :obj:`~pyrogram.types.ForceReply`, *optional*):
2961
+ Additional interface options. An object for an inline keyboard, custom reply keyboard,
2962
+ instructions to remove reply keyboard or to force a reply from the user.
2963
+
2964
+ progress (``Callable``, *optional*):
2965
+ Pass a callback function to view the file transmission progress.
2966
+ The function must take *(current, total)* as positional arguments (look at Other Parameters below for a
2967
+ detailed description) and will be called back each time a new file chunk has been successfully
2968
+ transmitted.
2969
+
2970
+ progress_args (``tuple``, *optional*):
2971
+ Extra custom arguments for the progress callback function.
2972
+ You can pass anything you need to be available in the progress callback scope; for example, a Message
2973
+ object or a Client instance in order to edit the message with the updated progress status.
2974
+
2975
+ Other Parameters:
2976
+ current (``int``):
2977
+ The amount of bytes transmitted so far.
2978
+
2979
+ total (``int``):
2980
+ The total size of the file.
2981
+
2982
+ *args (``tuple``, *optional*):
2983
+ Extra custom arguments as defined in the ``progress_args`` parameter.
2984
+ You can either keep ``*args`` or add every single extra argument in your function signature.
2985
+
2986
+ Returns:
2987
+ On success, the sent :obj:`~pyrogram.types.Message` is returned.
2988
+ In case the upload is deliberately stopped with :meth:`~pyrogram.Client.stop_transmission`, None is returned
2989
+ instead.
2990
+
2991
+ Raises:
2992
+ RPCError: In case of a Telegram RPC error.
2993
+ """
2994
+ if quote is None:
2995
+ quote = self.chat.type != enums.ChatType.PRIVATE
2996
+
2997
+ if reply_to_message_id is None and quote:
2998
+ reply_to_message_id = self.id
2999
+
3000
+ message_thread_id = None
3001
+ if self.message_thread_id:
3002
+ message_thread_id = self.message_thread_id
3003
+
3004
+ return await self._client.send_voice(
3005
+ chat_id=self.chat.id,
3006
+ voice=voice,
3007
+ caption=caption,
3008
+ parse_mode=parse_mode,
3009
+ caption_entities=caption_entities,
3010
+ duration=duration,
3011
+ disable_notification=disable_notification,
3012
+ message_thread_id=message_thread_id,
3013
+ reply_to_message_id=reply_to_message_id,
3014
+ reply_markup=reply_markup,
3015
+ progress=progress,
3016
+ progress_args=progress_args
3017
+ )
3018
+
3019
+ async def edit_text(
3020
+ self,
3021
+ text: str,
3022
+ parse_mode: Optional["enums.ParseMode"] = None,
3023
+ entities: List["types.MessageEntity"] = None,
3024
+ disable_web_page_preview: bool = None,
3025
+ reply_markup: "types.InlineKeyboardMarkup" = None
3026
+ ) -> "Message":
3027
+ """Bound method *edit_text* of :obj:`~pyrogram.types.Message`.
3028
+
3029
+ An alias exists as *edit*.
3030
+
3031
+ Use as a shortcut for:
3032
+
3033
+ .. code-block:: python
3034
+
3035
+ await client.edit_message_text(
3036
+ chat_id=message.chat.id,
3037
+ message_id=message.id,
3038
+ text="hello"
3039
+ )
3040
+
3041
+ Example:
3042
+ .. code-block:: python
3043
+
3044
+ await message.edit_text("hello")
3045
+
3046
+ Parameters:
3047
+ text (``str``):
3048
+ New text of the message.
3049
+
3050
+ parse_mode (:obj:`~pyrogram.enums.ParseMode`, *optional*):
3051
+ By default, texts are parsed using both Markdown and HTML styles.
3052
+ You can combine both syntaxes together.
3053
+
3054
+ entities (List of :obj:`~pyrogram.types.MessageEntity`):
3055
+ List of special entities that appear in message text, which can be specified instead of *parse_mode*.
3056
+
3057
+ disable_web_page_preview (``bool``, *optional*):
3058
+ Disables link previews for links in this message.
3059
+
3060
+ reply_markup (:obj:`~pyrogram.types.InlineKeyboardMarkup`, *optional*):
3061
+ An InlineKeyboardMarkup object.
3062
+
3063
+ Returns:
3064
+ On success, the edited :obj:`~pyrogram.types.Message` is returned.
3065
+
3066
+ Raises:
3067
+ RPCError: In case of a Telegram RPC error.
3068
+ """
3069
+ return await self._client.edit_message_text(
3070
+ chat_id=self.chat.id,
3071
+ message_id=self.id,
3072
+ text=text,
3073
+ parse_mode=parse_mode,
3074
+ entities=entities,
3075
+ disable_web_page_preview=disable_web_page_preview,
3076
+ reply_markup=reply_markup
3077
+ )
3078
+
3079
+ edit = edit_text
3080
+
3081
+ async def edit_caption(
3082
+ self,
3083
+ caption: str,
3084
+ parse_mode: Optional["enums.ParseMode"] = None,
3085
+ caption_entities: List["types.MessageEntity"] = None,
3086
+ reply_markup: "types.InlineKeyboardMarkup" = None
3087
+ ) -> "Message":
3088
+ """Bound method *edit_caption* of :obj:`~pyrogram.types.Message`.
3089
+
3090
+ Use as a shortcut for:
3091
+
3092
+ .. code-block:: python
3093
+
3094
+ await client.edit_message_caption(
3095
+ chat_id=message.chat.id,
3096
+ message_id=message.id,
3097
+ caption="hello"
3098
+ )
3099
+
3100
+ Example:
3101
+ .. code-block:: python
3102
+
3103
+ await message.edit_caption("hello")
3104
+
3105
+ Parameters:
3106
+ caption (``str``):
3107
+ New caption of the message.
3108
+
3109
+ parse_mode (:obj:`~pyrogram.enums.ParseMode`, *optional*):
3110
+ By default, texts are parsed using both Markdown and HTML styles.
3111
+ You can combine both syntaxes together.
3112
+
3113
+ caption_entities (List of :obj:`~pyrogram.types.MessageEntity`):
3114
+ List of special entities that appear in the caption, which can be specified instead of *parse_mode*.
3115
+
3116
+ reply_markup (:obj:`~pyrogram.types.InlineKeyboardMarkup`, *optional*):
3117
+ An InlineKeyboardMarkup object.
3118
+
3119
+ Returns:
3120
+ On success, the edited :obj:`~pyrogram.types.Message` is returned.
3121
+
3122
+ Raises:
3123
+ RPCError: In case of a Telegram RPC error.
3124
+ """
3125
+ return await self._client.edit_message_caption(
3126
+ chat_id=self.chat.id,
3127
+ message_id=self.id,
3128
+ caption=caption,
3129
+ parse_mode=parse_mode,
3130
+ caption_entities=caption_entities,
3131
+ reply_markup=reply_markup
3132
+ )
3133
+
3134
+ async def edit_media(
3135
+ self,
3136
+ media: "types.InputMedia",
3137
+ reply_markup: "types.InlineKeyboardMarkup" = None
3138
+ ) -> "Message":
3139
+ """Bound method *edit_media* of :obj:`~pyrogram.types.Message`.
3140
+
3141
+ Use as a shortcut for:
3142
+
3143
+ .. code-block:: python
3144
+
3145
+ await client.edit_message_media(
3146
+ chat_id=message.chat.id,
3147
+ message_id=message.id,
3148
+ media=media
3149
+ )
3150
+
3151
+ Example:
3152
+ .. code-block:: python
3153
+
3154
+ await message.edit_media(media)
3155
+
3156
+ Parameters:
3157
+ media (:obj:`~pyrogram.types.InputMedia`):
3158
+ One of the InputMedia objects describing an animation, audio, document, photo or video.
3159
+
3160
+ reply_markup (:obj:`~pyrogram.types.InlineKeyboardMarkup`, *optional*):
3161
+ An InlineKeyboardMarkup object.
3162
+
3163
+ Returns:
3164
+ On success, the edited :obj:`~pyrogram.types.Message` is returned.
3165
+
3166
+ Raises:
3167
+ RPCError: In case of a Telegram RPC error.
3168
+ """
3169
+ return await self._client.edit_message_media(
3170
+ chat_id=self.chat.id,
3171
+ message_id=self.id,
3172
+ media=media,
3173
+ reply_markup=reply_markup
3174
+ )
3175
+
3176
+ async def edit_reply_markup(self, reply_markup: "types.InlineKeyboardMarkup" = None) -> "Message":
3177
+ """Bound method *edit_reply_markup* of :obj:`~pyrogram.types.Message`.
3178
+
3179
+ Use as a shortcut for:
3180
+
3181
+ .. code-block:: python
3182
+
3183
+ await client.edit_message_reply_markup(
3184
+ chat_id=message.chat.id,
3185
+ message_id=message.id,
3186
+ reply_markup=inline_reply_markup
3187
+ )
3188
+
3189
+ Example:
3190
+ .. code-block:: python
3191
+
3192
+ await message.edit_reply_markup(inline_reply_markup)
3193
+
3194
+ Parameters:
3195
+ reply_markup (:obj:`~pyrogram.types.InlineKeyboardMarkup`):
3196
+ An InlineKeyboardMarkup object.
3197
+
3198
+ Returns:
3199
+ On success, if edited message is sent by the bot, the edited
3200
+ :obj:`~pyrogram.types.Message` is returned, otherwise True is returned.
3201
+
3202
+ Raises:
3203
+ RPCError: In case of a Telegram RPC error.
3204
+ """
3205
+ return await self._client.edit_message_reply_markup(
3206
+ chat_id=self.chat.id,
3207
+ message_id=self.id,
3208
+ reply_markup=reply_markup
3209
+ )
3210
+
3211
+ async def forward(
3212
+ self,
3213
+ chat_id: Union[int, str],
3214
+ message_thread_id: int = None,
3215
+ disable_notification: bool = None,
3216
+ schedule_date: datetime = None,
3217
+ protect_content: bool = None,
3218
+ drop_author: bool = None
3219
+ ) -> Union["types.Message", List["types.Message"]]:
3220
+ """Bound method *forward* of :obj:`~pyrogram.types.Message`.
3221
+
3222
+ Use as a shortcut for:
3223
+
3224
+ .. code-block:: python
3225
+
3226
+ await client.forward_messages(
3227
+ chat_id=chat_id,
3228
+ from_chat_id=message.chat.id,
3229
+ message_ids=message.id
3230
+ )
3231
+
3232
+ Example:
3233
+ .. code-block:: python
3234
+
3235
+ await message.forward(chat_id)
3236
+
3237
+ Parameters:
3238
+ chat_id (``int`` | ``str``):
3239
+ Unique identifier (int) or username (str) of the target chat.
3240
+ For your personal cloud (Saved Messages) you can simply use "me" or "self".
3241
+ For a contact that exists in your Telegram address book you can use his phone number (str).
3242
+
3243
+ message_thread_id (``int``, *optional*):
3244
+ Unique identifier of a message thread to which the message belongs; for supergroups only
3245
+
3246
+ disable_notification (``bool``, *optional*):
3247
+ Sends the message silently.
3248
+ Users will receive a notification with no sound.
3249
+
3250
+ schedule_date (:py:obj:`~datetime.datetime`, *optional*):
3251
+ Date when the message will be automatically sent.
3252
+
3253
+ protect_content (``bool``, *optional*):
3254
+ Protects the contents of the sent message from forwarding and saving.
3255
+
3256
+ drop_author (``bool``, *optional*):
3257
+ Forwards messages without quoting the original author
3258
+
3259
+ Returns:
3260
+ On success, the forwarded Message is returned.
3261
+
3262
+ Raises:
3263
+ RPCError: In case of a Telegram RPC error.
3264
+ """
3265
+ return await self._client.forward_messages(
3266
+ chat_id=chat_id,
3267
+ from_chat_id=self.chat.id,
3268
+ message_ids=self.id,
3269
+ message_thread_id=message_thread_id,
3270
+ disable_notification=disable_notification,
3271
+ schedule_date=schedule_date,
3272
+ protect_content=protect_content,
3273
+ drop_author=drop_author
3274
+ )
3275
+
3276
+ async def copy(
3277
+ self,
3278
+ chat_id: Union[int, str],
3279
+ caption: str = None,
3280
+ parse_mode: Optional["enums.ParseMode"] = None,
3281
+ caption_entities: List["types.MessageEntity"] = None,
3282
+ has_spoiler: bool = None,
3283
+ disable_notification: bool = None,
3284
+ message_thread_id: int = None,
3285
+ reply_to_message_id: int = None,
3286
+ schedule_date: datetime = None,
3287
+ protect_content: bool = None,
3288
+ reply_markup: Union[
3289
+ "types.InlineKeyboardMarkup",
3290
+ "types.ReplyKeyboardMarkup",
3291
+ "types.ReplyKeyboardRemove",
3292
+ "types.ForceReply"
3293
+ ] = object
3294
+ ) -> Union["types.Message", List["types.Message"]]:
3295
+ """Bound method *copy* of :obj:`~pyrogram.types.Message`.
3296
+
3297
+ Use as a shortcut for:
3298
+
3299
+ .. code-block:: python
3300
+
3301
+ await client.copy_message(
3302
+ chat_id=chat_id,
3303
+ from_chat_id=message.chat.id,
3304
+ message_id=message.id
3305
+ )
3306
+
3307
+ Example:
3308
+ .. code-block:: python
3309
+
3310
+ await message.copy(chat_id)
3311
+
3312
+ Parameters:
3313
+ chat_id (``int`` | ``str``):
3314
+ Unique identifier (int) or username (str) of the target chat.
3315
+ For your personal cloud (Saved Messages) you can simply use "me" or "self".
3316
+ For a contact that exists in your Telegram address book you can use his phone number (str).
3317
+
3318
+ caption (``string``, *optional*):
3319
+ New caption for media, 0-1024 characters after entities parsing.
3320
+ If not specified, the original caption is kept.
3321
+ Pass "" (empty string) to remove the caption.
3322
+
3323
+ parse_mode (:obj:`~pyrogram.enums.ParseMode`, *optional*):
3324
+ By default, texts are parsed using both Markdown and HTML styles.
3325
+ You can combine both syntaxes together.
3326
+
3327
+ caption_entities (List of :obj:`~pyrogram.types.MessageEntity`):
3328
+ List of special entities that appear in the new caption, which can be specified instead of *parse_mode*.
3329
+
3330
+ has_spoiler (``bool``, *optional*):
3331
+ Pass True if the photo needs to be covered with a spoiler animation.
3332
+
3333
+ disable_notification (``bool``, *optional*):
3334
+ Sends the message silently.
3335
+ Users will receive a notification with no sound.
3336
+
3337
+ message_thread_id (``int``, *optional*):
3338
+ Unique identifier for the target message thread (topic) of the forum.
3339
+ for forum supergroups only.
3340
+
3341
+ reply_to_message_id (``int``, *optional*):
3342
+ If the message is a reply, ID of the original message.
3343
+
3344
+ schedule_date (:py:obj:`~datetime.datetime`, *optional*):
3345
+ Date when the message will be automatically sent.
3346
+
3347
+ protect_content (``bool``, *optional*):
3348
+ Protects the contents of the sent message from forwarding and saving.
3349
+
3350
+ reply_markup (:obj:`~pyrogram.types.InlineKeyboardMarkup` | :obj:`~pyrogram.types.ReplyKeyboardMarkup` | :obj:`~pyrogram.types.ReplyKeyboardRemove` | :obj:`~pyrogram.types.ForceReply`, *optional*):
3351
+ Additional interface options. An object for an inline keyboard, custom reply keyboard,
3352
+ instructions to remove reply keyboard or to force a reply from the user.
3353
+ If not specified, the original reply markup is kept.
3354
+ Pass None to remove the reply markup.
3355
+
3356
+ Returns:
3357
+ :obj:`~pyrogram.types.Message`: On success, the copied message is returned.
3358
+
3359
+ Raises:
3360
+ RPCError: In case of a Telegram RPC error.
3361
+ """
3362
+ if self.service:
3363
+ log.warning(f"Service messages cannot be copied. "
3364
+ f"chat_id: {self.chat.id}, message_id: {self.id}")
3365
+ elif self.game and not await self._client.storage.is_bot():
3366
+ log.warning(f"Users cannot send messages with Game media type. "
3367
+ f"chat_id: {self.chat.id}, message_id: {self.id}")
3368
+ elif self.empty:
3369
+ log.warning(f"Empty messages cannot be copied. ")
3370
+ elif self.text:
3371
+ return await self._client.send_message(
3372
+ chat_id,
3373
+ text=self.text,
3374
+ entities=self.entities,
3375
+ parse_mode=enums.ParseMode.DISABLED,
3376
+ disable_web_page_preview=not self.web_page,
3377
+ disable_notification=disable_notification,
3378
+ message_thread_id=message_thread_id,
3379
+ reply_to_message_id=reply_to_message_id,
3380
+ schedule_date=schedule_date,
3381
+ protect_content=protect_content,
3382
+ reply_markup=self.reply_markup if reply_markup is object else reply_markup
3383
+ )
3384
+ elif self.media:
3385
+ send_media = partial(
3386
+ self._client.send_cached_media,
3387
+ chat_id=chat_id,
3388
+ disable_notification=disable_notification,
3389
+ message_thread_id=message_thread_id,
3390
+ reply_to_message_id=reply_to_message_id,
3391
+ schedule_date=schedule_date,
3392
+ has_spoiler=has_spoiler,
3393
+ protect_content=protect_content,
3394
+ reply_markup=self.reply_markup if reply_markup is object else reply_markup
3395
+ )
3396
+
3397
+ if self.photo:
3398
+ file_id = self.photo.file_id
3399
+ elif self.audio:
3400
+ file_id = self.audio.file_id
3401
+ elif self.document:
3402
+ file_id = self.document.file_id
3403
+ elif self.video:
3404
+ file_id = self.video.file_id
3405
+ elif self.animation:
3406
+ file_id = self.animation.file_id
3407
+ elif self.voice:
3408
+ file_id = self.voice.file_id
3409
+ elif self.sticker:
3410
+ file_id = self.sticker.file_id
3411
+ elif self.video_note:
3412
+ file_id = self.video_note.file_id
3413
+ elif self.contact:
3414
+ return await self._client.send_contact(
3415
+ chat_id,
3416
+ phone_number=self.contact.phone_number,
3417
+ first_name=self.contact.first_name,
3418
+ last_name=self.contact.last_name,
3419
+ vcard=self.contact.vcard,
3420
+ disable_notification=disable_notification,
3421
+ message_thread_id=message_thread_id,
3422
+ schedule_date=schedule_date
3423
+ )
3424
+ elif self.location:
3425
+ return await self._client.send_location(
3426
+ chat_id,
3427
+ latitude=self.location.latitude,
3428
+ longitude=self.location.longitude,
3429
+ disable_notification=disable_notification,
3430
+ message_thread_id=message_thread_id,
3431
+ schedule_date=schedule_date
3432
+ )
3433
+ elif self.venue:
3434
+ return await self._client.send_venue(
3435
+ chat_id,
3436
+ latitude=self.venue.location.latitude,
3437
+ longitude=self.venue.location.longitude,
3438
+ title=self.venue.title,
3439
+ address=self.venue.address,
3440
+ foursquare_id=self.venue.foursquare_id,
3441
+ foursquare_type=self.venue.foursquare_type,
3442
+ disable_notification=disable_notification,
3443
+ message_thread_id=message_thread_id,
3444
+ schedule_date=schedule_date
3445
+ )
3446
+ elif self.poll:
3447
+ return await self._client.send_poll(
3448
+ chat_id,
3449
+ question=self.poll.question,
3450
+ options=[opt.text for opt in self.poll.options],
3451
+ disable_notification=disable_notification,
3452
+ message_thread_id=message_thread_id,
3453
+ schedule_date=schedule_date
3454
+ )
3455
+ elif self.game:
3456
+ return await self._client.send_game(
3457
+ chat_id,
3458
+ game_short_name=self.game.short_name,
3459
+ disable_notification=disable_notification,
3460
+ message_thread_id=message_thread_id
3461
+ )
3462
+ else:
3463
+ raise ValueError("Unknown media type")
3464
+
3465
+ if self.sticker or self.video_note: # Sticker and VideoNote should have no caption
3466
+ return await send_media(
3467
+ file_id=file_id,
3468
+ message_thread_id=message_thread_id
3469
+ )
3470
+ else:
3471
+ if caption is None:
3472
+ caption = self.caption or ""
3473
+ caption_entities = self.caption_entities
3474
+
3475
+ return await send_media(
3476
+ file_id=file_id,
3477
+ caption=caption,
3478
+ parse_mode=parse_mode,
3479
+ caption_entities=caption_entities,
3480
+ has_spoiler=has_spoiler,
3481
+ message_thread_id=message_thread_id
3482
+ )
3483
+ else:
3484
+ raise ValueError("Can't copy this message")
3485
+
3486
+ async def delete(self, revoke: bool = True):
3487
+ """Bound method *delete* of :obj:`~pyrogram.types.Message`.
3488
+
3489
+ Use as a shortcut for:
3490
+
3491
+ .. code-block:: python
3492
+
3493
+ await client.delete_messages(
3494
+ chat_id=chat_id,
3495
+ message_ids=message.id
3496
+ )
3497
+
3498
+ Example:
3499
+ .. code-block:: python
3500
+
3501
+ await message.delete()
3502
+
3503
+ Parameters:
3504
+ revoke (``bool``, *optional*):
3505
+ Deletes messages on both parts.
3506
+ This is only for private cloud chats and normal groups, messages on
3507
+ channels and supergroups are always revoked (i.e.: deleted for everyone).
3508
+ Defaults to True.
3509
+
3510
+ Returns:
3511
+ True on success, False otherwise.
3512
+
3513
+ Raises:
3514
+ RPCError: In case of a Telegram RPC error.
3515
+ """
3516
+ return await self._client.delete_messages(
3517
+ chat_id=self.chat.id,
3518
+ message_ids=self.id,
3519
+ revoke=revoke
3520
+ )
3521
+
3522
+ async def click(self, x: Union[int, str] = 0, y: int = None, quote: bool = None, timeout: int = 10):
3523
+ """Bound method *click* of :obj:`~pyrogram.types.Message`.
3524
+
3525
+ Use as a shortcut for clicking a button attached to the message instead of:
3526
+
3527
+ - Clicking inline buttons:
3528
+
3529
+ .. code-block:: python
3530
+
3531
+ await client.request_callback_answer(
3532
+ chat_id=message.chat.id,
3533
+ message_id=message.id,
3534
+ callback_data=message.reply_markup[i][j].callback_data
3535
+ )
3536
+
3537
+ - Clicking normal buttons:
3538
+
3539
+ .. code-block:: python
3540
+
3541
+ await client.send_message(
3542
+ chat_id=message.chat.id,
3543
+ text=message.reply_markup[i][j].text
3544
+ )
3545
+
3546
+ Example:
3547
+ This method can be used in three different ways:
3548
+
3549
+ 1. Pass one integer argument only (e.g.: ``.click(2)``, to click a button at index 2).
3550
+ Buttons are counted left to right, starting from the top.
3551
+
3552
+ 2. Pass two integer arguments (e.g.: ``.click(1, 0)``, to click a button at position (1, 0)).
3553
+ The origin (0, 0) is top-left.
3554
+
3555
+ 3. Pass one string argument only (e.g.: ``.click("Settings")``, to click a button by using its label).
3556
+ Only the first matching button will be pressed.
3557
+
3558
+ Parameters:
3559
+ x (``int`` | ``str``):
3560
+ Used as integer index, integer abscissa (in pair with y) or as string label.
3561
+ Defaults to 0 (first button).
3562
+
3563
+ y (``int``, *optional*):
3564
+ Used as ordinate only (in pair with x).
3565
+
3566
+ quote (``bool``, *optional*):
3567
+ Useful for normal buttons only, where pressing it will result in a new message sent.
3568
+ If ``True``, the message will be sent as a reply to this message.
3569
+ Defaults to ``True`` in group chats and ``False`` in private chats.
3570
+
3571
+ timeout (``int``, *optional*):
3572
+ Timeout in seconds.
3573
+
3574
+ Returns:
3575
+ - The result of :meth:`~pyrogram.Client.request_callback_answer` in case of inline callback button clicks.
3576
+ - The result of :meth:`~Message.reply()` in case of normal button clicks.
3577
+ - A string in case the inline button is a URL, a *switch_inline_query* or a
3578
+ *switch_inline_query_current_chat* button.
3579
+
3580
+ Raises:
3581
+ RPCError: In case of a Telegram RPC error.
3582
+ ValueError: In case the provided index or position is out of range or the button label was not found.
3583
+ TimeoutError: In case, after clicking an inline button, the bot fails to answer within the timeout.
3584
+ """
3585
+
3586
+ if isinstance(self.reply_markup, types.ReplyKeyboardMarkup):
3587
+ keyboard = self.reply_markup.keyboard
3588
+ is_inline = False
3589
+ elif isinstance(self.reply_markup, types.InlineKeyboardMarkup):
3590
+ keyboard = self.reply_markup.inline_keyboard
3591
+ is_inline = True
3592
+ else:
3593
+ raise ValueError("The message doesn't contain any keyboard")
3594
+
3595
+ if isinstance(x, int) and y is None:
3596
+ try:
3597
+ button = [
3598
+ button
3599
+ for row in keyboard
3600
+ for button in row
3601
+ ][x]
3602
+ except IndexError:
3603
+ raise ValueError(f"The button at index {x} doesn't exist")
3604
+ elif isinstance(x, int) and isinstance(y, int):
3605
+ try:
3606
+ button = keyboard[y][x]
3607
+ except IndexError:
3608
+ raise ValueError(f"The button at position ({x}, {y}) doesn't exist")
3609
+ elif isinstance(x, str) and y is None:
3610
+ label = x.encode("utf-16", "surrogatepass").decode("utf-16")
3611
+
3612
+ try:
3613
+ button = [
3614
+ button
3615
+ for row in keyboard
3616
+ for button in row
3617
+ if label == button.text
3618
+ ][0]
3619
+ except IndexError:
3620
+ raise ValueError(f"The button with label '{x}' doesn't exists")
3621
+ else:
3622
+ raise ValueError("Invalid arguments")
3623
+
3624
+ if is_inline:
3625
+ if button.callback_data:
3626
+ return await self._client.request_callback_answer(
3627
+ chat_id=self.chat.id,
3628
+ message_id=self.id,
3629
+ callback_data=button.callback_data,
3630
+ timeout=timeout
3631
+ )
3632
+ elif button.url:
3633
+ return button.url
3634
+ elif button.switch_inline_query:
3635
+ return button.switch_inline_query
3636
+ elif button.switch_inline_query_current_chat:
3637
+ return button.switch_inline_query_current_chat
3638
+ else:
3639
+ raise ValueError("This button is not supported yet")
3640
+ else:
3641
+ await self.reply(button, quote=quote)
3642
+
3643
+ async def react(self, emoji: str = "", big: bool = False) -> bool:
3644
+ """Bound method *react* of :obj:`~pyrogram.types.Message`.
3645
+
3646
+ Use as a shortcut for:
3647
+
3648
+ .. code-block:: python
3649
+
3650
+ await client.send_reaction(
3651
+ chat_id=chat_id,
3652
+ message_id=message.id,
3653
+ emoji="🔥"
3654
+ )
3655
+
3656
+ Example:
3657
+ .. code-block:: python
3658
+
3659
+ await message.react(emoji="🔥")
3660
+
3661
+ Parameters:
3662
+ emoji (``str``, *optional*):
3663
+ Reaction emoji.
3664
+ Pass "" as emoji (default) to retract the reaction.
3665
+
3666
+ big (``bool``, *optional*):
3667
+ Pass True to show a bigger and longer reaction.
3668
+ Defaults to False.
3669
+
3670
+ Returns:
3671
+ ``bool``: On success, True is returned.
3672
+
3673
+ Raises:
3674
+ RPCError: In case of a Telegram RPC error.
3675
+ """
3676
+
3677
+ return await self._client.send_reaction(
3678
+ chat_id=self.chat.id,
3679
+ message_id=self.id,
3680
+ emoji=emoji,
3681
+ big=big
3682
+ )
3683
+
3684
+ async def retract_vote(
3685
+ self,
3686
+ ) -> "types.Poll":
3687
+ """Bound method *retract_vote* of :obj:`~pyrogram.types.Message`.
3688
+
3689
+ Use as a shortcut for:
3690
+
3691
+ .. code-block:: python
3692
+
3693
+ client.retract_vote(
3694
+ chat_id=message.chat.id,
3695
+ message_id=message_id,
3696
+ )
3697
+
3698
+ Example:
3699
+ .. code-block:: python
3700
+
3701
+ message.retract_vote()
3702
+
3703
+ Returns:
3704
+ :obj:`~pyrogram.types.Poll`: On success, the poll with the retracted vote is returned.
3705
+
3706
+ Raises:
3707
+ RPCError: In case of a Telegram RPC error.
3708
+ """
3709
+
3710
+ return await self._client.retract_vote(
3711
+ chat_id=self.chat.id,
3712
+ message_id=self.id
3713
+ )
3714
+
3715
+ async def download(
3716
+ self,
3717
+ file_name: str = "",
3718
+ in_memory: bool = False,
3719
+ block: bool = True,
3720
+ progress: Callable = None,
3721
+ progress_args: tuple = ()
3722
+ ) -> str:
3723
+ """Bound method *download* of :obj:`~pyrogram.types.Message`.
3724
+
3725
+ Use as a shortcut for:
3726
+
3727
+ .. code-block:: python
3728
+
3729
+ await client.download_media(message)
3730
+
3731
+ Example:
3732
+ .. code-block:: python
3733
+
3734
+ await message.download()
3735
+
3736
+ Parameters:
3737
+ file_name (``str``, *optional*):
3738
+ A custom *file_name* to be used instead of the one provided by Telegram.
3739
+ By default, all files are downloaded in the *downloads* folder in your working directory.
3740
+ You can also specify a path for downloading files in a custom location: paths that end with "/"
3741
+ are considered directories. All non-existent folders will be created automatically.
3742
+
3743
+ in_memory (``bool``, *optional*):
3744
+ Pass True to download the media in-memory.
3745
+ A binary file-like object with its attribute ".name" set will be returned.
3746
+ Defaults to False.
3747
+
3748
+ block (``bool``, *optional*):
3749
+ Blocks the code execution until the file has been downloaded.
3750
+ Defaults to True.
3751
+
3752
+ progress (``Callable``, *optional*):
3753
+ Pass a callback function to view the file transmission progress.
3754
+ The function must take *(current, total)* as positional arguments (look at Other Parameters below for a
3755
+ detailed description) and will be called back each time a new file chunk has been successfully
3756
+ transmitted.
3757
+
3758
+ progress_args (``tuple``, *optional*):
3759
+ Extra custom arguments for the progress callback function.
3760
+ You can pass anything you need to be available in the progress callback scope; for example, a Message
3761
+ object or a Client instance in order to edit the message with the updated progress status.
3762
+
3763
+ Other Parameters:
3764
+ current (``int``):
3765
+ The amount of bytes transmitted so far.
3766
+
3767
+ total (``int``):
3768
+ The total size of the file.
3769
+
3770
+ *args (``tuple``, *optional*):
3771
+ Extra custom arguments as defined in the ``progress_args`` parameter.
3772
+ You can either keep ``*args`` or add every single extra argument in your function signature.
3773
+
3774
+ Returns:
3775
+ On success, the absolute path of the downloaded file as string is returned, None otherwise.
3776
+
3777
+ Raises:
3778
+ RPCError: In case of a Telegram RPC error.
3779
+ ``ValueError``: If the message doesn't contain any downloadable media
3780
+ """
3781
+ return await self._client.download_media(
3782
+ message=self,
3783
+ file_name=file_name,
3784
+ in_memory=in_memory,
3785
+ block=block,
3786
+ progress=progress,
3787
+ progress_args=progress_args,
3788
+ )
3789
+
3790
+ async def vote(
3791
+ self,
3792
+ option: int,
3793
+ ) -> "types.Poll":
3794
+ """Bound method *vote* of :obj:`~pyrogram.types.Message`.
3795
+
3796
+ Use as a shortcut for:
3797
+
3798
+ .. code-block:: python
3799
+
3800
+ client.vote_poll(
3801
+ chat_id=message.chat.id,
3802
+ message_id=message.id,
3803
+ option=1
3804
+ )
3805
+
3806
+ Example:
3807
+ .. code-block:: python
3808
+
3809
+ message.vote(6)
3810
+
3811
+ Parameters:
3812
+ option (``int``):
3813
+ Index of the poll option you want to vote for (0 to 9).
3814
+
3815
+ Returns:
3816
+ :obj:`~pyrogram.types.Poll`: On success, the poll with the chosen option is returned.
3817
+
3818
+ Raises:
3819
+ RPCError: In case of a Telegram RPC error.
3820
+ """
3821
+
3822
+ return await self._client.vote_poll(
3823
+ chat_id=self.chat.id,
3824
+ message_id=self.id,
3825
+ options=option
3826
+ )
3827
+
3828
+ async def pin(self, disable_notification: bool = False, both_sides: bool = False) -> "types.Message":
3829
+ """Bound method *pin* of :obj:`~pyrogram.types.Message`.
3830
+
3831
+ Use as a shortcut for:
3832
+
3833
+ .. code-block:: python
3834
+
3835
+ await client.pin_chat_message(
3836
+ chat_id=message.chat.id,
3837
+ message_id=message_id
3838
+ )
3839
+
3840
+ Example:
3841
+ .. code-block:: python
3842
+
3843
+ await message.pin()
3844
+
3845
+ Parameters:
3846
+ disable_notification (``bool``):
3847
+ Pass True, if it is not necessary to send a notification to all chat members about the new pinned
3848
+ message. Notifications are always disabled in channels.
3849
+
3850
+ both_sides (``bool``, *optional*):
3851
+ Pass True to pin the message for both sides (you and recipient).
3852
+ Applicable to private chats only. Defaults to False.
3853
+
3854
+ Returns:
3855
+ :obj:`~pyrogram.types.Message`: On success, the service message is returned.
3856
+
3857
+ Raises:
3858
+ RPCError: In case of a Telegram RPC error.
3859
+ """
3860
+ return await self._client.pin_chat_message(
3861
+ chat_id=self.chat.id,
3862
+ message_id=self.id,
3863
+ disable_notification=disable_notification,
3864
+ both_sides=both_sides
3865
+ )
3866
+
3867
+ async def unpin(self) -> bool:
3868
+ """Bound method *unpin* of :obj:`~pyrogram.types.Message`.
3869
+
3870
+ Use as a shortcut for:
3871
+
3872
+ .. code-block:: python
3873
+
3874
+ await client.unpin_chat_message(
3875
+ chat_id=message.chat.id,
3876
+ message_id=message_id
3877
+ )
3878
+
3879
+ Example:
3880
+ .. code-block:: python
3881
+
3882
+ await message.unpin()
3883
+
3884
+ Returns:
3885
+ True on success.
3886
+
3887
+ Raises:
3888
+ RPCError: In case of a Telegram RPC error.
3889
+ """
3890
+ return await self._client.unpin_chat_message(
3891
+ chat_id=self.chat.id,
3892
+ message_id=self.id
3893
+ )