Применимо к 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 | Discord | Slack | iMessage | |
|---|---|---|---|---|---|
| Сложность настройки | ⭐ Просто | ⭐⭐ Средне | ⭐⭐ Средне | ⭐⭐ Средне | ⭐⭐⭐ Сложно |
| Бесплатное использование | ✅ | ✅ | ✅ | ✅ | ✅ |
| Bot API | ✅ Полноценный | ⚠️ Ограничен | ✅ Полноценный | ✅ Полноценный | ⚠️ Ограничен |
| Поддержка групп | ✅ | ✅ | ✅ | ✅ | ⚠️ |
| Поддержка файлов | ✅ 2 ГБ | ✅ 100 МБ | ✅ 25 МБ | ✅ 1 ГБ | ✅ |
| Доступность | ✅ | ✅ | ✅ | ✅ | ✅ |
| Рекомендация | ⭐⭐⭐⭐⭐ | ⭐⭐⭐⭐ | ⭐⭐⭐⭐ | ⭐⭐⭐ | ⭐⭐⭐ |
Причины выбора Telegram
- Самая простая настройка: достаточно создать бота и получить Token
- Лучшая документация: Telegram Bot API — эталон в отрасли
- Самая богатая функциональность: поддержка команд, кнопок, inline-запросов
- Самое активное сообщество: проблемы легко находят решение
Создание Telegram-бота
Шаг 1: найдите BotFather
- Откройте Telegram
- Найдите
@BotFather(официальный инструмент управления ботами) - Начните диалог
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
Следуйте инструкциям:
- Отображаемое имя бота: например,
My OpenClaw(допускаются пробелы) - Имя пользователя бота: например,
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.
Добавление бота в группу
- В настройках группы нажмите «Добавить участника»
- Найдите вашего бота по имени пользователя (например,
@myclaw_bot) - Добавьте
- (Опционально) Сделайте бота администратором для получения дополнительных прав
Настройка 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-бота
- Перейдите в Discord Developer Portal
- Нажмите «New Application»
- Введите имя, например
OpenClaw Assistant - Перейдите на страницу «Bot», нажмите «Add Bot»
- Скопируйте Token (не путайте с Application ID)
Настройка OAuth2-прав
- Перейдите в «OAuth2» > «URL Generator»
- Отметьте следующие права:
| Категория прав | Конкретные права |
|---|---|
| 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 |
- Скопируйте сгенерированную ссылку приглашения
- Откройте ссылку в браузере, пригласите бота на сервер
Пример конфигурации
{
"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
- Перейдите в Slack API
- Нажмите «Create New App»
- Выберите «From scratch»
- Введите имя приложения, выберите рабочее пространство
Настройка 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
Установка в рабочее пространство
- Нажмите «Install to Workspace»
- Подтвердите права
- Скопируйте Bot User OAuth Token (начинается с
xoxb-)
Пример конфигурации
{
"channels": {
"slack": {
"botToken": "xoxb-...",
"appToken": "xapp-...",
"signingSecret": "..."
}
}
}
Включение Socket Mode (рекомендуется)
- На странице «Socket Mode» включите режим
- Сгенерируйте App-Level Token
- Добавьте в конфигурацию 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-бот: нет прав
Симптомы: бот не отвечает или не имеет прав на сервере
Решение:
- Проверьте роль и права бота
- Убедитесь, что бот приглашён на сервер
- Повторно пригласите бота (с правильным 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
Следующий шаг
Поздравляем! Вы настроили первый канал. Теперь можно:
- Тестирование диалога → отправьте сообщение в настроенном канале
- Установка Skills → расширение возможностей ИИ
- Настройка нескольких каналов → добавление дополнительных каналов
Итоги статьи:
- Освоено создание и настройка Telegram-бота
- Понят механизм DM-спаривания и настройка групп
- Изучены способы настройки WhatsApp, Discord, Slack
- Рассмотрено одновременное использование нескольких каналов
- Освоены методы устранения типичных проблем
История обновлений:
- 2026-02-26: первая публикация, на основе OpenClaw v2026.2
Навигация по серии:
- ← Предыдущая статья: Настройка окружения и первый запуск
- → Следующая статья: Основные концепции Gateway