
    hj:                        S SK Jr  \" S5      rSSKrSSKJr  SSKJrJr  SSK	J
r
Jr  SSK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  S SK JrJrJrJrJrJrJrJ r   \ " SSSSSS9S 5       r!\ " SSSSSS9S 5       r"\ " SSSSSS9S 5       r#\ " SSSSSS9S 5       r$\ " SSSSS9S 5       r%\ " SSSSSS9S 5       r&\ " S SS!SS9S" 5       r'\ " S#SS!SS9S$ 5       r(\ " S%SSS!SS9S& 5       r)\ " S'SS(S)9S* 5       r*\ " S+S,9S- 5       r+\ " S.S,9S/ 5       r,\ " S0SSS19S2 5       r-\ " S3S,9S4 5       r.\ " S5SS69S7 5       r/\ " S8SSSS99S: 5       r0g);   )get_helphelp_admintools    N)BadRequestError)ChatNotModifiedErrorUserIdInvalidError)EditAdminRequestGetFullChannelRequest)GetFullChatRequestSetHistoryTTLRequest)InputMessagesFilterPinned)get_display_name)DEVLIST)ban_time)	get_uinfo)HNDLRLOGSeodeor
get_stringinline_mentiontypesultroid_cmdzpromote( (.*)|$)T
add_admins)patternadmins_onlymanagerrequirefullsudoc                   #    U R                  [        S5      5      I S h  vN n[        U 5      I S h  vN u  p#U=(       d    SnSnU(       d"  UR                  [        S5      5      I S h  vN $ UR	                  5       S   S:X  a   UR	                  SS9S   nS	n U(       aN  U R                  [        U R                  UR                  U R                  R                  U5      5      I S h  vN   O<U R                  R                  U R                  UR                  S	S	S	S	S	US
9I S h  vN   [        U[        S5      R                  [        U5      U R                  R                   U5      5      I S h  vN   g  GNZ GNJ GN! [
         a    Sn Nf = f N Nm N$! ["         a(  nUR                  SU S35      I S h  vN  s S nA$ S nAff = f7f)Ncom_1AdminFpro_1r   z-fr   maxsplitTinvite_users	ban_usersdelete_messagespin_messagesmanage_calltitlepro_2`)r   r   r   editsplit
IndexErrorclientr	   chat_ididchatadmin_rights
edit_adminr   formatr   r,   	Exception)ultxxuserrank	FullRightexs         '/root/TeamUltroid/plugins/admintools.pyprmterA      s     wwz'*+	+B ~%JD?7DIWWZ0111zz|A$	::q:)!,D 	(** dggsxx7L7LdS   **''! $!  ( 	 	 	 
7#**>$+?QUV
 	
 	
9 
,% 2  	D	
		
  (WWqAY''''(s   GE:GE=7G+F ,GF GAF ,F-<F )F*A
F 4F5F 9G=G GFGFGF F F 
G%G=G >GGGGGzdemote( (.*)|$)c                 j  #    U R                  [        S5      5      I S h  vN n[        U 5      I S h  vN u  p#U(       d  SnU(       d"  UR                  [        S5      5      I S h  vN $  U R                  R                  U R                  UR                  S S S S S US9I S h  vN   [        U[        S5      R                  [        U5      U R                  R                  5      5      I S h  vN   g  N N N NU N! [         a(  nUR                  SU S35      I S h  vN  s S nA$ S nAff = f7f)Nr!   z	Not Adminde_1r&   de_2r.   )r   r   r   r/   r2   r7   r3   r4   r   r8   r   r5   r,   r9   )r:   r;   r<   r=   r?   s        r@   dmoterE   G   s     wwz'*+	+B ~%JDWWZ/000(jj##KKGG  $ 	
 		
 		
 "j(//t0DchhnnUVVV# 
,% 1		
 	W (WWqAY''''(s   D3C4D3C63D3'C8(D3-7C> $C:%A	C> .C</C> 3D36D38D3:C> <C> >
D0D+ D#!D+%D0&D3+D00D3zban( (.*)|$)r(   c                 R  #    [        U 5      I S h  vN nU(       d  g Uu  p#U(       d  [        U [        S5      5      I S h  vN $ UR                  [        ;   a  [        U [        S5      5      I S h  vN $  U R
                  R                  U R                  UR                  SS9I S h  vN   [        U R                  5       I S h  vN 5      n[        U5      n[        S5      R                  XTU R                  R                  5      nU(       a  U[        S5      R                  U5      -  n[        X5      I S h  vN   g  GN1 GN N N! [         a!    [        U [        S5      5      I S h  vN  s $ [         a!    [        U [        S5      5      I S h  vN  s $ f = f N Nh7f)	Nban_1ban_2Fview_messagesadm_1ban_3ban_4ban_5)r   r   r   r4   r   r2   edit_permissionsr3   r   r   r   
get_senderr8   r5   r,   )r:   	somethingr<   reasonsendermeusermetexts          r@   bbanrV   e   sM      n$ILDj1222ww'j12223jj))#++twwe)TTT
 CNN$445HD!Fg%%fGD
7#**622
c.' %
 32T 3j12222 3j1222234
 s   F'E/F'E0F'2E3F'82E *E
+E /F'F#A4F'<F%=F'F'F'
E "F .E1/F 4F'6!F FF F'F  F'%F'zunban( (.*)|$)c                   #    U R                  [        S5      5      I S h  vN nU R                  SS  R                  S5      (       a  g [	        U 5      I S h  vN nU(       d  g Uu  p4U(       d"  UR                  [        S5      5      I S h  vN $  U R                  R                  U R                  UR                  SS9I S h  vN   [        U R                  5       I S h  vN 5      n[        S	5      R                  [        U5      XPR                   R"                  5      nU(       a  U[        S
5      R                  U5      -  nUR                  U5      I S h  vN   g  GN@ GN N N! [         a!    [        U [        S5      5      I S h  vN  s $ [         a&    UR                  [        S5      5      I S h  vN  s $ f = f N Nm7f)Nr!   r   unbanallunban_1TrI   rK   adm_2unban_3rN   )r   r   rU   
startswithr   r/   r2   rO   r3   r4   r   r   r   r   rP   r8   r5   r,   )r:   r;   rQ   r<   rR   senderrU   s          r@   uunbanr^      se     wwz'*+	+B
xx|z**n$ILDWWZ	23332jj))#++twwd)SSS
 #.."223Fi ''t(<fhhnnUD
7#**622
''$-' 
, %
 4S 3j12222 2WWZ0111122 s   G
E 6G
E#4G
E&G
2E* E(E* 	G
!G"A8G
GG
#G
&G
(E* *"GFGG
&G:F=;G G
GG
G
zkick( (.*)|$))r   r   r   r   c                   #    SU R                   ;   a  g U R                  (       a  U R                  SSS9I S h  vN $ U R                   R                  SSS9S   nU R                  [	        S	5      5      I S h  vN n[        U 5      I S h  vN nU(       d  g Uu  pEU(       d"  UR                  [	        S
5      5      I S h  vN $ UR                  [        ;   a"  UR                  [	        S5      5      I S h  vN $ [        USS5      (       a"  UR                  [	        S5      5      I S h  vN $  U R                  R                  U R                  UR                  5      I S h  vN   [	        S5      R%                  ['        U5      ['        U R)                  5       I S h  vN 5      U R*                  R,                  5      nU(       a  U[	        S5      R%                  U5      -  nUR                  U5      I S h  vN   g  GN GN GNy GNG GN N N! [         aC  n[        R                  " U5        UR                  [	        S5      5      I S h  vN  s S nA$ S nAf[          a   n[        R"                  " U5         S nAg S nAff = f N N7f)Nkickmez`Use this in Group/Channel.`   time r   r$   r   r!   rK   kick_2is_selfFkick_3kick_1kick_4rN   )rU   
is_privater   r0   r   r   r/   r4   r   getattrr2   kick_participantr3   r   r   infor9   	exceptionr8   r   rP   r5   r,   )	r:   mlr;   rQ   r<   rR   ererU   s	            r@   kckrr      s     388
~~WW;!WDDD	a	(	+Bwwz'*+	+Bn$ILDWWZ0111ww'WWZ1222tY&&WWZ1222jj))#++tww??? h&&tn3>>3C-CDchhnnD 
7#**622
''$-5 E	+$
 222? 3		"WWZ12222 q .D s   6JG=>J7H 8J
H4J?H 5J5H	63J)H*J/3H "H#H '6JJAJ7J
8J JJJ	JJH 
J3IIIJJJ%J ;J JJ
Jztban( (.*)|$)c                 4  #    U R                   R                  5       nS n US   n US   nU(       d"  U R                  [	        S5      5      I S h  vN $ U R                  R                  U5      I S h  vN n U R                  R                  U5      I S h  vN n [        U5      nU R                  R                  U R                  UR                  USS	9I S h  vN   [!        U [	        S
5      R#                  [%        U5      U R&                  R(                  U5      SS9I S h  vN   g ! [         a%    U R                  [	        S5      SS9I S h  vN  s $ f = f! [         a8    U R
                  (       a#  U R                  5       I S h  vN  R                  n GNrf = f GNR GN2 GN! [         a#  n[        U SU S35      I S h  vN  s S nA$ S nAff = f N N! [         a-  nU R                  [+        U5      5      I S h  vN  s S nA$ S nAff = f7f)Nr   adm_3   rb      tban_1r.   F)
until_daterJ   tban_2)rU   r0   r1   r   r   reply_to_msg_idget_reply_message	sender_idr2   parse_id
get_entityr9   r   rO   r3   r4   r   r8   r   r5   r,   str)	rq   huhinputttmeuseridr<   r?   bunms	            r@   tkickir      s     &&,,.CF9!f=Q UU:h/00088$$V,,F'XX((00#smhh''IItww3e ( 
 	
 	
 x ''t(<affllCP
 	
 	
'  9UU:g.RU88889  =//111<<F= 1,0 'at1I&&&&'	
	

  #UU3q6]"""#s#  HD* E $HF!"H2F$3H8F* F'F* >G GA	G $G%G )H*&EEEHEH.F
FFHFH$H'F* *
G4GG
GGHGHG G 
H(HHH
HHHHzpin$r*   c                 8  #    U R                   (       d  [        U [        S5      5      I S h  vN $ U R                  5       I S h  vN nUR                  (       a  SnOSUR
                   S3n U R                  R                  U R                  UR                  SS9I S h  vN   [        X5      I S h  vN   g  N Nv N! [         a!    [        U [        S5      5      I S h  vN  s $ [         a#  n[        U SU S	35      I S h  vN  s S nA$ S nAff = f Nd7f)
Npin_1z	`Pinned.`zPinned [This Message](z) !F)notifyrZ   **ERROR:**`r.   )is_replyr   r   r{   rj   message_linkr2   pin_messager3   r4   r   r9   )msgmerU   rq   s       r@   pinr      s     <<j1222$$&	&B	}}''8<2jj$$S[["%%$FFF
 c. 3	& 	G 3j12222 2A3a011112s   *DB9DB;(D.2B?  B=!B? %D3D4D;D=B? ?"D!C$"D'D)	D2DDD
DDDDzunpin($| (.*))c                   #    U R                  [        S5      5      I S h  vN nU R                  R                  S5      R	                  5       R	                  5       nS nU R
                  (       a  U R                  nO;US:w  a5  UR                  [        S5      R                  [        5      5      I S h  vN $  U R                  R                  U R                  U5      I S h  vN   UR                  S5      I S h  vN   g  N NO N"! [         a&    UR                  [        S5      5      I S h  vN  s $ [         a(  nUR                  SU S35      I S h  vN  s S nA$ S nAff = f Nn7f)	Nr!   r   allunpin_1rZ   r   r.   z`Unpinned!`)r   r   pattern_matchgroupstripr   rz   r/   r8   r   r2   unpin_messager3   r   r9   )r:   r;   chr   rq   s        r@   unpr     s     wwz'*+	+B



!
!!
$
*
*
,	3	3	5B
C
||!!	uWWZ	299%@AAA1jj&&s{{C888
 ''-
    
, B8 2WWZ01111 1WW{1#Q/00001 s   E+D BE+2D3E+8)D !D"D &E+:E);E+E+D 'E&-D0.E&3E+5	E&>E!EE!E&E+!E&&E+ztpin( (.*)|$)c                 z  #    U R                   R                  S5      R                  5       nU R                  (       d  U R	                  SSS9I S h  vN $ U(       d  U R	                  SSS9I S h  vN $ U R	                  [        S5      5      I S h  vN nU R                  n [        U5      nU R                  R                  U R                  U5      I S h  vN   UR	                  SU S	3SS9I S h  vN   [        R                  " U5      I S h  vN    U R                  R!                  U R                  U5      I S h  vN   g  N N N Nt NZ! [         a-  nUR                  [        U5      5      I S h  vN  s S nA$ S nAff = f Nx NK! [         a   n["        R$                  " U5         S nAg S nAff = f7f)
Nr   z`Reply to message..`   rb   z`Please provide time..`   r!   z`pinned for time` `r.   )r   r   r   r   r   r   rz   r   r2   r   r3   r9   r/   r   asynciosleepr   r   rn   )r:   matchr   msg_idrc   rp   s         r@   r   r     sb     ##A&,,.E<<WW3!W<<<WW6QW???
7+,
,C  F'jj$$S[[&999gg+D63!g<<< --
jj&&s{{F;;; =?
, 	:< 'XXc"g&&&&'; rs   AF;EF;/E0!F;E
F;#4E EE 3E4E 8F;F
F;)F  FF F;F;
F;E E 
FF7E:8F<F=F;FF;F 
F8F3.F;3F88F;zpurge( (.*)|$)r)   )r   r   r   c           	        #    U R                   R                  S5      R                  5       n U R                  S   nU(       a  U R                  S   S;   a  g U R
                  R                  (       d  U(       dK  U R                  (       a  U R                  (       d)  [        U R                  [        R                  5      (       a~  SnU R                  R                  U R                  U(       a  [!        U5      OS U R                  (       a  U R"                  OS S9  S h  vN nUR%                  5       I S h  vN   US-  nM(  U R"                  (       d  ['        U [)        S
5      SS	9I S h  vN $  U R                  R+                  U R                  [-        [/        U R"                  U R0                  5      5      5      I S h  vN   U R'                  SSS	9I S h  vN   g ! [         a    S n GNf = f N N
 ['        U SU S3SS	9I S h  vN  $  N NO! [2         a   n[4        R6                  " U5         S nANrS nAff = f Nf7f)Nr   r   )r   ar   )limitmin_idPurged z Messages! ra   rb   purge_1
   z__Fast purge complete!__)r   r   r   rU   r1   _client_botr   rj   
isinstancer5   r   Chatr2   iter_messagesr3   intrz   deleter   r   r)   listranger4   r9   r   rm   )purgr   ABCpr   rp   s         r@   
fastpurgerr   5  s    $$Q'--/Eiil tyy|z)<<	MMt*TYY

2S2S22LL %#e*4+/==4''d 3 
 	#
 **,FAz)42>>>kk))LL$uT%9%9477CD
 	
 	
 ((-A(
6665  	
 
 ;7a@@@@>	
  		"6s   *IG CIG5G1G5"I6G373I*H+I0AH  HH IH?IG.*I-G..I1G53I5IH	IH 
H<H72I7H<<Izpurgeme( (.*)|$))r   c                 |  #    U R                   R                  S5      R                  5       =n(       a[   [        U5      nSnU R                  R                  U R                  USS9  S h  vN nUR                  5       I S h  vN   US-  nM(  U R                  (       d  [        U S
SS9I S h  vN $ U R                  5       I S h  vN n/ nU R                  R                  USU R                  S9  S h  vN nUR                  U5        M  ! [         a     [        U [        S5      SS9I S h  vN     g f = f N N
 [        U SU S	3SS9I S h  vN    g  N N Nf
 U(       a$  U R                  R                  XV5      I S h  vN    U R                  S[!        [#        U5      5      -   S-   SS9I S h  vN    g 7f)Nr   com_3ra   rb   r   r   )r   	from_userr   z
 Messages!zA`Reply to a message to purge from or use it like ``purgeme <num>`r   )r   r   z%__Fast purge complete!__
**Purged** `z` **messages.**)r   r   r   r   BaseExceptionr   r   r2   r   r3   r   rz   r   get_input_chatappendr)   r   len)r   numnntmpmmr5   msgsr   s           r@   fastpurgermer   W  s       &&q)//11s1	c(C 11LLt 2 
 	" ))+!GB !!O
 
 	

 $$&&DD[[..## /  c
 	C1  	dJw/a888		 

 $'"Z0q999

 '  kk))$555
((03s4y>ADUU    s   1F<D 'F<&D>*D:+D>.F<D<*F<-E.F<E+F<1E5E6E9F<!D7.D1/D74F<6D77F<:D><F<>F<EF<F<E&F<F0F<5F86F<z	purgeall$c                   #    U R                   (       d  [        U [        S5      5      I S h  vN $ U R                  5       I S h  vN nUR                  n U R
                  R                  U R                  UR                  S9I S h  vN   U R                  [        S5      R                  UR                  5      SS9I S h  vN   g  N N NC N! [         a,  nU R                  [        U5      SS9I S h  vN  s S nA$ S nAff = f7f)N
purgeall_1)r   
purgeall_2ra   rb   )r   r   r   r{   r]   r2   r)   r3   r|   r   r8   
first_namer9   r   )rq   r   namerp   s       r@   _r     s      ::|$
 
 	

 ##%
%C::D,hh&&qyyCMM&JJJeeJ|,33DOOD1eMMM

 & 	KM ,UU3r7U++++,s   *DCDC	D1C C9C CC D	DC C 
DD 5C86D :D;D DDpinned)r   r   groups_onlyc                   #    U R                  5       I S h  vN n[        U[        R                  5      (       a-  U R	                  [        UR                  5      5      I S h  vN nOM[        U[        R                  5      (       a-  U R	                  [        UR                  5      5      I S h  vN nOg UR                  R                  nU(       d"  U R                  [        S5      5      I S h  vN $ U R                  R                  UR                  US9I S h  vN nU(       a<  U R                  [        S5      R                  UR                  5      5      I S h  vN   g g  GNM GN N N| NR N7f)Npinned_1)idspinned_2)get_chatr   r   r   r2   r   r4   Channelr
   	full_chatpinned_msg_idr   r   get_messagesr8   r   )eventr5   FChatr   r   s        r@   djshshr     s     !!D$

##ll#5dgg#>??	D%--	(	(ll#8#ABB__**FYYz*5666))$''v)>
>C
ii
:.55c6F6FGHHH  "?B
 7
>Hsm   E1E#A
E1!E&"AE1-E).A E1.E+/+E1E-AE1E/E1&E1)E1+E1-E1/E1zlistpinned$c           
        #    U R                  [        S5      5      I S h  vN n[        U R                  5      R	                  SS5      n[        U R                  5      nSnSnU R                  R                  U R                  [        S9  S h  vN nUR                  (       a2  SR                  UR                  R                  5       S S 5      nU S3nOS	nXE S
U SUR                   SU S3-  nUS-  nMo   N Nl
 US:X  a  SU S3n	OSU S3n	U(       d  [        U[        S5      SS9I S h  vN  $ UR                  X-   SS9I S h  vN    g 7f)Nr!   z-100 r   )filterrd      z....zGo to message.z. <a href=https://t.me/c//>z</a>
z<b>The pinned message in z:</b>

z <b>List of pinned message(s) in 	listpin_1ra   rb   html)
parse_mode)r   r   r   r3   replacer   r5   r2   r   r   messagejoinr0   r4   r/   )
r   xr3   	chat_namer   cittxtr   s
             r@   get_all_pinnedr     sI     ii
7+,,A5==!**626G ,I
A	A<<--7 .  	a 99*2A./ACt*C"C	s+G9AaddV1SEHH	Q 	-
	  	Av'	{)<.ykCJ{3!<<<<
&&6&
***sM   EC:A*EC>C<C>A(E<C>>2E0D31EEEzautodelete( (.*)|$))r   r   c                   #    U R                   R                  S5      R                  5       nU(       a  US;  a  U R                  SSS9I S h  vN $ US:X  a  SnOUS:X  a  S	nOUS
:X  a  SnOSn U R	                  [        U R                  US95      I S h  vN   U R                  SU S35      I S h  vN   g  Nk N$! [         a     U R                  SU S3SS9I S h  vN  s $ f = f N67f)Nr   )24h7d1moffz`Please Use in Proper Format..`ra   rb   r   iQ r   i:	 r   i( r   )periodz(Auto Delete Setting is Already same to `r.   zAuto Delete Status Changed to `z` !)r   r   r   r   r2   r   r3   r   )r:   r   tts      r@   	autodelter     s    
 ##A&,,.EE!;;WW>QWGGG~	$	$
jj-ckk"EFFF
 ''3E7#>
??? H 	G 
WW6ugQ?a  
 
 
 	

 @s`   A
C+B8!C+/&B< B:B< C+2C)3C+:B< <!C&C C&#C+%C&&C+zkickall( (.*)|$))r   r   r   r   c                   #    U R                   (       a  U R                  SSS9I Sh  vN $ U R                  R                  S5      R	                  5       nUR                  5       S:H  nU(       d   U R                  S[         S3S	S9I Sh  vN $ U R                  S
5      I Sh  vN nSnSnU R                  R                  U R                  5        Sh  vN nUR                  (       d8  [        UR                  SS5      (       d  [        UR                  SS5      (       a  MT   U R                  R                  U R                  UR                  5      I Sh  vN   US-  n[        R                   " S5      I Sh  vN   M   GN\ N N N N2 N! ["         a	    US-  n M  f = f
 UR%                  SU SU S35      I Sh  vN    g7f)z*Kick all non-admin members from the group.z`Use this in a Group.`ra   rb   Nr   confirmz;`Are you sure? This will kick ALL non-admin members!
Use` `zkickall confirm` `to proceed.`r   z`Starting KickAll...`r   r6   creatorFg      ?z**KickAll Done!**
**Kicked:** `z`
**Failed:** `r.   )rj   r   r   r   r   lowerr   r2   iter_participantsr3   botrk   participantrl   r4   r   r   r9   r/   )r:   r   r   r;   kickedfailedmembers          r@   kickall_cmdr     s     ~~WW5AW>>>##A&,,.Ekkmy(GWWJ5'Qop  
 
 	
 ww./	/BFF

44S[[A f::!3!3^TJJgV\VhVhjsuzN{N{	**--ckk699EEEaKF--$$$# ?
 
0 F$ 	aKF	 B ''
*6(2B6(!L  s   %G	FA"G	
FG	#F$-G	F&F
F&AG	&3FF"F<F=FG	G	G	
F&FFF#G	"F##G	GG	)1r   r   __doc__r   telethon.errorsr   telethon.errors.rpcerrorlistr   r   telethon.tl.functions.channelsr	   r
   telethon.tl.functions.messagesr   r   telethon.tl.typesr   telethon.utilsr   pyUltroid.dBr   pyUltroid.fns.adminsr   pyUltroid.fns.infor   r   r   r   r   r   r   r   r   rA   rE   rV   r^   rr   r   r   r   r   r   r   r   r   r   r   r        r@   <module>r     st   
$
%  + Q R S 7 +   ) ( S S S !(!(H ((. . . 	B ##B VT>DQ R" 	!!" * %t=NO7 P7B ""J ,, Xt>I ?I  ++8 !@	@* 	r  