* Add new invite link export methods
* Implement higher-level Invite type
* Update Docstrings and rename Invite
* Docstrings are now more consistent with other methods
* Invite is now InviteLink to be less arbitrary
* Add method to get exported links
* `get_exported_chat_invites`
* prepare `__init__` for the other InvitesV2 methods
* Update returned type
`str` -> `types.InviteLink`
* Add method to edit invite link
Since editing the link returns a slightly different type to exporting,
I have made a small "hack" in the InviteLink type.
* Move Invites V2 methods to their own namespace
* Add get_chat_invite_importers and InviteImporter
Method to fetch information on users that joined via a specific link and
the type to display the information
* Add methods to delete revoked links
* delete_exported_chat_invite to delete a single revoked link
* delete_revoked_exported_chat_invites to delete all revoked links of a
specified admin
* Renaming Invite(s) to InviteLink(s)
As per @delivrance's request
https://github.com/pyrogram/pyrogram/pull/630#issuecomment-791893890
Also sorted invites' __init__ alphabetically
* Add Method to get admins with exported invite link
Documentation needs an update and the respective type needs to be
created. I cannot test this, as I lack Creator permissions.
* Invite Links overhaul
* Rearrange code
Co-authored-by: Dan <14043624+delivrance@users.noreply.github.com>
Previously, passing anything that was not None would result in the boolean
flag being set to True, even when passing False. This will make it simpler
to deal with optional flag-boolean values in the raw API.
- Pyrogram core is now fully asynchronous
- Ditched Python 3.5, welcome 3.6 as minimum version.
- Moved all types to pyrogram.types
- Turned the Filters class into a module (filters)
- Moved all filters to pyrogram.filters
- Moved all handlers to pyrogram.handlers
- Moved all emoji to pyrogram.emoji
- Renamed pyrogram.api to pyrogram.raw
- Clock is now synced with server's time
- Telegram schema updated to Layer 117
- Greatly improved the TL compiler (proper type-constructor hierarchy)
- Added "do not edit" warning in generated files
- Crypto parts are executed in a thread pool to avoid blocking the event loop
- idle() is now a separate function (it doesn't deal with Client instances)
- Async storage, async filters and async progress callback (optional, can be sync too)
- Added getpass back, for hidden password inputs
* Use raw string for re pattern
* Trim trailing whitespaces from docstrings and code
* Use isinstance() instead of type() for typechecking
* Remove unused imports