§
    7ði›  ã                   óª   — d Z ddlZddlmZ defd„Zddedededz  defd	„Zddede	dedededz  defd„Z
ddede	dedededz  defd„Zdedefd„ZdS )u+   Telegram Bot â€” send messages via Bot API.é    N)ÚsettingsÚreturnc                  ó    — dt           j        › �S )Nzhttps://api.telegram.org/bot)r   ÚTELEGRAM_BOT_TOKEN© ó    ú=/var/www/html/jarvis.com/web/backend/app/services/telegram.pyÚ	_base_urlr
      s   € ØG­(Ô*EÐGÐGÐGr   Úchat_idÚmessageÚmessage_thread_idc           	   ƒ   ó"  K  — t           j        st          d¦  «         dS | sdS | |dddœ}|r||d<   	 t          j        d¬¦  «        4 ƒd	{V —†}|                     t          ¦   «         › d
�|¬¦  «        ƒ d	{V —†}|j        dk    r;t          d|j        › d|j        d	d…         › �¦  «         	 d	d	d	¦  «        ƒd	{V —† dS 	 d	d	d	¦  «        ƒd	{V —† n# 1 ƒd	{V —†swxY w Y   dS # t          $ r}t          d|› �¦  «         Y d	}~dS d	}~ww xY w)zâ
    Send a plain-text message to a Telegram chat_id.
    Returns True on success, False on failure.
    Supports basic Markdown (bold, italic).
    Pass message_thread_id to target a specific topic in a forum/supergroup.
    u0   [telegram] bot token not configured â€” skippingFÚMarkdownT)r   ÚtextÚ
parse_modeÚdisable_web_page_previewr   é
   ©ÚtimeoutNz/sendMessage©ÚjsonéÈ   z[telegram] API error ú: z[telegram] send error: )
r   r   ÚprintÚhttpxÚAsyncClientÚpostr
   Ústatus_coder   Ú	Exception)r   r   r   ÚpayloadÚclientÚrespÚes          r	   Úsend_telegramr$   
   sE  è è € õ Ô&ð ÝÐ@ÑAÔAÐAØˆuØð Øˆuð ØØ Ø$(ð	ð €Gð ð 9Ø'8ˆÐ#Ñ$ðÝÔ$¨RÐ0Ñ0Ô0ð 	ð 	ð 	ð 	ð 	ð 	ð 	°FØŸšÝ‘;”;Ð,Ð,Ð,Øð %ñ ô ð ð ð ð ð ð ˆDð Ô 3Ò&Ð&ÝÐS¨dÔ.>ÐSÐSÀ$Ä)ÈDÈSÈDÄ/ÐSÐSÑTÔTÐTØð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð
 'ð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ð ˆtøÝð ð ð ÝÐ+¨Ð+Ð+Ñ,Ô,Ð,ØˆuˆuˆuˆuˆuøøøøðøøøsB   ³C' ÁA CÂ.C' ÃC' Ã
CÃC' Ã!CÃ"C' Ã'
DÃ1D	Ä	DÚ Ú
file_bytesÚfilenameÚcaptionc           	   ƒ   ó$  K  — t           j        r| sdS | |ddœ}|rt          |¦  «        |d<   	 t          j        d¬¦  «        4 ƒd{V —†}|                     t          ¦   «         › d�|d	||d
fi¬¦  «        ƒ d{V —†}|j        dk    r;t          d|j        › d|j	        dd…         › �¦  «         	 ddd¦  «        ƒd{V —† dS 	 ddd¦  «        ƒd{V —† n# 1 ƒd{V —†swxY w Y   dS # t          $ r}t          d|› �¦  «         Y d}~dS d}~ww xY w)z*Send a document (file) to a Telegram chat.Fr   ©r   r(   r   r   é   r   Nz/sendDocumentÚdocumentzapplication/pdf©ÚdataÚfilesr   z[telegram] sendDocument error r   Tz [telegram] send_document error: ©r   r   Ústrr   r   r   r
   r   r   r   r   ©	r   r&   r'   r(   r   r.   r!   r"   r#   s	            r	   Úsend_documentr3   /   s=  è è € åÔ&ð ¨gð ØˆuØ$°È
ÐSÐS€DØð ;Ý$'Ð(9Ñ$:Ô$:ˆÐ Ñ!ðÝÔ$¨RÐ0Ñ0Ô0ð 	ð 	ð 	ð 	ð 	ð 	ð 	°FØŸšÝ‘;”;Ð-Ð-Ð-ØØ! H¨jÐ:KÐ#LÐMð %ñ ô ð ð ð ð ð ð ˆDð
 Ô 3Ò&Ð&ÝÐ\°tÔ7GÐ\Ð\È4Ì9ÐUYÐVYÐUYÌ?Ð\Ð\Ñ]Ô]Ð]Øð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 'ð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ð ˆtøÝð ð ð ÝÐ4°Ð4Ð4Ñ5Ô5Ð5ØˆuˆuˆuˆuˆuøøøøðøøøóB   ®C( Á	A&CÂ/C( ÃC( Ã
CÃC( Ã"CÃ#C( Ã(
DÃ2D
Ä
Dc           	   ƒ   ó$  K  — t           j        r| sdS | |ddœ}|rt          |¦  «        |d<   	 t          j        d¬¦  «        4 ƒd{V —†}|                     t          ¦   «         › d�|d	||d
fi¬¦  «        ƒ d{V —†}|j        dk    r;t          d|j        › d|j	        dd…         › �¦  «         	 ddd¦  «        ƒd{V —† dS 	 ddd¦  «        ƒd{V —† n# 1 ƒd{V —†swxY w Y   dS # t          $ r}t          d|› �¦  «         Y d}~dS d}~ww xY w)z Send a photo to a Telegram chat.Fr   r*   r   r+   r   Nz
/sendPhotoÚphotoz
image/jpegr-   r   z[telegram] sendPhoto error r   Tz[telegram] send_photo error: r0   r2   s	            r	   Ú
send_photor7   F   s<  è è € åÔ&ð ¨gð ØˆuØ$°È
ÐSÐS€DØð ;Ý$'Ð(9Ñ$:Ô$:ˆÐ Ñ!ðÝÔ$¨RÐ0Ñ0Ô0ð 	ð 	ð 	ð 	ð 	ð 	ð 	°FØŸšÝ‘;”;Ð*Ð*Ð*ØØ ¨:°|Ð DÐEð %ñ ô ð ð ð ð ð ð ˆDð
 Ô 3Ò&Ð&ÝÐY°DÔ4DÐYÐYÈÌ	ÐRVÐSVÐRVÌÐYÐYÑZÔZÐZØð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 'ð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ð ˆtøÝð ð ð ÝÐ1¨aÐ1Ð1Ñ2Ô2Ð2Øˆuˆuˆuˆuˆuøøøøðøøør4   Úwebhook_urlc              ƒ   óò  K  — t           j        sdS 	 t          j        d¬¦  «        4 ƒd{V —†}|                     t          ¦   «         › d�d| i¬¦  «        ƒ d{V —†}|                     ¦   «                              dd¦  «        }t          d	|                     ¦   «         › �¦  «         |cddd¦  «        ƒd{V —† S # 1 ƒd{V —†swxY w Y   dS # t          $ r}t          d
|› �¦  «         Y d}~dS d}~ww xY w)zARegister a webhook URL with Telegram so the bot receives updates.Fr   r   Nz/setWebhookÚurlr   Úoku   [telegram] setWebhook â†’ z[telegram] setWebhook error: )
r   r   r   r   r   r
   r   Úgetr   r   )r8   r!   r"   r;   r#   s        r	   Úset_webhookr=   ]   s¼  è è € åÔ&ð ØˆuðÝÔ$¨RÐ0Ñ0Ô0ð 	ð 	ð 	ð 	ð 	ð 	ð 	°FØŸšÝ‘;”;Ð+Ð+Ð+Ø˜[Ð)ð %ñ ô ð ð ð ð ð ð ˆDð —’‘”—’  uÑ-Ô-ˆBÝÐ<¨t¯yªy©{¬{Ð<Ð<Ñ=Ô=Ð=Øð	ð 	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ð 	ð 	øõ ð ð ð ÝÐ1¨aÐ1Ð1Ñ2Ô2Ð2Øˆuˆuˆuˆuˆuøøøøðøøøs;   ’C ­A<B<Â)C Â<
CÃC Ã	CÃ
C Ã
C6ÃC1Ã1C6)N)r%   N)Ú__doc__r   Ú
app.configr   r1   r
   ÚintÚboolr$   Úbytesr3   r7   r=   r   r   r	   ú<module>rC      sL  ðØ 1Ð 1Ø €€€Ø Ð Ð Ð Ð Ð ðH�3ð Hð Hð Hð Hð"ð " ð "¨sð "ÀsÈTÁzð "Ð]að "ð "ð "ð "ðJð  ð °%ð À3ð ÐQTð ÐnqÐtxÑnxð ð  EIð ð ð ð ð.ð ˜cð ¨uð Àð Ècð ÐknÐquÑkuð ð  BFð ð ð ð ð. 3ð ¨4ð ð ð ð ð ð r   