
    YPi.                        d Z ddlmZmZmZmZmZmZ  edd      Z edd      Z	er&ddlm
Z
 e
 G d	 de             Ze
 G d
 de             Zededefd       Zede	dee   fd       Zdeee	f   dee   fdZededefd       Zede	dee   fd       Zdeee	f   dee   fdZ edd      Z edd      Zer e
 G d de             Ze
 G d de             Zededefd       Zededee   fd       Zdeeef   dee   fdZy)aB  Helper 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_CHECKINGOptionalProtocolTypeVarUnionoverloadTeleUserLikeUserLike)boundTeleUserLikeOptionalUserLikeOptional)type_check_onlyc                   8    e Zd ZU eed<   ee   ed<   ee   ed<   y)r
   
first_name	last_nameusernameN)__name__
__module____qualname__str__annotations__r        O/root/twitch_bot/venv/lib/python3.12/site-packages/telegram/_utils/usernames.pyr
   r
   $   s    C= 3-r   c                   >    e Zd ZU ee   ed<   ee   ed<   ee   ed<   y)r   r   r   r   Nr   r   r   r   r   r   r   r   r   r   r   *   s     SM!C= 3-r   userlikereturnc                      y Nr   r   s    r   get_namer"   1       -0r   c                      y r    r   r!   s    r   r"   r"   3       ?Br   c                 P    | j                   rd| j                    S t        |       S )zwReturns ``username`` prefixed with "@". If  ``username`` is not available, calls
    :func:`get_full_name` below`.
    @r!   )r   get_full_namer!   s    r   r"   r"   7   s,     8$$%&&(++r   c                      y r    r   r!   s    r   r(   r(   @   s    25r   c                      y r    r   r!   s    r   r(   r(   B   s    DGr   c                     | j                   sy| j                  r| j                    d| j                   S | j                   S )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 )r   r   r!   s    r   r(   r(   F   sD     %%&a(:(:';<<r   TeleLinkableLinkableTeleLinkableOptionalLinkableOptionalc                       e Zd ZU eed<   y)r.   r   N)r   r   r   r   r   r   r   r   r.   r.   Z   s    r   c                       e Zd ZU ee   ed<   y)r0   r   Nr   r   r   r   r0   r0   ^   s    3-r   linkablec                      y r    r   r3   s    r   get_linkr6   c   r#   r   c                      y r    r   r5   s    r   r6   r6   e   r%   r   c                 :    | j                   rd| j                    S y)zCIf ``username`` is available, returns a t.me link of the user/chat.zhttps://t.me/N)r   r5   s    r   r6   r6   i   s"    x00122r   N)__doc__typingr   r   r   r   r   r   r	   r   r   r
   r   r   r"   r(   r-   r/   r.   r0   r6   r   r   r   <module>r;      s  & O N~Z85=OP & 8    
  8     
 0| 0 0 
 0	 B+ B B 
 B,u\+??@ ,Xc] , 
 5L 5S 5 
 5	 G0 GXc] G 
 G
E,0D"DE 
(SV- 
 ~Z85=OP 8    8     
 0| 0 0 
 0	 B+ B B 
 Bu\+??@ Xc] r   