
    dh                        d dl Z d dlZd dlZd dlZd dlmZmZ d dlmZ d dl	m
Z
mZmZmZmZmZmZ d dlmZ d dlmZ d dlmZ d dlmZ d dlmZ d d	lmZ ed
e
f   Ze G d d             Ze G d de             Ze G d de             Z y)    N)	dataclassfield)partial)AnyCallableDictListOptionalSetTuple)MagicFilter)extract_flags_from_object)Filter)BaseHandler)Recommendation.c                       e Zd ZU eed<    ed      Zeed<    ed      Ze	e
   ed<    ed      Zeed<   dd	Zd
ee
ef   dee
ef   fdZded
edefdZy)CallableObjectcallbackF)init	awaitableparamsvarkwreturnNc                 2   t        j                  | j                        }t        j                  |      xs t        j                  |      | _        t        j                  |      }h |j                  |j                  | _	        |j                  d u| _
        y N)inspectunwrapr   isawaitableiscoroutinefunctionr   getfullargspecargs
kwonlyargsr   r   )selfr   specs      Z/var/www/netwell/bot/venv/lib/python3.12/site-packages/aiogram/dispatcher/event/handler.py__post_init__zCallableObject.__post_init__   sp    >>$--0 ,,X6_':U:UV^:_%%h/4		4DOO4ZZt+
    kwargsc                 n    | j                   r|S | j                  D ci c]  }||v s|||    c}S c c}w r   )r   r   )r#   r(   ks      r%   _prepare_kwargszCallableObject._prepare_kwargs"   s4    ::M&*kkAQ&[6!9AAAs   	22r!   c                    K   t        | j                  g|i | j                  |      }| j                  r |        d {   S t	        j
                  |       d {   S 7 !7 wr   )r   r   r+   r   asyncio	to_thread)r#   r!   r(   wrappeds       r%   callzCallableObject.call(   sW     $--O$O$2F2Fv2NO>> ?"&&w/// #/s#   ?A'A#A'A%A'%A'r   N)__name__
__module____qualname__CallbackType__annotations__r   r   boolr   r   strr   r&   r   r   r+   r0    r'   r%   r   r      s~    'It'%(FCH(U#E4#,Bd38n Bc3h B0 0s 0s 0r'   r   c                   6     e Zd ZU dZee   ed<   d fdZ xZS )FilterObjectNmagicc                 f   t        | j                  t              rb| j                  | _        | j                  j                  | _        t        | j                  t
              st        j                  t        dd       t        t        | /          t        | j                  t              rd| _        y y )NzYou are using F provided by magic_filter package directly, but it lacks `.as_()` extension.
 Please change the import statement: from `from magic_filter import F` to `from aiogram import F` to silence this warning.   )categorymessage
stacklevelT)
isinstancer   OriginalMagicFilterr<   resolver   warningswarnr   superr;   r&   r   r   )r#   	__class__s    r%   r&   zFilterObject.__post_init__3   s    dmm%89 DJ MM11DMdjj+6+J  ! 	lD/1dmmV,!DN -r'   r1   )	r2   r3   r4   r<   r
   r   r6   r&   __classcell__rH   s   @r%   r;   r;   /   s    #'E8K '" "r'   r;   c            
            e Zd ZU dZeee      ed<    ee	      Z
eeef   ed<   d
 fdZdededeeeeef   f   fd	Z xZS )HandlerObjectNfilters)default_factoryflagsr   c                    t         t        |           t        j                  | j
                        }t        j                  |      rt        |t              rd| _	        | j                  j                  t        |             y )NT)rG   rL   r&   r   r   r   isclass
issubclassr   r   rO   updater   )r#   r   rH   s     r%   r&   zHandlerObject.__post_init__O   sV    mT02>>$--0??8$Hk)J!DN

3H=>r'   r!   r(   c                    K   | j                   sd|fS | j                   D ]F  } |j                  |i | d {   }|sd|fc S t        |t              s6|j	                  |       H d|fS 7 4w)NTF)rM   r0   rB   dictrS   )r#   r!   r(   event_filterchecks        r%   rW   zHandlerObject.checkV   sx     ||< LL 	%L+,++T<V<<Ef}$%&e$	% V| =s   5A.A,A.A.r1   )r2   r3   r4   rM   r
   r	   r;   r6   r   rU   rO   r   r8   r   r&   r   r7   rW   rI   rJ   s   @r%   rL   rL   J   s_    ,0GXd<()0!$7E4S>7?	 	 	dDcN>R8S 	r'   rL   )!r-   contextvarsr   rE   dataclassesr   r   	functoolsr   typingr   r   r   r	   r
   r   r   magic_filter.magicr   rC   aiogram.dispatcher.flagsr   aiogram.filters.baser   aiogram.handlersr   aiogram.utils.magic_filteraiogram.utils.warningsr   r5   r   r;   rL   r9   r'   r%   <module>rb      s        (  B B B A > ' ( 2 1S! 0 0 04 "> " "4 N  r'   