# Hydrogram - Telegram MTProto API Client Library for Python# Copyright (C) 2023-present Hydrogram <https://hydrogram.org>## This file is part of Hydrogram.## Hydrogram 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.## Hydrogram 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 Hydrogram. If not, see <http://www.gnu.org/licenses/>.fromioimportBytesIOfromhydrogram.raw.core.primitivesimportInt,Long,Int128,Int256,Bool,Bytes,String,Double,Vectorfromhydrogram.raw.coreimportTLObjectfromhydrogramimportrawfromtypingimportList,Optional,Any# # # # # # # # # # # # # # # # # # # # # # # ## !!! WARNING !!! ## This is a generated file! ## All changes made in this file will be lost! ## # # # # # # # # # # # # # # # # # # # # # # #
[docs]classUsername(TLObject):# type: ignore"""Contains information about a username. Constructor of :obj:`~hydrogram.raw.base.Username`. Details: - Layer: ``181`` - ID: ``B4073647`` Parameters: username (``str``): The username. editable (``bool``, *optional*): Whether the username is editable, meaning it wasn't bought on fragment. active (``bool``, *optional*): Whether the username is active. """__slots__:List[str]=["username","editable","active"]ID=0xb4073647QUALNAME="types.Username"def__init__(self,*,username:str,editable:Optional[bool]=None,active:Optional[bool]=None)->None:self.username=username# stringself.editable=editable# flags.0?trueself.active=active# flags.1?true@staticmethoddefread(b:BytesIO,*args:Any)->"Username":flags=Int.read(b)editable=Trueifflags&(1<<0)elseFalseactive=Trueifflags&(1<<1)elseFalseusername=String.read(b)returnUsername(username=username,editable=editable,active=active)defwrite(self,*args)->bytes:b=BytesIO()b.write(Int(self.ID,False))flags=0flags|=(1<<0)ifself.editableelse0flags|=(1<<1)ifself.activeelse0b.write(Int(flags))b.write(String(self.username))returnb.getvalue()