Ë †!Î7Šãa±ãóœ—dZddlmZddlmZddlmZddlmZ ddl m Z dd l m Z d d giZgd ¢ZGd „de «ZGd„de «Zd„ZeZeZy)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óB‡—eZdZdZdZˆfd„Zed„«Zd„Zd„Z ˆxZ S)r z/Non-blocking file-like IO using a Telegram Bot.zhttps://api.telegram.org/botc󲕗tt|� «||_||_t «|_|jj|_ |jy)z-Creates a new message in the given `chat_id`.N) Úsuperr Ú__init__ÚtokenÚchat_idrÚsessionÚ __class__Ú__name__ÚtextÚ message_id)Úselfrrrs €ú:/usr/lib/python3.12/site-packages/tqdm/contrib/telegram.pyrzTelegramIO.__init__s?ø€ä Œj˜$Ñ(Ô*؈Œ ؈Œ Ü“yˆŒ Ø—N‘N×+Ñ+ˆŒ Ø �‹ócóâ—t|d«r |jS |jj|jd|j zzd|j zdz|jddœ¬«j«}|jd«dk(rtd td ¬ «y|d d |_|jS#t$r(}tjt|««Yd}~yd}~wwxYw)NÚ _message_idz%s/sendMessageÚ`Ú MarkdownV2)rrÚ parse_mode©ÚdataÚ error_codei­z2Creation rate limit: try increasing `mininterval`.r)Ú stacklevelÚresultr)ÚhasattrrrÚpostÚAPIrrrÚjsonÚgetrrÚ ExceptionÚ tqdm_autoÚwriteÚstr)rÚresÚes rrzTelegramIO.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=Â= C.ÃC)Ã)C.c ó²—|sd}|jdd«j«}||jk(ry|j}|€y||_ |j |j j |jd|jzzd|zdz|j|ddœ¬ «}|S#t$r(}tjt|««Yd}~yd}~wwxYw) z/Replaces internal `message_id`'s text with `s`.z...Ú ÚNz%s/editMessageTextr r!)rrrr"r#)ÚreplaceÚstriprrÚsubmitrr)r*rrr-r.r/r0)rÚsrÚfuturer2s rr/zTelegramIO.write8sÍ€áØˆ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Á AB%Â% CÂ.CÃCcó"— |j|jj|jd|jzz|j |j dœ¬«}|S#t$r(}tjt|««Yd}~yd}~wwxYw)zDeletes internal `message_id`.z%s/deleteMessage)rrr#N) r8rr)r*rrrr-r.r/r0)rr:r2s rÚdeletezTelegramIO.deleteMsy€ð Ø—[‘[Ø— ‘ ×!Ñ! 4§8¡8Ð.@À4Ç:Á:Ñ.MÑ#MØ!%§¡¸T¿_¹_ÑMð!óOˆFð ˆMøôò $Ü �O‰OœC ›F× #Ñ #ûð $ús‚AAÁ BÁ&B  B) rÚ __module__Ú __qualname__Ú__doc__r*rÚpropertyrr/r<Ú __classcell__©rs@rr r s.ø„Ù9Ø (€Côðñ(óð(ò$ö* rr có@‡—eZdZdZˆfd„Zˆfd„Zˆfd„Zˆfd„ZˆxZS)r a; Standard `tqdm.auto.tqdm` but also sends updates to a Telegram Bot. May take a few seconds to create (`__init__`). - create a bot - copy its `{token}` - add the bot to a chat and send it a message such as `/start` - go to 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 óô•—|jd«sS|j«}t|jdt d««|jdt d«««|_t t|�"|i|¤Žy)a. 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Útgiorr r©rÚargsÚkwargsrs €rrztqdm_telegram.__init__isgø€ð�z‰z˜)Ô$Ø—[‘[“]ˆFÜ"Ø— ‘ ˜7¤FÐ+@Ó$AÓBØ— ‘ ˜9¤fÐ-DÓ&EÓFóHˆDŒIô Œm˜TÑ+¨TÐ<°VÓz {bar:10u}z{bar}z{l_bar}{bar:10u}{r_bar}©) rr ÚdisplayÚ format_dictr,r6rJr/Ú format_meter)rrMÚfmtrs €rrQztqdm_telegram.display{s‰ø€Ü Œm˜TÑ*Ñ4¨VÒ4Ø×ÑˆØ �7‰7�< Ô &Ø # LÑ 1× 9Ñ 9ؘ+ó!'ß'.¡w¨w¸ Ó'Dð � Ò ð!:ˆC� Ñ Ø � ‰ �‰Ð)˜×)Ñ)Ñ0¨CÑ0Õ1rcó|•—tt|� |i|¤Ž|js|jj d«yy)Nr5)rr ÚclearrErJr/rKs €rrVztqdm_telegram.clear…s3ø€Ü Œm˜TÑ(¨$Ð9°&Ò9Ø�|Š|Ø �I‰I�O‰O˜BÕ ðrcóÊ•—|jrytt|�«|js7|j€|j dk(s|j j«yyy)Nr)rErr ÚcloseÚleaveÚposrJr<)rrs €rrXztqdm_telegram.closeŠsLø€Ø �<Š<Ø Ü Œm˜TÑ(Ô*Ø— ’ ˜tŸz™zÐ1°d·h±hÀ!²mØ �I‰I× Ñ Õ ð7D� r) rr=r>r?rrQrVrXrArBs@rr r Ys!ø„ñô=ô$2ô ÷ ðrr có&—tt|Žfi|¤ŽS)zBShortcut for `tqdm.contrib.telegram.tqdm(range(*args), **kwargs)`.)r Úrange)rLrMs rrr’s€ä œ ˜Ñ 0¨Ñ 0Ð0rN)r?ÚosrÚwarningsrÚrequestsrÚautorr.ÚstdrÚ utils_workerr Ú __author__Ú__all__r r rrrPrrÚresZðñ õÝåå$ÝÝ$à˜k˜]Ð +€ Ú G€ô>�ô>ôB6�Iô6òr1ð €Ø �r