Initial commit: OpenClaw Skill Collection
6 custom skills (assign-task, dispatch-webhook, daily-briefing, task-capture, qmd-brain, tts-voice) with technical documentation. Compatible with Claude Code, OpenClaw, Codex CLI, and OpenCode.
This commit is contained in:
@@ -0,0 +1,77 @@
|
||||
{
|
||||
"title": "LINE (plugin)",
|
||||
"content": "LINE connects to OpenClaw via the LINE Messaging API. The plugin runs as a webhook\nreceiver on the gateway and uses your channel access token + channel secret for\nauthentication.\n\nStatus: supported via plugin. Direct messages, group chats, media, locations, Flex\nmessages, template messages, and quick replies are supported. Reactions and threads\nare not supported.\n\nInstall the LINE plugin:\n\nLocal checkout (when running from a git repo):\n\n1. Create a LINE Developers account and open the Console:\n [https://developers.line.biz/console/](https://developers.line.biz/console/)\n2. Create (or pick) a Provider and add a **Messaging API** channel.\n3. Copy the **Channel access token** and **Channel secret** from the channel settings.\n4. Enable **Use webhook** in the Messaging API settings.\n5. Set the webhook URL to your gateway endpoint (HTTPS required):\n\nThe gateway responds to LINE’s webhook verification (GET) and inbound events (POST).\nIf you need a custom path, set `channels.line.webhookPath` or\n`channels.line.accounts.<id>.webhookPath` and update the URL accordingly.\n\nEnv vars (default account only):\n\n* `LINE_CHANNEL_ACCESS_TOKEN`\n* `LINE_CHANNEL_SECRET`\n\nDirect messages default to pairing. Unknown senders get a pairing code and their\nmessages are ignored until approved.\n\nAllowlists and policies:\n\n* `channels.line.dmPolicy`: `pairing | allowlist | open | disabled`\n* `channels.line.allowFrom`: allowlisted LINE user IDs for DMs\n* `channels.line.groupPolicy`: `allowlist | open | disabled`\n* `channels.line.groupAllowFrom`: allowlisted LINE user IDs for groups\n* Per-group overrides: `channels.line.groups.<groupId>.allowFrom`\n\nLINE IDs are case-sensitive. Valid IDs look like:\n\n* User: `U` + 32 hex chars\n* Group: `C` + 32 hex chars\n* Room: `R` + 32 hex chars\n\n* Text is chunked at 5000 characters.\n* Markdown formatting is stripped; code blocks and tables are converted into Flex\n cards when possible.\n* Streaming responses are buffered; LINE receives full chunks with a loading\n animation while the agent works.\n* Media downloads are capped by `channels.line.mediaMaxMb` (default 10).\n\n## Channel data (rich messages)\n\nUse `channelData.line` to send quick replies, locations, Flex cards, or template\nmessages.\n\nThe LINE plugin also ships a `/card` command for Flex message presets:\n\n* **Webhook verification fails:** ensure the webhook URL is HTTPS and the\n `channelSecret` matches the LINE console.\n* **No inbound events:** confirm the webhook path matches `channels.line.webhookPath`\n and that the gateway is reachable from LINE.\n* **Media download errors:** raise `channels.line.mediaMaxMb` if media exceeds the\n default limit.",
|
||||
"code_samples": [
|
||||
{
|
||||
"code": "Local checkout (when running from a git repo):",
|
||||
"language": "unknown"
|
||||
},
|
||||
{
|
||||
"code": "## Setup\n\n1. Create a LINE Developers account and open the Console:\n [https://developers.line.biz/console/](https://developers.line.biz/console/)\n2. Create (or pick) a Provider and add a **Messaging API** channel.\n3. Copy the **Channel access token** and **Channel secret** from the channel settings.\n4. Enable **Use webhook** in the Messaging API settings.\n5. Set the webhook URL to your gateway endpoint (HTTPS required):",
|
||||
"language": "unknown"
|
||||
},
|
||||
{
|
||||
"code": "The gateway responds to LINE’s webhook verification (GET) and inbound events (POST).\nIf you need a custom path, set `channels.line.webhookPath` or\n`channels.line.accounts.<id>.webhookPath` and update the URL accordingly.\n\n## Configure\n\nMinimal config:",
|
||||
"language": "unknown"
|
||||
},
|
||||
{
|
||||
"code": "Env vars (default account only):\n\n* `LINE_CHANNEL_ACCESS_TOKEN`\n* `LINE_CHANNEL_SECRET`\n\nToken/secret files:",
|
||||
"language": "unknown"
|
||||
},
|
||||
{
|
||||
"code": "Multiple accounts:",
|
||||
"language": "unknown"
|
||||
},
|
||||
{
|
||||
"code": "## Access control\n\nDirect messages default to pairing. Unknown senders get a pairing code and their\nmessages are ignored until approved.",
|
||||
"language": "unknown"
|
||||
},
|
||||
{
|
||||
"code": "Allowlists and policies:\n\n* `channels.line.dmPolicy`: `pairing | allowlist | open | disabled`\n* `channels.line.allowFrom`: allowlisted LINE user IDs for DMs\n* `channels.line.groupPolicy`: `allowlist | open | disabled`\n* `channels.line.groupAllowFrom`: allowlisted LINE user IDs for groups\n* Per-group overrides: `channels.line.groups.<groupId>.allowFrom`\n\nLINE IDs are case-sensitive. Valid IDs look like:\n\n* User: `U` + 32 hex chars\n* Group: `C` + 32 hex chars\n* Room: `R` + 32 hex chars\n\n## Message behavior\n\n* Text is chunked at 5000 characters.\n* Markdown formatting is stripped; code blocks and tables are converted into Flex\n cards when possible.\n* Streaming responses are buffered; LINE receives full chunks with a loading\n animation while the agent works.\n* Media downloads are capped by `channels.line.mediaMaxMb` (default 10).\n\n## Channel data (rich messages)\n\nUse `channelData.line` to send quick replies, locations, Flex cards, or template\nmessages.",
|
||||
"language": "unknown"
|
||||
},
|
||||
{
|
||||
"code": "The LINE plugin also ships a `/card` command for Flex message presets:",
|
||||
"language": "unknown"
|
||||
}
|
||||
],
|
||||
"headings": [
|
||||
{
|
||||
"level": "h2",
|
||||
"text": "Plugin required",
|
||||
"id": "plugin-required"
|
||||
},
|
||||
{
|
||||
"level": "h2",
|
||||
"text": "Setup",
|
||||
"id": "setup"
|
||||
},
|
||||
{
|
||||
"level": "h2",
|
||||
"text": "Configure",
|
||||
"id": "configure"
|
||||
},
|
||||
{
|
||||
"level": "h2",
|
||||
"text": "Access control",
|
||||
"id": "access-control"
|
||||
},
|
||||
{
|
||||
"level": "h2",
|
||||
"text": "Message behavior",
|
||||
"id": "message-behavior"
|
||||
},
|
||||
{
|
||||
"level": "h2",
|
||||
"text": "Channel data (rich messages)",
|
||||
"id": "channel-data-(rich-messages)"
|
||||
},
|
||||
{
|
||||
"level": "h2",
|
||||
"text": "Troubleshooting",
|
||||
"id": "troubleshooting"
|
||||
}
|
||||
],
|
||||
"url": "llms-txt#line-(plugin)",
|
||||
"links": []
|
||||
}
|
||||
Reference in New Issue
Block a user