Ë
    ö­¦jð  ã                   óŽ   — d dl mZmZ d dlmZ d dlmZmZ d dlm	Z	 d dl
mZ d dlmZ d dlmZmZ  G d„ d	«      Z G d
„ de«      Zy)é    )Ú	AwaitableÚCallable)ÚAny)ÚBaseMiddlewareÚloggers)Úget_flag)ÚCallbackAnswerException)ÚAnswerCallbackQuery)ÚCallbackQueryÚTelegramObjectc                   ó  — e Zd Z	 	 	 	 	 ddedededz  dedz  dedz  dedz  ddfd	„Zdd
„Zedefd„«       Z	e	j                  deddfd„«       Z	edefd„«       Zededz  fd„«       Zej                  dedz  ddfd„«       Zededz  fd„«       Zej                  dedz  ddfd„«       Zededz  fd„«       Zej                  dedz  ddfd„«       Zededz  fd„«       Zej                  dedz  ddfd„«       Zdefd„Zy)ÚCallbackAnswerNÚansweredÚdisabledÚtextÚ
show_alertÚurlÚ
cache_timeÚreturnc                 óX   — || _         || _        || _        || _        || _        || _        y)aM  
        Callback answer configuration

        :param answered: this request is already answered by middleware
        :param disabled: answer will not be performed
        :param text: answer with text
        :param show_alert: show alert
        :param url: game url
        :param cache_time: cache answer for some time
        N)Ú	_answeredÚ	_disabledÚ_textÚ_show_alertÚ_urlÚ_cache_time)Úselfr   r   r   r   r   r   s          úP/var/www/html/venv/lib/python3.12/site-packages/aiogram/utils/callback_answer.pyÚ__init__zCallbackAnswer.__init__   s0   € ð& "ˆŒØ!ˆŒØˆŒ
Ø%ˆÔØˆŒ	Ø%ˆÕó    c                 ó   — d| _         y)z7
        Deactivate answering for this handler
        TN)r   ©r   s    r   ÚdisablezCallbackAnswer.disable&   s   € ð ˆ�r    c                 ó   — | j                   S )z;Indicates that automatic answer is disabled in this handler)r   r"   s    r   r   zCallbackAnswer.disabled,   s   € ð �~‰~Ðr    Úvaluec                 óD   — | j                   rd}t        |«      ‚|| _        y )Nz(Can't change disabled state after answer)r   r	   r   ©r   r%   Úmsgs      r   r   zCallbackAnswer.disabled1   s    € à�>Š>Ø<ˆCÜ)¨#Ó.Ð.Øˆ�r    c                 ó   — | j                   S )zJ
        Indicates that request is already answered by middleware
        )r   r"   s    r   r   zCallbackAnswer.answered8   s   € ð
 �~‰~Ðr    c                 ó   — | j                   S )z0
        Response text
        :return:
        )r   r"   s    r   r   zCallbackAnswer.text?   s   € ð �z‰zÐr    c                 óD   — | j                   rd}t        |«      ‚|| _        y )NzCan't change text after answer)r   r	   r   r'   s      r   r   zCallbackAnswer.textG   s    € à�>Š>Ø2ˆCÜ)¨#Ó.Ð.Øˆ�
r    c                 ó   — | j                   S )z-
        Whether to display an alert
        )r   r"   s    r   r   zCallbackAnswer.show_alertN   ó   € ð
 ×ÑÐr    c                 óD   — | j                   rd}t        |«      ‚|| _        y )Nz$Can't change show_alert after answer)r   r	   r   r'   s      r   r   zCallbackAnswer.show_alertU   ó!   € à�>Š>Ø8ˆCÜ)¨#Ó.Ð.Ø ˆÕr    c                 ó   — | j                   S )z
        Game url
        )r   r"   s    r   r   zCallbackAnswer.url\   s   € ð
 �y‰yÐr    c                 óD   — | j                   rd}t        |«      ‚|| _        y )NzCan't change url after answer)r   r	   r   r'   s      r   r   zCallbackAnswer.urlc   s    € à�>Š>Ø1ˆCÜ)¨#Ó.Ð.Øˆ�	r    c                 ó   — | j                   S )z%
        Response cache time
        )r   r"   s    r   r   zCallbackAnswer.cache_timej   r-   r    c                 óD   — | j                   rd}t        |«      ‚|| _        y )Nz$Can't change cache_time after answer)r   r	   r   r'   s      r   r   zCallbackAnswer.cache_timeq   r/   r    c           
      ó
  — dj                  d„ | j                  | j                  | j                  | j                  | j
                  | j                  dœj                  «       D «       «      }t        | «      j                  › d|› d�S )Nz, c              3   ó4   K  — | ]  \  }}|�	|› d|›�–— Œ y ­w)Nú=© )Ú.0ÚkÚvs      r   ú	<genexpr>z)CallbackAnswer.__str__.<locals>.<genexpr>y   s-   è ø€ ò 
á��1ð ˆ}ð ˆc��1�%ŒLñ
ùs   ‚©r   r   r   r   r   r   ú(ú))
Újoinr   r   r   r   r   r   ÚitemsÚtypeÚ__name__)r   Úargss     r   Ú__str__zCallbackAnswer.__str__x   st   € Ø�y‰yñ 
ð !ŸM™MØ ŸM™MØŸ	™	Ø"Ÿo™oØ—x‘xØ"Ÿo™oñ÷ ‰e‹gô
ó 
ˆô �t“*×%Ñ%Ð& a¨ v¨QÐ/Ð/r    ©FNNNN)r   N)rB   Ú
__module__Ú__qualname__ÚboolÚstrÚintr   r#   Úpropertyr   Úsetterr   r   r   r   r   rD   r7   r    r   r   r      s  „ ð ØØ"&ØØ!%ñ&àð&ð ð&ð �D‰jð	&ð
 ˜4‘Kð&ð �4‰Zð&ð ˜$‘Jð&ð 
ó&ó4ð ð˜$ò ó ðð ‡_�_ð˜dð  tò ó ðð ð˜$ò ó ðð ð�c˜D‘jò ó ðð 
‡[�[ð˜# ™*ð ¨ò ó ðð ð ˜D 4™Kò  ó ð ð ×Ñð!  t¡ð !°ò !ó ð!ð ð�S˜4‘Zò ó ðð 	‡Z�Zð˜˜t™ð ¨ò ó ðð ð ˜C $™Jò  ó ð ð ×Ñð!  d¡
ð !¨tò !ó ð!ð0˜ô 0r    r   c                   óÊ   — e Zd Z	 	 	 	 	 ddededz  dedz  dedz  dedz  ddfd„Zd	eee	ee
f   gee
   f   d
ede	ee
f   de
fd„Zde	ee
f   ez  dz  defd„Zd
ededefd„Zy)ÚCallbackAnswerMiddlewareNÚprer   r   r   r   r   c                 óJ   — || _         || _        || _        || _        || _        y)a�  
        Inner middleware for callback query handlers, can be useful in bots with a lot of callback
        handlers to automatically take answer to all requests

        :param pre: send answer before execute handler
        :param text: answer with text
        :param show_alert: show alert
        :param url: game url
        :param cache_time: cache answer for some time
        N)rO   r   r   r   r   )r   rO   r   r   r   r   s         r   r   z!CallbackAnswerMiddleware.__init__‰   s'   € ð$ ˆŒØˆŒ	Ø$ˆŒØˆŒØ$ˆ�r    ÚhandlerÚeventÚdatac              ƒ   ó  K  — t        |t        «      s |||«      ƒ d {  –—† S | j                  t        |d«      ¬«      x}|d<   |j                  s&|j
                  r| j                  ||«      ƒ d {  –—†  	  |||«      ƒ d {  –—† |j                  s(|j
                  s| j                  ||«      ƒ d {  –—†  S S S 7 Œ�7 ŒL7 Œ<7 Œ# |j                  s)|j
                  s| j                  ||«      ƒ d {  –—†7   w w w xY w­w)NÚcallback_answer)Ú
properties)Ú
isinstancer   Úconstruct_callback_answerr   r   r   Úanswer)r   rQ   rR   rS   rU   s        r   Ú__call__z!CallbackAnswerMiddleware.__call__¡   sý   è ø€ ô ˜%¤Ô/Ù  ¨Ó-×-Ð-à48×4RÑ4RÜ Ð&7Ó8ð 5Só 5
ð 	
ˆ˜$Ð0Ñ1ð ×'Ò'¨O×,DÒ,DØ—+‘+˜e _Ó5×5Ð5ð	:Ù  ¨Ó-×-à"×+Ò+°O×4LÒ4LØ—k‘k %¨Ó9×9Ñ9ð 5MÐ+ð .øð 6øà-øð :ùð #×+Ò+°O×4LÒ4LØ—k‘k %¨Ó9×9Ò9ð 5MÐ+üsj   ‚C?ŸB= AC?Á2B?Á3C?Á8C ÂCÂC Â-C?Â5CÂ6C?Â?C?ÃC ÃC?Ã.C<Ã3C6Ã4C<Ã<C?rV   c                 óž  — | j                   d| j                  | j                  | j                  | j                  f\  }}}}}}t        |t        «      rl|j                  d|«      }|j                  d|«      }|j                  d|«      }|j                  d|«      }|j                  d|«      }|j                  d|«      }t        ||||||¬«      S )	NFrO   r   r   r   r   r   r<   )	rO   r   r   r   r   rW   ÚdictÚgetr   )r   rV   rO   r   r   r   r   r   s           r   rX   z2CallbackAnswerMiddleware.construct_callback_answer¶   sÉ   € ð
 �H‰HØØ�I‰IØ�O‰OØ�H‰HØ�O‰Oð<
Ñ8ˆˆX�t˜Z¨¨jô �j¤$Ô'Ø—.‘. ¨Ó,ˆCØ!—~‘~ j°(Ó;ˆHØ—>‘> &¨$Ó/ˆDØ#Ÿ™¨°jÓAˆJØ—.‘. ¨Ó,ˆCØ#Ÿ™¨°jÓAˆJäØØØØ!ØØ!ô
ð 	
r    rU   c                 óÐ   — t         j                  j                  d|j                  «       |j	                  |j
                  |j                  |j                  |j                  ¬«      S )NzAnswer to callback query id=%s)r   r   r   r   )	r   ÚmiddlewaresÚinfoÚidrY   r   r   r   r   )r   rR   rU   s      r   rY   zCallbackAnswerMiddleware.answerÓ   sW   € Ü×Ñ× Ñ Ð!AÀ5Ç8Á8ÔLØ�|‰|Ø ×%Ñ%Ø&×1Ñ1Ø×#Ñ#Ø&×1Ñ1ð	 ó 
ð 	
r    rE   )rB   rF   rG   rH   rI   rJ   r   r   r   r\   r   r   rZ   r   rX   r   r
   rY   r7   r    r   rN   rN   ˆ   sô   „ ð ØØ"&ØØ!%ñ%àð%ð �D‰jð%ð ˜4‘Kð	%ð
 �4‰Zð%ð ˜$‘Jð%ð 
ó%ð0:à˜>¨4°°S°©>Ð:¸IÀc¹NÐJÑKð:ð ð:ð �3˜�8‰nð	:ð
 
ó:ð*
à˜˜c˜‘N TÑ)¨DÑ0ð
ð 
ó
ð:
˜Mð 
¸Nð 
ÐObô 
r    rN   N)Úcollections.abcr   r   Útypingr   Úaiogramr   r   Úaiogram.dispatcher.flagsr   Úaiogram.exceptionsr	   Úaiogram.methodsr
   Úaiogram.typesr   r   r   rN   r7   r    r   ú<module>ri      s5   ðß /Ý ç +Ý -Ý 6Ý /ß 7÷z0ñ z0ôzR
˜~õ R
r    