
    dh                     n    d dl mZ  G d de      Z e       dedefd       Z e       dedefd       Zy)	    )	lru_cachec                       e Zd Zy)TokenValidationErrorN)__name__
__module____qualname__     M/var/www/netwell/bot/venv/lib/python3.12/site-packages/aiogram/utils/token.pyr   r      s    r
   r   tokenreturnc                     t        | t              st        dt        |        d      t	        d | D              rd}t        |      | j                  d      \  }}}|r|j                         r|st        d      y)zA
    Validate Telegram token

    :param token:
    :return:
    z3Token is invalid! It must be 'str' type instead of z type.c              3   <   K   | ]  }|j                           y w)N)isspace).0xs     r   	<genexpr>z!validate_token.<locals>.<genexpr>   s     
&1199;
&s   z+Token is invalid! It can't contains spaces.:zToken is invalid!T)
isinstancestrr   typeany	partitionisdigit)r   messageleftseprights        r   validate_tokenr      s|     eS!"A$u+fU
 	
 
&
&&?"7++s+D#u"#677r
   c                 T    t        |        | j                  d      ^}}t        |      S )zL
    Extract bot ID from Telegram token

    :param token:
    :return:
    r   )r   splitint)r   
raw_bot_id_s      r   extract_bot_idr%       s(     5[[%NJz?r
   N)		functoolsr   	Exceptionr   r   boolr   r"   r%   r	   r
   r   <module>r)      s\    	9 	 # $  . 	# 	# 	 	r
   