Ë
    °È„jÈ!  ã                   ó„   — 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 d dlmZ ddlm	Z	 dd	l
mZ d
dlmZ  G d„ d«      Zy)é    )ÚAny)ÚCallable)ÚList)ÚOptional)ÚMediaSegmentQuality)ÚProtocolé   )ÚInvalidMTProtoClient)ÚGroupCallParticipanté   )ÚBridgedClientc                   ó  — e Zd Zdedefd„Zdedeee      fd„Z		 	 d8dede
d	ed
edee
   dee   de
fd„Zdede
fd„Zdefd„Zdedededefd„Zdededefd„Zdedefd„Zdedededefd„Zdedefd„Zd„ Zdefd„Zdefd „Zdefd!„Zded"ed#efd$„Zded%ed&ed'ee   d(ef
d)„Zdefd*„Zded+ee   d,ee   d	ee   d-ee   d#efd.„Zdefd/„Zdefd0„Z defd1„Z!e"defd2„«       Z#e"defd3„«       Z$e"d4„ «       Z%d5„ Z&d6e'fd7„Z(y)9ÚMtProtoClientÚcache_durationÚclientc                 óè   — d | _         t        j                  |«      | _        | j                  dk(  rddlm}  |||«      | _         y | j                  dk(  rddlm}  |||«      | _         y t        «       ‚)NÚpyrogramr   )ÚPyrogramClientÚtelethon)ÚTelethonClient)Ú_bind_clientr   Úpackage_nameÚpyrogram_clientr   Útelethon_clientr   r
   )Úselfr   r   r   r   s        úW/var/www/html/GAP/venv/lib/python3.12/site-packages/pytgcalls/mtproto/mtproto_client.pyÚ__init__zMtProtoClient.__init__   st   € ð
 6:ˆÔÜ)×6Ñ6°vÓ>ˆÔØ×Ñ 
Ò*Ý7Ù .ØØó!ˆDÕð ×Ñ *Ò,Ý7Ù .ØØó!ˆDÕô
 'Ó(Ð(ó    Úchat_idÚreturnc              ƒ   ó€   K  — | j                   �#| j                   j                  |«      ƒ d {  –—† S t        «       ‚7 Œ­w©N)r   Úget_group_call_participantsr
   ©r   r   s     r   r#   z)MtProtoClient.get_group_call_participants%   sE   è ø€ ð ×ÑÐ(Ø×*Ñ*×FÑFØó÷ ð ô 'Ó(Ð(ð	úó   ‚+>­<®>NÚ	json_joinÚvideo_stoppedÚjoin_asÚinvite_hashÚ
public_keyc              ƒ   óŠ   K  — | j                   �(| j                   j                  ||||||«      ƒ d {  –—† S t        «       ‚7 Œ­wr"   )r   Újoin_group_callr
   )r   r   r&   r'   r(   r)   r*   s          r   r,   zMtProtoClient.join_group_call0   sT   è ø€ ð ×ÑÐ(Ø×*Ñ*×:Ñ:ØØØØØØó÷ ð ô 'Ó(Ð(ðús   ‚0A²A³Ac              ƒ   ó‚   K  — | j                   �$| j                   j                  ||«      ƒ d {  –—† S t        «       ‚7 Œ­wr"   )r   Újoin_presentationr
   )r   r   r&   s      r   r.   zMtProtoClient.join_presentationE   sH   è ø€ ð
 ×ÑÐ(Ø×*Ñ*×<Ñ<ØØó÷ ð ô
 'Ó(Ð(ðúó   ‚,?®=¯?c              ƒ   ó€   K  — | j                   �#| j                   j                  |«      ƒ d {  –—† S t        «       ‚7 Œ­wr"   )r   Úleave_presentationr
   r$   s     r   r1   z MtProtoClient.leave_presentationR   sE   è ø€ ð ×ÑÐ(Ø×*Ñ*×=Ñ=Øó÷ ð ô 'Ó(Ð(ð	úr%   Úuser_idÚg_a_hashÚprotocolÚ	has_videoc              ƒ   ó†   K  — | j                   �&| j                   j                  ||||«      ƒ d {  –—† S t        «       ‚7 Œ­wr"   )r   Úrequest_callr
   )r   r2   r3   r4   r5   s        r   r7   zMtProtoClient.request_call]   sN   è ø€ ð ×ÑÐ(Ø×*Ñ*×7Ñ7ØØØØó	÷ ð ô 'Ó(Ð(ðúó   ‚.A°?±AÚg_bc              ƒ   ó„   K  — | j                   �%| j                   j                  |||«      ƒ d {  –—† S t        «       ‚7 Œ­wr"   )r   Úaccept_callr
   )r   r2   r9   r4   s       r   r;   zMtProtoClient.accept_calln   sK   è ø€ ð ×ÑÐ(Ø×*Ñ*×6Ñ6ØØØó÷ ð ô 'Ó(Ð(ðús   ‚-A ¯>°A Ú	is_missedc              ƒ   ó‚   K  — | j                   �$| j                   j                  ||«      ƒ d {  –—† S t        «       ‚7 Œ­wr"   )r   Údiscard_callr
   )r   r2   r<   s      r   r>   zMtProtoClient.discard_call}   sH   è ø€ ð
 ×ÑÐ(Ø×*Ñ*×7Ñ7ØØó÷ ð ô
 'Ó(Ð(ðúr/   Úg_aÚkey_fingerprintc              ƒ   ó†   K  — | j                   �&| j                   j                  ||||«      ƒ d {  –—† S t        «       ‚7 Œ­wr"   )r   Úconfirm_callr
   )r   r2   r?   r@   r4   s        r   rB   zMtProtoClient.confirm_callŠ   sN   è ø€ ð ×ÑÐ(Ø×*Ñ*×7Ñ7ØØØØó	÷ ð ô 'Ó(Ð(ðúr8   Údatac              ƒ   ó„   K  — | j                   �%| j                   j                  ||«      ƒ d {  –—†  y t        «       ‚7 Œ­wr"   )r   Úsend_signalingr
   )r   r2   rC   s      r   rE   zMtProtoClient.send_signaling›   sH   è ø€ ð
 ×ÑÐ(Ø×#Ñ#×2Ñ2ØØó÷ ñ ô
 'Ó(Ð(ðús   ‚,A ®>¯A c              ƒ   ó~   K  — | j                   �"| j                   j                  «       ƒ d {  –—† S t        «       ‚7 Œ­wr"   )r   Úget_dhcr
   ©r   s    r   rG   zMtProtoClient.get_dhc¨   s8   è ø€ Ø×ÑÐ(Ø×*Ñ*×2Ñ2Ó4×4Ð4ä&Ó(Ð(ð 5úó   ‚*=¬;­=c              ƒ   ó‚   K  — | j                   �$| j                   j                  |«      ƒ d {  –—†  y t        «       ‚7 Œ­wr"   )r   Úcreate_group_callr
   r$   s     r   rK   zMtProtoClient.create_group_call®   sE   è ø€ ð ×ÑÐ(Ø×#Ñ#×5Ñ5Øó÷ ñ ô 'Ó(Ð(ð	úó   ‚+?­=®?c              ƒ   ó‚   K  — | j                   �$| j                   j                  |«      ƒ d {  –—†  y t        «       ‚7 Œ­wr"   )r   Úleave_group_callr
   r$   s     r   rN   zMtProtoClient.leave_group_call¹   óE   è ø€ ð ×ÑÐ(Ø×#Ñ#×4Ñ4Øó÷ ñ ô 'Ó(Ð(ð	úrL   c              ƒ   ó‚   K  — | j                   �$| j                   j                  |«      ƒ d {  –—†  y t        «       ‚7 Œ­wr"   )r   Úclose_voice_chatr
   r$   s     r   rQ   zMtProtoClient.close_voice_chatÄ   rO   rL   ÚvolumeÚparticipantc              ƒ   ó†   K  — | j                   �&| j                   j                  |||«      ƒ d {  –—†  y t        «       ‚7 Œ­wr"   )r   Úchange_volumer
   )r   r   rR   rS   s       r   rU   zMtProtoClient.change_volumeÏ   sK   è ø€ ð ×ÑÐ(Ø×#Ñ#×1Ñ1ØØØó÷ ñ ô 'Ó(Ð(ðús   ‚-A¯?°AÚ	timestampÚlimitÚvideo_channelÚvideo_qualityc              ƒ   óˆ   K  — | j                   �'| j                   j                  |||||«      ƒ d {  –—† S t        «       ‚7 Œ­wr"   )r   Údownload_streamr
   )r   r   rV   rW   rX   rY   s         r   r[   zMtProtoClient.download_streamÞ   sQ   è ø€ ð ×ÑÐ(Ø×*Ñ*×:Ñ:ØØØØØó÷ ð ô 'Ó(Ð(ðús   ‚/A±A ²Ac              ƒ   ó€   K  — | j                   �#| j                   j                  |«      ƒ d {  –—† S t        «       ‚7 Œ­wr"   )r   Úget_stream_timestampr
   r$   s     r   r]   z"MtProtoClient.get_stream_timestampñ   sE   è ø€ ð ×ÑÐ(Ø×*Ñ*×?Ñ?Øó÷ ð ô 'Ó(Ð(ð	úr%   Úmuted_statusÚvideo_pausedÚpresentation_pausedc              ƒ   óŒ   K  — | j                   �)| j                   j                  ||||||«      ƒ d {  –—†  y t        «       ‚7 Œ­wr"   )r   Úset_call_statusr
   )r   r   r^   r_   r'   r`   rS   s          r   rb   zMtProtoClient.set_call_statusü   sT   è ø€ ð ×ÑÐ(Ø×#Ñ#×3Ñ3ØØØØØ#Øó÷ ñ ô 'Ó(Ð(ðús   ‚0A²A³Ac              ƒ   ó€   K  — | j                   �#| j                   j                  |«      ƒ d {  –—† S t        «       ‚7 Œ­wr"   )r   Úget_input_callr
   r$   s     r   rd   zMtProtoClient.get_input_call  sE   è ø€ ð ×ÑÐ(Ø×*Ñ*×9Ñ9Øó÷ ð ô #Ó$Ð$ðúr%   c              ƒ   ó€   K  — | j                   �#| j                   j                  |«      ƒ d {  –—† S t        «       ‚7 Œ­wr"   )r   Úresolve_peerr
   )r   r2   s     r   rf   zMtProtoClient.resolve_peer  sE   è ø€ ð ×ÑÐ(Ø×*Ñ*×7Ñ7Øó÷ ð ô #Ó$Ð$ðúr%   c              ƒ   ó~   K  — | j                   �"| j                   j                  «       ƒ d {  –—† S t        «       ‚7 Œ­wr"   )r   Úget_idr
   rH   s    r   rh   zMtProtoClient.get_id%  s8   è ø€ Ø×ÑÐ(Ø×*Ñ*×1Ñ1Ó3×3Ð3Ü"Ó$Ð$ð 4úrI   c                 ób   — | j                   �| j                   j                  «       S t        «       ‚r"   )r   Úis_connectedr
   rH   s    r   rj   zMtProtoClient.is_connected*  s,   € à×ÑÐ(Ø×$Ñ$×1Ñ1Ó3Ð3Ü"Ó$Ð$r   c                 ób   — | j                   �| j                   j                  «       S t        «       ‚r"   )r   Ú
no_updatesr
   rH   s    r   rl   zMtProtoClient.no_updates0  s,   € à×ÑÐ(Ø×$Ñ$×/Ñ/Ó1Ð1Ü"Ó$Ð$r   c                 óF   — | j                   �| j                   S t        «       ‚r"   )r   r
   rH   s    r   Úmtproto_clientzMtProtoClient.mtproto_client6  s#   € à×ÑÐ(Ø×$Ñ$Ð$Ü"Ó$Ð$r   c              ƒ   ó€   K  — | j                   �#| j                   j                  «       ƒ d {  –—†  y t        «       ‚7 Œ­wr"   )r   Ústartr
   rH   s    r   rp   zMtProtoClient.start<  s8   è ø€ Ø×ÑÐ(Ø×#Ñ#×)Ñ)Ó+×+Ñ+ä&Ó(Ð(ð ,ús   ‚*>¬<­>Úfuncc                 ód   — | j                   �| j                   j                  |«      S t        «       ‚r"   )r   Úadd_handlerr
   )r   rq   s     r   rs   zMtProtoClient.add_handlerB  s.   € Ø×ÑÐ(Ø×$Ñ$×0Ñ0°Ó6Ð6Ü"Ó$Ð$r   )NN))Ú__name__Ú
__module__Ú__qualname__Úintr   r   r   r   r   r#   ÚstrÚboolr,   r.   r1   Úbytesr   r7   r;   r>   rB   rE   rG   rK   rN   rQ   rU   r   r[   r]   rb   rd   rf   rh   Úpropertyrj   rl   rn   rp   r   rs   © r   r   r   r      sÀ  „ ð)àð)ð ó)ð,	)àð	)ð 
�$Ð+Ñ,Ñ	-ó	)ð" &*Ø$(ñ)àð)ð ð)ð ð	)ð
 ð)ð ˜c‘]ð)ð ˜S‘Mð)ð 
ó)ð*)àð)ð ó)ð	)àó	)ð)àð)ð ð)ð ð	)ð
 ó)ð")àð)ð ð)ð ó	)ð)àð)ð ó)ð)àð)ð ð)ð ð	)ð
 ó)ð")àð)ð ó)ò)ð	)àó	)ð	)àó	)ð	)àó	)ð)àð)ð ð)ð ó	)ð)àð)ð ð)ð ð	)ð
   ‘}ð)ð +ó)ð&	)àó	)ð)àð)ð ˜t‘nð)ð ˜t‘nð	)ð
   ‘~ð)ð & d™^ð)ð ó)ð*%àó%ð%àó%ð%˜có %ð
 ð%˜dò %ó ð%ð
 ð%˜Dò %ó ð%ð
 ñ%ó ð%ò
)ð% ô %r   r   N)Útypingr   r   r   r   Úntgcallsr   r   Ú
exceptionsr
   Útypes.chatsr   Úbridged_clientr   r   r|   r   r   ú<module>r‚      s,   ðÝ Ý Ý Ý å (Ý å -Ý .Ý )÷w%ò w%r   