Files
Selig 4c966a3ad2 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.
2026-03-13 10:58:30 +08:00

77 lines
6.0 KiB
JSON
Executable File
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
{
"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 LINEs 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 LINEs 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": []
}