
     io-                     H   d dl mZmZmZmZmZ d dlmZmZm	Z	m
Z
 d dlZd dlZd dlZd dlZd dlZd dlZd dlmZ defdZdedz  fdZdedz  dedz  fd	Zdedz  fd
ZdefdZdefdZdefdZdeddfdZddededz  fdZdedee z  fdZ!dede"fdZ#dededefdZ$dS )    )
JsonObjectJsonObjectValue
JsonString
JsonNumberMessage)TelegramClient	functionstypeserrorsN)loggerreturnc                  \    t          j         d          } |                     d            | S )Nzsessions/*.sessionc                 @    t           j                            |           S N)ospathgetmtime)xs    F/Users/rezajafarian/Desktop/Projects/tg-reseter-bot/utils/functions.py<lambda>zget_sessions.<locals>.<lambda>   s     0 0 3 3     )key)globsort)sessionss    r   get_sessionsr      s/    y-..HMM33M444Or   c                      	 t          ddd          5 } d | D             }d d d            n# 1 swxY w Y   |rt          j        |          nd S # t          $ r t	          j        d           Y d S w xY w)Nzutils/proxies.txtrutf-8encodingc                     g | ]Q}|                                 |                                                     d           =|                                 RS #strip
startswith.0lines     r   
<listcomp>zget_proxy.<locals>.<listcomp>   sI    gggTZZ\\g$**,,JaJabeJfJfgtzz||gggr   z8utils/proxies.txt not found. Continuing without proxies.openrandomchoiceFileNotFoundErrorr   warning)fproxiess     r   	get_proxyr4      s    %sW=== 	hgggggG	h 	h 	h 	h 	h 	h 	h 	h 	h 	h 	h 	h 	h 	h 	h)0:v}W%%%d:   QRRRtt,   A -A 1A 1A A21A2r*   c                 2   | r|                      d          }	 t          |          dk    r|\  }}d|t          |          dS t          |          dk    r-d|d         t          |d                   |d         |d         d	S d S # t          $ r Y d S w xY wd S )
N:   socks5)
proxy_typeaddrport   r         )r:   r;   r<   usernamepassword)splitlenint	Exception)r*   partsr;   r<   s       r   parse_proxy_linerG      s     

3		5zzQ"
d&.c$iiPPPUq&.a#eTUh--ejklem  |A  BC  |D  E  E  Et 	 	 	44	4s   *B ?B 
BBc                      	 t          ddd          5 } d | D             }d d d            n# 1 swxY w Y   |rt          j        |          nd S # t          $ r t	          j        d           Y d S w xY w)Nzutils/push_tokens.txtr   r   r    c                     g | ]?}|                                 |                    d           +|                                 @S r#   r%   )r)   ls     r   r+   z"get_push_token.<locals>.<listcomp>2   s>    RRRAaggiiRS@Q@QRaggiiRRRr   z utils/push_tokens.txt not found.r,   )r2   tokenss     r   get_push_tokenrL   /   s    )3AAA 	SQRRRRRF	S 	S 	S 	S 	S 	S 	S 	S 	S 	S 	S 	S 	S 	S 	S(.8v}V$$$D8   9:::ttr5   c                  .    t          j        g d          S )N)zSDK 29zSDK 30SDK 31zSDK 32zSDK 33zSDK 34r.   r/    r   r   get_random_system_versionrQ   9   s    =UUUVVVr   c                  ,    t          j        dg          S )Nz12.0.1 (6166)rO   rP   r   r   get_random_app_versionrS   =   s    =/*+++r   c                  
   	 t          ddd          5 } d |                                 D             }d d d            n# 1 swxY w Y   |r&t          j        |                                          ndS # t
          $ r Y dS w xY w)Nzutils/device.txtr   r   r    c                     g | ]?}|                                 |                    d           +|                                 @S r#   r%   r(   s     r   r+   z+get_random_device_model.<locals>.<listcomp>D   sB    kkkkVZVeVefiVjVjktzz||kkkr   zPixel 5)r-   	readlinesr.   r/   r&   r0   )r2   devicess     r   get_random_device_modelrX   A   s    $cG<<< 	lkkkkkG	l 	l 	l 	l 	l 	l 	l 	l 	l 	l 	l 	l 	l 	l 	l18Gv}W%%++---iG   yys1   A4 ?A4 AA4 A,A4 4
BBclientc                   K   	 d| j         _        t          t          dt	          t                                          t          dt	          d                    t          dt	          d                    t          dt	          d                    t          d	t          d
                    t          dt          d                    g          | j         _        d S # t          $ r"}t          j
        d|            Y d }~d S d }~ww xY w)Nandroiddevice_tokendata@49C1522548EBACD46CE322B6FD47F6092BB745D0F88082145CAF35E14DCC38E1	installerzcom.android.vending
package_idzorg.telegram.messenger	tz_offsetiperf_catr8   z5[patch_client] warning: couldn't patch init_request: )_init_request	lang_packr   r   r   rL   r   paramsrE   r   debug)rY   es     r   patch_clientrh   J   s     S *3&&0NJ~7G7G,H,HIIFJ/q$r$rssK4I)J)JKKL*5M*N*NOOKE):):;;J
1662
 ' '###  S S SQaQQRRRRRRRRRSs   CC 
D)DD#   connect_timeoutc                   K   	 t          j        t                                }t          t	                                }t          |ddddddd|	  	        }t          |           d {V  t          j        |	                                | 	           d {V  |S # t          j
        $ re t          j        d
t          j                            |           d           	 |                                 d {V  n# t"          $ r Y nw xY wY d S t"          $ rn}t          j        dt          j                            |           d|            	 |                                 d {V  n# t"          $ r Y nw xY wY d }~d S d }~ww xY w)N    eb06d4abfb49dc3eeb1aeb98ae0f581ezsamsungSM-A125Fz11.6.2 (56152)rN   zfr-CAfr)	sessionapi_idapi_hashdevice_modelapp_versionsystem_versionsystem_lang_code	lang_codeproxy)timeoutz+[create_client] Timeout connecting session z (proxy may be slow).z*[create_client] Error creating client for z: )r.   r/   r   rG   r4   r   rh   asynciowait_forconnectTimeoutErrorr   errorr   r   basename
disconnectrE   )rj   session_pathrw   telegramrg   s        r   create_client_for_sessionr   ^   s     !}\^^44 --! 7*(#$

 

 

 8$$$$$$$$$x//11?KKKKKKKKKK   x27CSCST`CaCaxxxyyy	%%'''''''''' 	 	 	D	tt   g"'BRBRS_B`B`ggdegghhh	%%'''''''''' 	 	 	D	tttttsg   BB AF!C<;F<
D	FD		F	F7FE+*F+
E85F7E88FFapi_urlc                 L  K   	 t          j        ddd          4 d {V }|                    |            d {V }t          j        d|j                  }|r|                    d          ndcd d d           d {V  S # 1 d {V swxY w Y   d S # t          $ r Y dS w xY w)NT
   F)follow_redirectsrx   verifyz(\d{5})r>   )httpxAsyncClientgetresearchtextgrouprE   )r   rY   responsematchs       r   extract_login_coder      sO     $dBuUUU 	6 	6 	6 	6 	6 	6 	6Y_#ZZ00000000HIj(-88E%*55;;q>>>	6 	6 	6 	6 	6 	6 	6 	6 	6 	6 	6 	6 	6 	6 	6 	6 	6 	6 	6 	6 	6 	6 	6 	6 	6 	6 	6 	6 	6 	6    uus5   B AB/B 
BB BB 
B#"B#accountc                 b  K   	 t          j        d           t                       d {V }|r=d| v r|                     d          \  }}nd| v r|                     d          \  }}|                    |           d {V }t          j        d|j         d           t          |j        t          j        j	                  rt          j
        d           dS t          |j        t          j        j                  rt          j        d           	  |t          j                            ||j        	                     d {V }t          |j        d
d           }t          j        d| d| d           d|rdndfS # t           $ r"}t          j
        d|            Y d }~dS d }~ww xY wt          |j        t          j        j                  rt          j        d           t%          j        d           d {V  t)          |           d {V }|st          j
        d| d           dS 	 t          j        d| d           |                    |t-          |          |j                   d {V }t          j        d           dS # t.          j        j        $ r t          j        d           	  |t          j                            d                      d {V }t          j        d!| d           d|rd"ndfcY S # t           $ r#}t          j
        d#|            Y d }~Y d$S d }~ww xY wt           $ r"}t          j
        d%|            Y d }~d$S d }~ww xY wt          j
        d&           d'S # t           $ r"}t          j
        d(|            Y d }~d'S d }~ww xY w))Nz,--------------------------------------------|-z.<green>[+]</green> Code request sent, <yellow>z	</yellow>z><red>[-]</red> Unsuccess in sending SMS verifaction code to tg)Funsuccess_smsz&<green>[+]</green> Resetting email ...)phone_numberphone_code_hashreset_pending_datezB<green>[+]</green> Account resetted successfully (email), <yellow>z, z
</yellow>.Tsuccess_reset_emailunsuccess_reset_2faz.<red>[-]</red> Received error in reset email, )Funsuccess_reset_emailzA<green>[+]</green> Sleep 10s to receive last verifaction code ...r   )r   z,<red>[-]</red> Not found verifaction code, ())Fnot_found_verifaction_codez<<green>[+]</green> Received last verifaction code, (<yellow>z
</yellow>))phonecoder   z2<green>[+]</green> Account logged in successfully.)Tloginz/<green>[+]</green> Trying to reset password ...F79CdnW0eyrcZvQ2)reasonz;<green>[+]</green> Account resetted successfully, (<yellow>success_reset_2faz(<red>[-]</red> Received error in reset, )Fr   z(<red>[-]</red> Received error in login, z1[reset_number] Error in create_client_for_session)Funknowz[reset_number] Error -> )r   infor   rB   send_code_requesttype
isinstancer
   authSentCodeTypeAppr}   SentCodeTypeEmailCoder	   ResetLoginEmailRequestr   getattrrE   SentCodeTypeSmsry   sleepr   sign_inrD   r   rpcerrorlistSessionPasswordNeededErrorr   DeleteAccountRequest)r   r   r   r   r   pendingr}   verifaction_codes           r   reset_numberr      s      ?!BCCC244444444 4	:g~~(/c(:(:%gg(/c(:(:%g%77EEEEEEEEHKaaaabbb(-)CDD +:^___//HM5:+KLL ':EFFF<%-Xin.S.Sam  @H  @X.S  /Y  /Y  &Z  &Z   Z   Z   Z   Z   Z   ZH%hm5I4PPGK  !Eem  !E  !Eqx  !E  !E  !E  F  F  F 7"]"7"7H]^^  < < <L!YRW!Y!YZZZ;;;;;;< HM5:+EFF :`aaamB''''''''');G)L)L)L#L#L#L#L#L#L ' AL!cP`!c!c!cddd@@:K {_o { { {|||%-%5%5LsScOdOdv~  wO%5  &P  &P   P   P   P   P   P   PHK UVVV*?*E > > >K RSSS>)1)2C2X2X`r2X2s2s)t)t#t#t#t#t#t#t$vbj$v$v$vwww $X&`&9&9K`aaaa$ > > >%WPU%W%WXXX=======> ! : : :L!SE!S!STTT999999: 	IJJJ   ! ! !777888      !s   CN 8N A-F 
F-F("N (F--BN 6AJ (M)=ALM)N 
L;L6/M)3N 6L;;M)M$N $M))N 
N.N))N.user_idaccountsprocess_messagec                 |  K   	 g g g g g d}|D ]}t          |           d {V }|d         r(|d         dk    r|d                             |           n|d         dk    r(|d         dk    r|d                             |           n|d         r(|d         dk    r|d                             |           n|d         dk    r(|d         d	k    r|d                             |           ng|d         dk    r(|d         d
k    r|d                             |           n3|d         dk    r'|d         dk    r|d                             |           	 t          d |                                D                       }|                    dt          |           d| dt          |           d           d {V  #  Y xY wt          |d                   dk    rZt          d|  dd          5 }|                    d                    |d                              d d d            n# 1 swxY w Y   t          |d                   dk    rZt          d|  dd          5 }|                    d                    |d                              d d d            n# 1 swxY w Y   t          |d                   dk    rZt          d|  dd          5 }|                    d                    |d                              d d d            n# 1 swxY w Y   t          |d	                   dk    rZt          d|  dd          5 }|                    d                    |d	                              d d d            n# 1 swxY w Y   t          |d                   dk    r]t          d|  dd          5 }|                    d                    |d                              d d d            d S # 1 swxY w Y   d S d S # t          $ r"}t          j        d|            Y d }~d S d }~ww xY w)N)r   r   r   r   r   )r   r   r>   r   Fr   r   r   r   r   c              3   4   K   | ]}t          |          V  d S r   )rC   )r)   vs     r   	<genexpr>z reset_numbers.<locals>.<genexpr>   s(       A AAQ A A A A A Ar   u=   <b>✅ File analyzed, resetting...

• Total Numbers: <code>u   </code>
• Processed: <code>/z</code></b>(z)-(success-reset-email).txtw
z)-(unsuccess-reset-email).txtz)-(success-reset-2fa).txtz)-(unsuccess-reset-2fa).txtz)-(unknow).txtz+[reset_numbers] Error resetting numbers -> )r   appendsumvalueseditrC   r-   writejoinrE   r   r}   )	r   r   r   statusr   r   
total_donefiler}   s	            r   reset_numbersr      s     6L)+b_az|  IK  L  L 	 	G)':::::::::H { 1x{.CCC,-44W====!%%(1+9P*P*P./66w????! 
1!0C!C!C*+227;;;;!%%(1+9N*N*N*+227;;;; !%%(1+*H*Hx ''0000!%%(1+*A*Ax ''000  A A A A AAA
%**  ,Bmpqymzmz  ,B  ,B  [e  ,B  ,B  hk  lt  hu  hu  ,B  ,B  ,B  C  C  C  C  C  C  C  C  C  C v+,--11>'>>>DD E

499V,A%BCCDDDE E E E E E E E E E E E E E E v-.//!33@'@@@#FF G$

499V,C%DEEFFFG G G G G G G G G G G G G G G v)*++a//<'<<<cBB Cd

499V,?%@AABBBC C C C C C C C C C C C C C C v+,--11>'>>>DD E

499V,A%BCCDDDE E E E E E E E E E E E E E E vh  1$$1'111377 84

499VH%5667778 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 %$
  L L LJ5JJKKKKKKKKKLs   EP A*GP G3P 8/H3'P 3H77P :H7;0P +/J&P &J**P -J*.0P /LP LP  L!0P /N P NP N0P /P 3P  PP PP 
P;P66P;)ri   )%telethon.tl.typesr   r   r   r   r   telethonr   r	   r
   r   ry   r.   r   r   r   r   utils.loggerr   listr   strr4   dictrG   rL   rQ   rS   rX   rh   rD   r   boolr   tupler   r   rP   r   r   <module>r      sU   Z Z Z Z Z Z Z Z Z Z Z Z Z Z = = = = = = = = = = = =     				 				      d    3:    3: $+     d
    W3 W W W W, , , , ,    S~ S$ S S S S(" "S ".SWBW " " " "Jc cDj    @! @! @! @! @! @!F7L 7L 7Lw 7L 7L 7L 7L 7L 7Lr   