OpenClaw (Claw bot / Moltbot) можно использовать как Telegram-бота: пользователи пишут ему в личку или в группу, агент отвечает, выполняет скиллы (поиск, файлы, задачи и т.д.). Подключение занимает несколько минут: создать бота в BotFather, прописать токен в конфиг и запустить gateway. В этом мануале — пошаговая настройка подключения OpenClaw к Telegram-боту: от токена до личных чатов и групп.
Что понадобится
- Установленный OpenClaw (через
npm install -g openclawили официальный установщик). - Аккаунт в Telegram и возможность писать @BotFather.
- Файл конфигурации:
~/.openclaw/openclaw.json(илиconfig.json5— в зависимости от версии).
channels.telegram, а не в plugins.entries. Иначе возможна ошибка вида «plugin not found: telegram».
Шаг 1. Создание бота в BotFather
- Откройте Telegram и найдите @BotFather (проверьте, что это именно официальный бот).
- Отправьте команду
/newbot. - Введите имя бота (например, «Мой OpenClaw») и username (должен заканчиваться на
bot, напримерmy_openclaw_bot). - BotFather пришлёт токен в формате
123456789:ABCdefGHIjklMNOpqrSTUvwxYZ. Сохраните его — он понадобится для конфига.
/newbot и замените токен в конфиге.
Шаг 2. Узнать свой Telegram User ID (для личных сообщений)
Чтобы бот понимал, кому разрешать личные сообщения, нужен ваш числовой ID в Telegram. Способ 1 — через логи OpenClaw (без сторонних ботов):- Пропишите токен в конфиг и запустите gateway (см. ниже).
- В другом терминале:
openclaw logs --follow. - Напишите боту в личку любое сообщение.
- В логах появится поле
from.id— это ваш user ID (число, например8734062810).
curl "https://api.telegram.org/bot<ВАШ_ТОКЕН>/getUpdates"message.from.id будет ваш ID.
Способ 3 — сторонний бот: написать @userinfobot или @getidsbot — они пришлют ваш ID (учтите, что это передаёт ID третьему сервису).
Шаг 3. Настройка конфигурации OpenClaw
Откройте файл конфигурации:- Linux/macOS:
~/.openclaw/openclaw.jsonили~/.openclaw/config.json5 - Windows:
%USERPROFILE%\.openclaw\openclaw.json
channels.telegram:
{
"channels": {
"telegram": {
"enabled": true,
"botToken": "123456789:ABCdefGHIjklMNOpqrSTUvwxYZ",
"dmPolicy": "pairing",
"groups": {
"*": { "requireMention": true }
}
}
}
}enabled: true— канал Telegram включён.botToken— токен от BotFather. Можно вынести в переменную окруженияTELEGRAM_BOT_TOKENи не хранить в файле.dmPolicy— кто может писать боту в личку:
pairing (рекомендуется) — новые пользователи получают одноразовый код; вы одобряете их вручную через openclaw pairing approve. Коды действуют около часа.
- allowlist — только пользователи из списка allowFrom (нужно указать их Telegram ID).
- open — все могут писать в личку; требуется явно задать allowFrom: ["*"].
- disabled — личные сообщения отключены.
groups["*"].requireMention: true— в группах бот реагирует только когда его упоминают (@username_бота). Так бот не будет отвечать на каждое сообщение в чате.
{
"channels": {
"telegram": {
"enabled": true,
"botToken": "ВАШ_ТОКЕН",
"dmPolicy": "allowlist",
"allowFrom": ["8734062810"]
}
}
}8734062810 подставьте свой user ID. Несколько пользователей: ["id1", "id2"].
Шаг 4. Запуск gateway и одобрение доступа (при dmPolicy: pairing)
- Запустите шлюз OpenClaw:
openclaw gatewayopenclaw gateway --port 18789openclaw onboard --install-daemon, затем openclaw gateway status и при необходимости openclaw gateway restart.
- Когда новый пользователь впервые напишет боту в личку, он получит код подтверждения (pairing code). Вы должны одобрить его вручную.
openclaw pairing list telegramopenclaw pairing approve telegram ABCD1234- Напишите боту в Telegram — он должен ответить (если модель и скиллы настроены).
Шаг 5. Бот в группах
Добавление бота в группу
- Создайте группу или откройте существующую.
- Добавьте бота в участники (через «Добавить участника» → поиск по username бота).
- Если бот не видит сообщения в группе — включите режим конфиденциальности в BotFather:
/setprivacy.
- Выберите вашего бота.
- Выберите Disable — тогда бот будет получать все сообщения в группе. Либо сделайте бота администратором группы — тогда он тоже получит все сообщения.
После смены режима конфиденциальности бота лучше удалить из группы и добавить снова, чтобы Telegram применил настройки.
Реакция только на упоминание
В конфиге уже заданоgroups["*"].requireMention: true — бот в группах отвечает только когда его упоминают (@имя_бота). Так чат не засоряется ответами на все сообщения.
Разрешить одну конкретную группу
Чтобы бот работал только в определённой группе, укажите её ID (отрицательное число, например-1001234567890). ID группы можно увидеть в логах после добавления бота в группу и любого сообщения:
{
"channels": {
"telegram": {
"enabled": true,
"botToken": "ВАШ_ТОКЕН",
"dmPolicy": "pairing",
"groups": {
"-1001234567890": {
"requireMention": true
}
}
}
}
}Типичные проблемы
| Проблема | Что проверить | |----------|----------------| | HTTP 401 / Unauthorized | Токен скопирован с лишним пробелом, истёк или перевыпущен в BotFather — создайте новый токен и обновите конфиг. | | Бот не отвечает в личке | ПриdmPolicy: "pairing" — одобрили ли вы код через openclaw pairing approve telegram ? Проверьте openclaw pairing list telegram. |
| Бот не видит сообщения в группе | Включите бота в группе как админа или отключите Privacy Mode через /setprivacy в BotFather, затем заново добавьте бота в группу. |
| «plugin not found: telegram» | Telegram должен быть в channels.telegram, а не в plugins.entries. Проверьте структуру конфига. |
| Код pairing истёк | Коды действуют около часа. Пусть пользователь снова напишет боту и одобрите новый код. |
После любых изменений в openclaw.json перезапустите gateway: остановите процесс (Ctrl+C) и снова выполните openclaw gateway или openclaw gateway restart при работе через демон.
Краткий чек-лист
- Создать бота в @BotFather, сохранить токен.
- Узнать свой Telegram user ID (логи, getUpdates или @userinfobot).
- В ~/.openclaw/openclaw.json добавить
channels.telegram с enabled: true, botToken, dmPolicy (pairing или allowlist с allowFrom).
- Запустить
openclaw gateway.
- При использовании pairing — выполнить
openclaw pairing list telegram и openclaw pairing approve telegram для новых пользователей.
- Для групп: при необходимости отключить Privacy Mode у бота (/setprivacy в BotFather) и при необходимости настроить groups в конфиге.
После этого OpenClaw будет работать как Telegram-бот: в личке и (при нужных настройках) в группах, с доступом ко всем установленным скиллам. Документация по каналу Telegram: docs.molt.bot/telegram, docs.openclaw.ai/channels/telegram. Если вы хотите размещать не только OpenClaw, но и своих кастомных ботов (Telegram, Discord, VK) на отдельном хостинге — Bothost позволяет разворачивать и масштабировать ботов с простым управлением.
162 просмотров
0 лайков
0 комментариев
Комментарии (0)
Пока нет комментариев. Будьте первым!