# 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"
}