o
    5˜Žj²  ã                   @   sL   d dl mZ G dd„ deƒZededefdd„ƒZededefdd	„ƒZd
S )é    )Ú	lru_cachec                   @   s   e Zd ZdS )ÚTokenValidationErrorN)Ú__name__Ú
__module__Ú__qualname__© r   r   úP/var/www/kodo/Anonymous/send/lib/python3.10/site-packages/aiogram/utils/token.pyr      s    r   ÚtokenÚreturnc                 C   sp   t | tƒsdt| ƒ› d�}t|ƒ‚tdd„ | D ƒƒr d}t|ƒ‚|  d¡\}}}|r0| ¡ r0|s6d}t|ƒ‚dS )	zA
    Validate Telegram token

    :param token:
    :return:
    z3Token is invalid! It must be 'str' type instead of z type.c                 s   s   � | ]}|  ¡ V  qd S )N)Úisspace)Ú.0Úxr   r   r   Ú	<genexpr>   s   € z!validate_token.<locals>.<genexpr>z+Token is invalid! It can't contains spaces.ú:zToken is invalid!T)Ú
isinstanceÚstrÚtyper   ÚanyÚ	partitionÚisdigit)r	   ÚmsgÚmessageÚleftÚsepÚrightr   r   r   Úvalidate_token   s   
r   c                 C   s   t | ƒ |  d¡^}}t|ƒS )zL
    Extract bot ID from Telegram token

    :param token:
    :return:
    r   )r   ÚsplitÚint)r	   Ú
raw_bot_idÚ_r   r   r   Úextract_bot_id    s   r    N)	Ú	functoolsr   Ú	Exceptionr   r   Úboolr   r   r    r   r   r   r   Ú<module>   s    