o
    -˜Žjæ
  ã                   @   s>   d dl mZ d dlZd dlmZ d dlmZ G dd„ dƒZdS )é    )ÚUnionN)Úraw)Útypesc                   @   s*   e Zd Zdddeeef ddfdd„ZdS )	ÚJoinChatÚselfzpyrogram.ClientÚchat_idÚreturnz
types.Chatc                 Ã   sÈ   �| j  t|ƒ¡}|rF|  tjjj| d¡d�¡I dH }t	|j
d tjjƒr0tj | |j
d ¡S t	|j
d tjjƒrDtj | |j
d ¡S dS |  tjjj|  |¡I dH d�¡I dH }tj | |j
d ¡S )al  Join a group chat or channel.

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

        Parameters:
            chat_id (``int`` | ``str``):
                Unique identifier for the target chat in form of a *t.me/joinchat/* or *t.me/<username>* link,
                a username of the target channel/supergroup (in the format @username) or a chat id of a linked chat (channel or supergroup).

        Returns:
            :obj:`~pyrogram.types.Chat`: On success, a chat object is returned.

        Example:
            .. code-block:: python

                # Join chat via invite link
                await app.join_chat("https://t.me/+AbCdEf0123456789")

                # Join chat via username
                await app.join_chat("pyrogram")

                # Join a linked chat
                await app.join_chat(app.get_chat("pyrogram").linked_chat.id)
        é   )ÚhashNr   )Úchannel)ÚINVITE_LINK_REÚmatchÚstrÚinvoker   Ú	functionsÚmessagesÚImportChatInviteÚgroupÚ
isinstanceÚchatsr   ÚChatÚ_parse_chat_chatÚChannelÚ_parse_channel_chatÚchannelsÚJoinChannelÚresolve_peer)r   r   r   Úchat© r   ú]/var/www/kodo/Anonymous/send/lib/python3.10/site-packages/pyrogram/methods/chats/join_chat.pyÚ	join_chat   s&   €ÿ
ÿÿÿ
ÿzJoinChat.join_chatN)Ú__name__Ú
__module__Ú__qualname__r   Úintr   r    r   r   r   r   r      s    ÿ
þýr   )Útypingr   Úpyrogramr   r   r   r   r   r   r   Ú<module>   s
   