Skip to main content

LINE Works SDK for Python

Project description

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

from line_works.client import LineWorks
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.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

Project details


Release history Release notifications | RSS feed

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.5.dev202502221530.tar.gz (37.9 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.5.dev202502221530-py3-none-any.whl (68.2 kB view details)

Uploaded Python 3

File details

Details for the file line_works_sdk-3.5.dev202502221530.tar.gz.

File metadata

File hashes

Hashes for line_works_sdk-3.5.dev202502221530.tar.gz
Algorithm Hash digest
SHA256 8d7ba5a9008ef7c4d872bef40d02ff6f3f41e086bf7d0d965bc36d683aedbd4e
MD5 c5ec64e6512251e8b60a99761efa2f58
BLAKE2b-256 a29ac857eb7bf7e80c61937909401d439ac359422a38640c857cfc74d1667bf2

See more details on using hashes here.

File details

Details for the file line_works_sdk-3.5.dev202502221530-py3-none-any.whl.

File metadata

File hashes

Hashes for line_works_sdk-3.5.dev202502221530-py3-none-any.whl
Algorithm Hash digest
SHA256 11a085ffc4294ce266ad389d85c1d2b7bd518b32532c2dc6a9482a1483cf6f96
MD5 ba34a5f1915c4bf67287c9ba7c5d90a8
BLAKE2b-256 a7015fa60712ef8b4a6de2faa3dc12e8ed6b54a3d32c1afef41a9c6e65e998a8

See more details on using hashes here.

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