
    ՟f5                         d Z ddlmZ ddlmZ ddlmZ  G d de      Z G d de      Z G d	 d
e      Z	 G d de      Z
 G d de      Z G d de      Z G d de      Zy)z>This module contains objects related to Telegram forum topics.    )Optional)TelegramObject)JSONDictc                   R     e Zd ZdZdZ	 ddddedededee   d	ee   f
 fd
Z	 xZ
S )
ForumTopica  
    This object represents a forum topic.

    Objects of this class are comparable in terms of equality. Two objects of this class are
    considered equal, if their :attr:`message_thread_id`, :attr:`name` and :attr:`icon_color`
    are equal.

    .. versionadded:: 20.0

    Args:
        message_thread_id (:obj:`int`): Unique identifier of the forum topic
        name (:obj:`str`): Name of the topic
        icon_color (:obj:`int`): Color of the topic icon in RGB format
        icon_custom_emoji_id (:obj:`str`, optional): Unique identifier of the custom emoji shown
            as the topic icon.

    Attributes:
        message_thread_id (:obj:`int`): Unique identifier of the forum topic
        name (:obj:`str`): Name of the topic
        icon_color (:obj:`int`): Color of the topic icon in RGB format
        icon_custom_emoji_id (:obj:`str`): Optional. Unique identifier of the custom emoji shown
            as the topic icon.
    )
icon_coloricon_custom_emoji_idmessage_thread_idnameN
api_kwargsr
   r   r   r	   r   c                    t         |   |       || _        || _        || _        || _        | j                  | j                  | j                  f| _        | j                          y Nr   )super__init__r
   r   r   r	   	_id_attrs_freeze)selfr
   r   r   r	   r   	__class__s         O/var/www/cvtools/html/venv/lib/python3.12/site-packages/telegram/_forumtopic.pyr   zForumTopic.__init__5   sX     	J/&7	)3G!00$))T__M    N)__name__
__module____qualname____doc__	__slots__intstrr   r   r   __classcell__r   s   @r   r   r      sb    0 TI /3 *.  	
 'sm X& r   r   c                   N     e Zd ZdZdZ	 d
dddededee   dee   f fd	Z	 xZ
S )ForumTopicCreateda>  
    This object represents the content of a service message about a new forum topic created in
    the chat.

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

    .. versionadded:: 20.0

    Args:
        name (:obj:`str`): Name of the topic
        icon_color (:obj:`int`): Color of the topic icon in RGB format
        icon_custom_emoji_id (:obj:`str`, optional): Unique identifier of the custom emoji shown
            as the topic icon.

    Attributes:
        name (:obj:`str`): Name of the topic
        icon_color (:obj:`int`): Color of the topic icon in RGB format
        icon_custom_emoji_id (:obj:`str`): Optional. Unique identifier of the custom emoji shown
            as the topic icon.
    )r   r	   r   Nr   r   r   r	   r   c                    t         |   |       || _        || _        || _        | j                  | j                  f| _        | j                          y r   )r   r   r   r   r	   r   r   )r   r   r   r	   r   r   s        r   r   zForumTopicCreated.__init__b   sH     	J/	)3G!))T__5r   r   )r   r   r   r   r   r   r   r   r   r   r    r!   s   @r   r#   r#   I   sW    , ?I /3	 *.  'sm	 X& r   r#   c                   <     e Zd ZdZdZdddee   ddf fdZ xZS )ForumTopicClosedz
    This object represents a service message about a forum topic closed in the chat.
    Currently holds no information.

    .. versionadded:: 20.0
     Nr   r   returnc                F    t         |   |       | j                          y r   r   r   r   r   r   r   s     r   r   zForumTopicClosed.__init__~       J/r   	r   r   r   r   r   r   r   r   r    r!   s   @r   r&   r&   t   /     I;? hx&8 D  r   r&   c                   <     e Zd ZdZdZdddee   ddf fdZ xZS )ForumTopicReopenedz
    This object represents a service message about a forum topic reopened in the chat.
    Currently holds no information.

    .. versionadded:: 20.0
    r'   Nr   r   r(   c                F    t         |   |       | j                          y r   r*   r+   s     r   r   zForumTopicReopened.__init__   r,   r   r-   r!   s   @r   r0   r0      r.   r   r0   c            	       R     e Zd ZdZdZ	 	 d	dddee   dee   dee   f fdZ xZ	S )
ForumTopicEditedaI  
    This object represents a service message about an edited forum topic.

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

    .. versionadded:: 20.0

    Args:
        name (:obj:`str`, optional): New name of the topic, if it was edited.
        icon_custom_emoji_id (:obj:`str`, optional): New identifier of the custom emoji shown as
            the topic icon, if it was edited; an empty string if the icon was removed.

    Attributes:
        name (:obj:`str`): Optional. New name of the topic, if it was edited.
        icon_custom_emoji_id (:obj:`str`): Optional. New identifier of the custom emoji shown as
            the topic icon, if it was edited; an empty string if the icon was removed.
    )r	   r   Nr   r   r	   r   c                    t         |   |       || _        || _        | j                  | j                  f| _        | j                          y r   )r   r   r   r	   r   r   )r   r   r	   r   r   s       r   r   zForumTopicEdited.__init__   sC     	J/#'	3G!))T%>%>?r   )NN)
r   r   r   r   r   r   r   r   r   r    r!   s   @r   r3   r3      sT    & 1I #.2
 *.sm 'sm
 X& r   r3   c                   8     e Zd ZdZdZdddee   f fdZ xZS )GeneralForumTopicHiddenz
    This object represents a service message about General forum topic hidden in the chat.
    Currently holds no information.

    .. versionadded:: 20.0
    r'   Nr   r   c                F    t         |   |       | j                          y r   r*   r+   s     r   r   z GeneralForumTopicHidden.__init__   r,   r   r-   r!   s   @r   r6   r6      (     I;? hx&8  r   r6   c                   8     e Zd ZdZdZdddee   f fdZ xZS )GeneralForumTopicUnhiddenz
    This object represents a service message about General forum topic unhidden in the chat.
    Currently holds no information.

    .. versionadded:: 20.0
    r'   Nr   r   c                F    t         |   |       | j                          y r   r*   r+   s     r   r   z"GeneralForumTopicUnhidden.__init__   r,   r   r-   r!   s   @r   r:   r:      r8   r   r:   N)r   typingr   telegram._telegramobjectr   telegram._utils.typesr   r   r#   r&   r0   r3   r6   r:   r'   r   r   <module>r?      sk   & E  3 *, ,^( (V~    #~ #Ln   r   