o
    #`^h                     @   s  d Z ddlmZ ddlmZmZmZmZmZm	Z	m
Z
mZmZmZ ddlmZmZ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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 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'G d/d0 d0eZ(G d1d2 d2eZ)G d3d4 d4eZ*G d5d6 d6eZ+G d7d8 d8eZ,G d9d: d:eZ-G d;d< d<eZ.G d=d> d>eZ/G d?d@ d@eZ0G dAdB dBeZ1G dCdD dDeZ2G dEdF dFeZ3G dGdH dHeZ4G dIdJ dJeZ5G dKdL dLeZ6G dMdN dNeZ7G dOdP dPeZ8G dQdR dReZ9G dSdT dTeZ:G dUdV dVeZ;G dWdX dXeZ<G dYdZ dZeZ=G d[d\ d\eZ>d]S )^z linebot.models.responses module.   )Base)
SubscriptionPeriodInsightAppTypeInsight
AgeInsightGenderInsightAreaInsightMessageInsightClickInsightMessageStatistics
JobInsight(MessageStatisticsOfCustomAggregationUnit)RichMenuSizeRichMenuAreaRichMenuAliasc                   @      e Zd ZdZdddZdS )BroadcastResponsezkBroadcastResponse.

    https://developers.line.biz/en/reference/messaging-api/#send-broadcast-message
    Nc                 C   
   || _ dS zo__init__ method.

        :param str request_id: Request ID. A unique ID is generated for each request
        N
request_idselfr    r   V/home/air/shanriGPT/back/venv/lib/python3.10/site-packages/linebot/models/responses.py__init__       
zBroadcastResponse.__init__N__name__
__module____qualname____doc__r   r   r   r   r   r          r   c                   @   r   )#ValidateReplyMessageObjectsResponsezValidateReplyMessageObjectsResponse.

    https://developers.line.biz/en/reference/messaging-api/#validate-message-objects-of-reply-message
    Nc                 C   r   r   r   r   r   r   r   r   .   r   z,ValidateReplyMessageObjectsResponse.__init__r   r   r   r   r   r   r#   (   r"   r#   c                   @   r   )"ValidatePushMessageObjectsResponsezValidatePushMessageObjectsResponse.

    https://developers.line.biz/en/reference/messaging-api/#validate-message-objects-of-push-message
    Nc                 C   r   r   r   r   r   r   r   r   <   r   z+ValidatePushMessageObjectsResponse.__init__r   r   r   r   r   r   r$   6   r"   r$   c                   @   r   )'ValidateMulticastMessageObjectsResponsezValidateMulticastMessageObjectsResponse.

    https://developers.line.biz/en/reference/messaging-api/#validate-message-objects-of-multicast-message
    Nc                 C   r   r   r   r   r   r   r   r   J   r   z0ValidateMulticastMessageObjectsResponse.__init__r   r   r   r   r   r   r%   D   r"   r%   c                   @   r   )(ValidateNarrowcastMessageObjectsResponsezValidateNarrowcastMessageObjectsResponse.

    https://developers.line.biz/en/reference/messaging-api/#validate-message-objects-of-narrowcast-message
    Nc                 C   r   r   r   r   r   r   r   r   X   r   z1ValidateNarrowcastMessageObjectsResponse.__init__r   r   r   r   r   r   r&   R   r"   r&   c                   @   r   )'ValidateBroadcastMessageObjectsResponsezValidateBroadcastMessageObjectsResponse.

    https://developers.line.biz/en/reference/messaging-api/#validate-message-objects-of-broadcast-message
    Nc                 C   r   r   r   r   r   r   r   r   f   r   z0ValidateBroadcastMessageObjectsResponse.__init__r   r   r   r   r   r   r'   `   r"   r'   c                       &   e Zd ZdZ		d fdd	Z  ZS )ProfilezVProfile.

    https://developers.line.biz/en/reference/messaging-api/#get-profile
    Nc                    8   t t| jdi | || _|| _|| _|| _|| _dS )a  __init__ method.

        :param str display_name: Display name
        :param str user_id: User ID
        :param str picture_url: Image URL
        :param str status_message: Status message
        :param str language: Get user's language
        :param kwargs:
        Nr   )superr)   r   display_nameuser_idpicture_urlstatus_messagelanguage)r   r,   r-   r.   r/   r0   kwargs	__class__r   r   r   t   s   
zProfile.__init__NNNNNr   r   r    r!   r   __classcell__r   r   r2   r   r)   n   
    r)   c                       "   e Zd ZdZd fdd	Z  ZS )Groupz^Group.

    https://developers.line.biz/en/reference/messaging-api/#get-group-id-response
    Nc                    ,   t t| jdi | || _|| _|| _dS )z__init__ method.

        :param str group_id
        :param str group_name
        :param str picture_url
        :param kwargs:
        Nr   )r+   r9   r   group_id
group_namer.   )r   r;   r<   r.   r1   r2   r   r   r      s   
zGroup.__init__NNNr5   r   r   r2   r   r9          r9   c                       r8   )	MemberIdszMemberIds.

    https://developers.line.biz/en/reference/messaging-api/#get-group-member-user-ids
    https://developers.line.biz/en/reference/messaging-api/#get-room-member-user-ids
    Nc                    &   t t| jdi | || _|| _dS )a?  __init__ method.

        :param member_ids: List of user IDs of the members in the group or room.
            Max: 100 user IDs
        :type member_ids: list[str]
        :param str next: continuationToken.
            Only returned when there are more user IDs remaining in memberIds.
        :param kwargs:
        Nr   )r+   r?   r   
member_idsnext)r   rA   rB   r1   r2   r   r   r         

zMemberIds.__init__NNr5   r   r   r2   r   r?          r?   c                   @   s:   e Zd ZdZdd Zedd Zedd Zdd	d
ZdS )Contentz]MessageContent.

    https://developers.line.biz/en/reference/messaging-api/#get-content
    c                 C   r   )z__init__ method.

        :param response: HttpResponse object
        :type response: T <= :py:class:`linebot.http_client.HttpResponse`
        N)response)r   rG   r   r   r   r      s   
zContent.__init__c                 C   s   | j jdS )zgGet Content-type header value.

        :rtype: str
        :return: content-type header value
        zcontent-type)rG   headersgetr   r   r   r   content_type   s   zContent.content_typec                 C   s   | j jS )ziGet content.

        If content size is large, should use iter_content.

        :rtype: binary
        )rG   contentrJ   r   r   r   rL      s   zContent.content   c                 C   s   | j j|dS )zGet content as iterator (stream).

        If content size is large, should use this.

        :param chunk_size: Chunk size
        :rtype: iterator
        )
chunk_size)rG   iter_content)r   rN   r   r   r   rO      s   zContent.iter_contentN)rM   )	r   r   r    r!   r   propertyrK   rL   rO   r   r   r   r   rF      s    

	rF   c                       r(   )RichMenuResponsezqRichMenuResponse.

    https://developers.line.me/en/docs/messaging-api/reference/#rich-menu-response-object
    Nc           
         sj   t t| jdi | || _| |t| _|| _|| _|| _	g }|r0|D ]}	|
| |	t q$|| _dS )a:  __init__ method.

        :param str id: Rich Menu ID
        :param size: size object which describe the rich menu displayed in the chat.
            Rich menu images must be one of the following sizes: 2500x1686, 2500x843.
        :type size: :py:class:`linebot.models.rich_menu.RichMenuSize`
        :param bool selected: true to display the rich menu by default. Otherwise, false.
        :param str name: Name of the rich menu.
            Maximum of 300 characters.
        :param str chat_bar_text: Text displayed in the chat bar.
            Maximum of 14 characters.
        :param areas: Array of area objects which define coordinates and size of tappable areas.
            Maximum of 20 area objects.
        :type areas: list[T <= :py:class:`linebot.models.rich_menu.RichMenuArea`]
        :param kwargs:
        Nr   )r+   rQ   r   rich_menu_idget_or_new_from_json_dictr   sizeselectednamechat_bar_textappendr   areas)
r   rR   rT   rU   rV   rW   rY   r1   	new_areasarear2   r   r   r      s   

zRichMenuResponse.__init__NNNNNNr5   r   r   r2   r   rQ      r7   rQ   c                       r8   )RichMenuAliasResponsez{RichMenuAliasResponse.

    https://developers.line.biz/en/reference/messaging-api/#get-rich-menu-alias-by-id-response
    Nc                    r@   )z__init__ method.

        :param str rich_menu_alias_id: Rich menu alias ID.
        :param str rich_menu_id: Rich menu ID.
        :param kwargs:
        Nr   )r+   r]   r   rich_menu_alias_idrR   )r   r^   rR   r1   r2   r   r   r        
zRichMenuAliasResponse.__init__rD   r5   r   r   r2   r   r]   	  r>   r]   c                       r8   )RichMenuAliasListResponsez~RichMenuAliasListResponse.

    https://developers.line.biz/en/reference/messaging-api/#get-rich-menu-alias-list-response
    Nc                    sD   t t| jdi | g }|r|D ]}|| |t q|| _dS )z__init__ method.

        :param aliases: Array of rich menu alias objects
        :type areas: list[T <= :py:class:`linebot.models.RichMenuAlias`]
        :param kwargs:
        Nr   )r+   r`   r   rX   rS   r   aliases)r   ra   r1   new_aliasesaliasr2   r   r   r   "  s   

z"RichMenuAliasListResponse.__init__r   r5   r   r   r2   r   r`     r>   r`   c                       r8   )MessageQuotaResponsezaMessageQuotaResponse.

    https://developers.line.biz/en/reference/messaging-api/#get-quota
    Nc                    r@   )a  __init__ method.

        :param str type: Quota limitation type
        :param int value: The target limit for additional messages in the current month.
            This property is returned when the type property has a value of limited.
        :param kwargs:
        Nr   )r+   rd   r   typevalue)r   re   rf   r1   r2   r   r   r   9     
zMessageQuotaResponse.__init__rD   r5   r   r   r2   r   rd   3  r>   rd   c                       r8   )MessageQuotaConsumptionResponsezrMessageQuotaConsumptionResponse.

    https://developers.line.biz/en/reference/messaging-api/#get-consumption
    Nc                        t t| jdi | || _dS )z__init__ method.

        :param str total_usage: The number of sent messages in the current month
        :param kwargs:
        Nr   )r+   rh   r   total_usage)r   rj   r1   r2   r   r   r   M     
z(MessageQuotaConsumptionResponse.__init__r   r5   r   r   r2   r   rh   G  r>   rh   c                       r8   ) MessageDeliveryBroadcastResponsez!MessageDeliveryBroadcastResponse.Nc                    r@   z__init__ method.

        :param str status: Status of the counting process.
        :param int success: The number of messages sent with the Messaging API on the
            date specified in date.
        :param kwargs:
        Nr   )r+   rl   r   statussuccessr   rn   ro   r1   r2   r   r   r   [  rg   z)MessageDeliveryBroadcastResponse.__init__rD   r5   r   r   r2   r   rl   X      rl   c                       r8   )MessageDeliveryReplyResponsezMessageDeliveryReplyResponse.Nc                    r@   rm   )r+   rr   r   rn   ro   rp   r2   r   r   r   l  rg   z%MessageDeliveryReplyResponse.__init__rD   r5   r   r   r2   r   rr   i  rq   rr   c                       r8   )MessageDeliveryPushResponsezMessageDeliveryPushResponse.Nc                    r@   rm   )r+   rs   r   rn   ro   rp   r2   r   r   r   }  rg   z$MessageDeliveryPushResponse.__init__rD   r5   r   r   r2   r   rs   z  rq   rs   c                       r8   ) MessageDeliveryMulticastResponsez!MessageDeliveryMulticastResponse.Nc                    r@   rm   )r+   rt   r   rn   ro   rp   r2   r   r   r     rg   z)MessageDeliveryMulticastResponse.__init__rD   r5   r   r   r2   r   rt     rq   rt   c                       (   e Zd ZdZ			d fdd	Z  ZS )!MessageProgressNarrowcastResponsez"MessageProgressNarrowcastResponse.Nc	           
         J   t t| jdi |	 || _|| _|| _|| _|| _|| _|| _	|| _
dS )aZ  __init__ method.

        :param str phase: Progress status. One of `waiting`, `sending`,
            `succeeded`, or `failed`.
        :param int success_count: Number of narrowcast messages sent successful.
        :param int failure_count: Number of narrowcast messages sent failed.
        :param int target_count: Number of targeted messages sent.
        :param str failed_description: Reason why narrowcast failed, useful when
            phase is `failed`.
        :param int error_code: Summary of the error. One of `1` or `2`. `1`
            means internal error, whereas `2` indicates too few targets.
        :param str accepted_time: Narrowcast message request accepted time in milliseconds.
        :param str completed_time: Processing of narrowcast message request
            completion time in milliseconds.
        :param kwargs:
        Nr   )r+   rv   r   phasesuccess_countfailure_counttarget_countfailed_description
error_codeaccepted_timecompleted_time)
r   rx   ry   rz   r{   r|   r}   r~   r   r1   r2   r   r   r     s   
z*MessageProgressNarrowcastResponse.__init__NNNNNNNNr5   r   r   r2   r   rv         rv   c                       r8   )IssueLinkTokenResponsezjIssueLinkTokenResponse.

    https://developers.line.biz/en/reference/messaging-api/#issue-link-token
    Nc                    ri   )z\__init__ method.

        :param str link_token: Link token.
        :param kwargs:
        Nr   )r+   r   r   
link_token)r   r   r1   r2   r   r   r     rk   zIssueLinkTokenResponse.__init__r   r5   r   r   r2   r   r     r>   r   c                       r8   )IssueChannelTokenResponsezvIssueAccessTokenResponse.

    https://developers.line.biz/en/reference/messaging-api/#issue-channel-access-token
    Nc                    r:   )a  __init__ method.

        :param str access_token: Short-lived channel access token.
        :param int expires_in: Time until channel access token expires in seconds
            from time the token is issued.
        :param str token_type: Bearer.
        :param kwargs:
        Nr   )r+   r   r   access_token
expires_in
token_type)r   r   r   r   r1   r2   r   r   r        	
z"IssueChannelTokenResponse.__init__r=   r5   r   r   r2   r   r     r>   r   c                       ru   )InsightMessageDeliveryResponsezInsightMessageDeliveryResponse.Nc                    V   t t| jdi | || _|| _|| _|| _|| _|| _|| _	|| _
|	| _|
| _dS )a  __init__ method.

        :param str status: Calculation status. One of `ready`, `unready`, or `out_of_service`.
        :param int broadcast: Number of broadcast messages sent.
        :param int targeting: Number of targeted/segmented messages sent.
        :param int auto_response: Number of auto-response messages sent.
        :param int welcome_response: Number of greeting messages sent.
        :param int chat: Number of messages sent from LINE Official Account Manager Chat screen.
        :param int api_broadcast: Number of broadcast messages sent with
            the Send broadcast message Messaging API operation.
        :param int api_push: Number of push messages sent
            with the Send push message Messaging API operation.
        :param int api_multicast: Number of multicast messages sent with
            the Send multicast message Messaging API operation.
        :param int api_reply: Number of replies sent
            with the Send reply message Messaging API operation.
        :param int success: The number of messages sent with the Messaging API
            on the date specified in date.
        :param kwargs:
        Nr   )r+   r   r   rn   	broadcast	targetingauto_responsewelcome_responsechatapi_broadcastapi_pushapi_multicast	api_reply)r   rn   r   r   r   r   r   r   r   r   r   r1   r2   r   r   r        
z'InsightMessageDeliveryResponse.__init__
NNNNNNNNNNr5   r   r   r2   r   r     r   r   c                       r8   )InsightFollowersResponsezInsightFollowersResponse.Nc                    2   t t| jdi | || _|| _|| _|| _dS )ac  __init__ method.

        :param str status: Calculation status. One of `ready`, `unready`, or `out_of_service`.
        :param int followers: The number of times, as of the specified date,
            that a user added this LINE official account as a friend for the first time.
        :param int targeted_reaches: The number of users, as of the specified date,
            that the official account can reach through targeted messages based
            on gender, age, and/or region.
        :param int blocks: The number of users blocking the account as of the specified date.
        :param kwargs:
        Nr   )r+   r   r   rn   	followerstargeted_reachesblocks)r   rn   r   r   r   r1   r2   r   r   r     s
   
z!InsightFollowersResponse.__init__NNNNr5   r   r   r2   r   r     rq   r   c                       r(   )InsightDemographicResponsezInsightDemographicResponse.Nc                    s   t t jdi | | _ fdd|D  _ fdd|D  _ fdd|D  _ fdd|D  _ fdd|D  _dS )	a  __init__ method.

        :param bool available: `true` if friend demographic information is available.
        :param genders: Percentage per gender.
        :type genders: list[T <= :py:class:`linebot.models.GenderInsight`]
        :param ages: Percentage per age group.
        :type ages: list[T <= :py:class:`linebot.models.AgeInsight`]
        :param areas: Percentage per area.
        :type areas: list[T <= :py:class:`linebot.models.AreaInsight`]
        :param app_types: Percentage by OS.
        :type app_types: list[T <= :py:class:`linebot.models.AppTypeInsight`]
        :param subscription_periods: Percentage per friendship duration.
        :type subscription_periods: list[T <= :py:class:`linebot.models.SubscriptionPeriodInsight`]
        :param kwargs:
        c                       g | ]}  |tqS r   )rS   r   .0itrJ   r   r   
<listcomp>;      z7InsightDemographicResponse.__init__.<locals>.<listcomp>c                    r   r   )rS   r   r   rJ   r   r   r   <  r   c                    r   r   )rS   r   r   rJ   r   r   r   =  r   c                    r   r   )rS   r   r   rJ   r   r   r   >  r   c                    r   r   )rS   r   r   rJ   r   r   r   ?  s    Nr   )	r+   r   r   	availablegendersagesrY   	app_typessubscription_periods)r   r   r   r   rY   r   r   r1   r2   rJ   r   r   '  s   
z#InsightDemographicResponse.__init__r\   r5   r   r   r2   r   r   $  s
    r   c                       r8   )InsightMessageEventResponseInsightMessageEventResponse.Nc                    P   t t jdi |  |t _ fdd|D  _ fdd|D  _dS )a  __init__ method.

        :param overview: Summary of message statistics.
        :type overview: T <= :py:class:`linebot.models.MessageStatistics`
        :param messages: Array of information about individual message bubbles.
        :type messages: list[T <= :py:class:`linebot.models.MessageInsight`]
        :param clicks: Array of information about URLs in the message.
        :type clicks: list[T <= :py:class:`linebot.models.ClickInsight`]
        :param kwargs:
        c                    r   r   rS   r   r   rJ   r   r   r   T  r   z8InsightMessageEventResponse.__init__.<locals>.<listcomp>c                    r   r   rS   r	   r   rJ   r   r   r   U  r   Nr   )r+   r   r   rS   r
   overviewmessagesclicksr   r   r   r   r1   r2   rJ   r   r   F  s   z$InsightMessageEventResponse.__init__r=   r5   r   r   r2   r   r   C  rq   r   c                       r8   )2InsightMessageEventOfCustomAggregationUnitResponser   Nc                    r   )a  __init__ method.

        :param overview: Summary of message statistics.
        :type overview: T <= :py:class:`linebot.models.MessageStatisticsOfCustomAggregationUnit`
        :param messages: Array of information about individual message bubbles.
        :type messages: list[T <= :py:class:`linebot.models.MessageInsight`]
        :param clicks: Array of information about URLs in the message.
        :type clicks: list[T <= :py:class:`linebot.models.ClickInsight`]
        :param kwargs:
        c                    r   r   r   r   rJ   r   r   r   j  r   zOInsightMessageEventOfCustomAggregationUnitResponse.__init__.<locals>.<listcomp>c                    r   r   r   r   rJ   r   r   r   k  r   Nr   )r+   r   r   rS   r   r   r   r   r   r2   rJ   r   r   [  s   z;InsightMessageEventOfCustomAggregationUnitResponse.__init__r=   r5   r   r   r2   r   r   X  rq   r   c                       r8   )AggregationInfoResponsezThe number of aggregation units used this month.

    https://developers.line.biz/en/reference/partner-docs/#get-number-of-units-used-this-month
    Nc                    ri   )z__init__ method.

        :param int num_of_custom_aggregation_units: Number of aggregation units used this month.
        :param kwargs:
        Nr   )r+   r   r   num_of_custom_aggregation_units)r   r   r1   r2   r   r   r   t  rk   z AggregationInfoResponse.__init__r   r5   r   r   r2   r   r   n  r>   r   c                       r8   )AggregationNameListResponsezThe name list of units used this month for statistics aggregation.

    https://developers.line.biz/en/reference/partner-docs/#get-name-list-of-units-used-this-month
    Nc                    r@   )aN  __init__ method.

        :param custom_aggregation_units: name list of aggregation units used this month.
            Max: 100 unit names
        :type custom_aggregation_units: list[str]
        :param str next: continuationToken.
            A continuation token to get the next array of unit names.
        :param kwargs:
        Nr   )r+   r   r   custom_aggregation_unitsrB   )r   r   rB   r1   r2   r   r   r     rC   z$AggregationNameListResponse.__init__rD   r5   r   r   r2   r   r     r>   r   c                       r8   )NarrowcastResponsezmNarrowcastResponse.

    https://developers.line.biz/en/reference/messaging-api/#send-narrowcast-message
    Nc                    ri   )z__init__ method.

        :param str request_id: Request ID. A unique ID is generated for each request
        :param kwargs:
        Nr   )r+   r   r   r   )r   r   r1   r2   r   r   r     rk   zNarrowcastResponse.__init__r   r5   r   r   r2   r   r     r>   r   c                       ru   )BotInfozuResponse of `linebot.get_bot_info()` .

    https://developers.line.biz/en/reference/messaging-api/#get-bot-info
    Nc           	         sD   t t| jdi | || _|| _|| _|| _|| _|| _|| _	dS )z1__init__ method.

        :param kwargs:
        Nr   )
r+   r   r   r-   basic_id
premium_idr,   r.   	chat_modemark_as_read_mode)	r   r-   r   r   r,   r.   r   r   r1   r2   r   r   r     s   
zBotInfo.__init__)NNNNNNNr5   r   r   r2   r   r         r   c                       r8   )GetWebhookResponsezResponse of `get_webhook_endpoint()` .

    https://developers.line.biz/en/reference/messaging-api/#get-webhook-endpoint-information
    Nc                    r@   )z__init__ method.

        :param str endpoint: The webhook endpoint URL.
        :param bool active: Whether the webhook is in use.
        :param kwargs:
        Nr   )r+   r   r   endpointactive)r   r   r   r1   r2   r   r   r     r_   zGetWebhookResponse.__init__rD   r5   r   r   r2   r   r     r>   r   c                       r(   )TestWebhookResponsezResponse of `test_webhook_endpoint()` .

    https://developers.line.biz/en/reference/messaging-api/#test-webhook-endpoint
    Nc                    r*   )ag  __init__ method.

        :param bool success: Result of the communication from the LINE platform
            to the webhook URL.
        :param str timestamp: Timestamp
        :param int status_code: The HTTP status code.
        :param str reason: Reason for the response.
        :param str detail: Details of the response.
        :param kwargs:
        Nr   )r+   r   r   ro   	timestampstatus_codereasondetail)r   ro   r   r   r   r   r1   r2   r   r   r     s   
zTestWebhookResponse.__init__r4   r5   r   r   r2   r   r     r7   r   c                       s*   e Zd ZdZ				d fdd	Z  ZS )AudienceGroupzdAudienceGroups.

    https://developers.line.biz/en/reference/messaging-api/#get-audience-group
    Nc                    s~   t t jdi | | _| _| _| _| _| _| _	| _
|	 _|
 _| _| _|r= fdd|D  _dS dS )a#  __init__ method.

        :param int audience_group_id: The audience ID.
        :param str type: The audience type. One of `UPLOAD` or `CLICK` or `IMP` or `CHAT_TAG`
             or `FRIEND_PATH`.
        :param str description: The audience's name.
        :param str status: The audience's status. One of `IN_PROGRESS` or `READY` or `FAILED`
             or `EXPIRED`.
        :param int audience_count: The number of valid recipients.
        :param int created: When the audience was created (in UNIX time).
        :param bool is_ifa_audience: The value specified when creating an audience for uploading
            user IDs to indicate the type of accounts that will be given as recipients.
        :param str permission: Audience's update permission. Audiences linked to the same channel
            will be READ_WRITE.
        :param str create_route: How the audience was created. If omitted,
            you will get all audiences.
        :param str request_id: The request ID that was specified when the audience was created.
        :param str failed_type: The reason why the operation failed. This is only included when
            status is FAILED.  One of `AUDIENCE_GROUP_AUDIENCE_INSUFFICIENT` or `INTERNAL_ERROR`
        :param str click_url: The URL that was specified when the audience was created.
            This is only included when type is CLICK
        :param jobs: An array of jobs. This array is used to keep track of each attempt to
            add new user IDs or IFAs to an audience for uploading user IDs.
        :param kwargs:
        c                    r   r   )rS   r   )r   jobrJ   r   r   r     r   z*AudienceGroup.__init__.<locals>.<listcomp>Nr   )r+   r   r   audience_group_idre   descriptionrn   audience_countcreatedis_ifa_audience
permissioncreate_router   failed_type	click_urljobs)r   r   re   r   rn   r   r   r   r   r   r   r   r   r   r1   r2   rJ   r   r     s    zAudienceGroup.__init__)NNNNNNNNNNNNNr5   r   r   r2   r   r     s    r   c                       ru   )ClickAudienceGroupzqClickAudienceGroup.

    https://developers.line.biz/en/reference/messaging-api/#create-click-audience-group
    Nc                    r   )as  __init__ method.

        :param int audience_group_id: The audience ID.
        :param str create_route: How the audience was created. If omitted,
            you will get all audiences.
        :param str type: The audience type. One of `UPLOAD` or `CLICK` or `IMP` or `CHAT_TAG`
             or `FRIEND_PATH`.
        :param str description: The audience's name.
        :param int created: When the audience was created (in UNIX time).
        :param str permission: Audience's update permission. Audiences linked to the same channel
            will be READ_WRITE.
        :param int expire_timestamp: Time of audience expiration. Only returned for specific
            audiences.
        :param bool is_ifa_audience: The value specified when creating an audience for uploading
            user IDs to indicate the type of accounts that will be given as recipients.
        :param str request_id: The request ID that was specified when the audience was created.
        :param str click_url: The URL that was specified when the audience was created.
            This is only included when type is CLICK
        :param kwargs:
        Nr   )r+   r   r   r   r   re   r   r   r   expire_timestampr   r   r   )r   r   r   re   r   r   r   r   r   r   r   r1   r2   r   r   r   '  r   zClickAudienceGroup.__init__r   r5   r   r   r2   r   r   !  r   r   c                       r(   )CreateAudienceGroupzrClickAudienceGroup.

    https://developers.line.biz/en/reference/messaging-api/#create-upload-audience-group
    Nc	           
         rw   )a  __init__ method.

        :param int audience_group_id: The audience ID.
        :param str create_route: How the audience was created. If omitted,
            you will get all audiences.
        :param str type: The audience type. One of `UPLOAD` or `CLICK` or `IMP` or `CHAT_TAG`
             or `FRIEND_PATH`.
        :param str description: The audience's name.
        :param int created: When the audience was created (in UNIX time).
        :param str permission: Audience's update permission. Audiences linked to the same channel
            will be READ_WRITE.
        :param int expire_timestamp: Time of audience expiration. Only returned for specific
            audiences.
        :param bool is_ifa_audience: The value specified when creating an audience for uploading
            user IDs to indicate the type of accounts that will be given as recipients.
        :param kwargs:
        Nr   )r+   r   r   r   r   re   r   r   r   r   r   )
r   r   r   re   r   r   r   r   r   r1   r2   r   r   r   R  s   
zCreateAudienceGroup.__init__r   r5   r   r   r2   r   r   L  r7   r   c                       ru   )ImpAudienceGroupzmImpAudienceGroup.

    https://developers.line.biz/en/reference/messaging-api/#create-imp-audience-group
    Nc
                    sP   t t| jdi |
 || _|| _|| _|| _|| _|| _|| _	|| _
|	| _dS )a  __init__ method.

        :param int audience_group_id: The audience ID.
        :param str create_route: How the audience was created. If omitted,
            you will get all audiences.
        :param str type: The audience type. One of `UPLOAD` or `CLICK` or `IMP` or `CHAT_TAG`
             or `FRIEND_PATH`.
        :param str description: The audience's name.
        :param int created: When the audience was created (in UNIX time).
        :param str permission: Audience's update permission. Audiences linked to the same channel
            will be READ_WRITE.
        :param int expire_timestamp: Time of audience expiration. Only returned for specific
            audiences.
        :param bool is_ifa_audience: The value specified when creating an audience for uploading
            user IDs to indicate the type of accounts that will be given as recipients.
        :param str request_id: The request ID that was specified when the audience was created.
        :param kwargs:
        Nr   )r+   r   r   r   r   re   r   r   r   r   r   r   )r   r   r   re   r   r   r   r   r   r   r1   r2   r   r   r   x  s   
zImpAudienceGroup.__init__)	NNNNNNNNNr5   r   r   r2   r   r   r  r   r   c                       r8   )GetAuthorityLevelzhGetAuthorityLevel.

    https://developers.line.biz/en/reference/messaging-api/#get-authority-level
    Nc                    ri   )z__init__ method.

        :param str authority_level: The authority level for all audiences linked to a channel.
        :param kwargs:
        Nr   )r+   r   r   authority_level)r   r   r1   r2   r   r   r     rk   zGetAuthorityLevel.__init__r   r5   r   r   r2   r   r     r>   r   c                       r8   )AudiencezhAudience.

    https://developers.line.biz/en/reference/messaging-api/#update-upload-audience-group
    Nc                    ri   )zc__init__ method.

        :param str audience_id: A user ID or IFA.
        :param kwargs:
        Nr   )r+   r   r   id)r   r   r1   r2   r   r   r     s   
zAudience.__init__r   r5   r   r   r2   r   r     r>   r   c                       r8   )UserIdsz[UserIds.

    https://developers.line.biz/en/reference/messaging-api/#get-follower-ids
    Nc                    r@   )aW  __init__ method.

        :param user_ids: List of user IDs of users
            that have added the LINE Official Account as a friend.
            Max: 300 user IDs
        :type user_ids: list[str]
        :param str next: continuationToken.
            A continuation token to get the next array of user IDs.
        :param kwargs:
        Nr   )r+   r   r   user_idsrB   )r   r   rB   r1   r2   r   r   r     s   
zUserIds.__init__rD   r5   r   r   r2   r   r     r>   r   c                       r8   )IssueChannelTokenResponseV2z}IssueAccessTokenResponseV2.

    https://developers.line.biz/en/reference/messaging-api/#issue-channel-access-token-v2-1
    Nc                    r   )ag  __init__ method.

        :param str access_token: Short-lived channel access token.
        :param int expires_in: Time until channel access token expires in seconds
            from time the token is issued.
        :param str token_type: Bearer.
        :param key_id: Unique key ID for identifying the channel access token.
        :param kwargs:
        Nr   )r+   r   r   r   r   r   key_id)r   r   r   r   r   r1   r2   r   r   r     s
   

z$IssueChannelTokenResponseV2.__init__r   r5   r   r   r2   r   r     r>   r   c                       r8   )ChannelAccessTokensz|ChannelAccessTokens.

    https://developers.line.biz/en/reference/messaging-api/#get-issued-channel-access-tokens-v2-1
    Nc                    ri   )z__init__ method.

        :param access_tokens: List of channel access token
        :type access_tokens: list[str]
        :param kwargs:

        Nr   )r+   r   r   access_tokens)r   r   r1   r2   r   r   r     s   
zChannelAccessTokens.__init__r   r5   r   r   r2   r   r     r>   r   c                       r8   )VerifyChannelTokenResponseV2zVerifyChannelTokenResponseV2.

    https://developers.line.biz/en/reference/messaging-api/#verfiy-channel-access-token-v2-1

    Nc                    r:   )a3  __init__ method.

        :param str client_id: The channel ID for which the channel access token was issued.
        :param int expires_in: Number of seconds before the channel access token expires.
        :param str scope: Permissions granted to the channel access token.
        :param kwargs:

        Nr   )r+   r   r   	client_idr   scope)r   r   r   r   r1   r2   r   r   r     r   z%VerifyChannelTokenResponseV2.__init__r=   r5   r   r   r2   r   r     rE   r   c                       r8   )ValidAccessTokenKeyIDsResponsezValidAccessTokenKeyIDsResponse.

    https://developers.line.biz/en/reference/messaging-api/#get-all-valid-channel-access-token-key-ids-v2-1

    Nc                    ri   )z__init__ method.

        :param kids: Array of channel access token key IDs.
        :type kids: list[str]
        :param kwargs:
        Nr   )r+   r   r   kids)r   r   r1   r2   r   r   r     s   
z'ValidAccessTokenKeyIDsResponse.__init__r   r5   r   r   r2   r   r     rE   r   N)?r!   baser   insightr   r   r   r   r   r   r	   r
   r   r   	rich_menur   r   r   objectr   r#   r$   r%   r&   r'   r)   r9   r?   rF   rQ   r]   r`   rd   rh   rl   rr   rs   rt   rv   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   <module>   s`   0,)"(5+&(