Ë
    'Pbj¹  ã                   ó|   — d Z dZ	 ddlZddlmZ ddlmZ ddlZddl	m
Z
 ddlmZ  G d	„ d
«      Zy# e$ r dZY Œ w xY w)z_
This file is used by TeleBot.run_webhooks() function.
Fastapi is required to run this script.
Té    N)ÚJSONResponse)ÚRequestF)ÚUpdate)ÚOptionalc                   óz   — e Zd Z	 	 	 	 ddedee   dee   dee   dee   ddfd„Zed	„ «       Z	d
„ Z
dedefd„Zd„ Zy)ÚSyncWebhookListenerNÚsecret_tokenÚhostÚportÚssl_contextÚurl_pathÚreturnc                 óÊ   — | j                  «        t        j                  «       | _        || _        || _        || _        || _        || _        || _	        | j                  «        y)a
  
        Synchronous implementation of webhook listener
        for synchronous version of telebot.
        Not supposed to be used manually by user.
        Use TeleBot.run_webhooks() instead.

        :param bot: TeleBot instance.
        :type bot: telebot.TeleBot

        :param secret_token: Telegram secret token
        :type secret_token: str

        :param host: Webhook host
        :type host: str

        :param port: Webhook port
        :type port: int

        :param ssl_context: SSL context
        :type ssl_context: tuple

        :param url_path: Webhook url path
        :type url_path: str

        :raises ImportError: If FastAPI or uvicorn is not installed.
        :raises ImportError: If Starlette version is too old.

        :return: None
        N)Ú_check_dependenciesÚfastapiÚFastAPIÚappÚ_secret_tokenÚ_botÚ_portÚ_hostÚ_ssl_contextÚ	_url_pathÚ_prepare_endpoint_urls)ÚselfÚbotr	   r
   r   r   r   s          úL/var/www/html/venv/lib/python3.12/site-packages/telebot/ext/sync/webhooks.pyÚ__init__zSyncWebhookListener.__init__   sW   € ðH 	× Ñ Ô"ä—?‘?Ó$ˆŒØ)ˆÔØˆŒ	ØˆŒ
ØˆŒ
Ø'ˆÔØ!ˆŒØ×#Ñ#Õ%ó    c                  ób   — t         st        d«      ‚dd l} | j                  dk  rt        d«      ‚y )Nz?Fastapi or uvicorn is not installed. Please install it via pip.r   z0.20.2zLStarlette version is too old. Please upgrade it: `pip3 install starlette -U`)Úfastapi_installedÚImportErrorÚ	starletteÚ__version__)r#   s    r   r   z'SyncWebhookListener._check_dependenciesG   s1   € å ÜÐ_Ó`Ð`ãØ× Ñ  8Ò+ÜÐlÓmÐmØr   c                 ój   — | j                   j                  | j                  | j                  dg¬«       y )NÚPOST)ÚendpointÚpathÚmethods)r   Úadd_api_routeÚprocess_updater   ©r   s    r   r   z*SyncWebhookListener._prepare_endpoint_urlsR   s)   € Ø�‰×Ñ¨×(;Ñ(;À$Ç.Á.Ð[aÐZbÐÕcr   ÚrequestÚupdatec                 óB  — |j                   j                  d«      | j                  k7  rt        dddi¬«      S |j                   j                  d«      dk(  r<| j                  j                  t        j                  |«      g«       t        dd	¬
«      S t        dddi¬«      S )z<
        Processes updates.

        :meta private:
        zX-Telegram-Bot-Api-Secret-Tokeni“  ÚerrorÚ	Forbidden)Ústatus_codeÚcontentzcontent-typezapplication/jsonÚ éÈ   )r2   )ÚheadersÚgetr   r   r   Úprocess_new_updatesr   Úde_json)r   r-   r.   s      r   r+   z"SyncWebhookListener.process_updateV   s‰   € ð �?‰?×ÑÐ@ÓAÀT×EWÑEWÒWä¨C¸'À;Ð9OÔPÐPØ�?‰?×Ñ˜~Ó.Ð2DÒDØ�I‰I×)Ñ)¬6¯>©>¸&Ó+AÐ*BÔCÜ °Ô4Ð4ä¨°g¸{Ð5KÔLÐLr   c                 ó¨   — t        j                  | j                  | j                  | j                  | j
                  d   | j
                  d   ¬«       y)z…
        Run app with the given parameters to init.
        Not supposed to be used manually by user.

        :return: None
        r   é   )r   r
   r   Ússl_certfileÚssl_keyfileN)ÚuvicornÚrunr   r   r   r   r,   s    r   Úrun_appzSyncWebhookListener.run_appg   s@   € ô 	�‰˜Ÿ™Ø—‘Ø—‘Ø×*Ñ*¨1Ñ-Ø×)Ñ)¨!Ñ,ö		
r   )z	127.0.0.1i»  NN)Ú__name__Ú
__module__Ú__qualname__Ústrr   ÚintÚtupler   Ústaticmethodr   r   r   Údictr+   r@   © r   r   r   r      s“   „ ð %0Ø$'Ø-1Ø(,ñ-&Ø!ð-&à˜s‘mð-&ð ˜s‘mð-&ð & e™_ð	-&ð
 # 3™-ð-&ð ó-&ð` ñó ðòdðM gð M°tó Mó"
r   r   )Ú__doc__r!   r   Úfastapi.responsesr   Úfastapi.requestsr   r>   r"   Útelebot.typesr   Útypingr   r   rI   r   r   ú<module>rO      sN   ðñð Ð ðÛÝ.Ý(Ûõ !å ÷^
ò ^
øð ò ØÒðús   †1 ±;º;