
    Yi(                     B    S r SSKJr  SSKJr  SSKJr   " S S\5      rg)zTThis module contains a class that represents a Telegram SwitchInlineQueryChosenChat.    )Optional)TelegramObject)JSONDictc                      ^  \ rS rSrSrSr     SSS.S\\   S\\   S\\   S	\\   S
\\   S\\	   4U 4S jjjjr
SrU =r$ )SwitchInlineQueryChosenChat   ai  
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U ]  US9  Xl        X l        X0l        X@l        XPl        U R                  U R                  U R                  U R
                  U R                  4U l        U R                  5         g )Nr   )	super__init__r   r   r	   r   r
   	_id_attrs_freeze)selfr   r   r	   r   r
   r   	__class__s          P/app/.venv/lib/python3.13/site-packages/telegram/_switchinlinequerychosenchat.pyr   $SwitchInlineQueryChosenChat.__init__J   ss     	J/$)
0@/>1B3F  JJ!!  ""$$
 	    )r   r	   r
   r   r   r   )NNNNN)__name__
__module____qualname____firstlineno____doc__	__slots__r   strboolr   r   __static_attributes____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"   $ [  3 *K. Kr   