Назад

03. Настройка каналов OpenClaw: начинаем с Telegram

На примере Telegram подробно описан полный процесс настройки каналов OpenClaw. Рассматриваются создание бота, настройка аутентификации, политики безопасности, групповые настройки, а также конфигурация WhatsApp, Discord и других каналов. Позволяет общаться с ИИ-помощником через привычные мессенджеры.

Применимо к OpenClaw v2026.2 | Статья предполагает, что вы завершили установку OpenClaw и имеете доступный Telegram Bot Token (получается бесплатно).

TL;DR: Telegram — самый простой канал для настройки: создайте бота (@BotFather), получите Token, укажите его в ~/.openclaw/openclaw.json, запустите Gateway. По умолчанию включена DM-защита через спаривание, в группах бот отвечает только при @упоминании. Также рассмотрены WhatsApp (вход по QR-коду), Discord (Bot Token) и Slack.

Почему начинаем с Telegram?

Сравнение каналов

Характеристика Telegram WhatsApp Discord Slack iMessage
Сложность настройки ⭐ Просто ⭐⭐ Средне ⭐⭐ Средне ⭐⭐ Средне ⭐⭐⭐ Сложно
Бесплатное использование
Bot API ✅ Полноценный ⚠️ Ограничен ✅ Полноценный ✅ Полноценный ⚠️ Ограничен
Поддержка групп ⚠️
Поддержка файлов ✅ 2 ГБ ✅ 100 МБ ✅ 25 МБ ✅ 1 ГБ
Доступность
Рекомендация ⭐⭐⭐⭐⭐ ⭐⭐⭐⭐ ⭐⭐⭐⭐ ⭐⭐⭐ ⭐⭐⭐

Причины выбора Telegram

  1. Самая простая настройка: достаточно создать бота и получить Token
  2. Лучшая документация: Telegram Bot API — эталон в отрасли
  3. Самая богатая функциональность: поддержка команд, кнопок, inline-запросов
  4. Самое активное сообщество: проблемы легко находят решение

Создание Telegram-бота

Шаг 1: найдите BotFather

  1. Откройте Telegram
  2. Найдите @BotFather (официальный инструмент управления ботами)
  3. Начните диалог
sequenceDiagram
    participant U as Вы
    participant BF as BotFather
    participant TG as Telegram
    
    U->>BF: /newbot
    BF->>U: Введите отображаемое имя бота
    U->>BF: My OpenClaw Assistant
    BF->>U: Введите имя пользователя бота (должно заканчиваться на bot)
    U->>BF: myclaw_bot
    BF->>TG: Создание бота
    TG-->>BF: Бот создан успешно
    BF->>U: Возврат API Token

Шаг 2: создайте нового бота

Отправьте команду в BotFather:

/newbot

Следуйте инструкциям:

  1. Отображаемое имя бота: например, My OpenClaw (допускаются пробелы)
  2. Имя пользователя бота: например, myclaw_bot (должно заканчиваться на bot)

После успешного создания BotFather вернёт:

Done! Congratulations on your new bot...

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

Keep your token secure...

⚠️ Важно: храните API Token в безопасности — он предоставляет полный контроль над вашим ботом.

Шаг 3: настройка информации бота (опционально)

# Установка аватара бота в BotFather
/setuserpic
# Выберите бота, загрузите изображение

# Установка описания бота
/setdescription
# Выберите бота, введите текст описания

# Установка краткой информации
/setabouttext
# Выберите бота, введите краткий текст

# Установка команд бота
/setcommands
# Введите список команд, например:
# start - Начать использование
# help - Получить помощь
# status - Проверить статус

Настройка OpenClaw

Способ A: переменные окружения (для быстрого тестирования)

# Установка переменной окружения
export TELEGRAM_BOT_TOKEN="7123456789:AAHxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"

# Запуск Gateway
openclaw gateway

Способ B: конфигурационный файл (рекомендуется для продакшна)

Отредактируйте ~/.openclaw/openclaw.json:

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

Способ C: настройка через CLI

# Интерактивная настройка
openclaw config set channels.telegram.botToken "7123456789:AAH..."

# Или через мастер onboard
openclaw onboard

Проверка настройки

# Проверка конфигурации
openclaw config get channels.telegram.botToken

# Диагностика
openclaw doctor

# Запуск Gateway (режим отладки)
openclaw gateway --verbose

При успешном запуске вы увидите подобные логи:

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

Настройки безопасности

Механизм DM-спаривания

По умолчанию OpenClaw включает механизм DM-спаривания (dmPolicy: "pairing"), предотвращающий злоупотребление ботом посторонними.

sequenceDiagram
    participant S as Незнакомец
    participant B as Бот
    participant G as Gateway
    participant O as Вы
    
    S->>B: Отправка сообщения "Привет"
    B->>G: Сообщение получено
    G->>G: Проверка статуса спаривания
    G-->>B: Не спарен, возврат кода спаривания
    B-->>S: "Для спаривания: код ABC123"
    S->>O: Сообщает код спаривания
    O->>G: openclaw pairing approve telegram ABC123
    G->>G: Добавление в белый список
    G-->>S: Спаривание успешно, можно общаться

Настройка DM-политики

{
  "channels": {
    "telegram": {
      "botToken": "your_token",
      "dmPolicy": "pairing",
      "allowFrom": []
    }
  }
}
Политика Описание Уровень риска
pairing Новые пользователи требуют код спаривания ⭐ Безопасно (по умолчанию)
open Любой может отправлять сообщения ⭐⭐⭐ Опасно

Управление запросами на спаривание

# Просмотр списка ожидающих спаривания
openclaw pairing list

# Пример вывода:
# Channel    Code     User        Created
# telegram   ABC123   @stranger   2026-02-26 10:30:00

# Одобрение спаривания
openclaw pairing approve telegram ABC123

# Отклонение спаривания
openclaw pairing reject telegram ABC123

# Просмотр спаренных пользователей
openclaw pairing show telegram

Режим белого списка

Разрешить отправку сообщений только определённым пользователям:

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

💡 Как узнать Telegram User ID: отправьте любое сообщение боту @userinfobot, он вернёт ваш числовой ID.

Настройка групп

Базовая настройка группы

{
  "channels": {
    "telegram": {
      "botToken": "your_token",
      "groups": {
        "*": {
          "requireMention": true
        }
      }
    }
  }
}
Параметр Описание
"*" Соответствует всем группам
requireMention В группе бот отвечает только при @упоминании

Дифференцированная настройка для нескольких групп

{
  "channels": {
    "telegram": {
      "botToken": "your_token",
      "groups": {
        "-100123456789": {
          "requireMention": false,
          "name": "Рабочая группа"
        },
        "-100987654321": {
          "requireMention": true,
          "name": "Группа общения"
        },
        "*": {
          "requireMention": true
        }
      }
    }
  }
}

💡 Как узнать ID группы: добавьте бота в группу, отправьте любое сообщение и посмотрите ID группы в логах Gateway.

Добавление бота в группу

  1. В настройках группы нажмите «Добавить участника»
  2. Найдите вашего бота по имени пользователя (например, @myclaw_bot)
  3. Добавьте
  4. (Опционально) Сделайте бота администратором для получения дополнительных прав

Настройка WhatsApp

Вход по QR-коду

WhatsApp использует Web-протокол, требующий сканирования QR-кода:

# Запуск процесса входа
openclaw channels login whatsapp

# В терминале отобразится QR-код
# Сканируйте с телефона через WhatsApp:
# Настройки > Связанные устройства > Привязать устройство > Сканировать QR-код
sequenceDiagram
    participant U as Пользователь
    participant C as CLI
    participant W as WhatsApp
    participant G as Gateway
    
    U->>C: openclaw channels login whatsapp
    C->>W: Запрос QR-кода
    W-->>C: Возврат QR-кода
    C->>U: Отображение QR-кода
    U->>W: Сканирование с телефона
    W-->>C: Аутентификация успешна
    C->>G: Сохранение данных аутентификации
    G-->>U: WhatsApp подключен

Пример конфигурации

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

Ограничения WhatsApp

Ограничение Описание
Телефон онлайн WhatsApp на телефоне должен быть онлайн для поддержания соединения
Задержка сообщений Возможна задержка от нескольких секунд до нескольких минут
Размер файлов Максимум 100 МБ
Риск блокировки номера Частое использование может привести к ограничениям

Настройка Discord

Создание Discord-бота

  1. Перейдите в Discord Developer Portal
  2. Нажмите «New Application»
  3. Введите имя, например OpenClaw Assistant
  4. Перейдите на страницу «Bot», нажмите «Add Bot»
  5. Скопируйте Token (не путайте с Application ID)

Настройка OAuth2-прав

  1. Перейдите в «OAuth2» > «URL Generator»
  2. Отметьте следующие права:
Категория прав Конкретные права
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. Скопируйте сгенерированную ссылку приглашения
  2. Откройте ссылку в браузере, пригласите бота на сервер

Пример конфигурации

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

Настройка функций Discord

{
  "channels": {
    "discord": {
      "token": "your_token",
      "commands": {
        "native": true,
        "text": true
      },
      "mediaMaxMb": 25
    }
  }
}
Параметр Описание
commands.native Включение нативных slash-команд Discord
commands.text Включение текстовых команд (например, /help)
mediaMaxMb Ограничение размера медиафайлов

Настройка Slack

Создание Slack App

  1. Перейдите в Slack API
  2. Нажмите «Create New App»
  3. Выберите «From scratch»
  4. Введите имя приложения, выберите рабочее пространство

Настройка OAuth-прав

На странице «OAuth & Permissions» добавьте следующие 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

Установка в рабочее пространство

  1. Нажмите «Install to Workspace»
  2. Подтвердите права
  3. Скопируйте Bot User OAuth Token (начинается с xoxb-)

Пример конфигурации

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

Включение Socket Mode (рекомендуется)

  1. На странице «Socket Mode» включите режим
  2. Сгенерируйте App-Level Token
  3. Добавьте в конфигурацию OpenClaw:
{
  "channels": {
    "slack": {
      "botToken": "xoxb-...",
      "appToken": "xapp-...",
      "socketMode": true
    }
  }
}

Одновременное использование нескольких каналов

Полный пример конфигурации

{
  "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-..."
    }
  }
}

Схема маршрутизации сообщений

flowchart TB
    subgraph Users["Пользователи"]
        WA[Пользователь WhatsApp]
        TG[Пользователь Telegram]
        DC[Пользователь Discord]
        SL[Пользователь Slack]
    end
    
    subgraph Gateway["Gateway"]
        MR[Message Router]
        SM[Session Manager]
    end
    
    subgraph Agent["Pi Agent"]
        AI[Ядро ИИ]
        CTX[Общий контекст]
    end
    
    WA --> MR
    TG --> MR
    DC --> MR
    SL --> MR
    MR --> SM
    SM --> AI
    AI --> CTX

Все каналы используют одного Agent с единым управлением контекстом. Это означает:

  • Вопрос, заданный в Telegram, можно продолжить обсуждать в WhatsApp
  • Пользователи разных каналов могут делиться общей памятью
  • Каждый канал может иметь собственную стратегию изоляции сессий

Команды управления сессиями

Универсальные команды для всех каналов (отправляются в чате):

Команда Функция Пример
/status Просмотр статуса сессии Модель, использование Token
/new или /reset Сброс сессии Очистка контекста, начало нового диалога
/compact Сжатие контекста Суммирование истории, освобождение Token
/think <level> Установка уровня размышлений /think high
/verbose on/off Вкл/выкл подробного вывода /verbose on
/usage off/tokens/full Режим отображения использования /usage full

Устранение неполадок

Telegram-бот не отвечает

Симптомы: после отправки сообщения нет ответа

Шаги диагностики:

# 1. Проверка, работает ли Gateway
curl http://127.0.0.1:18789/health

# 2. Проверка Bot Token
openclaw config get channels.telegram.botToken

# 3. Просмотр подробных логов
openclaw gateway --verbose

# 4. Диагностика
openclaw doctor

Типичные причины:

Ошибка Причина Решение
401 Unauthorized Недействительный Token Получите новый Token
409 Conflict Конфликт Webhook Удалите старый Webhook
403 Forbidden Бот заблокирован Свяжитесь с поддержкой Telegram
Connection refused Gateway не запущен Запустите Gateway

WhatsApp: ошибка сканирования QR-кода

Симптомы: после сканирования отображается ошибка

Решение:

# Перегенерация QR-кода
openclaw channels logout whatsapp
openclaw channels login whatsapp

# Проверка сети
ping web.whatsapp.com

# Очистка кэша учётных данных
rm -rf ~/.openclaw/credentials/whatsapp*

Discord-бот: нет прав

Симптомы: бот не отвечает или не имеет прав на сервере

Решение:

  1. Проверьте роль и права бота
  2. Убедитесь, что бот приглашён на сервер
  3. Повторно пригласите бота (с правильным OAuth URL)
# Поиск ошибок прав в логах
openclaw gateway --verbose 2>&1 | grep -i permission

Конфигурация не применяется

Симптомы: после изменения конфигурации поведение не меняется

Решение:

# 1. Перезапуск Gateway
openclaw gateway --restart

# 2. Очистка кэша
rm -rf ~/.openclaw/cache/*

# 3. Проверка синтаксиса конфигурационного файла
cat ~/.openclaw/openclaw.json | jq .

# 4. Проверка приоритетов конфигурации
openclaw config list

Лучшие практики безопасности

1. Безопасность Token

# Не коммитьте Token в систему контроля версий
echo ".openclaw/" >> .gitignore

# Храните конфиденциальные данные в переменных окружения
export TELEGRAM_BOT_TOKEN="your_token"

# Периодически обновляйте Token (через BotFather)
# Команда /revoke позволяет перегенерировать Token

2. Контроль доступа

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

3. Аудит логов

# Включение подробных логов
openclaw gateway --verbose

# Просмотр истории сессий
openclaw sessions list
openclaw sessions show <session-id>

# Аудит выполненных команд
grep "bash" ~/.openclaw/logs/gateway.log

Следующий шаг

Поздравляем! Вы настроили первый канал. Теперь можно:

  1. Тестирование диалога → отправьте сообщение в настроенном канале
  2. Установка Skills → расширение возможностей ИИ
  3. Настройка нескольких каналов → добавление дополнительных каналов

Итоги статьи:

  • Освоено создание и настройка Telegram-бота
  • Понят механизм DM-спаривания и настройка групп
  • Изучены способы настройки WhatsApp, Discord, Slack
  • Рассмотрено одновременное использование нескольких каналов
  • Освоены методы устранения типичных проблем

История обновлений:

  • 2026-02-26: первая публикация, на основе OpenClaw v2026.2

Навигация по серии: