Ë
    :É„jØ  ã                   óX   — d dl mZmZ d dlZd dlmZmZ d dlmZ d dlmZ  G d„ d«      Zy)é    )ÚAsyncGeneratorÚOptionalN)ÚrawÚenums)Útypes)Úutilsc                   óˆ   — e Zd Zdej                  j
                  ddddfdddeddd	ee   d
ee   dee   de	dee
d      fd„Zy)ÚSearchGlobalÚ Nr   Úselfzpyrogram.ClientÚqueryÚfilterzenums.MessagesFilterÚchannels_onlyÚgroups_onlyÚ
users_onlyÚlimitÚreturn)ztypes.MessageNc                óz  K  — d}t        |«      xs d}t        d|«      }d}	t        j                  j	                  «       }
d}	 t        j                  | | j                  t        j                  j                  j                  ||j                  «       dd|	|
|||||¬«      d¬«      ƒ d{  –—† d¬«      ƒ d{  –—† }|sy|d	   }t        j                  |j                  «      }	| j                  |j                  j                   «      ƒ d{  –—† }
|j                   }|D ]  }|­–— |d
z  }||k\  sŒ y Œò7 Œ‹7 Œ7 Œ-­w)aT  Search messages globally from all of your chats.

        If you want to get the messages count only, see :meth:`~pyrogram.Client.search_global_count`.

        .. note::

            Due to server-side limitations, you can only get up to around ~10,000 messages and each message
            retrieved will not have any *reply_to_message* field.

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

        Parameters:
            query (``str``, *optional*):
                Text query string.
                Use "@" to search for mentions.
            
            filter (:obj:`~pyrogram.enums.MessagesFilter`, *optional*):
                Pass a filter in order to search for specific kind of messages only.
                Defaults to any message (no filter).

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

            channels_only (``bool``, *optional*):
                Pass True to search only in channels.

            groups_only (``bool``, *optional*):
                Pass True to search only in groups.

            users_only (``bool``, *optional*):
                Pass True to search only in users.

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

        Example:
            .. code-block:: python

                from pyrogram import enums

                # Search for "pyrogram". Get the first 50 results
                async for message in app.search_global("pyrogram", limit=50):
                    print(message.text)

                # Search for recent photos from Global. Get the first 20 results
                async for message in app.search_global(filter=enums.MessagesFilter.PHOTO, limit=20):
                    print(message.photo)
        r   l        éd   )Úqr   Úmin_dateÚmax_dateÚoffset_rateÚoffset_peerÚ	offset_idÚbroadcasts_onlyr   r   r   é<   )Úsleep_thresholdN)Úreplieséÿÿÿÿé   )ÚabsÚminr   r   ÚInputPeerEmptyr   Úparse_messagesÚinvokeÚ	functionsÚmessagesr
   ÚvalueÚdatetime_to_timestampÚdateÚresolve_peerÚchatÚid)r   r   r   r   r   r   r   ÚcurrentÚtotalÚoffset_dater   r   r(   ÚlastÚmessages                  ú^/var/www/html/GAP/venv/lib/python3.12/site-packages/pyrogram/methods/messages/search_global.pyÚsearch_globalzSearchGlobal.search_global   sJ  è ø€ ðt ˆä�E“
Ò'˜wˆÜ�C˜“ˆàˆÜ—i‘i×.Ñ.Ó0ˆØˆ	àÜ"×1Ñ1ØØ—k‘kÜ—M‘M×*Ñ*×7Ñ7ØØ%Ÿ|™|›~Ø!"Ø!"Ø$/Ø$/Ø"+Ø(5Ø$/Ø#-Ø#ð 8ó ð %'ð "ó ÷ ð  ô%÷ ˆHñ* Øà˜B‘<ˆDä×5Ñ5°d·i±iÓ@ˆKØ $× 1Ñ 1°$·)±)·,±,Ó ?×?ˆKØŸ™ˆIà#ò �Ø“à˜1‘�à˜eÓ#Ùðð? ðøðøð6 @ús=   ‚B'D;Â)D5
Â*D;Â7D7Â8AD;ÄD9Ä$D;Ä1D;Ä7D;Ä9D;)Ú__name__Ú
__module__Ú__qualname__r   ÚMessagesFilterÚEMPTYÚstrr   ÚboolÚintr   r5   © ó    r4   r
   r
      s“   „ ð Ø).×)=Ñ)=×)CÑ)CØ(,Ø&*Ø%)ØñhØðhàðhð 'ðhð   ‘~ð	hð
 ˜d‘^ðhð ˜T‘Nðhð ðhð 
�.Ð!6Ñ7Ñ	8ôhr?   r
   )	Útypingr   r   Úpyrogramr   r   r   r   r
   r>   r?   r4   ú<module>rB      s"   ð÷( ,ã ß Ý Ý ÷iò ir?   