ó
    ƒñ:i�  ã                   óœ   • S 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  S
S/0r/ SQr " S S\5      r " S S\	5      rS r\r\rg)zë
Sends updates to a Telegram bot.

Usage:
>>> from tqdm.contrib.telegram import tqdm, trange
>>> for i in trange(10, token='{token}', chat_id='{chat_id}'):
...     ...

![screenshot](https://tqdm.github.io/img/screenshot-telegram.gif)
é    )Úgetenv)Úwarn)ÚSessioné   )Útqdm)ÚTqdmWarningé   )Ú
MonoWorkerzgithub.com/Ú	casperdcl)Ú
TelegramIOÚtqdm_telegramÚttgranger   Útrangec                   óL   ^ • \ rS rSrSrSrU 4S jr\S 5       rS r	S r
SrU =r$ )	r   é   z/Non-blocking file-like IO using a Telegram Bot.zhttps://api.telegram.org/botc                 ó¦   >• [         TU ]  5         Xl        X l        [	        5       U l        U R                  R                  U l        U R                    g)z-Creates a new message in the given `chat_id`.N)
ÚsuperÚ__init__ÚtokenÚchat_idr   ÚsessionÚ	__class__Ú__name__ÚtextÚ
message_id)Úselfr   r   r   s      €ÚX/srv/projetos/modelo_ml_acdoc/venv/lib/python3.13/site-packages/tqdm/contrib/telegram.pyr   ÚTelegramIO.__init__   s9   ø€ ä‰ÑÔØŒ
ØŒÜ“yˆŒØ—N‘N×+Ñ+ˆŒ	Ø�‹ó    c                 óæ  • [        U S5      (       a  U R                  $  U R                  R                  U R                  SU R
                  -  -   SU R                  -   S-   U R                  SS.S9R                  5       nUR                  S5      S:X  a  [        S	[        S
S9  g US   S   U l        U R                  $ ! [         a)  n[        R                  " [        U5      5         S nAg S nAff = f)NÚ_message_idz%s/sendMessageÚ`Ú
MarkdownV2)r   r   Ú
parse_mode©ÚdataÚ
error_codei­  z2Creation rate limit: try increasing `mininterval`.r   )Ú
stacklevelÚresultr   )Úhasattrr!   r   ÚpostÚAPIr   r   r   ÚjsonÚgetr   r   Ú	ExceptionÚ	tqdm_autoÚwriteÚstr)r   ÚresÚes      r   r   ÚTelegramIO.message_id%   sà   € ä�4˜×'Ñ'Ø×#Ñ#Ð#ð	(Ø—,‘,×#Ñ#Ø—‘Ð+¨d¯j©jÑ8Ñ8Ø! D§I¡I™o°Ñ3ÀÇÁØ$0ñ2ð $ð 3÷ 48±4³6ð ð �w‰w�|Ó$¨Ó+ÜÐIÜ ¨Qó0ð $' x¡=°Ñ#>�Ô Ø×'Ñ'Ð'øô ó 	$Ü�OŠOœC ›F×#Ñ#ûð	$ús   ŸA B= Â=
C0ÃC+Ã+C0c           	      óº  • U(       d  SnUR                  SS5      R                  5       nXR                  :X  a  gU R                  nUc  gXl         U R	                  U R
                  R                  U R                  SU R                  -  -   SU-   S-   U R                  USS.S	9nU$ ! [         a)  n[        R                  " [        U5      5         SnAgSnAff = f)
z/Replaces internal `message_id`'s text with `s`.z...ÚÚ Nz%s/editMessageTextr"   r#   )r   r   r   r$   r%   )ÚreplaceÚstripr   r   Úsubmitr   r+   r,   r   r   r/   r0   r1   r2   )r   Úsr   Úfuturer4   s        r   r1   ÚTelegramIO.write8   sÉ   € æØˆAØ�I‰I�d˜BÓ×%Ñ%Ó'ˆØ—	‘	‹>ØØ—_‘_ˆ
ØÑØØŒ	ð	Ø—[‘[Ø—‘×!Ñ! 4§8¡8Ð.BÀTÇZÁZÑ.OÑ#OØ! A™g¨™m¸¿¹Ø$.¸lñLð !ð MˆFð ˆMøô ó 	$Ü�OŠOœC ›F×#Ñ#ûð	$ús   ÁAB' Â'
CÂ1CÃCc                 ó   •  U R                  U R                  R                  U R                  SU R                  -  -   U R
                  U R                  S.S9nU$ ! [         a)  n[        R                  " [        U5      5         SnAgSnAff = f)zDeletes internal `message_id`.z%s/deleteMessage)r   r   r%   N)r;   r   r+   r,   r   r   r   r/   r0   r1   r2   )r   r=   r4   s      r   ÚdeleteÚTelegramIO.deleteM   sy   € ð	Ø—[‘[Ø—‘×!Ñ! 4§8¡8Ð.@À4Ç:Á:Ñ.MÑ#MØ!%§¡¸T¿_¹_ÑMð !ð OˆFð ˆMøô ó 	$Ü�OŠOœC ›F×#Ñ#ûð	$ús   ‚AA Á
BÁ$BÂB)r!   r   r   r   r   )r   Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__r,   r   Úpropertyr   r1   r@   Ú__static_attributes__Ú__classcell__©r   s   @r   r   r      s3   ø† Ù9Ø
(€Cõð ñ(ó ð(ò$÷*	ð 	r   r   c                   óP   ^ • \ rS rSrSrU 4S jrU 4S jrU 4S jrU 4S jrSr	U =r
$ )r   éY   a  
Standard `tqdm.auto.tqdm` but also sends updates to a Telegram Bot.
May take a few seconds to create (`__init__`).

- create a bot <https://core.telegram.org/bots#6-botfather>
- copy its `{token}`
- add the bot to a chat and send it a message such as `/start`
- go to <https://api.telegram.org/bot`{token}`/getUpdates> to find out
  the `{chat_id}`
- paste the `{token}` & `{chat_id}` below

>>> from tqdm.contrib.telegram import tqdm, trange
>>> for i in tqdm(iterable, token='{token}', chat_id='{chat_id}'):
...     ...
c           	      óø   >• UR                  S5      (       dS  UR                  5       n[        UR                  S[	        S5      5      UR                  S[	        S5      5      5      U l        [        TU ]  " U0 UD6  g)zî
Parameters
----------
token  : str, required. Telegram token
    [default: ${TQDM_TELEGRAM_TOKEN}].
chat_id  : str, required. Telegram chat ID
    [default: ${TQDM_TELEGRAM_CHAT_ID}].

See `tqdm.auto.tqdm.__init__` for other parameters.
Údisabler   ÚTQDM_TELEGRAM_TOKENr   ÚTQDM_TELEGRAM_CHAT_IDN)r.   Úcopyr   Úpopr   Útgior   r   ©r   ÚargsÚkwargsr   s      €r   r   Útqdm_telegram.__init__i   sh   ø€ ð �z‰z˜)×$Ñ$Ø—[‘[“]ˆFÜ"Ø—
‘
˜7¤FÐ+@Ó$AÓBØ—
‘
˜9¤fÐ-DÓ&EÓFóHˆDŒIô 	‰Ò˜$Ð) &Ó)r   c                 ó  >• [         TU ]  " S0 UD6  U R                  nUR                  SS 5      (       a)  US   R	                  SS5      R	                  SS5      US'   OSUS'   U R
                  R                  U R                  " S0 UD65        g )NÚ
bar_formatz<bar/>z	{bar:10u}z{bar}z{l_bar}{bar:10u}{r_bar}© )r   ÚdisplayÚformat_dictr.   r9   rR   r1   Úformat_meter)r   rU   Úfmtr   s      €r   rZ   Útqdm_telegram.display{   s†   ø€ Ü‰ŠÑ!˜&Ò!Ø×ÑˆØ�7‰7�< ×&Ñ&Ø # LÑ 1× 9Ñ 9Ø˜+ó!'ß'.¡w¨w¸Ó'Dð �Òð !:ˆC�ÑØ�	‰	�‰˜×)Ò)Ñ0¨CÑ0Õ1r   c                 ó€   >• [         TU ]  " U0 UD6  U R                  (       d  U R                  R	                  S5        g g )Nr8   )r   ÚclearrM   rR   r1   rS   s      €r   r`   Útqdm_telegram.clear…   s0   ø€ Ü‰Š�tÐ&˜vÒ&Ø�|�|Ø�I‰I�O‰O˜BÕð r   c                 óÚ   >• U R                   (       a  g [        TU ]	  5         U R                  (       d9  U R                  c  U R                  S:X  d  U R
                  R                  5         g g g )Nr   )rM   r   ÚcloseÚleaveÚposrR   r@   )r   r   s    €r   rc   Útqdm_telegram.closeŠ   sH   ø€ Ø�<�<ØÜ‰‰ŒØ—
—
˜tŸz™zÑ1°d·h±hÀ!³mØ�I‰I×ÑÕð 7D�
r   )rR   )r   rB   rC   rD   rE   r   rZ   r`   rc   rG   rH   rI   s   @r   r   r   Y   s!   ø† ñõ*õ$2õ ÷
ó r   r   c                  ó&   • [        [        U 6 40 UD6$ )zBShortcut for `tqdm.contrib.telegram.tqdm(range(*args), **kwargs)`.)r   Úrange)rT   rU   s     r   r   r   ’   s   € äœ ˜Ñ0¨Ñ0Ð0r   N)rE   Úosr   Úwarningsr   Úrequestsr   Úautor   r0   Ústdr   Úutils_workerr
   Ú
__author__Ú__all__r   r   r   r   rY   r   r   Ú<module>rq      sZ   ðñ	õ Ý å å $Ý Ý $à˜k˜]Ð+€
Ú
G€ô>�ô >ôB6�Iô 6òr1ð €Ø	�r   