// dokumentacja openclaw

Integracja OpenClaw z LINE — Messaging API

Wprowadzenie

Wtyczka LINE umożliwia integrację OpenClaw z LINE Messaging API przez odbiorniki webhooków. Jest dołączona do standardowych wydań i obsługuje wiadomości bezpośrednie, czaty grupowe, media, lokalizacje, wiadomości Flex, szablony i szybkie odpowiedzi. Nie obsługuje natomiast reakcji ani wątków.

Tworzenie kanału LINE

  1. Utwórz konto na LINE Developers Console
  2. Utwórz Providera i dodaj kanał Messaging API
  3. Skopiuj Channel access token i Channel secret
  4. Włącz webhook w ustawieniach kanału
  5. Ustaw URL webhooka na: https://adres-gateway/line/webhook

Weryfikacja podpisów LINE jest oparta na HMAC surowej treści żądania, dlatego OpenClaw stosuje ścisłe limity rozmiaru i timeout przed weryfikacją.

Minimalna konfiguracja

{
  channels: {
    line: {
      enabled: true,
      channelAccessToken: "LINE_CHANNEL_ACCESS_TOKEN",
      channelSecret: "LINE_CHANNEL_SECRET",
      dmPolicy: "pairing"
    }
  }
}

Zmienne środowiskowe: LINE_CHANNEL_ACCESS_TOKEN, LINE_CHANNEL_SECRET.

Możliwe jest też podanie danych uwierzytelniających przez pliki:

{
  channels: {
    line: {
      tokenFile: "/sciezka/do/line-token.txt",
      secretFile: "/sciezka/do/line-secret.txt"
    }
  }
}

Wiele kont

Skonfiguruj wiele kont w sekcji accounts, każde z własnym tokenem, sekretem i ścieżką webhooka:

{
  channels: {
    line: {
      accounts: {
        marketing: {
          channelAccessToken: "...",
          channelSecret: "...",
          webhookPath: "/line/marketing"
        }
      }
    }
  }
}

Kontrola dostępu

  • dmPolicy: pairing (domyślny), allowlist, open, disabled
  • allowFrom: lista dozwolonych ID użytkowników DM
  • groupPolicy: allowlist, open, disabled
  • groupAllowFrom: lista dozwolonych ID użytkowników w grupach

Parowanie: openclaw pairing list line i openclaw pairing approve line KOD.

Formaty ID w LINE: użytkownik (U + 32 znaki hex), grupa (C + 32 znaki hex), pokój (R + 32 znaki hex).

Zachowanie wiadomości

  • Tekst dzielony po 5000 znakach
  • Markdown jest usuwany; bloki kodu i tabele konwertowane na karty Flex
  • Odpowiedzi strumieniowe buforowane z animacją ładowania
  • Pobieranie mediów ograniczone do 10 MB (konfigurowane przez channels.line.mediaMaxMb)

Bogate wiadomości (channelData)

OpenClaw obsługuje specyficzne dla LINE typy wiadomości przez pole channelData:

  • Szybkie odpowiedzi — quickReplies: ["Status", "Pomoc"]
  • Lokalizacja — z tytułem, adresem, szerokością i długością geograficzną
  • Wiadomości Flex — elastyczne karty z dowolnym układem
  • Szablony — np. szablony potwierdzenia z przyciskami Tak/Nie

Komenda karty: /card info "Witaj" "Dziękujemy za dołączenie!"

Media wychodzące

Obsługiwane typy: obrazy, wideo i audio z automatycznym generowaniem podglądu i dostawą specyficzną dla LINE.

Rozwiązywanie problemów

  • Awarie webhooka — sprawdź HTTPS i zgodność sekretu kanału
  • Brak zdarzeń przychodzących — potwierdź ścieżkę webhooka i osiągalność Gateway
  • Błędy mediów — zwiększ mediaMaxMb w razie potrzeby