
    i$I                     d   S SK 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
JrJrJrJrJrJrJrJrJrJrJrJrJrJrJrJrJrJrJrJrJrJ r J!r!  S SK"J#r#J$r$J%r%J&r&J'r'J(r(J)r)J*r*J+r+J,r,J-r-J.r.J/r/J0r0J1r1J2r2J3r3J4r4J5r5J6r6J7r7J8r8J9r9J:r:J;r;J<r<J=r=J>r>J?r?  \R                  " \A5      rB " S S5      rCg)	    N)OrderedDict)Dict)utils)HandlerErrorHandlerCallbackQueryHandlerMessageHandlerEditedMessageHandlerDeletedMessagesHandlerUserStatusHandlerRawUpdateHandlerInlineQueryHandlerPollHandlerPreCheckoutQueryHandlerChosenInlineResultHandlerChatMemberUpdatedHandlerChatJoinRequestHandlerStoryHandlerShippingQueryHandlerMessageReactionHandlerMessageReactionCountHandlerChatBoostHandlerPurchasedPaidMediaHandlerBusinessConnectionHandlerBusinessMessageHandlerEditedBusinessMessageHandlerDeletedBusinessMessagesHandler)UpdateNewMessageUpdateNewChannelMessageUpdateNewScheduledMessageUpdateBotNewBusinessMessageUpdateBotEditBusinessMessageUpdateBotDeleteBusinessMessageUpdateEditMessageUpdateEditChannelMessageUpdateDeleteMessagesUpdateDeleteChannelMessagesUpdateBotCallbackQueryUpdateInlineBotCallbackQueryUpdateBotPrecheckoutQueryUpdateUserStatusUpdateBotInlineQueryUpdateMessagePollUpdateBotInlineSendUpdateChatParticipantUpdateChannelParticipantUpdateBotChatInviteRequesterUpdateStoryUpdateBotShippingQueryUpdateBotMessageReactionUpdateBotMessageReactionsUpdateBotChatBoostUpdateBusinessBotCallbackQueryUpdateBotPurchasedPaidMediaUpdateMessagePollVoteUpdateBotBusinessConnectc                   $   \ rS rSr\\\4r\\	4r
\\4r\\\4r\\4r\4r\4r\\4r\4r\4r\ 4r!\"4r#\$4r%\&4r'\(4r)\*4r+\,4r-\.4r/\04r1\24r3\44r5SS jr6S r7SS\84S jjr9S\:S\;4S jr<S\:S\;4S	 jr=S
 r>S\?S\:SSS\@\;S4   S\@\;S4   SS4S jrASrBg)
Dispatcher4   c           	        ^ ^^ UT l         / T l        / T l        [        R                  " 5       T l        [        5       T l        U 4S jmU4S jnU 4S jmU 4S jnU 4S jnU 4S jnU 4S jnU 4S jnU 4S	 jnU 4S
 jn	U 4S jn
U 4S jnU 4S jnU 4S jnU 4S jnU 4S jnU 4S jnU 4S jnU4S jnU4S jnU4S jn0 [        R                  T_[        R                  U_[        R                  T_[        R                  U_[        R                  U_[        R                  U_[        R                  U_[        R                   U_[        R"                  U_[        R$                  U	_[        R&                  U
_[        R(                  U_[        R*                  U_[        R,                  U_[        R.                  U_[        R0                  U_[        R2                  U_[        R4                  U[        R6                  U[        R8                  U[        R:                  U0ET l        T R<                  R?                  5        VVVs0 s H  u  nnU  H  nUU_M     M     snnnT l        g s  snnnf )Nc                 $  >#    [        U SS 5      n[        R                  R                  R	                  TR
                  U R                  UU[        U [        5      [        U SS 5      (       a  SOSU[        U SS 5      S9I S h  vN [        4$  N
7f)Nconnection_idr      reply_to_message)is_scheduledrepliesbusiness_connection_idraw_reply_to_message)
getattrpyrogramtypesMessage_parseclientmessage
isinstancer    r	   )updateuserschatsr@   selfs       @/app/mltbenv/lib/python3.13/site-packages/pyrogram/dispatcher.pymessage_parser+Dispatcher.__init__.<locals>.message_parserT   s     #FOTBM nn,,33KKNN!+F4M!N!($!G!GAQ+8)09KT)R 4 	 	  	s   B BBBc                 F   >#    T" XU5      I S h  vN u  p4U[         4$  N7fN)r
   rO   rP   rQ   parsed_rT   s        rS   edited_message_parser2Dispatcher.__init__.<locals>.edited_message_parsere   s/     ,VEBBIF $  C   !!c                 \   >#    [         R                  " TR                  XU5      [        4$ 7frW   )r   parse_deleted_messagesrL   r   rO   rP   rQ   rR   s      rS   deleted_messages_parser4Dispatcher.__init__.<locals>.deleted_messages_parsern   s)     ,,T[[&O& s   ),c                    >#    [         R                  R                  R                  TR                  XU5      I S h  vN [
        4$  N
7frW   )rH   rI   CallbackQueryrK   rL   r   r`   s      rS   callback_query_parser2Dispatcher.__init__.<locals>.callback_query_parsert   s:     nn2299$++vV[\\$ \s   9A	AA	c                    >#    [         R                  R                  R                  TR                  U 5      [
        4$ 7frW   )rH   rI   User_parse_user_statusrL   r   r`   s      rS   user_status_parser/Dispatcher.__init__.<locals>.user_status_parserz   s1     ##66t{{FK!    ;>c                    >#    [         R                  R                  R                  TR                  X5      [
        4$ 7frW   )rH   rI   InlineQueryrK   rL   r   r`   s      rS   inline_query_parser0Dispatcher.__init__.<locals>.inline_query_parser   s1     **11$++vM" rl   c                    >#    [         R                  R                  R                  TR                  X5      [
        4$ 7frW   )rH   rI   Poll_parse_updaterL   r   r`   s      rS   poll_parser(Dispatcher.__init__.<locals>.poll_parser   s1     ##11$++vM rl   c                    >#    [         R                  R                  R                  TR                  X5      [
        4$ 7frW   )rH   rI   ChosenInlineResultrK   rL   r   r`   s      rS   chosen_inline_result_parser8Dispatcher.__init__.<locals>.chosen_inline_result_parser   1     1188fT) rl   c                    >#    [         R                  R                  R                  TR                  XU5      [
        4$ 7frW   )rH   rI   ChatMemberUpdatedrK   rL   r   r`   s      rS   chat_member_updated_parser7Dispatcher.__init__.<locals>.chat_member_updated_parser   s4     0077VTYZ(    <?c                    >#    [         R                  R                  R                  TR                  XU5      [
        4$ 7frW   )rH   rI   ChatJoinRequestrK   rL   r   r`   s      rS   chat_join_request_parser5Dispatcher.__init__.<locals>.chat_join_request_parser   s4     ..55dkk6RWX& r   c                    >#    [         R                  R                  R                  TR                  U R
                  U R                  X5      I S h  vN [        4$  N
7frW   )rH   rI   StoryrK   rL   storypeerr   r`   s      rS   story_parser)Dispatcher.__init__.<locals>.story_parser   sD     nn**11$++v||V[[Z_gg gs   AAAAc                    >#    [         R                  R                  R                  TR                  X5      I S h  vN [
        4$  N
7frW   )rH   rI   PreCheckoutQueryrK   rL   r   r`   s      rS   pre_checkout_query_parser6Dispatcher.__init__.<locals>.pre_checkout_query_parser   s7     nn55<<T[[&XX' X   8AAAc                    >#    [         R                  R                  R                  TR                  X5      I S h  vN [
        4$  N
7frW   )rH   rI   ShippingQueryrK   rL   r   r`   s      rS   shipping_query_parser2Dispatcher.__init__.<locals>.shipping_query_parser   s7     nn2299$++vUU$ Ur   c                    >#    [         R                  R                  R                  TR                  XU5      [
        4$ 7frW   )rH   rI   MessageReactionUpdatedrK   rL   r   r`   s      rS   message_reaction_parser4Dispatcher.__init__.<locals>.message_reaction_parser   s4     55<<T[[&Y^_& r   c                    >#    [         R                  R                  R                  TR                  XU5      [
        4$ 7frW   )rH   rI   MessageReactionCountUpdatedrK   rL   r   r`   s      rS   message_reaction_count_parser:Dispatcher.__init__.<locals>.message_reaction_count_parser   s4     ::AA$++v^cd+ r   c                    >#    [         R                  R                  R                  TR                  XU5      [
        4$ 7frW   )rH   rI   ChatBoostUpdatedrK   rL   r   r`   s      rS   chat_boost_parser.Dispatcher.__init__.<locals>.chat_boost_parser   s4     //66t{{FSXY  r   c                    >#    [         R                  R                  R                  TR                  X5      [
        4$ 7frW   )rH   rI   PurchasedPaidMediarK   rL   r   r`   s      rS   purchased_paid_media_parser8Dispatcher.__init__.<locals>.purchased_paid_media_parser   rz   rl   c                    >#    [         R                  R                  R                  TR                  X5      [
        4$ 7frW   )rH   rI   BusinessConnectionrK   rL   r   r`   s      rS   business_connection_parser7Dispatcher.__init__.<locals>.business_connection_parser   rz   rl   c                 F   >#    T" XU5      I S h  vN u  p4U[         4$  N7frW   )r   rX   s        rS   business_message_parser4Dispatcher.__init__.<locals>.business_message_parser   s/     ,VEBBIF &  Cr]   c                 F   >#    T" XU5      I S h  vN u  p4U[         4$  N7frW   )r   rX   s        rS   edited_business_message_parser;Dispatcher.__init__.<locals>.edited_business_message_parser   s/     ,VEBBIF ,  Cr]   c                 F   >#    T" XU5      I S h  vN u  p4U[         4$  N7frW   )r   )rO   rP   rQ   rY   rZ   ra   s        rS    deleted_business_messages_parser=Dispatcher.__init__.<locals>.deleted_business_messages_parser   s/     5fUKKIF .  Lr]   ) rL   handler_worker_tasks
locks_listasyncioQueueupdates_queuer   groupsr<   NEW_MESSAGE_UPDATESEDIT_MESSAGE_UPDATESDELETE_MESSAGES_UPDATESCALLBACK_QUERY_UPDATESUSER_STATUS_UPDATESBOT_INLINE_QUERY_UPDATESPOLL_UPDATESCHOSEN_INLINE_RESULT_UPDATESCHAT_MEMBER_UPDATESCHAT_JOIN_REQUEST_UPDATESNEW_STORY_UPDATESPRE_CHECKOUT_QUERY_UPDATESSHIPPING_QUERY_UPDATESMESSAGE_REACTION_UPDATESMESSAGE_REACTION_COUNT_UPDATESCHAT_BOOST_UPDATESPURCHASED_PAID_MEDIA_UPDATESBUSINESS_CONNECTION_UPDATESNEW_BUSINESS_MESSAGE_UPDATESEDITED_BUSINESS_MESSAGE_UPDATES!DELETED_BUSINESS_MESSAGES_UPDATESupdate_parsersitems)rR   rL   r[   re   rj   ro   rt   rx   r}   r   r   r   r   r   r   r   r   r   r   r   r   	key_tuplevaluekeyra   rT   s   `                       @@rS   __init__Dispatcher.__init__K   sY   $&!$]]_!m	"																				
**N
++-B
 ..0G
 --/D	

 **,>
 //1D
 ##[
 335P
 **,F
 002J
 ((,
 113L
 --/D
 //1H
 557T
  ))+<!
" 335P#
$ 224N335L668V88:Z+
0 CGBUBUB[B[B]sB].>iirbesEzirsB]sss   I-c           	      z  #    [        U R                  R                  5      (       a.   U R                  R                  U R                  5      I S h  vN   U R                  R                  (       Gd  [        U R                  R                  5       H  nU R                  R                  [        R                  " 5       5        U R                  R                  U R                  R                  R                  U R!                  U R                  S   5      5      5        M     [        R#                  SU R                  R                  5        U R                  R$                  (       d#  U R                  R'                  5       I S h  vN   g g g  GN9! [         a   n[        R                  U5         S nAGN\S nAff = f N77f)NzStarted %s HandlerTasks)callablerL   start_handler	Exceptionlog	exception
no_updatesrangeworkersr   appendr   Lockr   loopcreate_taskhandler_workerinfoskip_updatesrecover_gaps)rR   eis      rS   startDispatcher.start  s0    DKK--..!kk//<<< {{%%%4;;../&&w||~6))00KK$$001D1DT__UWEX1YZ 0 HH.0C0CD;;++kk..000 , &	 = !a  ! 1sM   %F;(F F	F D,F;F9F;	F 
F6F1+F;1F66F;clear_handlersc                   #    [        U R                  R                  5      (       a.   U R                  R                  U R                  5      I S h  vN   U R                  R                  (       d  [        U R                  R                  5       H  nU R                  R                  S 5        M      U R                   H  nUI S h  vN   M     U(       a4  U R                  R                  5         U R                  R                  5         [        R                  SU R                  R                  5        g g  N! [         a   n[        R                  U5         S nAGNS nAff = f N7f)NzStopped %s HandlerTasks)r   rL   stop_handlerr   r   r   r   r   r   r   
put_nowaitr   clearr   r   )rR   r   r   r   s       rS   stopDispatcher.stop  s     DKK,,--!kk..t{{;;; {{%%4;;../""--d3 0 .. / ))//1!!#HH.0C0CD &	 < !a  ! sN   %E&(D7 D5D7 A0E&E$A/E&5D7 7
E!EE&E!!E&handlergroupc                 n   ^ ^^ UUU 4S jnT R                   R                  R                  U" 5       5        g )Nc                    >#    TR                    H  n U R                  5       I S h  vN   M      TTR                  ;  a@  / TR                  T'   [        [	        TR                  R                  5       5      5      Tl        TR                  T   R                  T5        TR                    H  n U R                  5         M     g  N! TR                    H  n U R                  5         M     f = f7frW   )r   acquirer   r   sortedr   r   releaselockr   r   rR   s    rS   fn"Dispatcher.add_handler.<locals>.fn,  s     lln$$ (#+)+DKK&"-fT[[5F5F5H.I"JDKE"))'2 OODLLN , % !OODLLN ,s'   #C,CC,A.C %C,%C))C,rL   r   r   rR   r   r   r   s   ``` rS   add_handlerDispatcher.add_handler+  s$    	# 	$$RT*    c                 n   ^ ^^ UUU 4S jnT R                   R                  R                  U" 5       5        g )Nc                    >#    TR                    H  n U R                  5       I S h  vN   M      TTR                  ;  a  [        ST S35      eTR                  T   R	                  T5        TR                  T   (       d  TR                  T	 TR                    H  n U R                  5         M     g  N! TR                    H  n U R                  5         M     f = f7f)NzGroup z) does not exist. Handler was not removed.)r   r   r   
ValueErrorremover   r   s    rS   r   %Dispatcher.remove_handler.<locals>.fn=  s     lln$$ (#+$ 'PQ  E"))'2{{5)E* OODLLN , % !OODLLN ,s'   #CB2CAB4 %C4%CCr   r   s   ``` rS   remove_handlerDispatcher.remove_handler<  s$    	#$ 	$$RT*r   c                 p  #     U R                   R                  5       I S h  vN nUc  g  Uu  p4nU R                  R                  [        U5      S 5      nUb  U" X4U5      I S h  vN OS [        S 5      4u  pxU IS h  vN   U R                  R                  5        GHU  n	U	 GHJ  n
[        U
[        5      (       a  M  S n[        X5      (       a.   U
R                  U R                  U5      I S h  vN (       a  U4nOC[        U
[        5      (       a.   U
R                  U R                  U5      I S h  vN (       a  X4U4nUc  M   [        R                  " U
R                   5      (       a&  U
R                   " U R                  /UQ76 I S h  vN   OZU R                  R"                  R$                  " U R                  R&                  U
R                   U R                  /UQ76 I S h  vN      GMS     GMX     S S S 5      IS h  vN   GM   GN GN GN GN#! [         a!  n[        R                  U5         S nAGM  S nAff = f GN! [         a!  n[        R                  U5         S nAGM  S nAff = f N N! [(        R*                   a    e [(        R,                   a     GM  [         a&  nU R/                  XX4U5      I S h  vN     S nANS nAff = f N! , IS h  vN  (       d  f       N= f! [(        R*                   a     GN[         a   n[        R                  U5         S nAGN'S nAff = f7frW   )r   getr   typer   valuesrN   r   checkrL   r   r   r   r   inspectiscoroutinefunctioncallbackr   run_in_executorexecutorrH   StopPropagationContinuePropagationhandle_update_handler_exception)rR   r   packetrO   rP   rQ   parserparsed_updatehandler_typer   r   argsr   excs                 rS   r   Dispatcher.handler_workerQ  s    --1133F~<!'-$u,,00ftD ) !666T
+ ,  4!%!3!3!5',G)'<@@ (#'D)'@@!--4]]4;;-V'V'V0=/?
 ",G5E!F!F!--4]]4;;-O'O'O06u/E
  $| ("#*#>#>w?O?O#P#P*1*:*:4;;*N*N$N$N*.++*:*:*J*J(,(<(<(/(8(8(,+& *.	+& %& %& "Y (- "6  4! 3 7
   (W'0 !-$'MM!$4$,!- (P'0 !-$'MM!$4$,!- %O%& $,#;#; & %#+#?#? ) (#, "&*&J&J$'&'" !" !""S  444^ ++  !a  !s  L6H
L69K3 $H%K3 >H?K3 AKH0H
1H=KI3I
4IKAI9I5
I9KAI9&I7
'I9+K7K3 KK3 L6K3 K3 H
I	 H<	5K<I	KI
I2	I-	&K-I2	2K5I97I99(K	!K%	K	.K	KK	
KK	KK3 K0K" K0,K3 /L60K3 3L3L6
	L3L.(L6.L33L6r  update_handlerrO   zpyrogram.raw.base.UpdaterP   zpyrogram.raw.base.UserrQ   zpyrogram.raw.base.ChatreturnNc                 .  #    Sn U R                   R                  5        H  nU H  n[        U[        5      (       d  M  [        XR                  5      (       d  M6   [
        R                  " UR                  5      (       a'  UR                  U R                  XX4U5      I S h  vN   OZU R                  R                  R                  U R                  R                  UR                  U R                  XX4U5      I S h  vN   Sn  M     M     U(       dA  [         R%                  S['        U5      R(                   S3['        U5      XR*                  4S9  g g  N NZ! [        R                   a    Sne [        R                   a    Sn GMe  [         a    [         R#                  S5         Nf = f! [        R                   a     Nf = f! U(       dA  [         R%                  S['        U5      R(                   S3['        U5      XR*                  4S9  f f = f7f)NFTz"Error handler raised an exception:zUnexpected exception raised in :)exc_info)r   r	  rN   r   
exceptionsr  r  r  rL   r   r  r  rH   r  r  r   r   r   errorr  __name____traceback__)	rR   r  r  rO   rP   rQ   handledr   r   s	            rS   r  *Dispatcher.handle_update_handler_exception  s     &	++-$G%g|<< %c+=+=>> '"66w7G7GHH")"2"2 $S&QV#   #'++"2"2"B"B $ 4 4g6F6F $S&QV#   #'9  % .B 		5d>6J6S6S5TTUV"3i.?.?@   / $33 "&#77 !"& $ L&JKL '' 		 		5d>6J6S6S5TTUV"3i.?.?@   s   HAF. AE"E#AE=E>EF. A	HEE,F+F. 
F+(F. *F++F. .GG GG A
HH)rL   r   r   r   r   r   )rL   zpyrogram.Client)T)Cr!  
__module____qualname____firstlineno__r   r   r    r   r$   r%   r   r&   r'   r   r(   r)   r7   r   r/   r0   r   r+   r   r,   r   r-   r9   r   r.   r   r1   r   r2   r   r*   r   r3   r   r4   r   r5   r   r6   r   r8   r   r:   r   r!   r   r"   r   r#   r   r   r   boolr   r   intr   r  r   r   r   r  __static_attributes__ r   rS   r<   r<   4   sr   +-DF_`-/GH35PQ46RTrs02JK+- 46%'<=L$7#9 != ?$";!=46 8:&?%A",.$?#A #;"=$?#A 'C&E#)G(I%vtp1(E E(+7 +3 +"+g +c +*C!J//  / +	/
 C112/ C112/ 
/r   r<   )Dr   collectionsr   r  loggingtypingr   rH   r   pyrogram.handlersr   r   r   r	   r
   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   pyrogram.raw.typesr   r   r    r!   r"   r#   r$   r%   r&   r'   r(   r)   r*   r+   r,   r-   r.   r/   r0   r1   r2   r3   r4   r5   r6   r7   r8   r9   r:   	getLoggerr!  r   r<   r+  r   rS   <module>r2     s   &  #                   !Q Qr   