o
    "h5                     @   s   d Z ddlmZ ddlmZ ddlmZ G dd deZG dd deZG d	d
 d
eZ	G dd deZ
G dd deZG dd deZG dd deZdS )z>This module contains objects related to Telegram forum topics.    )Optional)TelegramObject)JSONDictc                       sL   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
dZ	  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                   sD   t  j|d || _|| _|| _|| _| j| j| jf| _|   d S Nr
   )super__init__r   r	   r   r   	_id_attrs_freeze)selfr   r	   r   r   r   	__class__ G/var/www/html/venv/lib/python3.10/site-packages/telegram/_forumtopic.pyr   5   s   	zForumTopic.__init__N)__name__
__module____qualname____doc__	__slots__intstrr   r   r   __classcell__r   r   r   r   r      s"    r   c                       sH   e Zd ZdZdZ	ddddededee dee f fd	d
Z	  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                   s:   t  j|d || _|| _|| _| j| jf| _|   d S r   )r   r   r	   r   r   r   r   )r   r	   r   r   r   r   r   r   r   b   s   zForumTopicCreated.__init__r   )r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   I   s    r   c                       8   e Zd ZdZdZdddee ddf fddZ  ZS )	ForumTopicClosedz
    This object represents a service message about a forum topic closed in the chat.
    Currently holds no information.

    .. versionadded:: 20.0
    r   Nr
   r   returnc                      t  j|d |   d S r   r   r   r   r   r   r   r   r   r   ~      zForumTopicClosed.__init__	r   r   r   r   r   r   r   r   r   r   r   r   r   r!   t       (r!   c                       r    )	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                   r#   r   r$   r%   r   r   r   r      r&   zForumTopicReopened.__init__r'   r   r   r   r   r)      r(   r)   c                	       sJ   e Zd ZdZdZ		d
dddee dee dee f fdd	Z  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                   s4   t  j|d || _|| _| j| jf| _|   d S r   )r   r   r	   r   r   r   )r   r	   r   r   r   r   r   r      s
   zForumTopicEdited.__init__)NN)
r   r   r   r   r   r   r   r   r   r   r   r   r   r   r*      s    r*   c                       4   e Zd ZdZdZdddee f fddZ  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                   r#   r   r$   r%   r   r   r   r      r&   z GeneralForumTopicHidden.__init__r'   r   r   r   r   r,          $r,   c                       r+   )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                   r#   r   r$   r%   r   r   r   r      r&   z"GeneralForumTopicUnhidden.__init__r'   r   r   r   r   r.      r-   r.   N)r   typingr   telegram._telegramobjectr   telegram._utils.typesr   r   r   r!   r)   r*   r,   r.   r   r   r   r   <module>   s   /+&