# Pyrogram - Telegram MTProto API Client Library for Python # Copyright (C) 2017-present Dan # # This file is part of Pyrogram. # # Pyrogram is free software: you can redistribute it and/or modify # it under the terms of the GNU Lesser General Public License as published # by the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # Pyrogram is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public License # along with Pyrogram. If not, see . 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, Optional, Any # # # # # # # # # # # # # # # # # # # # # # # # # !!! WARNING !!! # # This is a generated file! # # All changes made in this file will be lost! # # # # # # # # # # # # # # # # # # # # # # # # # class AcceptUrlAuth(TLObject): # type: ignore """Telegram API function. Details: - Layer: ``158`` - ID: ``B12C7125`` Parameters: write_allowed (``bool``, *optional*): N/A peer (:obj:`InputPeer `, *optional*): N/A msg_id (``int`` ``32-bit``, *optional*): N/A button_id (``int`` ``32-bit``, *optional*): N/A url (``str``, *optional*): N/A Returns: :obj:`UrlAuthResult ` """ __slots__: List[str] = ["write_allowed", "peer", "msg_id", "button_id", "url"] ID = 0xb12c7125 QUALNAME = "functions.messages.AcceptUrlAuth" def __init__(self, *, write_allowed: Optional[bool] = None, peer: "raw.base.InputPeer" = None, msg_id: Optional[int] = None, button_id: Optional[int] = None, url: Optional[str] = None) -> None: self.write_allowed = write_allowed # flags.0?true self.peer = peer # flags.1?InputPeer self.msg_id = msg_id # flags.1?int self.button_id = button_id # flags.1?int self.url = url # flags.2?string @staticmethod def read(b: BytesIO, *args: Any) -> "AcceptUrlAuth": flags = Int.read(b) write_allowed = True if flags & (1 << 0) else False peer = TLObject.read(b) if flags & (1 << 1) else None msg_id = Int.read(b) if flags & (1 << 1) else None button_id = Int.read(b) if flags & (1 << 1) else None url = String.read(b) if flags & (1 << 2) else None return AcceptUrlAuth(write_allowed=write_allowed, peer=peer, msg_id=msg_id, button_id=button_id, url=url) def write(self, *args) -> bytes: b = BytesIO() b.write(Int(self.ID, False)) flags = 0 flags |= (1 << 0) if self.write_allowed else 0 flags |= (1 << 1) if self.peer is not None else 0 flags |= (1 << 1) if self.msg_id is not None else 0 flags |= (1 << 1) if self.button_id is not None else 0 flags |= (1 << 2) if self.url is not None else 0 b.write(Int(flags)) if self.peer is not None: b.write(self.peer.write()) if self.msg_id is not None: b.write(Int(self.msg_id)) if self.button_id is not None: b.write(Int(self.button_id)) if self.url is not None: b.write(String(self.url)) return b.getvalue()