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.dev202509301616.tar.gz (56.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.dev202509301616-py3-none-any.whl (96.7 kB view details)

Uploaded Python 3

File details

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

File metadata

File hashes

Hashes for line_works_sdk-3.8.dev202509301616.tar.gz
Algorithm Hash digest
SHA256 f1342566aebac3afda2996d8e1d912d897051cef7a7da0baa684b094a8ad5f1c
MD5 e6e98ab8fb02c11001a79483a350cd8d
BLAKE2b-256 5ffea0bac6274d7d3cbccafd956a436ac712170a189ac627d0f2c8f9f7f9780b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for line_works_sdk-3.8.dev202509301616-py3-none-any.whl
Algorithm Hash digest
SHA256 87e7223d9736188fd1d903a4ee6f91f14cb0881bdc673d061df02d4f078d7801
MD5 16fe276b8e804cdd7c3b3792372eb1b0
BLAKE2b-256 5701790e4ec6a040311bebbc8cc4ea08a45c807133f21ff27f829e2233562d6b

See more details on using hashes here.

Release history Release notifications | RSS feed

3.8

2 files

This release

3.8.dev202509301616 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