Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

line-works-sdk

LINE WORKS SDK for Python

Talk API is defined in OpenAPI 3.1.0 (here).

This library uses code automatically generated by openapi-generator-cli.

Requirements

Python 3.11+

Installation

$ pip install line-works-sdk

dev version

https://pypi.org/project/line-works-sdk/#history

$ pip install line-works-sdk==x.x.devyyyymmddHHMM

Usage

import json

from line_works.client import LineWorks
from line_works.mqtt.enums.notification_type import NotificationType
from line_works.mqtt.enums.packet_type import PacketType
from line_works.mqtt.models.packet import MQTTPacket
from line_works.mqtt.models.payload.message import MessagePayload
from line_works.openapi.talk.models.flex_content import FlexContent
from line_works.tracer import LineWorksTracer


def receive_publish_packet(w: LineWorks, p: MQTTPacket) -> None:
    payload = p.payload

    if not isinstance(payload, MessagePayload):
        return

    if not payload.channel_no:
        return

    print(f"{payload!r}")

    if payload.loc_args1 == "test":
        w.send_text_message(payload.channel_no, "ok")

    elif payload.loc_args1 == "/msg":
        w.send_text_message(payload.channel_no, f"{payload!r}")

    elif payload.loc_args1 == "/flex":
        with open("src/sample_flex.json") as f:
            j: dict = json.load(f)
        w.send_flex_message(
            payload.channel_no,
            flex_content=FlexContent(alt_text="test", contents=j),
        )

    if payload.notification_type == NotificationType.NOTIFICATION_STICKER:
        w.send_text_message(payload.channel_no, "スタンプ")
        w.send_text_message(payload.channel_no, f"{payload.sticker=}")

        w.send_sticker_message(payload.channel_no, payload.sticker)


WORKS_ID = "YOUR WORKS ID"
PASSWORD = "YOUR WORKS PASSWORD"

works = LineWorks(works_id=WORKS_ID, password=PASSWORD)

my_info = works.get_my_info()
print(f"{my_info=}")

tracer = LineWorksTracer(works=works)
tracer.add_trace_func(PacketType.PUBLISH, receive_publish_packet)
tracer.trace()

sample_usage

sample_usage_2

sample_usage_3

Contributors

GitHub Actions

Linter & Formatter

  • ruff
  • mypy

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

line_works_sdk-3.7.dev202504121116.tar.gz (56.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

line_works_sdk-3.7.dev202504121116-py3-none-any.whl (96.5 kB view details)

Uploaded Python 3

File details

Details for the file line_works_sdk-3.7.dev202504121116.tar.gz.

File metadata

File hashes

Hashes for line_works_sdk-3.7.dev202504121116.tar.gz
Algorithm Hash digest
SHA256 7d9613f82c4db8919951630978f396495c03d111fe8ae68bca02aaad4b63235e
MD5 9f5b6a3fd924bb6ff11eb9424bb11613
BLAKE2b-256 151fce702200a037453d8c1ad8eb895afd6efa285b29d153ee30d59fa9b3172b

See more details on using hashes here.

File details

Details for the file line_works_sdk-3.7.dev202504121116-py3-none-any.whl.

File metadata

File hashes

Hashes for line_works_sdk-3.7.dev202504121116-py3-none-any.whl
Algorithm Hash digest
SHA256 c9ff03d580cec10f82ff566e3a51760a5e1b43189739af98686ddc6c5a91c679
MD5 e38507300d6d56c213e9bc6689ea4a31
BLAKE2b-256 cc6a75d0b6c2194d441dbc07bc65eba8bc8e4c3af23348f8d2cfd4d2d7fc197a

See more details on using hashes here.

Release history Release notifications | RSS feed

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page