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

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

Project details


Release history Release notifications | RSS feed

This version

3.7

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.tar.gz (56.3 kB view details)

Uploaded Source

Built Distribution

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

Uploaded Python 3

File details

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

File metadata

  • Download URL: line_works_sdk-3.7.tar.gz
  • Upload date:
  • Size: 56.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for line_works_sdk-3.7.tar.gz
Algorithm Hash digest
SHA256 6e7281076c3608201b9561339617da590e02c761d7df49268d9a0a7c25850212
MD5 74adf753bcb458a1303342265c4d1424
BLAKE2b-256 0339a8b61a667079c1be6672d3fdafbda26b24f445c681f9935d1f1a1f1d215b

See more details on using hashes here.

File details

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

File metadata

  • Download URL: line_works_sdk-3.7-py3-none-any.whl
  • Upload date:
  • Size: 96.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for line_works_sdk-3.7-py3-none-any.whl
Algorithm Hash digest
SHA256 130a5b5630380e48cbd5234e1cbc5e7cd88f31018d31bc1bef856f6717af3aa8
MD5 f634804ada95cd70c91262d127ad3c03
BLAKE2b-256 d64b6bdd18f3704ff24ea805a2e7bbdd8d26725a55fbeb72958bf2d46904d034

See more details on using hashes here.

Supported by

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