
    ՟f                     R    d Z ddlmZmZ ddlmZ ddlmZ ddlm	Z	  G d de      Z
y)	zEThis module contains an object that represents a Telegram ForceReply.    )FinalOptional)	constants)TelegramObject)JSONDictc            	            e Zd ZU dZdZ	 	 ddddee   dee   dee   f fdZ	e
j                  j                  Zee   ed	<   	 e
j                  j                   Zee   ed
<    xZS )
ForceReplya	  
    Upon receiving a message with this object, Telegram clients will display a reply interface to
    the user (act as if the user has selected the bot's message and tapped 'Reply'). This can be
    extremely useful if you want to create user-friendly step-by-step interfaces without having
    to sacrifice `privacy mode <https://core.telegram.org/bots/features#privacy-mode>`_. Not
    supported in channels and for messages sent on behalf of a Telegram Business account.

    Objects of this class are comparable in terms of equality. Two objects of this class are
    considered equal, if their :attr:`selective` is equal.

    .. versionchanged:: 20.0
        The (undocumented) argument ``force_reply`` was removed and instead :attr:`force_reply`
        is now always set to :obj:`True` as expected by the Bot API.

    Args:
        selective (:obj:`bool`, optional): Use this parameter if you want to force reply from
            specific users only. Targets:

            1) Users that are @mentioned in the :attr:`~telegram.Message.text` of the
               :class:`telegram.Message` object.
            2) If the bot's message is a reply to a message in the same chat and forum topic,
               sender of the original message.

        input_field_placeholder (:obj:`str`, optional): The placeholder to be shown in the input
            field when the reply is active;
            :tg-const:`telegram.ForceReply.MIN_INPUT_FIELD_PLACEHOLDER`-
            :tg-const:`telegram.ForceReply.MAX_INPUT_FIELD_PLACEHOLDER`
            characters.

            .. versionadded:: 13.7

    Attributes:
        force_reply (:obj:`True`): Shows reply interface to the user, as if they manually selected
            the bots message and tapped 'Reply'.
        selective (:obj:`bool`): Optional. Force reply from specific users only. Targets:

            1) Users that are @mentioned in the :attr:`~telegram.Message.text` of the
               :class:`telegram.Message` object.
            2) If the bot's message is a reply to a message in the same chat and forum topic,
                sender of the original message.
        input_field_placeholder (:obj:`str`): Optional. The placeholder to be shown in the input
            field when the reply is active;
            :tg-const:`telegram.ForceReply.MIN_INPUT_FIELD_PLACEHOLDER`-
            :tg-const:`telegram.ForceReply.MAX_INPUT_FIELD_PLACEHOLDER`
            characters.

            .. versionadded:: 13.7

    )force_replyinput_field_placeholder	selectiveN
api_kwargsr   r   r   c                    t         |   |       d| _        || _        || _        | j                  f| _        | j                          y )Nr   T)super__init__r
   r   r   	_id_attrs_freeze)selfr   r   r   	__class__s       O/var/www/cvtools/html/venv/lib/python3.12/site-packages/telegram/_forcereply.pyr   zForceReply.__init__Q   sC     	J/!%)26M$..*    MIN_INPUT_FIELD_PLACEHOLDERMAX_INPUT_FIELD_PLACEHOLDER)NN)__name__
__module____qualname____doc__	__slots__r   boolstrr   r   r   
ReplyLimitr   r   int__annotations__r   __classcell__)r   s   @r   r	   r	      s    0d HI %)15
 *.D> "*#
 X&  /8.B.B.^.^s^ /8.B.B.^.^s^r   r	   N)r   typingr   r   telegramr   telegram._telegramobjectr   telegram._utils.typesr   r	    r   r   <module>r*      s%   & L "  3 *N Nr   