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.8.dev202510151232.tar.gz (59.4 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.8.dev202510151232-py3-none-any.whl (100.5 kB view details)

Uploaded Python 3

File details

Details for the file line_works_sdk-3.8.dev202510151232.tar.gz.

File metadata

File hashes

Hashes for line_works_sdk-3.8.dev202510151232.tar.gz
Algorithm Hash digest
SHA256 209d71d9264438b1c50e457753792f0cfb4aad9af2d4b49cc599148480dcb061
MD5 5a0c2d56834e7c7793c65b837188b522
BLAKE2b-256 39403f2a94812647b55cfc301b8e222c0c1273cb8deb370395d97433af7a1ba6

See more details on using hashes here.

File details

Details for the file line_works_sdk-3.8.dev202510151232-py3-none-any.whl.

File metadata

File hashes

Hashes for line_works_sdk-3.8.dev202510151232-py3-none-any.whl
Algorithm Hash digest
SHA256 d3a9255e90eb3b0387a81b0ddff0fc1ecd32d8da7487f1436247b49cd62d793f
MD5 9d9612e4b5dff11bfb306d0a73963193
BLAKE2b-256 e9e140d9abf1286334154635a214311baf3674da34d4caf8f2376f2303599ca3

See more details on using hashes here.

Release history Release notifications | RSS feed

3.8

2 files

This release

3.8.dev202510151232 This release

2 files

3.7

2 files

3.6

2 files

3.5

2 files

3.4

2 files

3.3

2 files

3.2

2 files

3.1

2 files

3.0

2 files

2.1

2 files

2.0

2 files

1.0

2 files

0.0.1

2 files

Supported by

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