Ë
    :É„j  ã                   óT   — d dl mZmZ d dlZd dlmZmZmZ d dlmZm	Z	  G d„ d«      Z
y)é    )ÚAsyncGeneratorÚOptionalN)ÚtypesÚrawÚutils)ÚChannelPrivateÚPeerIdInvalidc            	       ó0   — e Zd Z	 ddddedeed      fd„Zy)	Ú
GetDialogsÚselfzpyrogram.ClientÚlimitÚreturn)ztypes.DialogNc           
     óà  K  — d}|xs d}t        d|«      }d}d}t        j                  j                  «       }	 | j	                  t        j
                  j                  j                  ||||d¬«      d¬«      ƒ d{  –—† }|j                  D �ci c]  }|j                  |“Œ }	}|j                  D �ci c]  }|j                  |“Œ }
}i }|j                  D ]t  }t        |t        j                  j                  «      rŒ(t        j                  |j                  «      }	 t        j                   j#                  | ||	|
«      ƒ d{  –—† ||<   Œv g }|j(                  D ]Y  }t        |t        j                  j*                  «      sŒ(|j-                  t        j*                  j#                  | |||	|
«      «       Œ[ |sy|d   }|j.                  j                  }t        j0                  |j.                  j2                  «      }| j5                  |j6                  j                  «      ƒ d{  –—† }|D ]  }|­–— |d	z  }||k\  sŒ y �Œ7 �ŒÊc c}w c c}w 7 �Œ# t$        t&        f$ r Y �Œ‘w xY w7 ŒD­w)
au  Get a user's dialogs sequentially.

        .. include:: /_includes/usable-by/users.rst

        Parameters:
            limit (``int``, *optional*):
                Limits the number of dialogs to be retrieved.
                By default, no limit is applied and all dialogs are returned.

        Returns:
            ``Generator``: A generator yielding :obj:`~pyrogram.types.Dialog` objects.

        Example:
            .. code-block:: python

                # Iterate through all dialogs
                async for dialog in app.get_dialogs():
                    print(dialog.chat.first_name or dialog.chat.title)
        r   iÿÿÿéd   )Úoffset_dateÚ	offset_idÚoffset_peerr   Úhashé<   )Úsleep_thresholdNéÿÿÿÿé   )Úminr   r   ÚInputPeerEmptyÚinvokeÚ	functionsÚmessagesr   ÚusersÚidÚchatsÚ
isinstanceÚMessageEmptyr   Úget_peer_idÚpeer_idÚMessageÚ_parser   r	   ÚdialogsÚDialogÚappendÚtop_messageÚdatetime_to_timestampÚdateÚresolve_peerÚchat)r   r   ÚcurrentÚtotalr   r   r   ÚrÚir   r    r   ÚmessageÚchat_idr'   ÚdialogÚlasts                    úY/var/www/html/GAP/venv/lib/python3.12/site-packages/pyrogram/methods/chats/get_dialogs.pyÚget_dialogszGetDialogs.get_dialogs   sD  è ø€ ð. ˆØÒ&˜ˆÜ�C˜“ˆàˆØˆ	Ü—i‘i×.Ñ.Ó0ˆàØ—k‘kÜ—‘×&Ñ&×1Ñ1Ø +Ø'Ø +ØØð 2ó ð !#ð "ó 	÷ 	ˆAð '(§g¡gÖ. �Q—T‘T˜1‘WÐ.ˆEÐ.Ø&'§g¡gÖ. �Q—T‘T˜1‘WÐ.ˆEÐ.àˆHàŸ:™:ò �Ü˜g¤s§y¡y×'=Ñ'=Ô>Øä×+Ñ+¨G¯O©OÓ<�ðÜ.3¯m©m×.BÑ.BÀ4ÈÐRWÐY^Ó._×(_�H˜WÒ%ðð ˆGàŸ)™)ò Z�Ü! &¬#¯)©)×*:Ñ*:Ô;Øà—‘œuŸ|™|×2Ñ2°4¸ÀÈ5ÐRWÓXÕYð	Zñ Øà˜2‘;ˆDà×(Ñ(×+Ñ+ˆIÜ×5Ñ5°d×6FÑ6F×6KÑ6KÓLˆKØ $× 1Ñ 1°$·)±)·,±,Ó ?×?ˆKà!ò �Ø“à˜1‘�à˜eÓ#ÙðñY ð	ûò /ùÚ.ð )`úÜ&¬Ð6ò Úðúð$ @úsz   ‚A:I.Á<IÁ=I.ÂI	Â#I.Â3IÃAI.Ä%IÅIÅIÅCI.È'I,È(I.ÉI.É	
I.ÉIÉI)É%I.É(I)É)I.N)r   )Ú__name__Ú
__module__Ú__qualname__Úintr   r   r8   © ó    r7   r   r      s5   „ ð ñQØðQàðQð 
�.Ð!5Ñ6Ñ	7ôQr>   r   )Útypingr   r   Úpyrogramr   r   r   Úpyrogram.errorsr   r	   r   r=   r>   r7   ú<module>rB      s"   ð÷( ,ã ß &Ñ &ß 9÷Rò Rr>   