
    hj                      V   S SK Jr  \" S5      rSSKrSSK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  \" S\S	9r\" S
\S	9r\" SSS9S 5       r\" SSS9S 5       r\" SSS9S 5       r\" SSS9S 5       r\" SSS9S 5       r\" SS9S 5       r\" SSS9S 5       r\" SSS9S 5       rg)   )get_helphelp_broadcast    N)get_display_name)
KeyManager)HNDLRLOGSeor
get_stringudBultroid_botultroid_cmd	BROADCAST)castBROADCAST_BLACKLISTzaddblacklist( (.*)|$)F)pattern
allow_sudoc                   #    U R                   R                  S5      R                  5       nU(       a/  UR                  S5      R	                  5       (       a  [        U5      OU R                  n[        R                  U5      (       a  U R                  SSS9I S h  vN $ [        R                  U5        U R                  SU S3SS9I S h  vN   g  N6 N7f)Nr   -z!`Already in broadcast blacklist.`   timez`Added z to broadcast blacklist.`)pattern_matchgroupstriplstripisdigitintchat_idBlackMcontainsr
   addeventmsggr   s      &/root/TeamUltroid/plugins/broadcast.pybroadcast_blacklist_addr'      s     
 $$Q'--/DDKK$4$<$<$>$>c$iEMMGwYYBYKKK
JJw
))ggY&?@q)
III LI$   BCC0CCCCzremblacklist( (.*)|$)c                   #    U R                   R                  S5      R                  5       nU(       a/  UR                  S5      R	                  5       (       a  [        U5      OU R                  n[        R                  U5      (       d  U R                  SSS9I S h  vN $ [        R                  U5        U R                  SU S3SS9I S h  vN   g  N6 N7f)Nr   r   z`Not in broadcast blacklist.`r   r   z	`Removed z from broadcast blacklist.`)r   r   r   r   r   r   r   r    r!   r
   remover#   s      r&   broadcast_blacklist_remr+   '   s     
 $$Q'--/DDKK$4$<$<$>$>c$iEMMG??7##YY>QYGGG
MM'
))iy(CD1)
MMM HMr(   zlistblacklist$c                    #    [         R                  5       nU(       d  U R                  SSS9I S h  vN $ SSR                  S U5       5      -   nU R                  U5      I S h  vN   g  N8 N7f)Nz`Broadcast blacklist is empty.`r   r   z**Broadcast Blacklist:**

c              3   .   #    U  H  nS U S3v   M     g7f)u   • ``N ).0cs     r&   	<genexpr>+broadcast_blacklist_list.<locals>.<genexpr><   s     2LAU1#Q<s   )r    getr
   join)r$   blmsgs      r&   broadcast_blacklist_listr9   4   s_     
 
BYY@qYIII
&2L2L)L
LC
))C. Js!   /A.A*2A.$A,%A.,A.zaddch( (.*)|$)c                   #    U R                   R                  S5      R                  5       nU R                  [	        S5      5      I S h  vN nUS:X  Gaa  UR                  [	        S5      5      I S h  vN   U R                  R                  5       I S h  vN Vs/ s H3  nUR                  (       d  UR                  (       d  M'  UR                  PM5     nnSnU H  n UR                  (       a~  UR                  (       d  UR                  (       aZ  [        R                  UR                   5      (       d4  US-  nSUR                    3n[        R#                  [%        U5      5        M  M  M  M     UR                  [	        S5      R-                  [        R/                  5       U5      5      I S h  vN   g U R0                  (       a  U R3                  5       I S h  vN n	U	R4                  n
U
R7                  S5      n[9        U5      n[;        SUS	-
  5       H;  nX   S
S n[        R                  U5      (       a  M&  [        R#                  U5        M=     UR                  [	        S5      5      I S h  vN   [<        R>                  " S5      I S h  vN   U RA                  5       I S h  vN   g U RB                  nU[D        RF                  " S5      :X  a  g [        R                  U5      (       a#  UR                  [	        S5      5      I S h  vN   Oa[        R#                  U5      =n(       a#  UR                  [	        S5      5      I S h  vN   O"UR                  [	        S5      5      I S h  vN   [<        R>                  " S5      I S h  vN   URA                  5       I S h  vN   g  GNa GN; GNs  snf ! [&         a"  n[(        R*                  " U5         S nAGM  S nAff = f GN7 GN GN{ GN` GNK N N N No NY7f)Nr   bd_1allbd_2r   z-100bd_3r-         bd_4   LOG_CHANNELbd_6bd_5sf_8)$r   r   r   r
   r   editclientget_dialogsis_group
is_channelentity	broadcastcreatoradmin_rightsKeyMr!   idr"   r   	Exceptionr	   	exceptionformatcountreply_to_msg_idget_reply_messagetextsplitlenrangeasynciosleepdeleter   r   get_key)r$   r%   xechatsnewicidExprevious_messageraw_textlineslengthline_number
channel_idr   xxs                    r&   broadcast_adderro   @   s    
 $$Q'--/Dii
6*++Au}ffZ'((( !<<3355
5

all AHH5 	 

 A
#KKann MM!$$//1HC -CHHSX&	 0 '5    ffZ'..tzz|SABBB!&!8!8!::#((t$U FQJ/K+Ab1J==,,$ 0 ffZ'(((mmAllnmmG#++m,,}}WffZ'(((xx 	 	 ffZ'(((ffZ'(((
--

((*] 	,( 6
   #r""#B ; 	) 	)((s0  AP 	N*
(P 2N-3!P N0P &N3N3	P B	N8'A	P 0O'1)P O*AP <6P 2O-3P O0P (O3)A#P O6>P O8"P .O:/P O<P $O>%P -P 0P 3P 8
O$OP O$$P *P -P 0P 3P 6P 8P :P <P >P zremch( (.*)|$)c                   #    U R                   R                  S5      R                  5       =(       d    U R                  nU R	                  [        S5      5      I S h  vN nUS:X  aR  UR                  [        S5      5      I S h  vN   [        R                  " S5        UR                  S5      I S h  vN   g [        R                  U5      (       a8  [        R                  U5        UR                  [        S5      5      I S h  vN   O"UR                  [        S5      5      I S h  vN   [        R                  " S	5      I S h  vN   UR                  5       I S h  vN   g  GN N N Ne ND N( N7f)
Nr   com_1r<   bd_8r   zDatabase cleared.bd_7bd_9rC   )r   r   r   r   r
   r   rH   r   del_keyrQ   r!   r*   r]   r^   r_   )r$   r   ra   s      r&   broadcast_removerrv   w   s	    
 !!''*002CemmGii
7+,,A%ffZ'(((K ff()))}}WGffZ'(((ffZ'(((
--

((* 	-() 	)(s   AE3E$'E3E'.E33E)4AE3E+"E3(E-)E3E/E3E1E3'E3)E3+E3-E3/E31E3zlistchannels$)r   c                 @  #    U R                  [        S5      5      I S h  vN n[        R                  5       n[        R	                  5       nU(       d  [        USSS9I S h  vN $ SnU H>  nSn [        U R                  R                  U5      I S h  vN 5      nUSU SU S	3-  nM@     US
U S3-  n[        U5      S:  a  UR                  SS5      R                  SS5      n[        R                  " [        R                  U5      5       nSUl        U R!                  SUSSS9I S h  vN   UR#                  5       I S h  vN   S S S 5        g UR%                  U5      I S h  vN   g  GNM GN N! [         a    Sn Nf = f NY NC! , (       d  f       g = f N47f)Nrq   zNo chats were added.r   r   zChannels in database:
 z=> **z** [`z`]
z
Total z
 channels.i   *r/   zchannels.txtzChannels in DatabaseTF)fileforce_documentallow_cache)r
   r   rQ   r5   rV   r   rI   
get_entity
ValueErrorr[   replaceioBytesIOstrencodenamereplyr_   rH   )	r$   ra   channelsnumr8   channelr   MSGout_files	            r&   list_allr      s     ii
7+,,AxxzH
**,C2;;;
#C	#%,,*A*A'*J$JKD 	tfE'$//  XcU*%%C
3x$kk#r"**33ZZ

3(H*HM++&#!	     ((* )( ffSk5 	- <
 %K 	D	  )( 	s   FE-AF"E0#F1#E5E3
E5A3FF-F.FF	F
F'F(F0F3E55FFFFF	F
FFzforward$c                   #    U R                   (       d"  U R                  [        S5      5      I S h  vN $ U R                  n[        R                  5       nU R                  S5      I S h  vN nU(       d!  UR                  S[         S35      I S h  vN $ SnSnU R                  5       I S h  vN nSn[        R                  5       =(       d    / nU HU  nX;   a  M
   UR                  " X5      I S h  vN   US-  nUR                  SU SU S	[        U5       35      I S h  vN   MW     UR                  U SU S35      I S h  vN   US:  a3  UR                  " [        R                  " S
5      U S35      I S h  vN   g g  GNU GN N N N Nm! [         a     UR                  " [        R                  " S
5      SU S35      I S h  vN    O-! [         a   n	[         R"                  " U	5         S n	A	OS n	A	ff = fUS-  nUR                  SU SU S	[        U5       35      I S h  vN     GMb  f = f N N7f)Nex_1z
Sending...Please add channels by using `add` in them.r   r   Sent : 	
Error : 	
Total : rD   Error in sending at . messages sent with  errors. Errors)is_replyr
   r   rI   rQ   r5   rH   r   rX   r    forward_messagesr[   rS   send_messager   r`   r	   info)
r$   r   r   ra   error_count
sent_countrh   	blacklistr   Ems
             r&   forwr      s"    
 >>YYz&1222,,KxxzHii%%AVV<UG=QRRRKJ"4466K

"I	..wIII!OJ&&*Z}Js8}oV   * &&J<3K=I
JJJQ&&KK&;-w(?
 	
 	
 C 3 	&R 7 J  	!..KK.*7)15    		"1K&&*Z}Js8}oV  	 K	
s   /H>F8H>*F	+'H>FH>.F//H>F4F5/F$F%F)H>H:7H>?H< H>	H>H>H>FF
H7.GGGH7
G>G94H79G>>.H7,H/-H72H>6H77H><H>zbroadcast( (.*)|$)c                   #    U R                  [        S5      5      I S h  vN nU R                  (       d"  UR                  [        S5      5      I S h  vN $ [        R                  5       nU(       d!  UR                  S[         S35      I S h  vN $ UR                  S5      I S h  vN   U R                  (       Ga/  U R                  5       I S h  vN nUR                  (       a!  UR                  S[         S35      I S h  vN $ U(       a  SnSn[        R                  5       =(       d    / nU HY  nXv;   a  M
   [        R                  " Xs5      I S h  vN   US	-  nUR                  S
U SU S[        U5       35      I S h  vN   M[     UR                  U SU S35      I S h  vN   US:  a7  [        R                  " [        R                   " S5      U S35      I S h  vN   g g g g  GN GN GNf GNP GN) N N Nz! [         aw  n[        R                  " [        R                   " S5      SU SU 35      I S h  vN    US	-  nUR                  S
U SU S[        U5       35      I S h  vN     S nAGMM  S nAff = f N N7f)Nrq   r   r   r   zSending....zReply `zforward` for polls.r   r   r   r   r   rD   r   z.

r   r   r   )r
   r   r   rH   rQ   r5   r   rW   rX   pollr    r   r   r[   rS   r   r`   )	r$   ra   r   rh   r   r   r   r   errors	            r&   sendingr      sX    
 ii
7+,,A>>VVJv.///xxzHVV<UG=QRRR
&&
!&!8!8!::  '%0C DEEEKJ

*I#'%227MMM!OJ&&!*Z}JsS[}o^   $$ &&J<';K=QRRRQ!..KK."m7+   / 	  	-/ S:E N ! %22M2.wiuUGD    1$K&&!*Z}JsS[}o^    Ss   JG/2JG2;JG5J(G8))JG;1JG>8J>HH /HHHJ*J+;J&J
'	J2J5J8J;J>J HH
J4J I0J 3I64J 9J JJ
J)rx   r   __doc__r]   r   telethon.utilsr   pyUltroid.dB.baser   r   r	   r
   r   r   r   r   listrQ   r    r'   r+   r9   ro   rv   r   r   r   r0       r&   <module>r      s>   
#
$  	 + ( I I I+D)	)	5 $J	J $N	N 	 0	0f 	" < &
	&
R  '	'r   