Wróć

03. OpenClaw — konfiguracja kanałów: zaczynamy od Telegrama

Na przykładzie Telegrama artykuł szczegółowo opisuje pełny proces konfiguracji kanałów OpenClaw. Obejmuje tworzenie bota, konfigurację uwierzytelniania, politykę bezpieczeństwa, ustawienia grup oraz metody konfiguracji WhatsApp, Discord i innych kanałów. Pozwoli Ci rozmawiać z asystentem AI przez znane aplikacje czatowe.

Dotyczy OpenClaw v2026.2 | Artykuł zakłada ukończenie instalacji OpenClaw i posiadanie tokenu Telegram Bot (darmowe do uzyskania).

TL;DR: Telegram to najprostszy kanał do konfiguracji: utwórz bota (@BotFather), uzyskaj token, skonfiguruj w ~/.openclaw/openclaw.json, uruchom Gateway. Domyślnie włączona jest ochrona parowania DM, w grupach wymagane jest @wspomnienie bota. Artykuł obejmuje również WhatsApp (logowanie kodem QR), Discord (Bot Token), Slack.

Dlaczego zaczynamy od Telegrama?

Porównanie kanałów

Cecha Telegram WhatsApp Discord Slack iMessage
Trudność konfiguracji ⭐ Łatwa ⭐⭐ Średnia ⭐⭐ Średnia ⭐⭐ Średnia ⭐⭐⭐ Złożona
Darmowe użycie
Bot API ✅ Rozbudowane ⚠️ Ograniczone ✅ Rozbudowane ✅ Rozbudowane ⚠️ Ograniczone
Obsługa grup ⚠️
Obsługa plików ✅ 2GB ✅ 100MB ✅ 25MB ✅ 1GB
Dostępność w Chinach ⚠️ Wymaga proxy ⚠️ Wymaga proxy ⚠️ Wymaga proxy
Ocena ⭐⭐⭐⭐⭐ ⭐⭐⭐⭐ ⭐⭐⭐⭐ ⭐⭐⭐ ⭐⭐⭐

Powody wyboru Telegrama

  1. Najprostsza konfiguracja: wystarczy utworzyć bota i uzyskać token
  2. Najlepsza dokumentacja: Telegram Bot API to branżowy standard
  3. Najbogatsze funkcje: obsługa komend, przycisków, zapytań inline itp.
  4. Najaktywniejsza społeczność: łatwo znaleźć rozwiązanie problemu

Tworzenie bota Telegram

Krok 1: Znajdź BotFather

  1. Otwórz aplikację Telegram
  2. Wyszukaj @BotFather (oficjalne narzędzie zarządzania botami)
  3. Wejdź w konwersację
sequenceDiagram
    participant U as Ty
    participant BF as BotFather
    participant TG as Telegram
    
    U->>BF: /newbot
    BF->>U: Podaj nazwę wyświetlaną bota
    U->>BF: My OpenClaw Assistant
    BF->>U: Podaj nazwę użytkownika bota (musi kończyć się na bot)
    U->>BF: myclaw_bot
    BF->>TG: Tworzenie bota
    TG-->>BF: Bot utworzony pomyślnie
    BF->>U: Zwrócenie tokenu API

Krok 2: Utwórz nowego bota

Wyślij polecenie w BotFather:

/newbot

Postępuj zgodnie z instrukcjami:

  1. Nazwa wyświetlana bota: np. My OpenClaw (mogą być spacje)
  2. Nazwa użytkownika bota: np. myclaw_bot (musi kończyć się na bot)

Po pomyślnym utworzeniu BotFather zwróci:

Done! Congratulations on your new bot...

Use this token to access the HTTP API:
7123456789:AAHxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

Keep your token secure...

⚠️ Ważne: Przechowuj token API w bezpiecznym miejscu — daje on pełną kontrolę nad Twoim botem.

Krok 3: Konfiguracja informacji o bocie (opcjonalne)

# Ustawienie awatara bota w BotFather
/setuserpic
# Wybierz bota, prześlij obraz

# Ustawienie opisu bota
/setdescription
# Wybierz bota, wpisz opis

# Ustawienie informacji „About"
/setabouttext
# Wybierz bota, wpisz informacje

# Ustawienie komend bota
/setcommands
# Wpisz listę komend, np.:
# start - Rozpocznij korzystanie
# help - Uzyskaj pomoc
# status - Sprawdź status

Konfiguracja OpenClaw

Sposób A: Zmienne środowiskowe (szybki test)

# Ustawienie zmiennej środowiskowej
export TELEGRAM_BOT_TOKEN="7123456789:AAHxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"

# Uruchomienie Gateway
openclaw gateway

Sposób B: Plik konfiguracyjny (zalecane na produkcję)

Edytuj ~/.openclaw/openclaw.json:

{
  "agent": {
    "model": "anthropic/claude-opus-4-6"
  },
  "channels": {
    "telegram": {
      "botToken": "7123456789:AAHxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
    }
  }
}

Sposób C: Użycie CLI

# Konfiguracja interaktywna
openclaw config set channels.telegram.botToken "7123456789:AAH..."

# Lub przez kreator onboard
openclaw onboard

Weryfikacja konfiguracji

# Sprawdzenie konfiguracji
openclaw config get channels.telegram.botToken

# Uruchomienie diagnostyki
openclaw doctor

# Uruchomienie Gateway (tryb debugowania)
openclaw gateway --verbose

Po pomyślnym uruchomieniu powinieneś zobaczyć logi podobne do:

[INFO] Gateway starting on port 18789
[INFO] Telegram channel connected
[INFO] Bot: @myclaw_bot
[INFO] Waiting for messages...

Konfiguracja bezpieczeństwa

Mechanizm parowania DM

Domyślnie OpenClaw włącza mechanizm parowania DM (dmPolicy: "pairing"), zapobiegający nadużywaniu bota przez nieznajomych.

sequenceDiagram
    participant S as Nieznajomy
    participant B as Bot
    participant G as Gateway
    participant O as Ty
    
    S->>B: Wysyła wiadomość "Cześć"
    B->>G: Wiadomość dociera
    G->>G: Sprawdzenie stanu parowania
    G-->>B: Nie sparowany, zwrócenie kodu
    B-->>S: "Proszę sparować: kod ABC123"
    S->>O: Przekazanie kodu
    O->>G: openclaw pairing approve telegram ABC123
    G->>G: Dodanie do białej listy
    G-->>S: Parowanie zakończone, można rozmawiać

Konfiguracja polityki DM

{
  "channels": {
    "telegram": {
      "botToken": "your_token",
      "dmPolicy": "pairing",
      "allowFrom": []
    }
  }
}
Polityka Opis Poziom ryzyka
pairing Nowi użytkownicy wymagają kodu parowania ⭐ Bezpieczna (domyślna)
open Każdy może wysyłać wiadomości ⭐⭐⭐ Niebezpieczna

Zarządzanie żądaniami parowania

# Wyświetlenie listy oczekujących
openclaw pairing list

# Przykładowy wynik:
# Channel    Code     User        Created
# telegram   ABC123   @stranger   2026-02-26 10:30:00

# Zatwierdzenie parowania
openclaw pairing approve telegram ABC123

# Odrzucenie parowania
openclaw pairing reject telegram ABC123

# Wyświetlenie sparowanych użytkowników
openclaw pairing show telegram

Tryb białej listy

Pozwól tylko określonym użytkownikom na wysyłanie wiadomości:

{
  "channels": {
    "telegram": {
      "botToken": "your_token",
      "dmPolicy": "open",
      "allowFrom": [123456789, 987654321]
    }
  }
}

💡 Uzyskanie ID użytkownika Telegram: wyślij dowolną wiadomość do @userinfobot, zwróci Twój identyfikator numeryczny.

Konfiguracja grup

Podstawowe ustawienia grupy

{
  "channels": {
    "telegram": {
      "botToken": "your_token",
      "groups": {
        "*": {
          "requireMention": true
        }
      }
    }
  }
}
Ustawienie Opis
"*" Dopasowanie do wszystkich grup
requireMention W grupie wymagane @wspomnienie bota, aby odpowiedział

Różna konfiguracja dla wielu grup

{
  "channels": {
    "telegram": {
      "botToken": "your_token",
      "groups": {
        "-100123456789": {
          "requireMention": false,
          "name": "Grupa robocza"
        },
        "-100987654321": {
          "requireMention": true,
          "name": "Grupa towarzyska"
        },
        "*": {
          "requireMention": true
        }
      }
    }
  }
}

💡 Uzyskanie ID grupy: po dodaniu bota do grupy wyślij dowolną wiadomość w grupie, a w logach Gateway zobaczysz ID grupy.

Dodawanie bota do grupy

  1. W ustawieniach grupy kliknij „Dodaj członka"
  2. Wyszukaj nazwę użytkownika bota (np. @myclaw_bot)
  3. Wybierz dodanie
  4. (Opcjonalnie) Ustaw bota jako administratora, aby uzyskać więcej uprawnień

Konfiguracja WhatsApp

Metoda: Logowanie kodem QR

WhatsApp używa protokołu Web, wymaga skanowania kodu QR:

# Uruchomienie procesu logowania
openclaw channels login whatsapp

# Terminal wyświetli kod QR
# Zeskanuj telefonem WhatsApp:
# Ustawienia > Połączone urządzenia > Połącz urządzenie > Zeskanuj kod QR
sequenceDiagram
    participant U as Użytkownik
    participant C as CLI
    participant W as WhatsApp
    participant G as Gateway
    
    U->>C: openclaw channels login whatsapp
    C->>W: Żądanie kodu QR
    W-->>C: Zwrócenie kodu QR
    C->>U: Wyświetlenie kodu QR
    U->>W: Skanowanie telefonem
    W-->>C: Uwierzytelnienie zakończone
    C->>G: Zapis informacji o uwierzytelnieniu
    G-->>U: WhatsApp połączony

Przykład konfiguracji

{
  "channels": {
    "whatsapp": {
      "allowFrom": ["+8613800138000"],
      "groups": {
        "*": {
          "requireMention": true
        }
      }
    }
  }
}

Ograniczenia WhatsApp

Ograniczenie Opis
Telefon online Wymaga, aby WhatsApp na telefonie był online
Opóźnienie wiadomości Możliwe opóźnienie od kilku sekund do kilku minut
Rozmiar pliku Maksymalnie 100MB
Ryzyko numeru Częste korzystanie może spowodować ograniczenie numeru

Konfiguracja Discord

Tworzenie bota Discord

  1. Wejdź na Discord Developer Portal
  2. Kliknij „New Application"
  3. Wpisz nazwę, np. OpenClaw Assistant
  4. Przejdź do strony „Bot", kliknij „Add Bot"
  5. Skopiuj Token (nie Application ID)

Konfiguracja uprawnień OAuth2

  1. Przejdź do „OAuth2" > „URL Generator"
  2. Zaznacz następujące uprawnienia:
Kategoria uprawnień Szczegółowe uprawnienia
Bot Permissions
General Read Messages/View Channels
General Send Messages
General Send Messages in Threads
General Manage Messages
General Embed Links
General Attach Files
General Read Message History
Text Add Reactions
Text Use Slash Commands
  1. Skopiuj wygenerowany link zaproszenia
  2. Otwórz link w przeglądarce, zaproś bota na serwer

Przykład konfiguracji

{
  "channels": {
    "discord": {
      "token": "MTk4NjIyNDgzNDc...",
      "guilds": {
        "*": {
          "requireMention": true
        }
      }
    }
  }
}

Konfiguracja funkcji Discord

{
  "channels": {
    "discord": {
      "token": "your_token",
      "commands": {
        "native": true,
        "text": true
      },
      "mediaMaxMb": 25
    }
  }
}
Ustawienie Opis
commands.native Włączenie natywnych komend slash Discord
commands.text Włączenie komend tekstowych (np. /help)
mediaMaxMb Limit rozmiaru plików multimedialnych

Konfiguracja Slack

Tworzenie aplikacji Slack

  1. Wejdź na Slack API
  2. Kliknij „Create New App"
  3. Wybierz „From scratch"
  4. Wpisz nazwę aplikacji, wybierz workspace

Konfiguracja uprawnień OAuth

Na stronie „OAuth & Permissions" dodaj następujące Bot Token Scopes:

app_mentions:read
channels:history
channels:read
chat:write
files:read
files:write
groups:history
groups:read
im:history
im:read
im:write
mpim:history
mpim:read
mpim:write
reactions:read
reactions:write
users:read

Instalacja w workspace

  1. Kliknij „Install to Workspace"
  2. Autoryzuj uprawnienia
  3. Skopiuj Bot User OAuth Token (zaczyna się od xoxb-)

Przykład konfiguracji

{
  "channels": {
    "slack": {
      "botToken": "xoxb-...",
      "appToken": "xapp-...",
      "signingSecret": "..."
    }
  }
}

Włączenie Socket Mode (zalecane)

  1. Na stronie „Socket Mode" włącz
  2. Wygeneruj App-Level Token
  3. Skonfiguruj w OpenClaw:
{
  "channels": {
    "slack": {
      "botToken": "xoxb-...",
      "appToken": "xapp-...",
      "socketMode": true
    }
  }
}

Włączenie wielu kanałów jednocześnie

Pełny przykład konfiguracji

{
  "agent": {
    "model": "anthropic/claude-opus-4-6"
  },
  "gateway": {
    "port": 18789,
    "bind": "loopback"
  },
  "channels": {
    "telegram": {
      "botToken": "telegram_bot_token",
      "dmPolicy": "pairing",
      "groups": {
        "*": { "requireMention": true }
      }
    },
    "whatsapp": {
      "allowFrom": ["+8613800138000"]
    },
    "discord": {
      "token": "discord_token",
      "guilds": {
        "*": { "requireMention": true }
      }
    },
    "slack": {
      "botToken": "xoxb-...",
      "appToken": "xapp-..."
    }
  }
}

Schemat routingu wiadomości

flowchart TB
    subgraph Users["Użytkownicy"]
        WA[Użytkownik WhatsApp]
        TG[Użytkownik Telegram]
        DC[Użytkownik Discord]
        SL[Użytkownik Slack]
    end
    
    subgraph Gateway["Gateway"]
        MR[Router wiadomości]
        SM[Menedżer sesji]
    end
    
    subgraph Agent["Pi Agent"]
        AI[Jądro AI]
        CTX[Współdzielony kontekst]
    end
    
    WA --> MR
    TG --> MR
    DC --> MR
    SL --> MR
    MR --> SM
    SM --> AI
    AI --> CTX

Wszystkie kanały współdzielą tego samego agenta z ujednoliconym zarządzaniem kontekstem. Oznacza to:

  • Pytanie zadane w Telegramie można kontynuować w WhatsApp
  • Użytkownicy z różnych kanałów mogą współdzielić tę samą pamięć
  • Każdy kanał może mieć niezależną politykę izolacji sesji

Komendy zarządzania sesją

Komendy uniwersalne dla wszystkich kanałów (wysyłane w czacie):

Komenda Funkcja Przykład
/status Sprawdzenie stanu sesji Wyświetla model, zużycie tokenów
/new lub /reset Reset sesji Czyszczenie kontekstu, nowa rozmowa
/compact Kompresja kontekstu Podsumowanie historii, zwolnienie tokenów
/think <level> Ustawienie poziomu myślenia /think high
/verbose on/off Przełączenie szczegółowych wyników /verbose on
/usage off/tokens/full Tryb wyświetlania zużycia /usage full

Rozwiązywanie problemów

Bot Telegram nie odpowiada

Objawy: Brak odpowiedzi po wysłaniu wiadomości

Kroki diagnostyczne:

# 1. Sprawdzenie, czy Gateway działa
curl http://127.0.0.1:18789/health

# 2. Sprawdzenie tokenu bota
openclaw config get channels.telegram.botToken

# 3. Szczegółowe logi
openclaw gateway --verbose

# 4. Diagnostyka
openclaw doctor

Typowe przyczyny:

Komunikat błędu Przyczyna Rozwiązanie
401 Unauthorized Nieprawidłowy token Uzyskaj nowy token
409 Conflict Konflikt webhook Usuń stary webhook
403 Forbidden Bot zablokowany Skontaktuj się ze wsparciem Telegram
Connection refused Gateway nie działa Uruchom Gateway

WhatsApp — niepowodzenie skanowania kodu QR

Objawy: Błąd po skanowaniu kodu

Rozwiązanie:

# Wygenerowanie nowego kodu QR
openclaw channels logout whatsapp
openclaw channels login whatsapp

# Sprawdzenie sieci
ping web.whatsapp.com

# Wyczyszczenie cache poświadczeń
rm -rf ~/.openclaw/credentials/whatsapp*

Discord — brak uprawnień bota

Objawy: Bot nie odpowiada na serwerze lub brak uprawnień

Rozwiązanie:

  1. Sprawdź uprawnienia roli bota
  2. Potwierdź, że bot został zaproszony na serwer
  3. Zaproś bota ponownie (z prawidłowym URL OAuth)
# Sprawdzenie błędów uprawnień w logach
openclaw gateway --verbose 2>&1 | grep -i permission

Konfiguracja nie działa

Objawy: Zachowanie nie zmienia się po modyfikacji konfiguracji

Rozwiązanie:

# 1. Restart Gateway
openclaw gateway --restart

# 2. Wyczyszczenie cache
rm -rf ~/.openclaw/cache/*

# 3. Weryfikacja składni pliku konfiguracyjnego
cat ~/.openclaw/openclaw.json | jq .

# 4. Sprawdzenie priorytetów konfiguracji
openclaw config list

Najlepsze praktyki bezpieczeństwa

1. Bezpieczeństwo tokenów

# Nie commituj tokenów do kontroli wersji
echo ".openclaw/" >> .gitignore

# Przechowuj wrażliwe informacje w zmiennych środowiskowych
export TELEGRAM_BOT_TOKEN="your_token"

# Regularnie odnawiaj tokeny (w BotFather)
# Komenda /revoke pozwala wygenerować nowy token

2. Kontrola dostępu

{
  "channels": {
    "telegram": {
      "dmPolicy": "pairing",
      "allowFrom": [],
      "groups": {
        "*": { "requireMention": true }
      }
    }
  },
  "agents": {
    "defaults": {
      "sandbox": {
        "mode": "non-main"
      }
    }
  }
}

3. Audyt logów

# Włączenie szczegółowych logów
openclaw gateway --verbose

# Przeglądanie historii sesji
openclaw sessions list
openclaw sessions show <session-id>

# Audyt wykonanych poleceń
grep "bash" ~/.openclaw/logs/gateway.log

Następne kroki

Gratulacje! Konfiguracja pierwszego kanału jest zakończona. Teraz możesz:

  1. Przetestować rozmowę → Wyślij wiadomość przez skonfigurowany kanał
  2. Zainstalować Skills → Rozszerz możliwości AI
  3. Skonfigurować wiele kanałów → Dodaj kolejne kanały

Podsumowanie artykułu:

  • Nauczyłeś się tworzyć i konfigurować bota Telegram
  • Zrozumiałeś parowanie DM i konfigurację grup
  • Poznałeś metody konfiguracji WhatsApp, Discord, Slack
  • Dowiedziałeś się, jak włączyć wiele kanałów jednocześnie
  • Opanowałeś rozwiązywanie typowych problemów

Historia zmian:

  • 2026-02-26: Pierwsza wersja, na podstawie OpenClaw v2026.2

Nawigacja po serii: