o
    Zzj‘  ã                   @   sH   d Z ddlmZ ddlmZ ddlmZ ddlmZ G dd„ deƒZ	dS )	zEThis module contains an object that represents a Telegram ForceReply.é    )ÚFinal)Ú	constants)ÚTelegramObject)ÚJSONDictc                	       sv   e Zd ZU dZdZ		dddœdedB dedB dedB f‡ fdd	„Ze	j
jZee ed
< 	 e	j
jZee ed< ‡  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 user 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                   s6   t ƒ j|d� d| _|| _|| _| jf| _|  ¡  d S )Nr
   T)ÚsuperÚ__init__r   r	   r   Ú	_id_attrsÚ_freeze)Úselfr	   r   r   ©Ú	__class__© úO/var/www/kodo/tsheker/venv/lib/python3.10/site-packages/telegram/_forcereply.pyr   Q   s   
zForceReply.__init__ÚMIN_INPUT_FIELD_PLACEHOLDERÚMAX_INPUT_FIELD_PLACEHOLDER)NN)Ú__name__Ú
__module__Ú__qualname__Ú__doc__Ú	__slots__ÚboolÚstrr   r   r   Ú
ReplyLimitr   r   ÚintÚ__annotations__r   Ú__classcell__r   r   r   r   r      s$   
 2ýûþýûr   N)
r   Útypingr   Útelegramr   Útelegram._telegramobjectr   Útelegram._utils.typesr   r   r   r   r   r   Ú<module>   s   