
    i(                     J    d Z ddlmZ ddlmZ ddlmZ  G d de          ZdS )zTThis module contains a class that represents a Telegram SwitchInlineQueryChosenChat.    )Optional)TelegramObject)JSONDictc                        e Zd ZdZdZ	 	 	 	 	 ddddee         dee         dee         dee         d	ee         d
ee         f fdZ	 xZ
S )SwitchInlineQueryChosenChata  
    This object represents an inline button that switches the current user to inline mode in a
    chosen chat, with an optional default inline query.

    Objects of this class are comparable in terms of equality. Two objects of this class are
    considered equal, if their :attr:`query`, :attr:`allow_user_chats`, :attr:`allow_bot_chats`,
    :attr:`allow_group_chats`, and :attr:`allow_channel_chats` are equal.

    .. versionadded:: 20.3

    Caution:
        The PTB team has discovered that you must pass at least one of
        :paramref:`allow_user_chats`, :paramref:`allow_bot_chats`, :paramref:`allow_group_chats`,
        or :paramref:`allow_channel_chats` to Telegram. Otherwise, an error will be raised.

    Args:
        query (:obj:`str`, optional): The default inline query to be inserted in the input field.
            If left empty, only the bot's username will be inserted.
        allow_user_chats (:obj:`bool`, optional): Pass :obj:`True`, if private chats with users
            can be chosen.
        allow_bot_chats (:obj:`bool`, optional): Pass :obj:`True`, if private chats with bots can
            be chosen.
        allow_group_chats (:obj:`bool`, optional): Pass :obj:`True`, if group and supergroup chats
            can be chosen.
        allow_channel_chats (:obj:`bool`, optional): Pass :obj:`True`, if channel chats can be
            chosen.

    Attributes:
        query (:obj:`str`): Optional. The default inline query to be inserted in the input field.
            If left empty, only the bot's username will be inserted.
        allow_user_chats (:obj:`bool`): Optional. :obj:`True`, if private chats with users can be
            chosen.
        allow_bot_chats (:obj:`bool`): Optional. :obj:`True`, if private chats with bots can be
            chosen.
        allow_group_chats (:obj:`bool`): Optional. :obj:`True`, if group and supergroup chats can
            be chosen.
        allow_channel_chats (:obj:`bool`): Optional. :obj:`True`, if channel chats can be chosen.

    )allow_bot_chatsallow_channel_chatsallow_group_chatsallow_user_chatsqueryN
api_kwargsr   r   r   r
   r	   r   c                   t                                          |           || _        || _        || _        || _        || _        | j        | j        | j        | j        | j        f| _        |                                  d S )Nr   )	super__init__r   r   r   r
   r	   	_id_attrs_freeze)selfr   r   r   r
   r	   r   	__class__s          k/var/www/html/crypto-bot/backend/venv/lib/python3.11/site-packages/telegram/_switchinlinequerychosenchat.pyr   z$SwitchInlineQueryChosenChat.__init__J   s     	J///$)
0@/>1B3F  J! "$
 	    )NNNNN)__name__
__module____qualname____doc__	__slots__r   strboolr   r   __classcell__)r   s   @r   r   r      s        & &PI  $+/*.,0.2 *.  } #4. "$	
 $D> &d^ X&         r   r   N)r   typingr   telegram._telegramobjectr   telegram._utils.typesr   r    r   r   <module>r$      s   $ [ Z       3 3 3 3 3 3 * * * * * *K K K K K. K K K K Kr   