Telegram — самый быстрый канал для начала работы с OpenClaw. Достаточно создать бота через @BotFather и вставить токен.
Настройка за 3 минуты
1. Создайте бота
Откройте Telegram, найдите @BotFather, отправьте /newbot. Следуйте инструкциям и сохраните токен.
2. Настройте конфиг
{
channels: {
telegram: {
enabled: true,
botToken: "123:abc",
dmPolicy: "pairing",
groups: { "*": { requireMention: true } },
},
},
}
Или через переменную окружения: TELEGRAM_BOT_TOKEN=... (только для default-аккаунта). Конфиг имеет приоритет над env.
Telegram не использует openclaw channels login — токен настраивается в конфиге/env, затем запускается Gateway.
3. Запустите и подтвердите первое сообщение
openclaw gateway
openclaw pairing list telegram
openclaw pairing approve telegram
Код действителен 1 час.
Доступ к боту (DM)
channels.telegram.dmPolicy — кто может писать боту в личку:
pairing (по умолчанию) — новые отправители получают кодallowlist — только из списка allowFrom (числовые ID)open — всем (нужно allowFrom: ["*"])disabled — никомуВажные нюансы DM-политики
allowFrom принимает числовые Telegram ID. Префиксы telegram: / tg: допускаются.dmPolicy: "allowlist" с пустым allowFrom блокирует все ЛС и отклоняется валидацией.groupAllowFrom отдельно.dmPolicy: "allowlist" с явным числовым ID в allowFrom.Как узнать свой Telegram ID
openclaw logs --followfrom.idИли через Bot API: curl "https://api.telegram.org/bot
Группы
Добавьте бота в группу. Два уровня контроля:
1. Какие группы разрешены (channels.telegram.groups):
groups + groupPolicy: "open" — любая группаgroups + groupPolicy: "allowlist" — группы блокируются"*" — явный allowlist2. Какие пользователи разрешены в группах (channels.telegram.groupPolicy):
open — любой участникallowlist (по умолчанию) — только из groupAllowFrom или allowFromdisabled — бот не отвечает в группах{
channels: {
telegram: {
groupAllowFrom: ["8734062810", "745123456"],
groups: {
"-1001234567890": {
groupPolicy: "open",
requireMention: false,
},
},
},
},
}
Частая ошибка: groupAllowFrom ≠ groups
-1001234567890) → channels.telegram.groupsgroupAllowFrom или allowFromУпоминания
По умолчанию бот в группе реагирует только на упоминания (@botusername). Упоминания также работают через mentionPatterns:
{
agents: {
list: [{
id: "main",
groupChat: { mentionPatterns: ["@openclaw", "openclaw"] },
}],
},
}
Команды в чате:
/activation always — бот отвечает на всё (в сессии)/activation mention — только по упоминанию (в сессии)Для постоянной настройки — через конфиг: groups: { "*": { requireMention: false } }.
Режим приватности
Telegram-боты по умолчанию имеют Privacy Mode — они не видят все сообщения в группе. Чтобы бот видел всё:
/setprivacy у @BotFather, илиПосле отключения приватности удалите и заново добавьте бота в группу.
Форум-топики
Если группа — форум с топиками, OpenClaw автоматически изолирует сессии по топикам (каждый топик = отдельная сессия).
Streaming (превью ответов)
OpenClaw может показывать ответ в реальном времени, редактируя сообщение:
{
channels: {
telegram: {
streaming: "partial", // off | partial | block | progress
},
},
}
partial (по умолчанию) — превью обновляется по мере генерацииblock — ответ приходит одним сообщениемoff — без превьюRuntime
channels.telegram.pollingStallThresholdMs (30000–600000 мс).