line-works-sdk


Nameline-works-sdk JSON
Version 3.1 PyPI version JSON
download
home_pagehttps://github.com/nanato12/line-works-sdk
SummaryLINE Works SDK for Python
upload_time2025-01-26 02:20:40
maintainernanato12
docs_urlNone
authornanato12
requires_python>=3.10
licenseMIT License
keywords line line-works works
VCS
bugtrack_url
requirements pydantic pydantic_core requests websockets urllib3 python_dateutil typing-extensions
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # line-works-sdk

LINE WORKS SDK for Python

Talk API is defined in **OpenAPI 3.1.0** ([here](https://nanato12.github.io/line-works-sdk/)).

This library uses code automatically generated by `openapi-generator-cli`.

## Requirements

Python 3.11+

## Installation

```sh
$ pip install line-works-sdk
```

dev version

<https://pypi.org/project/line-works-sdk/#history>

```sh
$ pip install line-works-sdk==x.x.devyyyymmddHHMM
```

## Usage

```python
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}")

    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](https://github.com/user-attachments/assets/904eadeb-47be-4b48-b79f-b9aca761546b)

![sample_usage_2](https://github.com/user-attachments/assets/0f3097c9-345c-4a74-b08a-9338efa8dc40)

## Contributors

- [nezumi0627](https://github.com/nezumi0627)

## GitHub Actions

Linter & Formatter

- ruff
- mypy

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/nanato12/line-works-sdk",
    "name": "line-works-sdk",
    "maintainer": "nanato12",
    "docs_url": null,
    "requires_python": ">=3.10",
    "maintainer_email": "admin@okj.info",
    "keywords": "line line-works works",
    "author": "nanato12",
    "author_email": "admin@okj.info",
    "download_url": "https://files.pythonhosted.org/packages/d3/be/b8452464cd8ce9c398c15e0f0dfc22fb10deef83a5eae74795e1a49061b1/line_works_sdk-3.1.tar.gz",
    "platform": null,
    "description": "# line-works-sdk\n\nLINE WORKS SDK for Python\n\nTalk API is defined in **OpenAPI 3.1.0** ([here](https://nanato12.github.io/line-works-sdk/)).\n\nThis library uses code automatically generated by `openapi-generator-cli`.\n\n## Requirements\n\nPython 3.11+\n\n## Installation\n\n```sh\n$ pip install line-works-sdk\n```\n\ndev version\n\n<https://pypi.org/project/line-works-sdk/#history>\n\n```sh\n$ pip install line-works-sdk==x.x.devyyyymmddHHMM\n```\n\n## Usage\n\n```python\nfrom line_works.client import LineWorks\nfrom line_works.mqtt.enums.packet_type import PacketType\nfrom line_works.mqtt.models.packet import MQTTPacket\nfrom line_works.mqtt.models.payload.message import MessagePayload\nfrom line_works.tracer import LineWorksTracer\n\n\ndef receive_publish_packet(w: LineWorks, p: MQTTPacket) -> None:\n    payload = p.payload\n\n    if not isinstance(payload, MessagePayload):\n        return\n\n    if not payload.channel_no:\n        return\n\n    print(f\"{payload!r}\")\n\n    if payload.loc_args1 == \"test\":\n        w.send_text_message(payload.channel_no, \"ok\")\n\n    elif payload.loc_args1 == \"/msg\":\n        w.send_text_message(payload.channel_no, f\"{payload!r}\")\n\n    if payload.notification_type == NotificationType.NOTIFICATION_STICKER:\n        w.send_text_message(payload.channel_no, \"\u30b9\u30bf\u30f3\u30d7\")\n        w.send_text_message(payload.channel_no, f\"{payload.sticker=}\")\n\n        w.send_sticker_message(payload.channel_no, payload.sticker)\n\n\nWORKS_ID = \"YOUR WORKS ID\"\nPASSWORD = \"YOUR WORKS PASSWORD\"\n\nworks = LineWorks(works_id=WORKS_ID, password=PASSWORD)\n\nmy_info = works.get_my_info()\nprint(f\"{my_info=}\")\n\ntracer = LineWorksTracer(works=works)\ntracer.add_trace_func(PacketType.PUBLISH, receive_publish_packet)\ntracer.trace()\n```\n\n![sample_usage](https://github.com/user-attachments/assets/904eadeb-47be-4b48-b79f-b9aca761546b)\n\n![sample_usage_2](https://github.com/user-attachments/assets/0f3097c9-345c-4a74-b08a-9338efa8dc40)\n\n## Contributors\n\n- [nezumi0627](https://github.com/nezumi0627)\n\n## GitHub Actions\n\nLinter & Formatter\n\n- ruff\n- mypy\n",
    "bugtrack_url": null,
    "license": "MIT License",
    "summary": "LINE Works SDK for Python",
    "version": "3.1",
    "project_urls": {
        "Homepage": "https://github.com/nanato12/line-works-sdk"
    },
    "split_keywords": [
        "line",
        "line-works",
        "works"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "e0ca879098979db57ac57ee1b580babcd18a5b166b71a0355d337980f7f037c5",
                "md5": "615aa452926cb7854673b17b4b2d1ca7",
                "sha256": "77169ae09bc9f006a4d3e063ac11a3cf1249f564065e8d7719c3b43e6ba9831a"
            },
            "downloads": -1,
            "filename": "line_works_sdk-3.1-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "615aa452926cb7854673b17b4b2d1ca7",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.10",
            "size": 61262,
            "upload_time": "2025-01-26T02:20:38",
            "upload_time_iso_8601": "2025-01-26T02:20:38.462024Z",
            "url": "https://files.pythonhosted.org/packages/e0/ca/879098979db57ac57ee1b580babcd18a5b166b71a0355d337980f7f037c5/line_works_sdk-3.1-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "d3beb8452464cd8ce9c398c15e0f0dfc22fb10deef83a5eae74795e1a49061b1",
                "md5": "9662527b7a2efb55b2d568958fef71b9",
                "sha256": "d2d994b77be676a8db12f6840676e440e654966dcd1eecc129b29ebb52031591"
            },
            "downloads": -1,
            "filename": "line_works_sdk-3.1.tar.gz",
            "has_sig": false,
            "md5_digest": "9662527b7a2efb55b2d568958fef71b9",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.10",
            "size": 34053,
            "upload_time": "2025-01-26T02:20:40",
            "upload_time_iso_8601": "2025-01-26T02:20:40.232220Z",
            "url": "https://files.pythonhosted.org/packages/d3/be/b8452464cd8ce9c398c15e0f0dfc22fb10deef83a5eae74795e1a49061b1/line_works_sdk-3.1.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-01-26 02:20:40",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "nanato12",
    "github_project": "line-works-sdk",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "requirements": [
        {
            "name": "pydantic",
            "specs": [
                [
                    ">=",
                    "2.9.2"
                ]
            ]
        },
        {
            "name": "pydantic_core",
            "specs": [
                [
                    ">=",
                    "2.23.4"
                ]
            ]
        },
        {
            "name": "requests",
            "specs": [
                [
                    ">=",
                    "2.32.3"
                ]
            ]
        },
        {
            "name": "websockets",
            "specs": [
                [
                    ">=",
                    "14.2"
                ]
            ]
        },
        {
            "name": "urllib3",
            "specs": [
                [
                    "<",
                    "3.0.0"
                ],
                [
                    ">=",
                    "1.25.3"
                ]
            ]
        },
        {
            "name": "python_dateutil",
            "specs": [
                [
                    ">=",
                    "2.8.2"
                ]
            ]
        },
        {
            "name": "typing-extensions",
            "specs": [
                [
                    ">=",
                    "4.7.1"
                ]
            ]
        }
    ],
    "lcname": "line-works-sdk"
}
        
Elapsed time: 1.99832s