
    i"                         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 dlmZ d dlm	Z	 d dl
mZ d dlmZmZ dZdZd	Z ej$                  e      Zdd
ZddZd Zd Zd ZddZd Zedk(  r e        yy)    N)pprint)MP3)FLAC)EasyID3)InlineKeyboardMarkupInlineKeyboardButtonz.1474444432:AAH7YKrlJqyO-zqDjf2lRqUA3y-F3BUultoiv:1	837696118c                 v   	 t        j                  | d      }|rY	 |j                         j                  di       j                  d      dk(  ry 	 	 |j                         j                  d      ry 	 |S |S # t        $ r t        j                  | d      }Y w xY w# t        $ r Y Ww xY w# t        $ r Y |S w xY w)N   )timeouterrormessagezQuota limit exceeded)requestsget	Exceptionjson)urlchat_idcontrolthings       2/opt/botmrturbo-original/Channel-Assistant/send.pyrequest_urlr      s    .S"- 	zz|,00;?UU V	zz|( ) L5L  .S"-.  		
  	L	s4   A6 2B B+ 6 BB	B('B(+	B87B8c           	          	 t        t        dd      gg      }t        j                  | ||xs ||ddd       y # t        $ r}t        |       Y d }~y d }~ww xY w)Nu   ❌delete_message)textcallback_data)inline_keyboardTHTML)reply_markupreply_to_message_iddisable_notificationdisable_web_page_preview
parse_mode)r   r   botsendMessager   print)r   r   r   r    keyboardexcs         r   r%   r%   )   sg    ':NTYiy:z9{8|}%1 3!%%) 	 	
  c

s   9< 	AAAc                 V   	 t        |       }t        j                  j                  |       }t        j                  j	                  ddd      }|j                  |       |j                          t        t        |       j                  j                        }|j                  ddg      d   }|j                  dt        j                  j                  |       g      d   }|||fS # t        j                  j                  j                   $ r t#        |       }	 |j                          n# t$        $ r Y nw xY wt        |j                  j                        }|j                  ddg      d   }|j                  dt        j                  j                  |       g      d   }|||fcY S w xY w)	N   eng )encodinglangdescartistzUnknown Artistr   title)r   mutagenid3ID3COMMaddsaveintr   infolengthr   ospathbasename_utilID3NoHeaderErrorr   r   )
audio_pathtagr3   frameduration	performerr1   s          r   _get_tags_and_durationrE   9   sa   *j!kkooj)  !%c B
s:++223GGH'7&89!<	"''"2"2:">!?@CE));;-- 	*:	HHJ 		sxx'GGH'7&89!<	"''"2"2:">!?@CE))	*s7   C"C% %2F(D)(F()	D52F(4D55A0F('F(c                     dt        | d      i}|r^t        |t        t        f      r
d|df|d<   |S t        |t              r.t
        j                  j                  |      rt        |d      |d<   |S )Naudiorbz	thumb.jpgz
image/jpegthumb)open
isinstancebytes	bytearraystrr;   r<   isfile)r@   imagefiless      r   _build_filesrR   P   sl    d:t,-EeeY/0)5,?E'N L s#u(=!%.E'NL    c                     | j                         D ]*  }t        |t              r|d   n|}	 |j                          , y # t        $ r Y 9w xY w)N   )valuesrK   tuplecloser   )rQ   valueobjs      r   _close_filesr[   Z   sM     $UE2eAh	IIK  		s   ?	A
Ac           
         	 t         j                  j                  |      rt        |      \  }}}t         j                  j	                  |      dk  r| |||d}dt
         d}t        ||      }		 t        j                  |||	d      }
t        |	       t        |
j                         t        |
j                         	 |
j                         }t        |       |
j                   r|j#                  d	      sZt%        |d
t'        |j#                  d|
j                              z          y t%        |d|z          y t(        j+                  | |       y y # t        |	       w xY w# t        $ r d|
j                  d}Y w xY w# t,        j.                  j0                  $ rp}t        |       t%        |d       	 t(        j%                  t2        dj5                  |t6        j8                               n# t        $ r Y nw xY wY d }~y Y d }~y d }~wt        $ r-}t        |       t%        |dt'        |      z          Y d }~y d }~ww xY w)Ni)r   rC   rD   r1   zhttps://api.telegram.org/botz
/sendAudiox   )datarQ   r   F)okdescriptionr_   zError on sending audio: r`   z{Sorry, but Telegram doesn't allow sending music files bigger than 50MB :(
Please lower the download quality for this track
z)Sorry this track doesn't seem readable :(z(Telepot exception caught: {}
Sys args {})r   r   z6Error on sending audio: Internal server exception 457 )r;   r<   rO   rE   getsize	BOT_TOKENrR   r   postr[   r&   status_coder   r   r   r   r_   r   r%   rN   r$   	sendAudiotelepot	exceptionTelegramErrorMASTER_USER_IDformatsysargv)r   rG   adminUserIdrP   rC   rD   r1   r^   r   rQ   responseresponse_jsonr(   s                r   re   re   c   s	   (f77>>% )?)F&Hiwwu%0& (!*"	 5YKzJ$UE2('}}St5RUVH 'h**+hmm$P$,MMOM }%{{-*;*;D*A-G#mN_N_`mowo|o|N}J~-~K  *i  lq  *q  rMM'5) +B !'
 ! P+0$OMP ** c
K!LM	OON9d9k9kloqtqyqy9zO{ 		 |  fc
K!Y\_`c\d!deefs   A.F 1E 
5F  E# AF +F ;F E  F #E>;F =E>>F IH	69G0/H	0	G<9H	;G<<H		I#H==Ic                     t        t        j                        dk  rt        d      t        j                  d   } t        j                  d   }t        j                  d   }t        t        j                        dkD  rt        j                  d   nt        }	 |rt        |      j                  nd }t        | |||       t        d       y # t        $ r}t        |       Y d }~%d }~ww xY w)N   z;Usage: send.py <chat_id> <audio_path> <image> [adminUserId]rU      r*   zAll done)
lenrk   rl   
SystemExitDEFAULT_ADMIN_USER_IDr   contentre   r   r&   )userIdr@   rP   rm   image_contentr(   s         r   mainry      s    
388}qVWWXXa[F!JHHQKE!$SXX!2#((1+8MK6;E*22&*k=A 
*  c

s   'C
 
	C(C##C(__main__)NF)NN)N)r;   rk   rf   r2   r   r   mutagen.mp3r   mutagen.flacr   mutagen.easyid3r   telepot.namedtupler   r   rb   ri   ru   Botr$   r   r%   rE   rR   r[   re   ry   __name__ rS   r   <module>r      s~    
 
       # I<	# gkk)( *.)fX zF rS   