o
    "hD                     @   s   d Z ddlmZ ddlmZmZ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r:d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OptionalUnion)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e	 d	eee  d
ee
 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__ O/var/www/html/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   r   __classcell__r   r   r   r   r   "   s(    :
r   N)r"   collections.abcr   typingr   r   r   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   