o
    Zzjë  ã                   @   s0   d Z ddlmZ ddlmZ G dd„ deƒZdS )zTThis module contains a class that represents a Telegram SwitchInlineQueryChosenChat.é    )ÚTelegramObject)ÚJSONDictc                       sh   e Zd ZdZdZ					dddœdedB dedB dedB dedB d	edB d
edB f‡ fdd„Z‡  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                   sR   t ƒ j|d� || _|| _|| _|| _|| _| 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__© ú`/var/www/kodo/tsheker/venv/lib/python3.10/site-packages/telegram/_switchinlinequerychosenchat.pyr   I   s   
ûz$SwitchInlineQueryChosenChat.__init__)NNNNN)
Ú__name__Ú
__module__Ú__qualname__Ú__doc__Ú	__slots__ÚstrÚboolr   r   Ú__classcell__r   r   r   r   r      s.    (
úøþýüûúør   N)r   Útelegram._telegramobjectr   Útelegram._utils.typesr   r   r   r   r   r   Ú<module>   s   