LINE (plugin)¶
LINE ansluter till OpenClaw via LINE Messaging API. Pluginen körs som en webhook mottagare på gateway och använder din kanal åtkomsttoken + kanal hemlighet för autentisering.
Status: stöds via plugin. Direktmeddelanden, gruppchattar, media, platser, Flex meddelanden, mallmeddelanden och snabba svar stöds. Reaktioner och trådar stöds inte.
Plugin krävs¶
Installera LINE‑pluginen:
openclaw plugins install @openclaw/line
Lokal utcheckning (vid körning från ett git‑repo):
openclaw plugins install ./extensions/line
Konfigurering¶
- Skapa ett LINE Developers‑konto och öppna konsolen: https://developers.line.biz/console/
- Skapa (eller välj) en Provider och lägg till en Messaging API‑kanal.
- Kopiera Channel access token och Channel secret från kanalinställningarna.
- Aktivera Use webhook i inställningarna för Messaging API.
- Ställ in webhook‑URL:en till din gateway‑endpoint (HTTPS krävs):
https://gateway-host/line/webhook
Gateway svarar på LINE: s webhook verifiering (GET) och inkommande händelser (POST).
Om du behöver en anpassad sökväg, ange channels.line.webhookPath eller
channels.line.accounts.<id>.webhookPath och uppdatera URL därefter.
Konfiguration¶
Minimal konfig:
{
channels: {
line: {
enabled: true,
channelAccessToken: "LINE_CHANNEL_ACCESS_TOKEN",
channelSecret: "LINE_CHANNEL_SECRET",
dmPolicy: "pairing",
},
},
}
Miljövariabler (endast standardkonto):
LINE_CHANNEL_ACCESS_TOKENLINE_CHANNEL_SECRET
Token-/hemlighetsfiler:
{
channels: {
line: {
tokenFile: "/path/to/line-token.txt",
secretFile: "/path/to/line-secret.txt",
},
},
}
Flera konton:
{
channels: {
line: {
accounts: {
marketing: {
channelAccessToken: "...",
channelSecret: "...",
webhookPath: "/line/marketing",
},
},
},
},
}
Åtkomstkontroll¶
Direktmeddelanden standard att para ihop. Okända avsändare får en parningskod och deras -meddelanden ignoreras tills de godkänts.
openclaw pairing list line
openclaw pairing approve line <CODE>
Tillåtelselistor och policyer:
channels.line.dmPolicy:pairing | allowlist | open | disabledchannels.line.allowFrom: tillåtelselista med LINE‑användar‑ID:n för DMchannels.line.groupPolicy:allowlist | open | disabledchannels.line.groupAllowFrom: tillåtelselista med LINE‑användar‑ID:n för grupper- Åsidosätter per grupp:
channels.line.groups.<groupId>.allowFrom
LINE-ID är skiftlägeskänsliga. Giltiga ID ser ut som:
- Användare:
U+ 32 hex‑tecken - Grupp:
C+ 32 hex‑tecken - Rum:
R+ 32 hex‑tecken
Meddelandebeteende¶
- Text delas upp i segment om 5000 tecken.
- Markdown‑formatering tas bort; kodblock och tabeller konverteras till Flex‑ kort när det är möjligt.
- Strömmande svar buffras; LINE tar emot hela segment med en laddnings‑ animation medan agenten arbetar.
- Nedladdning av media begränsas av
channels.line.mediaMaxMb(standard 10).
Kanaldata (rika meddelanden)¶
Använd channelData.line för att skicka snabbsvar, platser, Flex‑kort eller
mallmeddelanden.
{
text: "Here you go",
channelData: {
line: {
quickReplies: ["Status", "Help"],
location: {
title: "Office",
address: "123 Main St",
latitude: 35.681236,
longitude: 139.767125,
},
flexMessage: {
altText: "Status card",
contents: {
/* Flex payload */
},
},
templateMessage: {
type: "confirm",
text: "Proceed?",
confirmLabel: "Yes",
confirmData: "yes",
cancelLabel: "No",
cancelData: "no",
},
},
},
}
LINE‑pluginen levereras även med ett /card‑kommando för
förinställningar av Flex‑meddelanden:
/card info "Welcome" "Thanks for joining!"
Felsökning¶
- Webhook‑verifiering misslyckas: säkerställ att webhook‑URL:en är HTTPS och
att
channelSecretmatchar LINE‑konsolen. - Inga inkommande händelser: bekräfta att webhook‑sökvägen matchar
channels.line.webhookPathoch att gatewayen är nåbar från LINE. - Fel vid nedladdning av media: höj
channels.line.mediaMaxMbom media överskrider standardgränsen.