electrogram 2.186.3__tar.gz → 2.187.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {electrogram-2.186.3 → electrogram-2.187.0}/PKG-INFO +1 -1
- {electrogram-2.186.3 → electrogram-2.187.0}/compiler/api/source/main_api.tl +24 -12
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/__init__.py +1 -1
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/client.py +1 -1
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/connection/transport/tcp/tcp_abridged_o.py +2 -8
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/advanced/save_file.py +68 -60
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/raw/__init__.py +0 -1
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/raw/core/future_salt.py +1 -1
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/raw/core/future_salts.py +1 -1
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/raw/core/gzip_packed.py +1 -4
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/raw/core/message.py +1 -1
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/raw/core/primitives/int.py +1 -1
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/raw/core/primitives/vector.py +6 -3
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/raw/core/tl_object.py +11 -22
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/session/auth.py +5 -23
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/session/session.py +224 -112
- electrogram-2.187.0/release_notes.txt +11 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/.gitignore +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/LICENSE +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/MANIFEST.in +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/Makefile +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/README.md +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/build-docs.sh +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/compiler/__init__.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/compiler/api/__init__.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/compiler/api/compiler.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/compiler/api/docs.json +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/compiler/api/source/auth_key.tl +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/compiler/api/source/sys_msgs.tl +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/compiler/api/template/combinator.txt +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/compiler/api/template/type.txt +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/compiler/docs/__init__.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/compiler/docs/compiler.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/compiler/docs/template/bound-methods.rst +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/compiler/docs/template/enums.rst +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/compiler/docs/template/methods.rst +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/compiler/docs/template/page.txt +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/compiler/docs/template/toctree.txt +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/compiler/docs/template/types.rst +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/compiler/errors/__init__.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/compiler/errors/compiler.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/compiler/errors/sort.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/compiler/errors/source/303_SEE_OTHER.tsv +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/compiler/errors/source/400_BAD_REQUEST.tsv +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/compiler/errors/source/401_UNAUTHORIZED.tsv +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/compiler/errors/source/403_FORBIDDEN.tsv +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/compiler/errors/source/406_NOT_ACCEPTABLE.tsv +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/compiler/errors/source/420_FLOOD.tsv +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/compiler/errors/source/500_INTERNAL_SERVER_ERROR.tsv +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/compiler/errors/source/503_SERVICE_UNAVAILABLE.tsv +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/compiler/errors/template/class.txt +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/compiler/errors/template/sub_class.txt +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/docs/source/_includes/usable-by/bots.rst +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/docs/source/_includes/usable-by/users-bots.rst +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/docs/source/_includes/usable-by/users.rst +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/docs/source/_static/css/all.min.css +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/docs/source/_static/css/custom.css +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/docs/source/_static/fav.svg +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/docs/source/api/client.rst +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/docs/source/api/decorators.rst +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/docs/source/api/enums/AccentColor.rst +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/docs/source/api/enums/BusinessSchedule.rst +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/docs/source/api/enums/ChatAction.rst +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/docs/source/api/enums/ChatEventAction.rst +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/docs/source/api/enums/ChatJoinType.rst +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/docs/source/api/enums/ChatMemberStatus.rst +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/docs/source/api/enums/ChatMembersFilter.rst +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/docs/source/api/enums/ChatType.rst +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/docs/source/api/enums/ClientPlatform.rst +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/docs/source/api/enums/FolderColor.rst +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/docs/source/api/enums/ListenerTypes.rst +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/docs/source/api/enums/MessageEntityType.rst +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/docs/source/api/enums/MessageMediaType.rst +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/docs/source/api/enums/MessageServiceType.rst +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/docs/source/api/enums/MessagesFilter.rst +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/docs/source/api/enums/NextCodeType.rst +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/docs/source/api/enums/ParseMode.rst +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/docs/source/api/enums/PollType.rst +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/docs/source/api/enums/PrivacyKey.rst +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/docs/source/api/enums/ProfileColor.rst +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/docs/source/api/enums/ReactionType.rst +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/docs/source/api/enums/ReplyColor.rst +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/docs/source/api/enums/SentCodeType.rst +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/docs/source/api/enums/StoriesPrivacyRules.rst +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/docs/source/api/enums/StoryPrivacy.rst +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/docs/source/api/enums/UserStatus.rst +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/docs/source/api/enums/cleanup.html +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/docs/source/api/enums/index.rst +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/docs/source/api/errors/bad-request.rst +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/docs/source/api/errors/flood.rst +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/docs/source/api/errors/forbidden.rst +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/docs/source/api/errors/index.rst +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/docs/source/api/errors/internal-server-error.rst +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/docs/source/api/errors/not-acceptable.rst +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/docs/source/api/errors/see-other.rst +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/docs/source/api/errors/unauthorized.rst +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/docs/source/api/filters.rst +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/docs/source/api/handlers.rst +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/docs/source/conf.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/docs/source/faq/client-started-but-nothing-happens.rst +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/docs/source/faq/code-hangs-when-calling-stop-restart-add-remove-handler.rst +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/docs/source/faq/how-to-avoid-flood-waits.rst +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/docs/source/faq/how-to-use-webhooks.rst +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/docs/source/faq/index.rst +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/docs/source/faq/migrating-the-account-to-another-data-center.rst +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/docs/source/faq/peer-id-invalid-error.rst +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/docs/source/faq/socket-send-oserror-timeouterror-connection-lost-reset.rst +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/docs/source/faq/sqlite3-interfaceerror-error-binding-parameter.rst +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/docs/source/faq/sqlite3-operationalerror-database-is-locked.rst +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/docs/source/faq/the-account-has-been-limited-deactivated.rst +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/docs/source/faq/unicodeencodeerror-codec-cant-encode.rst +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/docs/source/faq/uploading-with-urls-gives-error-webpage-curl-failed.rst +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/docs/source/faq/using-multiple-clients-at-once-on-the-same-account.rst +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/docs/source/faq/using-the-same-file-id-across-different-accounts.rst +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/docs/source/faq/what-are-the-ip-addresses-of-telegram-data-centers.rst +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/docs/source/faq/why-is-the-api-key-needed-for-bots.rst +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/docs/source/faq/why-is-the-client-reacting-slowly-in-supergroups-channels.rst +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/docs/source/index.rst +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/docs/source/intro/install.rst +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/docs/source/intro/quickstart.rst +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/docs/source/start/auth.rst +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/docs/source/start/errors.rst +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/docs/source/start/examples/bot_keyboards.rst +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/docs/source/start/examples/callback_queries.rst +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/docs/source/start/examples/echo_bot.rst +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/docs/source/start/examples/get_chat_history.rst +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/docs/source/start/examples/get_chat_members.rst +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/docs/source/start/examples/get_dialogs.rst +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/docs/source/start/examples/hello_world.rst +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/docs/source/start/examples/index.rst +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/docs/source/start/examples/inline_queries.rst +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/docs/source/start/examples/raw_updates.rst +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/docs/source/start/examples/use_inline_bots.rst +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/docs/source/start/examples/welcome_bot.rst +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/docs/source/start/invoking.rst +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/docs/source/start/setup.rst +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/docs/source/start/updates.rst +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/docs/source/support.rst +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/docs/source/topics/advanced-usage.rst +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/docs/source/topics/client-settings.rst +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/docs/source/topics/create-filters.rst +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/docs/source/topics/debugging.rst +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/docs/source/topics/more-on-updates.rst +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/docs/source/topics/mtproto-vs-botapi.rst +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/docs/source/topics/proxy.rst +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/docs/source/topics/scheduling.rst +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/docs/source/topics/serializing.rst +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/docs/source/topics/smart-plugins.rst +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/docs/source/topics/storage-engines.rst +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/docs/source/topics/synchronous.rst +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/docs/source/topics/test-servers.rst +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/docs/source/topics/text-formatting.rst +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/docs/source/topics/use-filters.rst +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/docs/source/topics/voice-calls.rst +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/hatch_build.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyproject.toml +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/connection/__init__.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/connection/connection.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/connection/transport/__init__.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/connection/transport/tcp/__init__.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/connection/transport/tcp/tcp.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/connection/transport/tcp/tcp_abridged.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/connection/transport/tcp/tcp_full.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/connection/transport/tcp/tcp_intermediate.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/connection/transport/tcp/tcp_intermediate_o.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/crypto/__init__.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/crypto/aes.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/crypto/mtproto.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/crypto/prime.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/crypto/rsa.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/dispatcher.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/enums/__init__.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/enums/accent_color.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/enums/auto_name.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/enums/business_schedule.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/enums/chat_action.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/enums/chat_event_action.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/enums/chat_join_type.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/enums/chat_member_status.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/enums/chat_members_filter.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/enums/chat_type.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/enums/client_platform.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/enums/folder_color.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/enums/listerner_types.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/enums/message_entity_type.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/enums/message_media_type.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/enums/message_service_type.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/enums/messages_filter.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/enums/next_code_type.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/enums/parse_mode.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/enums/poll_type.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/enums/privacy_key.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/enums/profile_color.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/enums/reaction_type.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/enums/reply_color.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/enums/sent_code_type.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/enums/stories_privacy_rules.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/enums/story_privacy.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/enums/user_status.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/errors/__init__.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/errors/rpc_error.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/file_id.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/filters.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/handlers/__init__.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/handlers/bot_business_connect_handler.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/handlers/bot_business_message_handler.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/handlers/callback_query_handler.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/handlers/chat_join_request_handler.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/handlers/chat_member_updated_handler.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/handlers/chosen_inline_result_handler.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/handlers/conversation_handler.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/handlers/deleted_bot_business_messages_handler.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/handlers/deleted_messages_handler.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/handlers/disconnect_handler.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/handlers/edited_bot_business_message_handler.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/handlers/edited_message_handler.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/handlers/handler.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/handlers/inline_query_handler.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/handlers/message_handler.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/handlers/message_reaction_count_updated_handler.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/handlers/message_reaction_updated_handler.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/handlers/poll_handler.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/handlers/pre_checkout_query_handler.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/handlers/raw_update_handler.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/handlers/shipping_query_handler.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/handlers/story_handler.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/handlers/user_status_handler.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/__init__.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/account/__init__.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/account/get_account_ttl.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/account/get_privacy.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/account/set_account_ttl.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/account/set_privacy.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/advanced/__init__.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/advanced/invoke.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/advanced/resolve_peer.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/auth/__init__.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/auth/accept_terms_of_service.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/auth/check_password.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/auth/connect.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/auth/disconnect.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/auth/get_active_sessions.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/auth/get_password_hint.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/auth/initialize.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/auth/log_out.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/auth/recover_password.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/auth/resend_code.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/auth/reset_session.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/auth/reset_sessions.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/auth/send_code.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/auth/send_recovery_code.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/auth/sign_in.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/auth/sign_in_bot.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/auth/sign_up.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/auth/terminate.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/bots/__init__.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/bots/answer_callback_query.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/bots/answer_inline_query.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/bots/answer_web_app_query.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/bots/delete_bot_commands.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/bots/get_bot_commands.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/bots/get_bot_default_privileges.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/bots/get_bot_info.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/bots/get_chat_menu_button.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/bots/get_collectible_item_info.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/bots/get_game_high_scores.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/bots/get_inline_bot_results.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/bots/request_callback_answer.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/bots/send_game.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/bots/send_inline_bot_result.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/bots/set_bot_commands.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/bots/set_bot_default_privileges.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/bots/set_bot_info.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/bots/set_chat_menu_button.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/bots/set_game_score.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/business/__init__.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/business/answer_pre_checkout_query.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/business/answer_shipping_query.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/business/create_invoice_link.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/business/get_business_connection.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/business/get_payment_form.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/business/get_stars_transactions.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/business/get_stars_transactions_by_id.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/business/refund_stars_payment.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/business/send_invoice.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/business/send_payment_form.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/chats/__init__.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/chats/add_chat_members.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/chats/archive_chats.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/chats/ban_chat_member.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/chats/close_forum_topic.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/chats/close_general_topic.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/chats/create_channel.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/chats/create_forum_topic.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/chats/create_group.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/chats/create_supergroup.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/chats/delete_channel.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/chats/delete_chat_photo.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/chats/delete_folder.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/chats/delete_forum_topic.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/chats/delete_supergroup.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/chats/delete_user_history.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/chats/edit_forum_topic.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/chats/edit_general_topic.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/chats/export_folder_link.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/chats/get_chat.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/chats/get_chat_event_log.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/chats/get_chat_member.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/chats/get_chat_members.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/chats/get_chat_members_count.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/chats/get_chat_online_count.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/chats/get_dialogs.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/chats/get_dialogs_count.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/chats/get_folders.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/chats/get_forum_topics.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/chats/get_forum_topics_by_id.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/chats/get_nearby_chats.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/chats/get_send_as_chats.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/chats/hide_general_topic.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/chats/join_chat.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/chats/leave_chat.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/chats/mark_chat_unread.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/chats/pin_chat_message.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/chats/promote_chat_member.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/chats/reopen_forum_topic.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/chats/reopen_general_topic.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/chats/restrict_chat_member.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/chats/set_administrator_title.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/chats/set_chat_description.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/chats/set_chat_permissions.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/chats/set_chat_photo.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/chats/set_chat_protected_content.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/chats/set_chat_title.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/chats/set_chat_username.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/chats/set_send_as_chat.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/chats/set_slow_mode.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/chats/unarchive_chats.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/chats/unban_chat_member.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/chats/unhide_general_topic.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/chats/unpin_all_chat_messages.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/chats/unpin_chat_message.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/chats/update_color.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/chats/update_folder.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/contacts/__init__.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/contacts/add_contact.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/contacts/delete_contacts.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/contacts/get_contacts.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/contacts/get_contacts_count.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/contacts/import_contacts.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/contacts/search_contacts.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/decorators/__init__.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/decorators/on_bot_business_connect.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/decorators/on_bot_business_message.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/decorators/on_callback_query.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/decorators/on_chat_join_request.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/decorators/on_chat_member_updated.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/decorators/on_chosen_inline_result.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/decorators/on_deleted_bot_business_messages.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/decorators/on_deleted_messages.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/decorators/on_disconnect.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/decorators/on_edited_bot_business_message.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/decorators/on_edited_message.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/decorators/on_inline_query.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/decorators/on_message.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/decorators/on_message_reaction_count_updated.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/decorators/on_message_reaction_updated.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/decorators/on_poll.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/decorators/on_pre_checkout_query.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/decorators/on_raw_update.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/decorators/on_shipping_query.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/decorators/on_story.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/decorators/on_user_status.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/invite_links/__init__.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/invite_links/approve_all_chat_join_requests.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/invite_links/approve_chat_join_request.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/invite_links/create_chat_invite_link.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/invite_links/decline_all_chat_join_requests.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/invite_links/decline_chat_join_request.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/invite_links/delete_chat_admin_invite_links.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/invite_links/delete_chat_invite_link.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/invite_links/edit_chat_invite_link.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/invite_links/export_chat_invite_link.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/invite_links/get_chat_admin_invite_links.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/invite_links/get_chat_admin_invite_links_count.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/invite_links/get_chat_admins_with_invite_links.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/invite_links/get_chat_invite_link.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/invite_links/get_chat_invite_link_joiners.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/invite_links/get_chat_invite_link_joiners_count.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/invite_links/get_chat_join_requests.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/invite_links/revoke_chat_invite_link.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/messages/__init__.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/messages/copy_media_group.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/messages/copy_message.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/messages/delete_chat_history.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/messages/delete_messages.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/messages/delete_scheduled_messages.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/messages/download_media.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/messages/edit_inline_caption.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/messages/edit_inline_media.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/messages/edit_inline_reply_markup.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/messages/edit_inline_text.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/messages/edit_message_caption.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/messages/edit_message_media.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/messages/edit_message_reply_markup.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/messages/edit_message_text.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/messages/forward_messages.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/messages/get_available_effects.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/messages/get_chat_history.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/messages/get_chat_history_count.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/messages/get_custom_emoji_stickers.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/messages/get_discussion_message.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/messages/get_discussion_replies.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/messages/get_discussion_replies_count.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/messages/get_media_group.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/messages/get_messages.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/messages/get_scheduled_messages.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/messages/inline_session.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/messages/read_chat_history.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/messages/retract_vote.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/messages/search_global.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/messages/search_global_count.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/messages/search_global_hashtag_messages.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/messages/search_global_hashtag_messages_count.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/messages/search_messages.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/messages/search_messages_count.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/messages/send_animation.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/messages/send_audio.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/messages/send_cached_media.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/messages/send_chat_action.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/messages/send_contact.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/messages/send_dice.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/messages/send_document.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/messages/send_location.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/messages/send_media_group.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/messages/send_message.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/messages/send_paid_media.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/messages/send_paid_reaction.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/messages/send_photo.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/messages/send_poll.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/messages/send_reaction.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/messages/send_sticker.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/messages/send_venue.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/messages/send_video.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/messages/send_video_note.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/messages/send_voice.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/messages/send_web_page.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/messages/stop_poll.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/messages/stream_media.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/messages/translate_text.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/messages/vote_poll.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/password/__init__.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/password/change_cloud_password.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/password/enable_cloud_password.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/password/remove_cloud_password.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/stickers/__init__.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/stickers/add_sticker_to_set.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/stickers/create_sticker_set.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/stickers/get_sticker_set.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/users/__init__.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/users/block_user.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/users/delete_account.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/users/delete_profile_photos.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/users/delete_stories.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/users/edit_story.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/users/export_story_link.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/users/forward_story.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/users/get_all_stories.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/users/get_chat_photos.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/users/get_chat_photos_count.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/users/get_common_chats.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/users/get_default_emoji_statuses.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/users/get_me.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/users/get_peer_stories.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/users/get_stories.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/users/get_stories_history.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/users/get_users.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/users/send_story.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/users/set_emoji_status.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/users/set_profile_photo.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/users/set_username.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/users/unblock_user.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/users/update_birthday.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/users/update_personal_chat.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/users/update_profile.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/utilities/__init__.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/utilities/add_handler.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/utilities/compose.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/utilities/export_session_string.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/utilities/idle.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/utilities/remove_handler.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/utilities/restart.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/utilities/run.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/utilities/run_sync.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/utilities/start.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/utilities/stop.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/methods/utilities/stop_transmission.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/mime_types.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/parser/__init__.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/parser/html.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/parser/markdown.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/parser/parser.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/parser/utils.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/py.typed +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/raw/core/__init__.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/raw/core/list.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/raw/core/msg_container.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/raw/core/primitives/__init__.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/raw/core/primitives/bool.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/raw/core/primitives/bytes.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/raw/core/primitives/double.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/raw/core/primitives/string.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/session/__init__.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/session/internals/__init__.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/session/internals/data_center.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/session/internals/msg_factory.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/session/internals/msg_id.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/session/internals/seq_no.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/storage/__init__.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/storage/file_storage.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/storage/memory_storage.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/storage/sqlite_storage.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/storage/storage.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/sync.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/__init__.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/authorization/__init__.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/authorization/active_session.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/authorization/active_sessions.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/authorization/sent_code.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/authorization/terms_of_service.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/bots_and_keyboards/__init__.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/bots_and_keyboards/bot_allowed.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/bots_and_keyboards/bot_app.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/bots_and_keyboards/bot_business_connection.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/bots_and_keyboards/bot_command.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/bots_and_keyboards/bot_command_scope.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/bots_and_keyboards/bot_command_scope_all_chat_administrators.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/bots_and_keyboards/bot_command_scope_all_group_chats.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/bots_and_keyboards/bot_command_scope_all_private_chats.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/bots_and_keyboards/bot_command_scope_chat.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/bots_and_keyboards/bot_command_scope_chat_administrators.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/bots_and_keyboards/bot_command_scope_chat_member.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/bots_and_keyboards/bot_command_scope_default.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/bots_and_keyboards/bot_info.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/bots_and_keyboards/callback_game.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/bots_and_keyboards/callback_query.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/bots_and_keyboards/collectible_item_info.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/bots_and_keyboards/force_reply.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/bots_and_keyboards/game_high_score.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/bots_and_keyboards/inline_keyboard_button.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/bots_and_keyboards/inline_keyboard_button_buy.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/bots_and_keyboards/inline_keyboard_markup.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/bots_and_keyboards/keyboard_button.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/bots_and_keyboards/login_url.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/bots_and_keyboards/menu_button.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/bots_and_keyboards/menu_button_commands.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/bots_and_keyboards/menu_button_default.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/bots_and_keyboards/menu_button_web_app.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/bots_and_keyboards/reply_keyboard_markup.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/bots_and_keyboards/reply_keyboard_remove.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/bots_and_keyboards/request_peer_type_channel.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/bots_and_keyboards/request_peer_type_chat.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/bots_and_keyboards/request_peer_type_user.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/bots_and_keyboards/requested_chat.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/bots_and_keyboards/requested_chats.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/bots_and_keyboards/requested_user.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/bots_and_keyboards/sent_web_app_message.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/bots_and_keyboards/web_app_info.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/business/__init__.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/business/extended_media_preview.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/business/input_stars_transaction.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/business/invoice.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/business/paid_media.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/business/paid_media_preview.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/business/payment_info.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/business/payment_refunded.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/business/pre_checkout_query.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/business/shipping_address.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/business/shipping_option.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/business/shipping_query.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/business/stars_status.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/business/stars_transaction.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/business/successful_payment.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/inline_mode/__init__.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/inline_mode/chosen_inline_result.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/inline_mode/inline_query.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/inline_mode/inline_query_result.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/inline_mode/inline_query_result_animation.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/inline_mode/inline_query_result_article.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/inline_mode/inline_query_result_audio.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/inline_mode/inline_query_result_cached_animation.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/inline_mode/inline_query_result_cached_audio.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/inline_mode/inline_query_result_cached_document.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/inline_mode/inline_query_result_cached_photo.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/inline_mode/inline_query_result_cached_sticker.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/inline_mode/inline_query_result_cached_video.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/inline_mode/inline_query_result_cached_voice.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/inline_mode/inline_query_result_contact.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/inline_mode/inline_query_result_document.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/inline_mode/inline_query_result_location.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/inline_mode/inline_query_result_photo.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/inline_mode/inline_query_result_venue.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/inline_mode/inline_query_result_video.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/inline_mode/inline_query_result_voice.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/input_media/__init__.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/input_media/input_media.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/input_media/input_media_animation.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/input_media/input_media_area.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/input_media/input_media_area_channel_post.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/input_media/input_media_audio.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/input_media/input_media_document.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/input_media/input_media_photo.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/input_media/input_media_video.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/input_media/input_phone_contact.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/input_message_content/__init__.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/input_message_content/input_contact_message_content.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/input_message_content/input_invoice_message_content.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/input_message_content/input_location_message_content.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/input_message_content/input_message_content.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/input_message_content/input_reply_to_message.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/input_message_content/input_reply_to_story.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/input_message_content/input_text_message_content.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/input_message_content/input_venue_message_content.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/input_privacy_rule/__init__.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/input_privacy_rule/input_privacy_rule.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/input_privacy_rule/input_privacy_rule_allow_all.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/input_privacy_rule/input_privacy_rule_allow_chats.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/input_privacy_rule/input_privacy_rule_allow_contacts.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/input_privacy_rule/input_privacy_rule_allow_premium.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/input_privacy_rule/input_privacy_rule_allow_users.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/input_privacy_rule/input_privacy_rule_disallow_all.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/input_privacy_rule/input_privacy_rule_disallow_chats.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/input_privacy_rule/input_privacy_rule_disallow_contacts.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/input_privacy_rule/input_privacy_rule_disallow_users.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/list.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/messages_and_media/__init__.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/messages_and_media/animation.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/messages_and_media/audio.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/messages_and_media/available_effect.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/messages_and_media/contact.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/messages_and_media/contact_registered.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/messages_and_media/dice.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/messages_and_media/document.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/messages_and_media/draft_message.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/messages_and_media/exported_story_link.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/messages_and_media/game.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/messages_and_media/gifted_premium.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/messages_and_media/giveaway.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/messages_and_media/giveaway_launched.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/messages_and_media/giveaway_result.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/messages_and_media/labeled_price.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/messages_and_media/location.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/messages_and_media/media_area.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/messages_and_media/media_area_channel_post.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/messages_and_media/media_area_coordinates.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/messages_and_media/message.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/messages_and_media/message_entity.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/messages_and_media/message_reaction_count_updated.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/messages_and_media/message_reaction_updated.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/messages_and_media/message_reactions.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/messages_and_media/message_reactor.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/messages_and_media/message_story.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/messages_and_media/payment_form.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/messages_and_media/photo.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/messages_and_media/poll.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/messages_and_media/poll_option.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/messages_and_media/reaction.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/messages_and_media/screenshot_taken.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/messages_and_media/sticker.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/messages_and_media/stickerset.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/messages_and_media/stories_privacy_rules.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/messages_and_media/story.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/messages_and_media/story_deleted.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/messages_and_media/story_forward_header.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/messages_and_media/story_skipped.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/messages_and_media/story_views.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/messages_and_media/stripped_thumbnail.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/messages_and_media/thumbnail.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/messages_and_media/translated_text.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/messages_and_media/venue.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/messages_and_media/video.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/messages_and_media/video_note.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/messages_and_media/voice.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/messages_and_media/web_app_data.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/messages_and_media/web_page.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/messages_and_media/web_page_empty.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/messages_and_media/web_page_preview.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/object.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/update.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/user_and_chats/__init__.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/user_and_chats/birthday.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/user_and_chats/business_info.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/user_and_chats/business_message.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/user_and_chats/business_recipients.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/user_and_chats/business_weekly_open.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/user_and_chats/business_working_hours.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/user_and_chats/chat.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/user_and_chats/chat_admin_with_invite_links.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/user_and_chats/chat_color.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/user_and_chats/chat_event.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/user_and_chats/chat_event_filter.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/user_and_chats/chat_invite_link.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/user_and_chats/chat_join_request.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/user_and_chats/chat_joined_by_request.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/user_and_chats/chat_joiner.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/user_and_chats/chat_member.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/user_and_chats/chat_member_updated.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/user_and_chats/chat_permissions.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/user_and_chats/chat_photo.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/user_and_chats/chat_preview.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/user_and_chats/chat_privileges.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/user_and_chats/chat_reactions.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/user_and_chats/dialog.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/user_and_chats/emoji_status.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/user_and_chats/folder.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/user_and_chats/forum_topic.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/user_and_chats/forum_topic_closed.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/user_and_chats/forum_topic_created.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/user_and_chats/forum_topic_edited.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/user_and_chats/forum_topic_reopened.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/user_and_chats/found_contacts.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/user_and_chats/general_forum_topic_hidden.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/user_and_chats/general_forum_topic_unhidden.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/user_and_chats/invite_link_importer.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/user_and_chats/peer_channel.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/user_and_chats/peer_user.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/user_and_chats/privacy_rule.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/user_and_chats/restriction.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/user_and_chats/user.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/user_and_chats/username.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/user_and_chats/video_chat_ended.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/user_and_chats/video_chat_members_invited.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/user_and_chats/video_chat_scheduled.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/types/user_and_chats/video_chat_started.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/utils.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/requirements-dev.lock +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/requirements.lock +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/tests/__init__.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/tests/filters/__init__.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/tests/filters/test_command.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/tests/parser/__init__.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/tests/parser/test_html.py +0 -0
- {electrogram-2.186.3 → electrogram-2.187.0}/tests/test_file_id.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.3
|
|
2
2
|
Name: electrogram
|
|
3
|
-
Version: 2.
|
|
3
|
+
Version: 2.187.0
|
|
4
4
|
Summary: Telegram MTProto API framework in Python, designed for fluid user and bot interactions.
|
|
5
5
|
Project-URL: homepage, https://github.com/5hojib/electrogram
|
|
6
6
|
Project-URL: community, https://t.me/ProjectAeon
|
|
@@ -36,7 +36,7 @@ inputMediaPoll#f94e5f1 flags:# poll:Poll correct_answers:flags.0?Vector<bytes> s
|
|
|
36
36
|
inputMediaDice#e66fbf7b emoticon:string = InputMedia;
|
|
37
37
|
inputMediaStory#89fdd778 peer:InputPeer id:int = InputMedia;
|
|
38
38
|
inputMediaWebPage#c21b8849 flags:# force_large_media:flags.0?true force_small_media:flags.1?true optional:flags.2?true url:string = InputMedia;
|
|
39
|
-
inputMediaPaidMedia#
|
|
39
|
+
inputMediaPaidMedia#c4103386 flags:# stars_amount:long extended_media:Vector<InputMedia> payload:flags.0?string = InputMedia;
|
|
40
40
|
|
|
41
41
|
inputChatPhotoEmpty#1ca48f57 = InputChatPhoto;
|
|
42
42
|
inputChatUploadedPhoto#bdcdaec0 flags:# file:flags.0?InputFile video:flags.1?InputFile video_start_ts:flags.2?double video_emoji_markup:flags.3?VideoSize = InputChatPhoto;
|
|
@@ -124,8 +124,8 @@ messageMediaGeoLive#b940c666 flags:# geo:GeoPoint heading:flags.0?int period:int
|
|
|
124
124
|
messageMediaPoll#4bd6e798 poll:Poll results:PollResults = MessageMedia;
|
|
125
125
|
messageMediaDice#3f7ee58b value:int emoticon:string = MessageMedia;
|
|
126
126
|
messageMediaStory#68cb6283 flags:# via_mention:flags.1?true peer:Peer id:int story:flags.0?StoryItem = MessageMedia;
|
|
127
|
-
messageMediaGiveaway#
|
|
128
|
-
messageMediaGiveawayResults#
|
|
127
|
+
messageMediaGiveaway#aa073beb flags:# only_new_subscribers:flags.0?true winners_are_visible:flags.2?true channels:Vector<long> countries_iso2:flags.1?Vector<string> prize_description:flags.3?string quantity:int months:flags.4?int stars:flags.5?long until_date:int = MessageMedia;
|
|
128
|
+
messageMediaGiveawayResults#ceaa3ea1 flags:# only_new_subscribers:flags.0?true refunded:flags.2?true channel_id:long additional_peers_count:flags.3?int launch_msg_id:int winners_count:int unclaimed_count:int winners:Vector<long> months:flags.4?int stars:flags.5?long prize_description:flags.1?string until_date:int = MessageMedia;
|
|
129
129
|
messageMediaPaidMedia#a8852491 stars_amount:long extended_media:Vector<MessageExtendedMedia> = MessageMedia;
|
|
130
130
|
|
|
131
131
|
messageActionEmpty#b6aef7b0 = MessageAction;
|
|
@@ -167,12 +167,13 @@ messageActionSuggestProfilePhoto#57de635e photo:Photo = MessageAction;
|
|
|
167
167
|
messageActionRequestedPeer#31518e9b button_id:int peers:Vector<Peer> = MessageAction;
|
|
168
168
|
messageActionSetChatWallPaper#5060a3f4 flags:# same:flags.0?true for_both:flags.1?true wallpaper:WallPaper = MessageAction;
|
|
169
169
|
messageActionGiftCode#678c2e09 flags:# via_giveaway:flags.0?true unclaimed:flags.2?true boost_peer:flags.1?Peer months:int slug:string currency:flags.2?string amount:flags.2?long crypto_currency:flags.3?string crypto_amount:flags.3?long = MessageAction;
|
|
170
|
-
messageActionGiveawayLaunch#
|
|
171
|
-
messageActionGiveawayResults#
|
|
170
|
+
messageActionGiveawayLaunch#a80f51e4 flags:# stars:flags.0?long = MessageAction;
|
|
171
|
+
messageActionGiveawayResults#87e2f155 flags:# stars:flags.0?true winners_count:int unclaimed_count:int = MessageAction;
|
|
172
172
|
messageActionBoostApply#cc02aa6d boosts:int = MessageAction;
|
|
173
173
|
messageActionRequestedPeerSentMe#93b31848 button_id:int peers:Vector<RequestedPeer> = MessageAction;
|
|
174
174
|
messageActionPaymentRefunded#41b3e202 flags:# peer:Peer currency:string total_amount:long payload:flags.0?bytes charge:PaymentCharge = MessageAction;
|
|
175
175
|
messageActionGiftStars#45d5b021 flags:# currency:string amount:long stars:long crypto_currency:flags.0?string crypto_amount:flags.0?long transaction_id:flags.1?string = MessageAction;
|
|
176
|
+
messageActionPrizeStars#b00c47a2 flags:# unclaimed:flags.0?true stars:long transaction_id:string boost_peer:Peer giveaway_msg_id:int = MessageAction;
|
|
176
177
|
|
|
177
178
|
dialog#d58a08c6 flags:# pinned:flags.2?true unread_mark:flags.3?true view_forum_as_messages:flags.6?true peer:Peer top_message:int read_inbox_max_id:int read_outbox_max_id:int unread_count:int unread_mentions_count:int unread_reactions_count:int notify_settings:PeerNotifySettings pts:flags.0?int draft:flags.1?DraftMessage folder_id:flags.4?int ttl_period:flags.5?int = Dialog;
|
|
178
179
|
dialogFolder#71bd134c flags:# pinned:flags.2?true folder:Folder peer:Peer top_message:int unread_muted_peers_count:int unread_unmuted_peers_count:int unread_muted_messages_count:int unread_unmuted_messages_count:int = Dialog;
|
|
@@ -413,6 +414,8 @@ updateBroadcastRevenueTransactions#dfd961f5 peer:Peer balances:BroadcastRevenueB
|
|
|
413
414
|
updateStarsBalance#fb85198 balance:long = Update;
|
|
414
415
|
updateBusinessBotCallbackQuery#1ea2fda7 flags:# query_id:long user_id:long connection_id:string message:Message reply_to_message:flags.2?Message chat_instance:long data:flags.0?bytes = Update;
|
|
415
416
|
updateStarsRevenueStatus#a584b019 peer:Peer status:StarsRevenueStatus = Update;
|
|
417
|
+
updateBotPurchasedPaidMedia#283bd312 user_id:long payload:string qts:int = Update;
|
|
418
|
+
updatePaidReactionPrivacy#51ca7aec private:Bool = Update;
|
|
416
419
|
|
|
417
420
|
updates.state#a56c2a3e pts:int qts:int date:int seq:int unread_count:int = updates.State;
|
|
418
421
|
|
|
@@ -1004,12 +1007,13 @@ channelAdminLogEventActionChangeWallpaper#31bb5d52 prev_value:WallPaper new_valu
|
|
|
1004
1007
|
channelAdminLogEventActionChangeEmojiStatus#3ea9feb1 prev_value:EmojiStatus new_value:EmojiStatus = ChannelAdminLogEventAction;
|
|
1005
1008
|
channelAdminLogEventActionChangeEmojiStickerSet#46d840ab prev_stickerset:InputStickerSet new_stickerset:InputStickerSet = ChannelAdminLogEventAction;
|
|
1006
1009
|
channelAdminLogEventActionToggleSignatureProfiles#60a79c79 new_value:Bool = ChannelAdminLogEventAction;
|
|
1010
|
+
channelAdminLogEventActionParticipantSubExtend#64642db3 prev_participant:ChannelParticipant new_participant:ChannelParticipant = ChannelAdminLogEventAction;
|
|
1007
1011
|
|
|
1008
1012
|
channelAdminLogEvent#1fad68cd id:long date:int user_id:long action:ChannelAdminLogEventAction = ChannelAdminLogEvent;
|
|
1009
1013
|
|
|
1010
1014
|
channels.adminLogResults#ed8af74d events:Vector<ChannelAdminLogEvent> chats:Vector<Chat> users:Vector<User> = channels.AdminLogResults;
|
|
1011
1015
|
|
|
1012
|
-
channelAdminLogEventsFilter#ea107ae4 flags:# join:flags.0?true leave:flags.1?true invite:flags.2?true ban:flags.3?true unban:flags.4?true kick:flags.5?true unkick:flags.6?true promote:flags.7?true demote:flags.8?true info:flags.9?true settings:flags.10?true pinned:flags.11?true edit:flags.12?true delete:flags.13?true group_call:flags.14?true invites:flags.15?true send:flags.16?true forums:flags.17?true = ChannelAdminLogEventsFilter;
|
|
1016
|
+
channelAdminLogEventsFilter#ea107ae4 flags:# join:flags.0?true leave:flags.1?true invite:flags.2?true ban:flags.3?true unban:flags.4?true kick:flags.5?true unkick:flags.6?true promote:flags.7?true demote:flags.8?true info:flags.9?true settings:flags.10?true pinned:flags.11?true edit:flags.12?true delete:flags.13?true group_call:flags.14?true invites:flags.15?true send:flags.16?true forums:flags.17?true sub_extend:flags.18?true = ChannelAdminLogEventsFilter;
|
|
1013
1017
|
|
|
1014
1018
|
popularContact#5ce14175 client_id:long importers:int = PopularContact;
|
|
1015
1019
|
|
|
@@ -1463,6 +1467,7 @@ inputStorePaymentPremiumGiftCode#a3805f3f flags:# users:Vector<InputUser> boost_
|
|
|
1463
1467
|
inputStorePaymentPremiumGiveaway#160544ca flags:# only_new_subscribers:flags.0?true winners_are_visible:flags.3?true boost_peer:InputPeer additional_peers:flags.1?Vector<InputPeer> countries_iso2:flags.2?Vector<string> prize_description:flags.4?string random_id:long until_date:int currency:string amount:long = InputStorePaymentPurpose;
|
|
1464
1468
|
inputStorePaymentStarsTopup#dddd0f56 stars:long currency:string amount:long = InputStorePaymentPurpose;
|
|
1465
1469
|
inputStorePaymentStarsGift#1d741ef7 user_id:InputUser stars:long currency:string amount:long = InputStorePaymentPurpose;
|
|
1470
|
+
inputStorePaymentStarsGiveaway#751f08fa flags:# only_new_subscribers:flags.0?true winners_are_visible:flags.3?true stars:long boost_peer:InputPeer additional_peers:flags.1?Vector<InputPeer> countries_iso2:flags.2?Vector<string> prize_description:flags.4?string random_id:long until_date:int currency:string amount:long users:int = InputStorePaymentPurpose;
|
|
1466
1471
|
|
|
1467
1472
|
premiumGiftOption#74c34319 flags:# months:int currency:string amount:long bot_url:string store_product:flags.0?string = PremiumGiftOption;
|
|
1468
1473
|
|
|
@@ -1624,11 +1629,12 @@ premiumGiftCodeOption#257e962b flags:# users:int months:int store_product:flags.
|
|
|
1624
1629
|
payments.checkedGiftCode#284a1096 flags:# via_giveaway:flags.2?true from_id:flags.4?Peer giveaway_msg_id:flags.3?int to_id:flags.0?long date:int months:int used_date:flags.1?int chats:Vector<Chat> users:Vector<User> = payments.CheckedGiftCode;
|
|
1625
1630
|
|
|
1626
1631
|
payments.giveawayInfo#4367daa0 flags:# participating:flags.0?true preparing_results:flags.3?true start_date:int joined_too_early_date:flags.1?int admin_disallowed_chat_id:flags.2?long disallowed_country:flags.4?string = payments.GiveawayInfo;
|
|
1627
|
-
payments.giveawayInfoResults#
|
|
1632
|
+
payments.giveawayInfoResults#e175e66f flags:# winner:flags.0?true refunded:flags.1?true start_date:int gift_code_slug:flags.3?string stars_prize:flags.4?long finish_date:int winners_count:int activated_count:flags.2?int = payments.GiveawayInfo;
|
|
1628
1633
|
|
|
1629
1634
|
prepaidGiveaway#b2539d54 id:long months:int quantity:int date:int = PrepaidGiveaway;
|
|
1635
|
+
prepaidStarsGiveaway#9a9d77e0 id:long stars:long quantity:int boosts:int date:int = PrepaidGiveaway;
|
|
1630
1636
|
|
|
1631
|
-
boost#
|
|
1637
|
+
boost#4b3e14d6 flags:# gift:flags.1?true giveaway:flags.2?true unclaimed:flags.3?true id:string user_id:flags.0?long giveaway_msg_id:flags.2?int date:int expires:int used_gift_slug:flags.4?string multiplier:flags.5?int stars:flags.6?long = Boost;
|
|
1632
1638
|
|
|
1633
1639
|
premium.boostsList#86f8613c flags:# count:int boosts:Vector<Boost> next_offset:flags.0?string users:Vector<User> = premium.BoostsList;
|
|
1634
1640
|
|
|
@@ -1786,7 +1792,7 @@ reactionNotificationsFromAll#4b9e22a0 = ReactionNotificationsFrom;
|
|
|
1786
1792
|
|
|
1787
1793
|
reactionsNotifySettings#56e34970 flags:# messages_notify_from:flags.0?ReactionNotificationsFrom stories_notify_from:flags.1?ReactionNotificationsFrom sound:NotificationSound show_previews:Bool = ReactionsNotifySettings;
|
|
1788
1794
|
|
|
1789
|
-
broadcastRevenueBalances#
|
|
1795
|
+
broadcastRevenueBalances#c3ff71e7 flags:# withdrawal_enabled:flags.0?true current_balance:long available_balance:long overall_revenue:long = BroadcastRevenueBalances;
|
|
1790
1796
|
|
|
1791
1797
|
availableEffect#93c3e27e flags:# premium_required:flags.2?true id:long emoticon:string static_icon_id:flags.0?long effect_sticker_id:long effect_animation_id:flags.1?long = AvailableEffect;
|
|
1792
1798
|
|
|
@@ -1805,7 +1811,7 @@ starsTransactionPeerAds#60682812 = StarsTransactionPeer;
|
|
|
1805
1811
|
|
|
1806
1812
|
starsTopupOption#bd915c0 flags:# extended:flags.1?true stars:long store_product:flags.0?string currency:string amount:long = StarsTopupOption;
|
|
1807
1813
|
|
|
1808
|
-
starsTransaction#
|
|
1814
|
+
starsTransaction#ee7522d5 flags:# refund:flags.3?true pending:flags.4?true failed:flags.6?true gift:flags.10?true reaction:flags.11?true id:string stars:long date:int peer:StarsTransactionPeer title:flags.0?string description:flags.1?string photo:flags.2?WebDocument transaction_date:flags.5?int transaction_url:flags.5?string bot_payload:flags.7?bytes msg_id:flags.8?int extended_media:flags.9?Vector<MessageMedia> subscription_period:flags.12?int giveaway_post_id:flags.13?int = StarsTransaction;
|
|
1809
1815
|
|
|
1810
1816
|
payments.starsStatus#bbfa316c flags:# balance:long subscriptions:flags.1?Vector<StarsSubscription> subscriptions_next_offset:flags.2?string subscriptions_missing_balance:flags.4?long history:flags.3?Vector<StarsTransaction> next_offset:flags.0?string chats:Vector<Chat> users:Vector<User> = payments.StarsStatus;
|
|
1811
1817
|
|
|
@@ -1839,6 +1845,10 @@ starsSubscription#538ecf18 flags:# canceled:flags.0?true can_refulfill:flags.1?t
|
|
|
1839
1845
|
|
|
1840
1846
|
messageReactor#4ba3a95a flags:# top:flags.0?true my:flags.1?true anonymous:flags.2?true peer_id:flags.3?Peer count:int = MessageReactor;
|
|
1841
1847
|
|
|
1848
|
+
starsGiveawayOption#94ce852a flags:# extended:flags.0?true default:flags.1?true stars:long yearly_boosts:int store_product:flags.2?string currency:string amount:long winners:Vector<StarsGiveawayWinnersOption> = StarsGiveawayOption;
|
|
1849
|
+
|
|
1850
|
+
starsGiveawayWinnersOption#54236209 flags:# default:flags.0?true users:int per_user_stars:long = StarsGiveawayWinnersOption;
|
|
1851
|
+
|
|
1842
1852
|
---functions---
|
|
1843
1853
|
|
|
1844
1854
|
invokeAfterMsg#cb9f372d {X:Type} msg_id:long query:!X = X;
|
|
@@ -2235,8 +2245,9 @@ messages.editFactCheck#589ee75 peer:InputPeer msg_id:int text:TextWithEntities =
|
|
|
2235
2245
|
messages.deleteFactCheck#d1da940c peer:InputPeer msg_id:int = Updates;
|
|
2236
2246
|
messages.getFactCheck#b9cdc5ee peer:InputPeer msg_id:Vector<int> = Vector<FactCheck>;
|
|
2237
2247
|
messages.requestMainWebView#c9e01e7b flags:# compact:flags.7?true peer:InputPeer bot:InputUser start_param:flags.1?string theme_params:flags.0?DataJSON platform:string = WebViewResult;
|
|
2238
|
-
messages.sendPaidReaction#
|
|
2248
|
+
messages.sendPaidReaction#9dd6a67b flags:# peer:InputPeer msg_id:int count:int random_id:long private:flags.0?Bool = Updates;
|
|
2239
2249
|
messages.togglePaidReactionPrivacy#849ad397 peer:InputPeer msg_id:int private:Bool = Bool;
|
|
2250
|
+
messages.getPaidReactionPrivacy#472455aa = Updates;
|
|
2240
2251
|
|
|
2241
2252
|
updates.getState#edd4882a = updates.State;
|
|
2242
2253
|
updates.getDifference#19c2f763 flags:# pts:int pts_limit:flags.1?int pts_total_limit:flags.0?int date:int qts:int qts_limit:flags.2?int = updates.Difference;
|
|
@@ -2402,6 +2413,7 @@ payments.getStarsGiftOptions#d3c96bc8 flags:# user_id:flags.0?InputUser = Vector
|
|
|
2402
2413
|
payments.getStarsSubscriptions#32512c5 flags:# missing_balance:flags.0?true peer:InputPeer offset:string = payments.StarsStatus;
|
|
2403
2414
|
payments.changeStarsSubscription#c7770878 flags:# peer:InputPeer subscription_id:string canceled:flags.0?Bool = Bool;
|
|
2404
2415
|
payments.fulfillStarsSubscription#cc5bebb3 peer:InputPeer subscription_id:string = Bool;
|
|
2416
|
+
payments.getStarsGiveawayOptions#bd1efd3e = Vector<StarsGiveawayOption>;
|
|
2405
2417
|
|
|
2406
2418
|
stickers.createStickerSet#9021ab67 flags:# masks:flags.0?true emojis:flags.5?true text_color:flags.6?true user_id:InputUser title:string short_name:string thumb:flags.2?InputDocument stickers:Vector<InputStickerSetItem> software:flags.3?string = messages.StickerSet;
|
|
2407
2419
|
stickers.removeStickerFromSet#f7760f51 sticker:InputDocument = messages.StickerSet;
|
|
@@ -2521,4 +2533,4 @@ smsjobs.finishJob#4f1ebf24 flags:# job_id:string error:flags.0?string = Bool;
|
|
|
2521
2533
|
|
|
2522
2534
|
fragment.getCollectibleInfo#be1e85ba collectible:InputCollectible = fragment.CollectibleInfo;
|
|
2523
2535
|
|
|
2524
|
-
// LAYER
|
|
2536
|
+
// LAYER 187
|
{electrogram-2.186.3 → electrogram-2.187.0}/pyrogram/connection/transport/tcp/tcp_abridged_o.py
RENAMED
|
@@ -52,10 +52,7 @@ class TCPAbridgedO(TCP):
|
|
|
52
52
|
else b"\x7f" + length.to_bytes(3, "little")
|
|
53
53
|
) + data
|
|
54
54
|
payload = await self.loop.run_in_executor(
|
|
55
|
-
pyrogram.crypto_executor,
|
|
56
|
-
aes.ctr256_encrypt,
|
|
57
|
-
data,
|
|
58
|
-
*self.encrypt,
|
|
55
|
+
pyrogram.crypto_executor, aes.ctr256_encrypt, data, *self.encrypt
|
|
59
56
|
)
|
|
60
57
|
|
|
61
58
|
await super().send(payload)
|
|
@@ -82,8 +79,5 @@ class TCPAbridgedO(TCP):
|
|
|
82
79
|
return None
|
|
83
80
|
|
|
84
81
|
return await self.loop.run_in_executor(
|
|
85
|
-
pyrogram.crypto_executor,
|
|
86
|
-
aes.ctr256_decrypt,
|
|
87
|
-
data,
|
|
88
|
-
*self.decrypt,
|
|
82
|
+
pyrogram.crypto_executor, aes.ctr256_decrypt, data, *self.decrypt
|
|
89
83
|
)
|
|
@@ -33,11 +33,9 @@ class SaveFile:
|
|
|
33
33
|
Useful whenever an InputFile type is required.
|
|
34
34
|
|
|
35
35
|
.. note::
|
|
36
|
-
|
|
37
36
|
This is a utility method intended to be used **only** when working with raw
|
|
38
37
|
:obj:`functions <pyrogram.api.functions>` (i.e: a Telegram API method you wish to use which is not
|
|
39
38
|
available yet in the Client class as an easy-to-use method).
|
|
40
|
-
|
|
41
39
|
.. include:: /_includes/usable-by/users-bots.rst
|
|
42
40
|
|
|
43
41
|
Parameters:
|
|
@@ -78,24 +76,46 @@ class SaveFile:
|
|
|
78
76
|
|
|
79
77
|
Raises:
|
|
80
78
|
RPCError: In case of a Telegram RPC error.
|
|
79
|
+
|
|
81
80
|
"""
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
return None
|
|
81
|
+
if path is None:
|
|
82
|
+
return None
|
|
85
83
|
|
|
86
|
-
|
|
84
|
+
async def worker(session):
|
|
85
|
+
while True:
|
|
86
|
+
data = await queue.get()
|
|
87
87
|
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
88
|
+
if data is None:
|
|
89
|
+
return
|
|
90
|
+
for attempt in range(3):
|
|
91
|
+
try:
|
|
92
|
+
await session.invoke(data)
|
|
93
|
+
break
|
|
94
|
+
except Exception as e:
|
|
95
|
+
log.warning("Retrying part due to error: %s", e)
|
|
96
|
+
await asyncio.sleep(2**attempt)
|
|
97
|
+
|
|
98
|
+
def create_rpc(chunk, file_part, is_big, file_id, file_total_parts):
|
|
99
|
+
if is_big:
|
|
100
|
+
return raw.functions.upload.SaveBigFilePart(
|
|
101
|
+
file_id=file_id,
|
|
102
|
+
file_part=file_part,
|
|
103
|
+
file_total_parts=file_total_parts,
|
|
104
|
+
bytes=chunk,
|
|
95
105
|
)
|
|
96
|
-
|
|
106
|
+
return raw.functions.upload.SaveFilePart(
|
|
107
|
+
file_id=file_id, file_part=file_part, bytes=chunk
|
|
108
|
+
)
|
|
109
|
+
|
|
110
|
+
part_size = 512 * 1024
|
|
111
|
+
queue = asyncio.Queue(32)
|
|
112
|
+
|
|
113
|
+
with (
|
|
114
|
+
Path(path).open("rb", buffering=4096)
|
|
115
|
+
if isinstance(path, str | PurePath)
|
|
116
|
+
else path
|
|
117
|
+
) as fp:
|
|
97
118
|
file_name = getattr(fp, "name", "file.jpg")
|
|
98
|
-
|
|
99
119
|
fp.seek(0, io.SEEK_END)
|
|
100
120
|
file_size = fp.tell()
|
|
101
121
|
fp.seek(0)
|
|
@@ -104,76 +124,60 @@ class SaveFile:
|
|
|
104
124
|
raise ValueError("File size equals to 0 B")
|
|
105
125
|
|
|
106
126
|
file_size_limit_mib = 4000 if self.me.is_premium else 2000
|
|
127
|
+
|
|
107
128
|
if file_size > file_size_limit_mib * 1024 * 1024:
|
|
108
129
|
raise ValueError(
|
|
109
130
|
f"Can't upload files bigger than {file_size_limit_mib} MiB"
|
|
110
131
|
)
|
|
111
132
|
|
|
112
|
-
file_total_parts =
|
|
133
|
+
file_total_parts = math.ceil(file_size / part_size)
|
|
113
134
|
is_big = file_size > 10 * 1024 * 1024
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
) # Max 8 workers
|
|
135
|
+
pool_size = 2 if is_big else 1
|
|
136
|
+
workers_count = 4 if is_big else 1
|
|
117
137
|
is_missing_part = file_id is not None
|
|
118
138
|
file_id = file_id or self.rnd_id()
|
|
119
139
|
md5_sum = md5() if not is_big and not is_missing_part else None
|
|
120
140
|
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
data = await queue.get()
|
|
124
|
-
if data is None:
|
|
125
|
-
return
|
|
126
|
-
try:
|
|
127
|
-
await session.invoke(data)
|
|
128
|
-
except Exception as e:
|
|
129
|
-
log.exception(e)
|
|
130
|
-
|
|
131
|
-
# Create multiple sessions for parallel uploads
|
|
132
|
-
async def session_factory():
|
|
133
|
-
return Session(
|
|
141
|
+
pool = [
|
|
142
|
+
Session(
|
|
134
143
|
self,
|
|
135
144
|
await self.storage.dc_id(),
|
|
136
145
|
await self.storage.auth_key(),
|
|
137
146
|
await self.storage.test_mode(),
|
|
138
147
|
is_media=True,
|
|
139
148
|
)
|
|
149
|
+
for _ in range(pool_size)
|
|
150
|
+
]
|
|
140
151
|
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
152
|
+
workers = [
|
|
153
|
+
self.loop.create_task(worker(session))
|
|
154
|
+
for session in pool
|
|
155
|
+
for _ in range(workers_count)
|
|
156
|
+
]
|
|
144
157
|
|
|
145
158
|
try:
|
|
146
|
-
|
|
147
|
-
for session in sessions:
|
|
159
|
+
for session in pool:
|
|
148
160
|
await session.start()
|
|
149
|
-
workers.append(self.loop.create_task(worker(session, queue)))
|
|
150
161
|
|
|
151
162
|
fp.seek(part_size * file_part)
|
|
163
|
+
next_chunk_task = self.loop.create_task(self.preload(fp, part_size))
|
|
152
164
|
|
|
153
165
|
while True:
|
|
154
|
-
chunk =
|
|
166
|
+
chunk = await next_chunk_task
|
|
167
|
+
next_chunk_task = self.loop.create_task(
|
|
168
|
+
self.preload(fp, part_size)
|
|
169
|
+
)
|
|
170
|
+
|
|
155
171
|
if not chunk:
|
|
156
172
|
if not is_big and not is_missing_part:
|
|
157
|
-
md5_sum =
|
|
158
|
-
[hex(i)[2:].zfill(2) for i in md5_sum.digest()]
|
|
159
|
-
)
|
|
173
|
+
md5_sum = md5_sum.hexdigest()
|
|
160
174
|
break
|
|
161
175
|
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
file_id
|
|
165
|
-
file_part=file_part,
|
|
166
|
-
file_total_parts=file_total_parts,
|
|
167
|
-
bytes=chunk,
|
|
168
|
-
)
|
|
169
|
-
else:
|
|
170
|
-
rpc = raw.functions.upload.SaveFilePart(
|
|
171
|
-
file_id=file_id,
|
|
172
|
-
file_part=file_part,
|
|
173
|
-
bytes=chunk,
|
|
176
|
+
await queue.put(
|
|
177
|
+
create_rpc(
|
|
178
|
+
chunk, file_part, is_big, file_id, file_total_parts
|
|
174
179
|
)
|
|
175
|
-
|
|
176
|
-
await queue.put(rpc)
|
|
180
|
+
)
|
|
177
181
|
|
|
178
182
|
if is_missing_part:
|
|
179
183
|
return None
|
|
@@ -198,7 +202,11 @@ class SaveFile:
|
|
|
198
202
|
except StopTransmissionError:
|
|
199
203
|
raise
|
|
200
204
|
except Exception as e:
|
|
201
|
-
log.
|
|
205
|
+
log.error(
|
|
206
|
+
"Error during file upload at part %s: %s",
|
|
207
|
+
file_part,
|
|
208
|
+
e,
|
|
209
|
+
)
|
|
202
210
|
else:
|
|
203
211
|
if is_big:
|
|
204
212
|
return raw.types.InputFileBig(
|
|
@@ -218,8 +226,8 @@ class SaveFile:
|
|
|
218
226
|
|
|
219
227
|
await asyncio.gather(*workers)
|
|
220
228
|
|
|
221
|
-
for session in
|
|
229
|
+
for session in pool:
|
|
222
230
|
await session.stop()
|
|
223
231
|
|
|
224
|
-
|
|
225
|
-
|
|
232
|
+
async def preload(self, fp, part_size):
|
|
233
|
+
return fp.read(part_size)
|
|
@@ -22,10 +22,7 @@ class GzipPacked(TLObject):
|
|
|
22
22
|
@staticmethod
|
|
23
23
|
def read(data: BytesIO, *args: Any) -> GzipPacked: # noqa: ARG004
|
|
24
24
|
# Return the Object itself instead of a GzipPacked wrapping it
|
|
25
|
-
return cast(
|
|
26
|
-
GzipPacked,
|
|
27
|
-
TLObject.read(BytesIO(decompress(Bytes.read(data)))),
|
|
28
|
-
)
|
|
25
|
+
return cast(GzipPacked, TLObject.read(BytesIO(decompress(Bytes.read(data)))))
|
|
29
26
|
|
|
30
27
|
def write(self, *args: Any) -> bytes: # noqa: ARG002
|
|
31
28
|
b = BytesIO()
|
|
@@ -10,7 +10,7 @@ from .tl_object import TLObject
|
|
|
10
10
|
class Message(TLObject):
|
|
11
11
|
ID = 0x5BB8E511 # hex(crc32(b"message msg_id:long seqno:int bytes:int body:Object = Message"))
|
|
12
12
|
|
|
13
|
-
__slots__ = ["
|
|
13
|
+
__slots__ = ["msg_id", "seq_no", "length", "body"]
|
|
14
14
|
|
|
15
15
|
QUALNAME = "Message"
|
|
16
16
|
|
|
@@ -20,7 +20,7 @@ class Int(bytes, TLObject):
|
|
|
20
20
|
) -> int:
|
|
21
21
|
return int.from_bytes(data.read(cls.SIZE), "little", signed=signed)
|
|
22
22
|
|
|
23
|
-
def __new__(cls, value: int, signed: bool = True) -> bytes:
|
|
23
|
+
def __new__(cls, value: int, signed: bool = True) -> bytes:
|
|
24
24
|
return value.to_bytes(cls.SIZE, "little", signed=signed)
|
|
25
25
|
|
|
26
26
|
|
|
@@ -15,18 +15,21 @@ if TYPE_CHECKING:
|
|
|
15
15
|
class Vector(bytes, TLObject):
|
|
16
16
|
ID = 0x1CB5C415
|
|
17
17
|
|
|
18
|
-
# Method added to handle the special case when a query returns a bare Vector (of Ints);
|
|
19
|
-
# i.e., RpcResult body starts with 0x1cb5c415 (Vector Id) - e.g., messages.GetMessagesViews.
|
|
20
18
|
@staticmethod
|
|
21
19
|
def read_bare(b: BytesIO, size: int) -> int | Any:
|
|
22
20
|
if size == 4:
|
|
23
21
|
e = int.from_bytes(b.read(4), "little")
|
|
24
22
|
b.seek(-4, 1)
|
|
23
|
+
|
|
25
24
|
if e in {BoolFalse.ID, BoolTrue.ID}:
|
|
26
25
|
return Bool.read(b)
|
|
26
|
+
|
|
27
27
|
return Int.read(b)
|
|
28
28
|
|
|
29
|
-
|
|
29
|
+
if size == 8:
|
|
30
|
+
return Long.read(b)
|
|
31
|
+
|
|
32
|
+
return TLObject.read(b)
|
|
30
33
|
|
|
31
34
|
@classmethod
|
|
32
35
|
def read(cls, data: BytesIO, t: Any = None, *args: Any) -> List: # noqa: ARG003
|
|
@@ -38,18 +38,19 @@ class TLObject:
|
|
|
38
38
|
}
|
|
39
39
|
|
|
40
40
|
def __str__(self) -> str:
|
|
41
|
-
return dumps(
|
|
42
|
-
self,
|
|
43
|
-
indent=4,
|
|
44
|
-
default=TLObject.default,
|
|
45
|
-
ensure_ascii=False,
|
|
46
|
-
)
|
|
41
|
+
return dumps(self, indent=4, default=TLObject.default, ensure_ascii=False)
|
|
47
42
|
|
|
48
43
|
def __repr__(self) -> str:
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
44
|
+
if not hasattr(self, "QUALNAME"):
|
|
45
|
+
return repr(self)
|
|
46
|
+
|
|
47
|
+
return "pyrogram.raw.{}({})".format(
|
|
48
|
+
self.QUALNAME,
|
|
49
|
+
", ".join(
|
|
50
|
+
f"{attr}={getattr(self, attr)!r}"
|
|
51
|
+
for attr in self.__slots__
|
|
52
|
+
if getattr(self, attr) is not None
|
|
53
|
+
),
|
|
53
54
|
)
|
|
54
55
|
|
|
55
56
|
def __eq__(self, other: Any) -> bool:
|
|
@@ -67,15 +68,3 @@ class TLObject:
|
|
|
67
68
|
|
|
68
69
|
def __call__(self, *args: Any, **kwargs: Any) -> Any:
|
|
69
70
|
pass
|
|
70
|
-
|
|
71
|
-
def __hash__(self) -> int:
|
|
72
|
-
return hash(
|
|
73
|
-
(
|
|
74
|
-
self.__class__,
|
|
75
|
-
*tuple(
|
|
76
|
-
getattr(self, attr)
|
|
77
|
-
for attr in self.__slots__
|
|
78
|
-
if getattr(self, attr) is not None
|
|
79
|
-
),
|
|
80
|
-
)
|
|
81
|
-
)
|
|
@@ -42,7 +42,7 @@ class Auth:
|
|
|
42
42
|
|
|
43
43
|
@staticmethod
|
|
44
44
|
def unpack(b: BytesIO):
|
|
45
|
-
b.seek(20)
|
|
45
|
+
b.seek(20)
|
|
46
46
|
return TLObject.read(b)
|
|
47
47
|
|
|
48
48
|
async def invoke(self, data: TLObject):
|
|
@@ -59,8 +59,6 @@ class Auth:
|
|
|
59
59
|
"""
|
|
60
60
|
retries_left = self.MAX_RETRIES
|
|
61
61
|
|
|
62
|
-
# The server may close the connection at any time, causing the auth key creation to fail.
|
|
63
|
-
# If that happens, just try again up to MAX_RETRIES times.
|
|
64
62
|
while True:
|
|
65
63
|
self.connection = self.connection_factory(
|
|
66
64
|
dc_id=self.dc_id,
|
|
@@ -73,14 +71,10 @@ class Auth:
|
|
|
73
71
|
)
|
|
74
72
|
|
|
75
73
|
try:
|
|
76
|
-
log.info(
|
|
77
|
-
"Start creating a new auth key on DC%s",
|
|
78
|
-
self.dc_id,
|
|
79
|
-
)
|
|
74
|
+
log.info("Start creating a new auth key on DC%s", self.dc_id)
|
|
80
75
|
|
|
81
76
|
await self.connection.connect()
|
|
82
77
|
|
|
83
|
-
# Step 1; Step 2
|
|
84
78
|
nonce = int.from_bytes(urandom(16), "little", signed=True)
|
|
85
79
|
log.debug("Send req_pq: %s", nonce)
|
|
86
80
|
res_pq = await self.invoke(raw.functions.ReqPqMulti(nonce=nonce))
|
|
@@ -99,12 +93,11 @@ class Auth:
|
|
|
99
93
|
else:
|
|
100
94
|
raise Exception("Public key not found")
|
|
101
95
|
|
|
102
|
-
# Step 3
|
|
103
96
|
pq = int.from_bytes(res_pq.pq, "big")
|
|
104
97
|
log.debug("Start PQ factorization: %s", pq)
|
|
105
98
|
start = time.time()
|
|
106
99
|
g = prime.decompose(pq)
|
|
107
|
-
p, q = sorted((g, pq // g))
|
|
100
|
+
p, q = sorted((g, pq // g))
|
|
108
101
|
log.debug(
|
|
109
102
|
"Done PQ factorization (%ss): %s %s",
|
|
110
103
|
round(time.time() - start, 3),
|
|
@@ -112,7 +105,6 @@ class Auth:
|
|
|
112
105
|
q,
|
|
113
106
|
)
|
|
114
107
|
|
|
115
|
-
# Step 4
|
|
116
108
|
server_nonce = res_pq.server_nonce
|
|
117
109
|
new_nonce = int.from_bytes(urandom(32), "little", signed=True)
|
|
118
110
|
|
|
@@ -132,7 +124,6 @@ class Auth:
|
|
|
132
124
|
|
|
133
125
|
log.debug("Done encrypt data with RSA")
|
|
134
126
|
|
|
135
|
-
# Step 5. TODO: Handle "server_DH_params_fail". Code assumes response is ok
|
|
136
127
|
log.debug("Send req_DH_params")
|
|
137
128
|
server_dh_params = await self.invoke(
|
|
138
129
|
raw.functions.ReqDHParams(
|
|
@@ -177,7 +168,6 @@ class Auth:
|
|
|
177
168
|
|
|
178
169
|
log.debug("Delta time: %s", round(delta_time, 3))
|
|
179
170
|
|
|
180
|
-
# Step 6
|
|
181
171
|
g = server_dh_inner_data.g
|
|
182
172
|
b = int.from_bytes(urandom(256), "big")
|
|
183
173
|
g_b = pow(g, b, dh_prime).to_bytes(256, "big")
|
|
@@ -237,9 +227,7 @@ class Auth:
|
|
|
237
227
|
)
|
|
238
228
|
log.debug("g_a and g_b validation: OK")
|
|
239
229
|
|
|
240
|
-
answer = (
|
|
241
|
-
server_dh_inner_data.write()
|
|
242
|
-
) # Call .write() to remove padding
|
|
230
|
+
answer = server_dh_inner_data.write()
|
|
243
231
|
SecurityCheckMismatch.check(
|
|
244
232
|
answer_with_hash[:20] == sha1(answer).digest(),
|
|
245
233
|
"answer_with_hash[:20] == sha1(answer).digest()",
|
|
@@ -249,7 +237,6 @@ class Auth:
|
|
|
249
237
|
SecurityCheckMismatch.check(
|
|
250
238
|
nonce == res_pq.nonce, "nonce == res_pq.nonce"
|
|
251
239
|
)
|
|
252
|
-
# 2nd message
|
|
253
240
|
server_nonce = int.from_bytes(server_nonce, "little", signed=True)
|
|
254
241
|
SecurityCheckMismatch.check(
|
|
255
242
|
nonce == server_dh_params.nonce,
|
|
@@ -259,7 +246,6 @@ class Auth:
|
|
|
259
246
|
server_nonce == server_dh_params.server_nonce,
|
|
260
247
|
"server_nonce == server_dh_params.server_nonce",
|
|
261
248
|
)
|
|
262
|
-
# 3rd message
|
|
263
249
|
SecurityCheckMismatch.check(
|
|
264
250
|
nonce == set_client_dh_params_answer.nonce,
|
|
265
251
|
"nonce == set_client_dh_params_answer.nonce",
|
|
@@ -271,13 +257,9 @@ class Auth:
|
|
|
271
257
|
server_nonce = server_nonce.to_bytes(16, "little", signed=True)
|
|
272
258
|
log.debug("Nonce fields check: OK")
|
|
273
259
|
|
|
274
|
-
# Step 9
|
|
275
260
|
server_salt = aes.xor(new_nonce[:8], server_nonce[:8])
|
|
276
261
|
|
|
277
|
-
log.debug(
|
|
278
|
-
"Server salt: %s",
|
|
279
|
-
int.from_bytes(server_salt, "little"),
|
|
280
|
-
)
|
|
262
|
+
log.debug("Server salt: %s", int.from_bytes(server_salt, "little"))
|
|
281
263
|
|
|
282
264
|
log.info(
|
|
283
265
|
"Done auth key exchange: %s",
|