o
    Zzj!  ã                   @   s€   d Z ddlmZ ddlmZ ddlmZ ddlmZ ddl	m
Z
 ddlmZ ddlmZmZ er6dd	lmZ G d
d„ deƒZdS )zGThis module contains an object that represents a Telegram InputSticker.é    )ÚSequence)ÚTYPE_CHECKING)ÚMaskPosition)ÚTelegramObject)Úparse_sequence_arg)Úparse_file_input)Ú	FileInputÚJSONDict)Ú	InputFilec                       s^   e Zd ZdZdZ		dddœdedee dededB d	ee dB d
e	dB f‡ fdd„Z
‡  ZS )ÚInputStickera   
    This object describes a sticker to be added to a sticker set.

    .. versionadded:: 20.2

    .. versionchanged:: 21.1
        As of Bot API 7.2, the new argument :paramref:`format` is a required argument, and thus the
        order of the arguments has changed.

    Args:
        sticker (:obj:`str` | :term:`file object` | :class:`~telegram.InputFile` | :obj:`bytes`             | :class:`pathlib.Path`): The
            added sticker. |uploadinputnopath| Animated and video stickers can't be uploaded via
            HTTP URL.
        emoji_list (Sequence[:obj:`str`]): Sequence of
            :tg-const:`telegram.constants.StickerLimit.MIN_STICKER_EMOJI` -
            :tg-const:`telegram.constants.StickerLimit.MAX_STICKER_EMOJI` emoji associated with the
            sticker.
        mask_position (:class:`telegram.MaskPosition`, optional): Position where the mask should be
            placed on faces. For ":tg-const:`telegram.constants.StickerType.MASK`" stickers only.
        keywords (Sequence[:obj:`str`], optional): Sequence of
            0-:tg-const:`telegram.constants.StickerLimit.MAX_SEARCH_KEYWORDS` search keywords
            for the sticker with the total length of up to
            :tg-const:`telegram.constants.StickerLimit.MAX_KEYWORD_LENGTH` characters. For
            ":tg-const:`telegram.constants.StickerType.REGULAR`" and
            ":tg-const:`telegram.constants.StickerType.CUSTOM_EMOJI`" stickers only.
        format (:obj:`str`): Format of the added sticker, must be one of
            :tg-const:`telegram.constants.StickerFormat.STATIC` for a
            ``.WEBP`` or ``.PNG`` image, :tg-const:`telegram.constants.StickerFormat.ANIMATED`
            for a ``.TGS`` animation, :tg-const:`telegram.constants.StickerFormat.VIDEO` for a
            ``.WEBM`` video.

            .. versionadded:: 21.1

    Attributes:
        sticker (:obj:`str` | :class:`telegram.InputFile`): The added sticker.
        emoji_list (tuple[:obj:`str`]): Tuple of
            :tg-const:`telegram.constants.StickerLimit.MIN_STICKER_EMOJI` -
            :tg-const:`telegram.constants.StickerLimit.MAX_STICKER_EMOJI` emoji associated with the
            sticker.
        mask_position (:class:`telegram.MaskPosition`): Optional. Position where the mask should be
            placed on faces. For ":tg-const:`telegram.constants.StickerType.MASK`" stickers only.
        keywords (tuple[:obj:`str`]): Optional. Tuple of
            0-:tg-const:`telegram.constants.StickerLimit.MAX_SEARCH_KEYWORDS` search keywords
            for the sticker with the total length of up to
            :tg-const:`telegram.constants.StickerLimit.MAX_KEYWORD_LENGTH` characters. For
            ":tg-const:`telegram.constants.StickerType.REGULAR`" and
            ":tg-const:`telegram.constants.StickerType.CUSTOM_EMOJI`" stickers only.
            ":tg-const:`telegram.constants.StickerType.CUSTOM_EMOJI`" stickers only.
        format (:obj:`str`): Format of the added sticker, must be one of
            :tg-const:`telegram.constants.StickerFormat.STATIC` for a
            ``.WEBP`` or ``.PNG`` image, :tg-const:`telegram.constants.StickerFormat.ANIMATED`
            for a ``.TGS`` animation, :tg-const:`telegram.constants.StickerFormat.VIDEO` for a
            ``.WEBM`` video.

            .. versionadded:: 21.1
    )Ú
emoji_listÚformatÚkeywordsÚmask_positionÚstickerN©Ú
api_kwargsr   r   r   r   r   r   c                   sJ   t ƒ j|d� t|ddd�| _t|ƒ| _|| _|| _t|ƒ| _|  	¡  d S )Nr   T)Ú
local_modeÚattach)
ÚsuperÚ__init__r   r   r   r   r   r   r   Ú_freeze)Úselfr   r   r   r   r   r   ©Ú	__class__© úW/var/www/kodo/tsheker/venv/lib/python3.10/site-packages/telegram/_files/inputsticker.pyr   _   s   
ý

zInputSticker.__init__)NN)Ú__name__Ú
__module__Ú__qualname__Ú__doc__Ú	__slots__r   r   Ústrr   r	   r   Ú__classcell__r   r   r   r   r   "   s(    :úøþýüû
úør   N)r    Úcollections.abcr   Útypingr   Útelegram._files.stickerr   Útelegram._telegramobjectr   Útelegram._utils.argumentparsingr   Útelegram._utils.filesr   Útelegram._utils.typesr   r	   Útelegram._files.inputfiler
   r   r   r   r   r   Ú<module>   s   