
    i5                         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dS )z>This module contains objects related to Telegram forum topics.    )Optional)TelegramObject)JSONDictc                   ^     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| _        |                                  d S Nr   )super__init__r
   r   r   r	   	_id_attrs_freeze)selfr
   r   r   r	   r   	__class__s         Z/var/www/html/crypto-bot/backend/venv/lib/python3.11/site-packages/telegram/_forumtopic.pyr   zForumTopic.__init__5   sd     	J///&7	)3G!0$)T_M    N)__name__
__module____qualname____doc__	__slots__intstrr   r   r   __classcell__r   s   @r   r   r      s         0 TI /3 *.    	
 'sm X&         r   r   c                   Z     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| _        |                                  d S r   )r   r   r   r   r	   r   r   )r   r   r   r	   r   r   s        r   r   zForumTopicCreated.__init__b   sW     	J///	)3G!)T_5r   r   )r   r   r   r   r   r   r   r   r   r   r    r!   s   @r   r#   r#   I   s         , ?I /3	 *.    'sm	 X&         r   r#   c                   B     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                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    r!   s   @r   r&   r&   t   n          I;?   hx&8 D          r   r&   c                   B     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                t    t                                          |           |                                  d S r   r*   r+   s     r   r   zForumTopicReopened.__init__   r,   r   r-   r!   s   @r   r0   r0      r.   r   r0   c            	       d     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| _        |                                  d S r   )r   r   r   r	   r   r   )r   r   r	   r   r   s       r   r   zForumTopicEdited.__init__   sQ     	J///#'	3G!)T%>?r   )NN)
r   r   r   r   r   r   r   r   r   r    r!   s   @r   r3   r3      s         & 1I #.2
 *.  sm 'sm
 X&         r   r3   c                   >     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                t    t                                          |           |                                  d S r   r*   r+   s     r   r   z GeneralForumTopicHidden.__init__   r,   r   r-   r!   s   @r   r6   r6      g          I;?   hx&8          r   r6   c                   >     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                t    t                                          |           |                                  d S 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?      sw  & E D       3 3 3 3 3 3 * * * * * *, , , , , , , ,^( ( ( ( ( ( ( (V    ~            # # # # #~ # # #L    n             r   