U
    g                     @   s   d Z ddlmZ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 ddlmZmZ dd	lmZ erdd
lmZ G dd de	ZdS )zTThis module contains the classes that represent Telegram InlineQueryResultCachedGif.    )TYPE_CHECKINGOptionalSequenceTuple)InlineKeyboardMarkup)InlineQueryResult)MessageEntity)parse_sequence_arg)DEFAULT_NONE)JSONDictODVInput)InlineQueryResultType)InputMessageContentc                       sv   e Zd ZdZdZddddeddfddeeee ee ee ed e	e ee
e  ee ee d
 fddZ  ZS )	InlineQueryResultCachedGifa  
    Represents a link to an animated GIF file stored on the Telegram servers. By default, this
    animated GIF file will be sent by the user with an optional caption. Alternatively, you can
    use :attr:`input_message_content` to send a message with specified content instead of
    the animation.

    .. seealso:: :wiki:`Working with Files and Media <Working-with-Files-and-Media>`

    Args:
        id (:obj:`str`): Unique identifier for this result,
            :tg-const:`telegram.InlineQueryResult.MIN_ID_LENGTH`-
            :tg-const:`telegram.InlineQueryResult.MAX_ID_LENGTH` Bytes.
        gif_file_id (:obj:`str`): A valid file identifier for the GIF file.
        title (:obj:`str`, optional): Title for the result.
        caption (:obj:`str`, optional): Caption of the GIF file to be sent,
            0-:tg-const:`telegram.constants.MessageLimit.CAPTION_LENGTH` characters
            after entities parsing.
        parse_mode (:obj:`str`, optional): |parse_mode|
        caption_entities (Sequence[:class:`telegram.MessageEntity`], optional): |caption_entities|

            .. versionchanged:: 20.0
                |sequenceclassargs|

        reply_markup (:class:`telegram.InlineKeyboardMarkup`, optional): Inline keyboard attached
            to the message.
        input_message_content (:class:`telegram.InputMessageContent`, optional): Content of the
            message to be sent instead of the gif.
        show_caption_above_media (:obj:`bool`, optional): Pass |show_cap_above_med|

            .. versionadded:: 21.3

    Attributes:
        type (:obj:`str`): :tg-const:`telegram.constants.InlineQueryResultType.GIF`.
        id (:obj:`str`): Unique identifier for this result,
            :tg-const:`telegram.InlineQueryResult.MIN_ID_LENGTH`-
            :tg-const:`telegram.InlineQueryResult.MAX_ID_LENGTH` Bytes.
        gif_file_id (:obj:`str`): A valid file identifier for the GIF file.
        title (:obj:`str`): Optional. Title for the result.
        caption (:obj:`str`): Optional. Caption of the GIF file to be sent,
            0-:tg-const:`telegram.constants.MessageLimit.CAPTION_LENGTH` characters
            after entities parsing.
        parse_mode (:obj:`str`): Optional. |parse_mode|
        caption_entities (Tuple[:class:`telegram.MessageEntity`]): Optional. |captionentitiesattr|

            .. versionchanged:: 20.0

                * |tupleclassattrs|
                * |alwaystuple|
        reply_markup (:class:`telegram.InlineKeyboardMarkup`): Optional. Inline keyboard attached
            to the message.
        input_message_content (:class:`telegram.InputMessageContent`): Optional. Content of the
            message to be sent instead of the gif.
        show_caption_above_media (:obj:`bool`): Optional. |show_cap_above_med|

            .. versionadded:: 21.3

    )captioncaption_entitiesgif_file_idinput_message_content
parse_modereply_markupshow_caption_above_mediatitleN
api_kwargsr   )
idr   r   r   r   r   r   r   r   r   c
             	      s`   t  jtj||
d |  : || _|| _|| _|| _t	|| _
|| _|| _|	| _W 5 Q R X d S )Nr   )super__init__r   ZGIFZ	_unfrozenr   r   r   r   r	   r   r   r   r   )selfr   r   r   r   r   r   r   r   r   r   	__class__ O/tmp/pip-unpacked-wheel-swnnwir2/telegram/_inline/inlinequeryresultcachedgif.pyr   h   s    

z#InlineQueryResultCachedGif.__init__)__name__
__module____qualname____doc__	__slots__r
   strr   r   r   r   r   boolr   r   __classcell__r    r    r   r!   r   "   s.   :
r   N)r%   typingr   r   r   r   Z%telegram._inline.inlinekeyboardmarkupr   Z"telegram._inline.inlinequeryresultr   Ztelegram._messageentityr   Ztelegram._utils.argumentparsingr	   Ztelegram._utils.defaultvaluer
   Ztelegram._utils.typesr   r   Ztelegram.constantsr   Ztelegramr   r   r    r    r    r!   <module>   s   