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



## 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/45/ab/74cdfb49c1b27ca71169d843e82f176226e651a584cc2b66abf95c088619/line_works_sdk-3.4.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 elif payload.loc_args1 == \"/flex\":\n with open(\"src/sample_flex.json\") as f:\n j: dict = json.load(f)\n w.send_flex_message(\n payload.channel_no,\n flex_content=FlexContent(alt_text=\"test\", contents=j),\n )\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\n\n\n\n\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.4",
"project_urls": {
"Homepage": "https://github.com/nanato12/line-works-sdk"
},
"split_keywords": [
"line",
"line-works",
"works"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "031901c44ec44e9079f446b4f6693becaa55a5dc157d131942ee530929f35679",
"md5": "25b1eb03c94a16ad0bedf0e05b587955",
"sha256": "54d62781d09d774d0ac6a559dfe482fafaf0c313741e2c7e187884e4f2579657"
},
"downloads": -1,
"filename": "line_works_sdk-3.4-py3-none-any.whl",
"has_sig": false,
"md5_digest": "25b1eb03c94a16ad0bedf0e05b587955",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.10",
"size": 63000,
"upload_time": "2025-02-08T16:31:17",
"upload_time_iso_8601": "2025-02-08T16:31:17.499967Z",
"url": "https://files.pythonhosted.org/packages/03/19/01c44ec44e9079f446b4f6693becaa55a5dc157d131942ee530929f35679/line_works_sdk-3.4-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "45ab74cdfb49c1b27ca71169d843e82f176226e651a584cc2b66abf95c088619",
"md5": "7bcb72886519834838fbf9e2f74cdf54",
"sha256": "7963849e0906463fb7d89a9054a9e9bc227b0412c54515d285e70c2cfd8e19a1"
},
"downloads": -1,
"filename": "line_works_sdk-3.4.tar.gz",
"has_sig": false,
"md5_digest": "7bcb72886519834838fbf9e2f74cdf54",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.10",
"size": 34784,
"upload_time": "2025-02-08T16:31:20",
"upload_time_iso_8601": "2025-02-08T16:31:20.168146Z",
"url": "https://files.pythonhosted.org/packages/45/ab/74cdfb49c1b27ca71169d843e82f176226e651a584cc2b66abf95c088619/line_works_sdk-3.4.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-02-08 16:31:20",
"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"
}