mirror of
https://github.com/TeamPGM/pyrogram.git
synced 2024-11-16 12:51:18 +00:00
538f1e3972
- 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
36 lines
745 B
Plaintext
36 lines
745 B
Plaintext
{notice}
|
|
|
|
from io import BytesIO
|
|
|
|
from pyrogram.raw.core.primitives import Int, Long, Int128, Int256, Bool, Bytes, String, Double, Vector
|
|
from pyrogram.raw.core import TLObject
|
|
from pyrogram import raw
|
|
from typing import List, Union, Any
|
|
|
|
{warning}
|
|
|
|
|
|
class {name}(TLObject): # type: ignore
|
|
"""{docstring}
|
|
"""
|
|
|
|
__slots__: List[str] = [{slots}]
|
|
|
|
ID = {id}
|
|
QUALNAME = "{qualname}"
|
|
|
|
def __init__(self{arguments}) -> None:
|
|
{fields}
|
|
|
|
@staticmethod
|
|
def read(data: BytesIO, *args: Any) -> "{name}":
|
|
{read_types}
|
|
return {name}({return_arguments})
|
|
|
|
def write(self) -> bytes:
|
|
data = BytesIO()
|
|
data.write(Int(self.ID, False))
|
|
|
|
{write_types}
|
|
return data.getvalue()
|