When reading flag vectors, non-existent vectors are being translated
to [] (empty list). When writing them, the flag condition was
strictly checking for None and an empty list [] would result in an
empty vector being serialized, which should not happen.
Related to #871.
* Avoid variable conflicts with Telegram TL schema
* Fix game button with no data attached to button
* Update combinator.txt
* Update compiler.py
* Update tl_object.py
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