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.dev202504121637.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.8.dev202504121637-py3-none-any.whl (96.5 kB view details)

Uploaded Python 3

File details

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

File metadata

File hashes

Hashes for line_works_sdk-3.8.dev202504121637.tar.gz
Algorithm Hash digest
SHA256 a33855b351c41d652fc78c668391976786f1a02f9466d3ec1e6c8aab636b13b0
MD5 3f96e3faa49d9e2831534ed60e4df44f
BLAKE2b-256 9247c60ed7ee271445118648ac6f61707f8873e6d4f0563ace1a23951ee051ac

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for line_works_sdk-3.8.dev202504121637-py3-none-any.whl
Algorithm Hash digest
SHA256 fa6490f10503f85a1befe4092df7dbd4e6304deeff50742928875e8c2941d14f
MD5 2e10674d51642dd9f092d01ba47cb773
BLAKE2b-256 3aa351a7e0ba29f08b68932d829fbf9e4644e0b3d6f003f3c893c0f30b153b50

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