
    7`j                       S r SSKJr  SSKrSSKrSSKJr  SSKrSSKJ	r	  SSK
Jr  \" \5      R                  5       R                  r\R                   " 5       S-  S-  S	-  S
-  r\S-  rSS jrSS jrSS jr\S:X  a  \" 5         gg)ub   Проверка истории runs и отправка алерта через Telegram Bot API.    )annotationsN)Path)load_dotenv)recent_runsLibraryzApplication Supportztgstat-pullerzchannels.dbz.envc                Z    [        U SS9n[        U5      S:  a  g[        S U 5       5      $ )N   )limitFc              3  0   #    U  H  oS    S:H  v   M     g7f)statusfailedN ).0rs     '/home/rasp/tgstat-puller/alert_check.py	<genexpr>should_alert.<locals>.<genexpr>   s     51{h&s   )r   lenall)db_pathrunss     r   should_alertr      s-    wa(D
4y1}5555    c                D   [        [        5        [        R                  R	                  S5      n[        R                  R	                  S5      nU(       a  U(       d  [        S[        R                  S9  g [        R                  " SU S3X S.SS	9nUR                  5         g )
NTELEGRAM_BOT_TOKENTELEGRAM_OWNER_USER_IDug   В .env нет TELEGRAM_BOT_TOKEN или TELEGRAM_OWNER_USER_ID — алерт не отправлен.)filezhttps://api.telegram.org/botz/sendMessage)chat_idtext
   )datatimeout)r   ENV_FILEosenvirongetprintsysstderrrequestspostraise_for_status)r   	bot_tokenr   r   s       r   
send_alertr.      s{    

34Ijjnn56GGw::	
&yk> /	A
 r   c                 D    [        [        5      (       a  [        S5        g g )Nuv   ⚠️ tgstat-puller: 3 запуска подряд завершились с ошибкой. Проверь логи.)r   DB_PATHr.   r   r   r   mainr1   )   s!    G  L  	M r   __main__)r   r   returnbool)r   strr3   None)r3   r6   )__doc__
__future__r   r$   r(   pathlibr   r*   dotenvr   dbr   __file__resolveparent
SCRIPT_DIRhomer0   r#   r   r.   r1   __name__r   r   r   <module>rB      s    h " 	 
    (^##%,,

))+	
!$9
9O
Km
[6 M
 zF r   