L i.dZddlmZmZmZmZmZmZeddZeddZ er&ddlm Z e Gd deZ e Gd deZ ed ed e fd Zed e d ee fdZd eee fd ee fdZed ed e fdZed e d ee fdZd eee fd ee fdZeddZeddZer e GddeZe GddeZeded e fdZeded ee fdZdeeefd ee fdZy)aBHelper utilities around Telegram Objects first_name, last_name and username. .. versionadded:: 22.4 Warning: Contents of this module are intended to be used internally by the library and *not* by the user. Changes to this module are not considered breaking changes and may not be documented in the changelog. ) TYPE_CHECKINGOptionalProtocolTypeVarUnionoverload TeleUserLikeUserLike)boundTeleUserLikeOptionalUserLikeOptional)type_check_onlyc8eZdZUeed<eeed<eeed<y)r first_name last_nameusernameN)__name__ __module__ __qualname__str__annotations__r_/mnt/ssd/data/python-lab/Trading/venv/lib/python3.12/site-packages/telegram/_utils/usernames.pyr r $sC= 3-rc>eZdZUeeed<eeed<eeed<y)r rrrNrrrrrrrrrr r *s SM!C= 3-ruserlikereturncyNrrs rget_namer"1-0rcyr rr!s rr"r"3?BrcP|jrd|jSt|S)zwReturns ``username`` prefixed with "@". If ``username`` is not available, calls :func:`get_full_name` below`. @r!)r get_full_namer!s rr"r"7s,8$$%&& ( ++rcyr rr!s rr(r(@s25rcyr rr!s rr(r(BsDGrc|jsy|jr|jd|jS|jS)z If parameter ``first_name`` is not :obj:`None`, gives ``first_name`` followed by (if available) `UserLike.last_name`. Otherwise, :obj:`None` is returned. N )rrr!s rr(r(FsD   %%&a(:(:';<<   r TeleLinkableLinkableTeleLinkableOptionalLinkableOptionalceZdZUeed<y)r.rN)rrrrrrrrr.r.Zs rceZdZUeeed<y)r0rNrrrrr0r0^s 3-rlinkablecyr rr3s rget_linkr6cr#rcyr rr5s rr6r6er%rc:|jrd|jSy)zCIf ``username`` is available, returns a t.me link of the user/chat.z https://t.me/N)rr5s rr6r6is"x00122 rN)__doc__typingrrrrrrr r rr r rr"r(r-r/r.r0r6rrrr;s&ON~Z8 5=OP& 8   8   0|00 0 B+B B B,u\+??@,Xc], 5L5S5 5 G0GXc]G G E,0D"DE (SV- ~Z8 5=OP8 8   0|00 0 B+B B Bu\+??@Xc]r