
    YPi                         d Z ddlmZ ddlmZ ddlmZ ddlmZ ddl	m
Z
 ddlmZ ddlmZmZ  G d	 d
e      Z G d de      Zy)zNThis module contains an objects that are related to Telegram input checklists.    )Sequence)Optional)MessageEntity)TelegramObject)parse_sequence_arg)DEFAULT_NONE)JSONDictODVInputc                   `     e Zd ZdZdZedfdddededee   de	e
e      d	e	e   f
 fd
Z xZS )InputChecklistTaska?  
    Describes a task to add to a checklist.

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

    .. versionadded:: 22.3

    Args:
        id (:obj:`int`):
            Unique identifier of the task; must be positive and unique among all task identifiers
            currently present in the checklist.
        text (:obj:`str`):
            Text of the task;
            :tg-const:`telegram.constants.InputChecklistLimit.MIN_TEXT_LENGTH`-:tg-const:`telegram.constants.InputChecklistLimit.MAX_TEXT_LENGTH` characters after
            entities parsing.
        parse_mode (:obj:`str`, optional):
            |parse_mode|
        text_entities (Sequence[:class:`telegram.MessageEntity`], optional):
            List of special entities that appear in the text, which can be specified instead of
            parse_mode. Currently, only bold, italic, underline, strikethrough, spoiler, and
            custom_emoji entities are allowed.

    Attributes:
        id (:obj:`int`):
            Unique identifier of the task; must be positive and unique among all task identifiers
            currently present in the checklist.
        text (:obj:`str`):
            Text of the task;
            :tg-const:`telegram.constants.InputChecklistLimit.MIN_TEXT_LENGTH`-:tg-const:`telegram.constants.InputChecklistLimit.MAX_TEXT_LENGTH` characters after
            entities parsing.
        parse_mode (:obj:`str`):
            Optional. |parse_mode|
        text_entities (Sequence[:class:`telegram.MessageEntity`]):
            Optional. List of special entities that appear in the text, which can be specified
            instead of parse_mode. Currently, only bold, italic, underline, strikethrough, spoiler,
            and custom_emoji entities are allowed.

    )id
parse_modetexttext_entitiesN
api_kwargsr   r   r   r   r   c                    t         |   |       || _        || _        || _        t        |      | _        | j                  f| _        | j                          y Nr   )	super__init__r   r   r   r   r   	_id_attrs_freeze)selfr   r   r   r   r   	__class__s         N/root/twitch_bot/venv/lib/python3.12/site-packages/telegram/_inputchecklist.pyr   zInputChecklistTask.__init__Q   sM     	J/	)38J=8Y''    )__name__
__module____qualname____doc__	__slots__r   intstrr
   r   r   r   r	   r   __classcell__r   s   @r   r   r      so    (TI %1;? *.  SM	
   78 X& r   r   c                   ~     e Zd ZdZdZedddfdddedee   de	e   de
ee      d	e
e   d
e
e   de
e   f fdZ xZS )InputChecklistaw
  
    Describes a checklist to create.

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

    .. versionadded:: 22.3

    Args:
        title (:obj:`str`):
            Title of the checklist;
            :tg-const:`telegram.constants.InputChecklistLimit.MIN_TITLE_LENGTH`-:tg-const:`telegram.constants.InputChecklistLimit.MAX_TITLE_LENGTH` characters after
            entities parsing.
        parse_mode (:obj:`str`, optional):
            |parse_mode|
        title_entities (Sequence[:class:`telegram.MessageEntity`], optional):
            List of special entities that appear in the title, which
            can be specified instead of :paramref:`parse_mode`. Currently, only bold, italic,
            underline, strikethrough, spoiler, and custom_emoji entities are allowed.
        tasks (Sequence[:class:`telegram.InputChecklistTask`]):
            List of
            :tg-const:`telegram.constants.InputChecklistLimit.MIN_TASK_NUMBER`-:tg-const:`telegram.constants.InputChecklistLimit.MAX_TASK_NUMBER` tasks in
            the checklist.
        others_can_add_tasks (:obj:`bool`, optional):
            Pass :obj:`True` if other users can add tasks to the checklist.
        others_can_mark_tasks_as_done (:obj:`bool`, optional):
            Pass :obj:`True` if other users can mark tasks as done or not done in the checklist.

    Attributes:
        title (:obj:`str`):
            Title of the checklist;
            :tg-const:`telegram.constants.InputChecklistLimit.MIN_TITLE_LENGTH`-:tg-const:`telegram.constants.InputChecklistLimit.MAX_TITLE_LENGTH` characters after
            entities parsing.
        parse_mode (:obj:`str`):
            Optional. |parse_mode|
        title_entities (Sequence[:class:`telegram.MessageEntity`]):
            Optional. List of special entities that appear in the title, which
            can be specified instead of :paramref:`parse_mode`. Currently, only bold, italic,
            underline, strikethrough, spoiler, and custom_emoji entities are allowed.
        tasks (Sequence[:class:`telegram.InputChecklistTask`]):
            List of
            :tg-const:`telegram.constants.InputChecklistLimit.MIN_TASK_NUMBER`-:tg-const:`telegram.constants.InputChecklistLimit.MAX_TASK_NUMBER` tasks in
            the checklist.
        others_can_add_tasks (:obj:`bool`):
            Optional. Pass :obj:`True` if other users can add tasks to the checklist.
        others_can_mark_tasks_as_done (:obj:`bool`):
            Optional. Pass :obj:`True` if other users can mark tasks as done or not done in
            the checklist.

    )others_can_add_tasksothers_can_mark_tasks_as_doner   taskstitletitle_entitiesNr   r+   r*   r   r,   r(   r)   r   c                    t         |   |       || _        t        |      | _        || _        t        |      | _        || _        || _        | j                  f| _	        | j                          y r   )r   r   r+   r   r*   r   r,   r(   r)   r   r   )	r   r+   r*   r   r,   r(   r)   r   r   s	           r   r   zInputChecklist.__init__   sb     	J/
5G5N
)39KN9[4H!=Z***r   )r   r   r   r    r!   r   r#   r   r   r
   r   r   boolr	   r   r$   r%   s   @r   r'   r'   e   s    5nI %1<@/38< *. *+ SM	
 !-!89 'tn (0~ X& r   r'   N)r    collections.abcr   typingr   telegram._messageentityr   telegram._telegramobjectr   telegram._utils.argumentparsingr   telegram._utils.defaultvaluer   telegram._utils.typesr	   r
   r   r'    r   r   <module>r7      s=   & U $  1 3 > 5 4C CLV^ Vr   