mirror of
https://github.com/LonamiWebs/Telethon.git
synced 2024-11-23 18:03:46 +03:00
24 lines
727 B
Python
24 lines
727 B
Python
|
from .gzippacked import GzipPacked
|
||
|
from ..types import RpcError
|
||
|
|
||
|
|
||
|
class RpcResult:
|
||
|
CONSTRUCTOR_ID = 0xf35c6d01
|
||
|
|
||
|
def __init__(self, req_msg_id, body, error):
|
||
|
self.req_msg_id = req_msg_id
|
||
|
self.body = body
|
||
|
self.error = error
|
||
|
|
||
|
@classmethod
|
||
|
def from_reader(cls, reader):
|
||
|
msg_id = reader.read_long()
|
||
|
inner_code = reader.read_int(signed=False)
|
||
|
if inner_code == RpcError.CONSTRUCTOR_ID:
|
||
|
return RpcResult(msg_id, None, RpcError.from_reader(reader))
|
||
|
if inner_code == GzipPacked.CONSTRUCTOR_ID:
|
||
|
return RpcResult(msg_id, GzipPacked.from_reader(reader).data, None)
|
||
|
|
||
|
reader.seek(-4)
|
||
|
return RpcResult(msg_id, reader.read(), None)
|