
    i                         d 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dS )z>This module contains objects related to Telegram forum topics.    )TelegramObject)JSONDictc                   ^     e Zd ZdZdZ	 	 ddddededededz  d	edz  d
edz  f fdZ	 xZ
S )
ForumTopicap  
    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.
        is_name_implicit (:obj:`bool`, optional): :obj:`True`, if the name of the topic wasn't
            specified explicitly by its creator and likely needs to be changed by the bot.

            .. versionadded:: 22.6

    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.
        is_name_implicit (:obj:`bool`): Optional. :obj:`True`, if the name of the topic wasn't
            specified explicitly by its creator and likely needs to be changed by the bot.

            .. versionadded:: 22.6
    )
icon_coloricon_custom_emoji_idis_name_implicitmessage_thread_idnameN
api_kwargsr
   r   r   r   r	   r   c                    t                                          |           || _        || _        || _        || _        || _        | j        | j        | j        f| _        |                                  d S Nr   )	super__init__r
   r   r   r   r	   	_id_attrs_freeze)selfr
   r   r   r   r	   r   	__class__s          T/Users/shanyulin/my-agent/.venv/lib/python3.11/site-packages/telegram/_forumtopic.pyr   zForumTopic.__init__B   sl     	J///&7	)0D!-=0$)T_M    NN)__name__
__module____qualname____doc__	__slots__intstrboolr   r   __classcell__r   s   @r   r   r      s         @I ,0(, '+    	
 "Dj + tO         r   r   c                   Z     e Zd ZdZdZ	 	 ddddedededz  dedz  d	edz  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.
        is_name_implicit (:obj:`bool`, optional): :obj:`True`, if the name of the topic wasn't
            specified explicitly by its creator and likely needs to be changed by the bot.

            .. versionadded:: 22.6

    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.
        is_name_implicit (:obj:`bool`): Optional. :obj:`True`, if the name of the topic wasn't
            specified explicitly by its creator and likely needs to be changed by the bot.

            .. versionadded:: 22.6
    )r   r   r	   r   Nr   r   r   r   r	   r   c                    t                                          |           || _        || _        || _        || _        | j        | j        f| _        |                                  d S r   )r   r   r   r   r   r	   r   r   )r   r   r   r   r	   r   r   s         r   r   zForumTopicCreated.__init__y   s_     	J///	)0D!-=)T_5r   r   )r   r   r   r   r   r   r   r    r   r   r!   r"   s   @r   r$   r$   X   s         < SI ,0(, '+    "Dj	
 + tO         r   r$   c                   <     e Zd ZdZdZdddedz  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                t    t                                          |           |                                  d S r   r   r   r   r   r   r   s     r   r   zForumTopicClosed.__init__   /    J///r   r   r   r   r   r   r   r   r!   r"   s   @r   r'   r'      m          I8<   ho           r   r'   c                   <     e Zd ZdZdZdddedz  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                t    t                                          |           |                                  d S r   r+   r,   s     r   r   zForumTopicReopened.__init__   r-   r   r.   r"   s   @r   r1   r1      r/   r   r1   c            	       R     e Zd ZdZdZ	 	 d	dddedz  dedz  dedz  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| _        |                                  d S r   )r   r   r   r   r   r   )r   r   r   r   r   s       r   r   zForumTopicEdited.__init__   sQ     	J/// $	0D!)T%>?r   r   )	r   r   r   r   r   r   r   r   r!   r"   s   @r   r4   r4      s         & 1I  +/
 '+  Dj "Dj
 tO         r   r4   c                   8     e Zd ZdZdZdddedz  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                t    t                                          |           |                                  d S r   r+   r,   s     r   r   z GeneralForumTopicHidden.__init__   r-   r   r.   r"   s   @r   r7   r7      f          I8<   ho          r   r7   c                   8     e Zd ZdZdZdddedz  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                t    t                                          |           |                                  d S r   r+   r,   s     r   r   z"GeneralForumTopicUnhidden.__init__   r-   r   r.   r"   s   @r   r;   r;      r9   r   r;   N)r   telegram._telegramobjectr   telegram._utils.typesr   r   r$   r'   r1   r4   r7   r;   r(   r   r   <module>r?      se  & E D 3 3 3 3 3 3 * * * * * *< < < < < < < <~2 2 2 2 2 2 2 2j    ~            # # # # #~ # # #L    n             r   