o
    Th                     @   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	 edd	e	d
G dd deeeZ
edd	e	d
G dd de
Zedd	e	d
G dd de
Zedd	e	d
G dd de
Zedd	e	d
G dd deZedd	e	d
G dd deZdS )zlinebot.models.things module.    )ABCMeta)with_metaclass   )Base)
deprecated)LineBotSdkDeprecatedIn30zUse 'from linebot.v3.webhooks import ThingsContent' instead. See https://github.com/line/line-bot-sdk-python/blob/master/README.rst for more details.z3.0.0)reasonversioncategoryc                       "   e Zd ZdZd fdd	Z  ZS )ThingszAbstract Base Class of Things.Nc                    s    t t| jdi | || _dS )zZ__init__ method.

        :param str device_id: Device ID.
        :param kwargs:
        N )superr   __init__	device_idselfr   kwargs	__class__r   U/home/air/segue/gpt/backup/venv/lib/python3.10/site-packages/linebot/models/things.pyr   #   s   
zThings.__init__N__name__
__module____qualname____doc__r   __classcell__r   r   r   r   r      s    r   zUse 'from linebot.v3.webhooks import LinkThingsContent' instead. See https://github.com/line/line-bot-sdk-python/blob/master/README.rst for more details.c                       r   )
DeviceLinkzDeviceLink.

    https://developers.line.biz/en/reference/messaging-api/#device-link-event

    Indicates that a user linked a device with LINE.
    Nc                    $   t t| jdd|i| d| _dS )z__init__ method.

        :param str device_id: Device ID of the device that has been linked with LINE.
        :param kwargs:
        r   linkNr   )r   r   r   typer   r   r   r   r   6      
zDeviceLink.__init__r   r   r   r   r   r   r   -       r   zUse 'from linebot.v3.webhooks import UnlinkThingsContent' instead. See https://github.com/line/line-bot-sdk-python/blob/master/README.rst for more details.c                       r   )DeviceUnlinkzDeviceUnlink.

    https://developers.line.biz/en/reference/messaging-api/#device-unlink-event

    Indicates that the user unlinked a device from LINE.
    Nc                    r   )z__init__ method.

        :param str device_id: Device ID of the device that was unlinked from LINE.
        :param kwargs:
        r   unlinkNr   )r   r$   r   r!   r   r   r   r   r   J   r"   zDeviceUnlink.__init__r   r   r   r   r   r   r$   A   r#   r$   zUse 'from linebot.v3.webhooks import ScenarioResultThingsContent' instead. See https://github.com/line/line-bot-sdk-python/blob/master/README.rst for more details.c                       r   )ScenarioResultzScenarioResult.

    https://developers.line.biz/en/reference/messaging-api/#scenario-result-event

    Indicates that an automatic communication scenario has been executed.
    Nc                    s2   t t| jdd|i| d| _| |t| _dS )z__init__ method.

        :param str device_id: Device ID of the device that executed the scenario.
        :param str result: ScenarioResultPayload object.
        :param kwargs:
        r   scenarioResultNr   )r   r&   r   r!   get_or_new_from_json_dictScenarioResultPayloadresult)r   r   r*   r   r   r   r   r   ^   s
   
zScenarioResult.__init__NNr   r   r   r   r   r&   U   r#   r&   zUse 'from linebot.v3.webhooks import ScenarioResult' instead. See https://github.com/line/line-bot-sdk-python/blob/master/README.rst for more details.c                       s(   e Zd ZdZ			d fdd	Z  ZS )r)   zScenarioResultPayload.Nc	           
         sX   t t jdi |	 | _| _| _| _| _ fdd|D  _| _	| _
dS )a  __init__ method.

        :param str scenario_id: Scenario ID executed.
        :param long revision: Revision number.
        :param long start_time: Timestamp for when execution of scenario
            action started (milliseconds).
        :param long end_time: Timestamp for when execution of scenario
            was completed (milliseconds).
        :param str result_code: Scenario execution completion status.
        :param action_results: Array of actions specified in a scenario.
        :type action_results: list[T <= :py:class:`linebot.models.things.ActionResult`]
        :param str ble_notification_payload: Data contained in notification.
        :param str error_reason: Error response.
        :param kwargs:
        c                    s   g | ]}  |tqS r   )r(   ActionResult).0itr   r   r   
<listcomp>   s    z2ScenarioResultPayload.__init__.<locals>.<listcomp>Nr   )r   r)   r   scenario_idrevision
start_timeend_timeresult_codeaction_resultsble_notification_payloaderror_reason)
r   r1   r2   r3   r5   r4   r6   r7   r8   r   r   r/   r   r   q   s   

zScenarioResultPayload.__init__)NNNNNNNNr   r   r   r   r   r)   m   s    r)   zUse 'from linebot.v3.webhooks import ActionResult' instead. See https://github.com/line/line-bot-sdk-python/blob/master/README.rst for more details.c                       r   )r,   zUActionResult.

    Execution result of individual operations specified in action
    Nc                    s&   t t| jdi | || _|| _dS )z__init__ method.

        :param str type: Type of the executed action.
        :param str data: Base64-encoded binary data.
        :param kwargs:
        Nr   )r   r,   r   r!   data)r   r!   r9   r   r   r   r   r      s   
zActionResult.__init__r+   r   r   r   r   r   r,      s    r,   N)r   abcr   future.utilsr   baser   r   linebot.deprecationsr   r   r   r$   r&   r)   r,   r   r   r   r   <module>   s$   "