o
    Zzj“  ã                   @   s�   d 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.é    )ÚTelegramObject)ÚJSONDictc                       sV   e Zd ZdZdZ		dddœdededededB d	edB d
edB f‡ fdd„Z	‡  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                   sJ   t ƒ j|d� || _|| _|| _|| _|| _| j| j| jf| _|  ¡  d S ©Nr
   )	ÚsuperÚ__init__r   r	   r   r   r   Ú	_id_attrsÚ_freeze)Úselfr   r	   r   r   r   r   ©Ú	__class__© úO/var/www/kodo/tsheker/venv/lib/python3.10/site-packages/telegram/_forumtopic.pyr   B   s   
zForumTopic.__init__©NN)Ú__name__Ú
__module__Ú__qualname__Ú__doc__Ú	__slots__ÚintÚstrÚboolr   r   Ú__classcell__r   r   r   r   r      s(     úøþýüûúør   c                       sR   e Zd ZdZdZ		dddœdedededB dedB d	edB 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.
        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                   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   r   r   y   s   	zForumTopicCreated.__init__r   )r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r    X   s$    ûùþýüûùr    c                       ó8   e Zd ZdZdZddœdedB 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"   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dB dedB dedB 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__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dB 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   Útelegram._telegramobjectr   Útelegram._utils.typesr   r   r    r"   r*   r+   r-   r/   r   r   r   r   Ú<module>   s   ?5&