
    *biL                         S SK Jr  S SKJr  S SKJrJr  S SKJ	r
JrJr  S SKJr  S SKJr  SSKJr  SS	KJr  SS
KJrJr  SSKJrJr  0 qS rS rS r\S 5       r\S 5       r S r!S r"\S 5       r#g)    )open)redirect_stdout)StringIOBytesIO)pathgetcwdchdir)indent)
format_exc   )LOGGER)TgClient)sync_to_asyncnew_task)	send_filesend_messagec                 >   U R                   R                  [        ;  ac  [        5       S   [        R
                  U U R                  =(       d    U R                  U R                   S.[        U R                   R                  '   [        U R                   R                     $ )N__builtins__)r   botmessageuserchat)r   id
namespacesglobalsr   r   	from_usersender_chatr   s    /app/bot/modules/exec.pynamespace_ofr       sj    ||j(#In5<<%%<)<)<LL'

7<<??# glloo&&    c           	          [         R                  " SU R                   SU R                  (       a  U R                  R                  OU R
                  R                   SU R                  R                   S35        g )NzIN: z (user=z, chat=))r   infotextr   r   r   r   r   s    r   	log_inputr&      sq    
KK
w||nGG<M<MG$5$5$8$8SZSfSfSiSi#jjqryr~r~  sB  sB  rC  CD  	Er!   c                 N  #    [        [        U 5      5      S:  aB  [        [        R                  U 5      5       nSUl        [        X5      I S h  vN   S S S 5        g [        R                  " SU  S35        [        USU  S35      I S h  vN   g  N@! , (       d  f       g = f N7f)Ni  z
output.txtzOUT: ''z<code>z</code>)	lenstrr   encodenamer   r   r$   r   )msgr   out_files      r   sendr/   #   s     
3s8}tSZZ_%(HMG... &% 	fSEO$7fSE$9::: / &%
 	;s:   7B%BBB6B%
B#B%B
B B%c                 `   #    [        [        SU5      I S h  vN U5      I S h  vN   g  N N7f)Naexecr/   do_r   s     r   
aioexecuter6   -   s%     
R))7
333)3   .*.,..c                 `   #    [        [        SU5      I S h  vN U5      I S h  vN   g  N N7f)Nexecr2   r4   s     r   executer:   2   s%     
R(('
222(2r7   c                     U R                  S5      (       a9  U R                  S5      (       a#  SR                  U R                  S5      SS 5      $ U R	                  S5      $ )Nz```
   z` 
)
startswithendswithjoinsplitstrip)codes    r   cleanup_coderE   7   sM    u$--"6"6yyD)!B/00::fr!   c                 B  #    [        U5        UR                  R                  SS9S   n[        U5      n[	        U5      n[        [        5       5        [        [        R                  " [        5       S5      S5       IS h  vN nUR                  U5      I S h  vN   S S S 5      IS h  vN   [        5       n U S:X  a  [        S[        US5       3U5        O[        S	[        US5       3U5         US   n [#        U5         U S:X  a  [%        U5      I S h  vN OU" 5       I S h  vN n	S S S 5        UR'                  5       n
S nW	c/  U
(       a  U
 nO* [)        [%        [*        X45      I S h  vN 5       nOU
 U	 3nU(       a  U$ g  GN	 N N! , IS h  vN  (       d  f       N= f! [         a%  nUR                  R                    S
U 3s S nA$ S nAff = f N N! , (       d  f       N= f N!    Nx= f!   UR'                  5       n
U
 [-        5        3s $ = f7f)Nr=   )maxsplitr>   zbot/modules/temp.txtwr9   zdef func():
z  zasync def func():
z: func)r&   r%   rB   rE   r    r	   r   aiopenospathrA   writer   r9   r
   	Exception	__class____name__r   r   getvaluereprevalr   )rI   r   contentbodyenvtempstdouterfuncfunc_returnvalueresults               r   r3   r3   =   s    gll  ! ,R0G D
w
C	&(Ofkk&(,BCSIITjj JI ZF.6>=d!3 45s;&vdD'9&:;SA KEV$.2fnmE***-  % !!7 $=t+I%I JKF w{m,FM I J JIII  .++&&'r!--. +- %$ &J(!''s  A>H F	HFFFH)F*H9F* HF* 2H9G: G GG (G)G -G: 5 HG3 .G1/	G3 8HFHF'FF'#H*
G4GGHGHG G  
G.*G: 1G3 3G75H: HHc                    #    [        U5        UR                  R                  [        ;   a  [        UR                  R                  	 [	        SU5      I S h  vN   g  N7f)NzLocals Cleared.)r&   r   r   r   r/   r4   s     r   clearr^   l   s>     g||*$w||'
 '
***s   AAAAN)$aiofilesr   rJ   
contextlibr   ior   r   osr   rK   r   r	   textwrapr
   	tracebackr    r   core.telegram_managerr   helper.ext_utils.bot_utilsr   r   $helper.telegram_helper.message_utilsr   r   r   r    r&   r/   r6   r:   rE   r3   r^    r!   r   <module>rj      s    # &   , ,     , @ J

'; 
4 
4 
3 
3,^ 
+ 
+r!   