o
    ºªRhŸ$  ã                   @   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
 G dd	„ d	ee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G dd„ deee
ƒƒZG dd„ deee
ƒƒZG dd„ deee
ƒƒZdS )z$linebot.models.send_messages module.é    )ÚABCMeta)Úwith_metaclassé   )ÚEmojis)Ú
get_action)ÚBasec                       ó"   e Zd ZdZd‡ fdd„	Z‡  ZS )ÚSendMessagez#Abstract Base Class of SendMessage.Nc                    s<   t t| ƒjdi |¤Ž d| _|  |t¡| _|  |t¡| _dS )a#  __init__ method.

        :param quick_reply: QuickReply object
        :type quick_reply: T <= :py:class:`linebot.models.send_messages.QuickReply`
        :param sender: Sender object
        :type sender: T <= :py:class:`linebot.models.send_messages.Sender`
        :param kwargs:
        N© )	Úsuperr	   Ú__init__ÚtypeÚget_or_new_from_json_dictÚ
QuickReplyÚquick_replyÚSenderÚsender)Úselfr   r   Úkwargs©Ú	__class__r
   ú^/home/air/sanwanet/backup_V2/venv/lib/python3.10/site-packages/linebot/models/send_messages.pyr      s   	zSendMessage.__init__©NN©Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   Ú__classcell__r
   r
   r   r   r	      s    r	   c                       r   )ÚTextSendMessagez_TextSendMessage.

    https://developers.line.biz/en/reference/messaging-api/#text-message
    Nc           	         sh   t t| ƒjd||dœ|¤Ž d| _|| _|r/g }|D ]}|  |t¡}|r)| |¡ q|| _dS || _dS )a$  __init__ method.

        :param str text: Message text
        :param quick_reply: QuickReply object
        :type quick_reply: T <= :py:class:`linebot.models.send_messages.QuickReply`
        :type sender: T <= :py:class:`linebot.models.send_messages.Sender`
        :param kwargs:
        ©r   r   ÚtextNr
   )	r   r   r   r   r!   r   r   ÚappendÚemojis)	r   r!   r#   r   r   r   Ú
new_emojisÚemojiÚemoji_objectr   r
   r   r   4   s   	ÿ
€

zTextSendMessage.__init__©NNNNr   r
   r
   r   r   r   .   ó    r   c                       ó&   e Zd ZdZ		d‡ fdd„	Z‡  ZS )ÚImageSendMessagezaImageSendMessage.

    https://developers.line.biz/en/reference/messaging-api/#image-message
    Nc                    ó2   t t| ƒjd||dœ|¤Ž d| _|| _|| _dS )a  __init__ method.

        :param str original_content_url: Image URL.
            HTTPS
            JPEG
            Max: 1024 x 1024
            Max: 1 MB
        :param str preview_image_url: Preview image URL
            HTTPS
            JPEG
            Max: 240 x 240
            Max: 1 MB
        :param quick_reply: QuickReply object
        :type quick_reply: T <= :py:class:`linebot.models.send_messages.QuickReply`
        :type sender: T <= :py:class:`linebot.models.send_messages.Sender`
        :param kwargs:
        r    ÚimageNr
   )r   r*   r   r   Úoriginal_content_urlÚpreview_image_url)r   r-   r.   r   r   r   r   r
   r   r   T   s   
zImageSendMessage.__init__r'   r   r
   r
   r   r   r*   N   ó
    ÿr*   c                       r)   )ÚVideoSendMessagezaVideoSendMessage.

    https://developers.line.biz/en/reference/messaging-api/#video-message
    Nc                    s8   t t| ƒjd||dœ|¤Ž d| _|| _|| _|| _dS )a‡  __init__ method.

        :param str original_content_url: URL of video file.
            HTTPS. mp4. Less than 1 minute. Max: 10 MB.
        :param str preview_image_url: URL of preview image.
            HTTPS. JPEG. Max: 240 x 240. Max: 1 MB.
        :param str tracking_id: the video viewing complete event occurs
            when the user finishes watching the video.
            Max character limit: 100.
        :param quick_reply: QuickReply object
        :type quick_reply: T <= :py:class:`linebot.models.send_messages.QuickReply`
        :type sender: T <= :py:class:`linebot.models.send_messages.Sender`
        :param kwargs:
        r    ÚvideoNr
   )r   r0   r   r   r-   r.   Útracking_id)r   r-   r.   r2   r   r   r   r   r
   r   r   t   s
   
zVideoSendMessage.__init__)NNNNNr   r
   r
   r   r   r0   n   r/   r0   c                       r)   )ÚAudioSendMessagezaAudioSendMessage.

    https://developers.line.biz/en/reference/messaging-api/#audio-message
    Nc                    r+   )a´  __init__ method.

        :param str original_content_url: URL of audio file. HTTPS.
            m4a. Less than 1 minute. Max 10 MB.
        :param long duration: Length of audio file (milliseconds).
        :param quick_reply: QuickReply object
        :type quick_reply: T <= :py:class:`linebot.models.send_messages.QuickReply`
        :type sender: T <= :py:class:`linebot.models.send_messages.Sender`
        :param kwargs:
        r    ÚaudioNr
   )r   r3   r   r   r-   Úduration)r   r-   r5   r   r   r   r   r
   r   r   ’   s   
zAudioSendMessage.__init__r'   r   r
   r
   r   r   r3   Œ   r/   r3   c                       r)   )ÚLocationSendMessagezgLocationSendMessage.

    https://developers.line.biz/en/reference/messaging-api/#location-message
    Nc                    s>   t t| ƒjd||dœ|¤Ž d| _|| _|| _|| _|| _dS )a”  __init__ method.

        :param str title: Title
        :param str address: Address
        :param float latitude: Latitude
        :param float longitude: Longitude
        :param quick_reply: QuickReply object
        :type quick_reply: T <= :py:class:`linebot.models.send_messages.QuickReply`
        :type sender: T <= :py:class:`linebot.models.send_messages.Sender`
        :param kwargs:
        r    ÚlocationNr
   )r   r6   r   r   ÚtitleÚaddressÚlatitudeÚ	longitude)r   r8   r9   r:   r;   r   r   r   r   r
   r   r   «   s   
zLocationSendMessage.__init__)NNNNNNr   r
   r
   r   r   r6   ¥   r/   r6   c                       r   )ÚStickerSendMessagezeStickerSendMessage.

    https://developers.line.biz/en/reference/messaging-api/#sticker-message
    Nc                    r+   )aR  __init__ method.

        :param str package_id: Package ID
        :param str sticker_id: Sticker ID
        :param quick_reply: QuickReply object
        :type quick_reply: T <= :py:class:`linebot.models.send_messages.QuickReply`
        :type sender: T <= :py:class:`linebot.models.send_messages.Sender`
        :param kwargs:
        r    ÚstickerNr
   )r   r<   r   r   Ú
package_idÚ
sticker_id)r   r>   r?   r   r   r   r   r
   r   r   Ç   s   

zStickerSendMessage.__init__r'   r   r
   r
   r   r   r<   Á   r(   r<   c                       r   )r   zSQuickReply.

    https://developers.line.me/en/docs/messaging-api/#quick-reply
    Nc                    sD   t t| ƒjdi |¤Ž g }|r|D ]}| |  |t¡¡ q|| _dS )z¼__init__ method.

        :param items: Quick reply button objects
        :type items: list[T <= :py:class:`linebot.models.send_messages.QuickReplyButton`]
        :param kwargs:
        Nr
   )r   r   r   r"   r   ÚQuickReplyButtonÚitems)r   rA   r   Ú	new_itemsÚitemr   r
   r   r   Þ   s   ÿ
zQuickReply.__init__)Nr   r
   r
   r   r   r   Ø   r(   r   c                       r   )r@   zlQuickReplyButton.

    https://developers.line.me/en/reference/messaging-api/#quick-reply-button-object
    Nc                    s0   t t| ƒjdi |¤Ž d| _|| _t|ƒ| _dS )a$  __init__ method.

        :param str image_url: URL of the icon that is displayed
            at the beginning of the button
        :param action: Action performed when this button is tapped
        :type action: T <= :py:class:`linebot.models.actions.Action`
        :param kwargs:
        ÚactionNr
   )r   r@   r   r   Ú	image_urlr   rD   )r   rE   rD   r   r   r
   r   r   ö   s   	zQuickReplyButton.__init__r   r   r
   r
   r   r   r@   ð   r(   r@   c                       r   )r   z^Sender.

    https://developers.line.biz/en/reference/messaging-api/#icon-nickname-switch
    Nc                    s&   t t| ƒjdi |¤Ž || _|| _dS )zl__init__ method.

        :param str name: Display name
        :param str icon_url: Icon image URL
        Nr
   )r   r   r   ÚnameÚicon_url)r   rF   rG   r   r   r
   r   r     s   
zSender.__init__r   r   r
   r
   r   r   r     r(   r   N)r   Úabcr   Úfuture.utilsr   r#   r   Úactionsr   Úbaser   r	   r   r*   r0   r3   r6   r<   r   r@   r   r
   r
   r
   r   Ú<module>   s      