Настройка Telegram

Обновлено: 2026-04-05

Настройка Telegram для OpenClaw

Telegram — один из самых популярных каналов для OpenClaw. В этом руководстве мы рассмотрим полную настройку Telegram бота.

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

1. Получение токена через BotFather

  1. Откройте @BotFather в Telegram
  2. Отправьте /newbot
  3. Выберите имя бота (например, MyOpenClaw Assistant)
  4. Выберите username (должен заканчиваться на bot, например myopenclaw_bot)
  5. Сохраните токен: 1234567890:ABCdefGHIjklMNOpqrsTUVwxyz

2. Рекомендуемые настройки в BotFather

# Установите команды бота
/setcommands

# Добавьте:
start - Начать работу с ботом
help - Помощь по командам
status - Статус системы
models - Доступные модели
config - Конфигурация (если разрешено)

# Установите аватар
/setuserpic

# Добавьте описание
/setdescription
Описание: AI ассистент на базе OpenClaw
Доступные команды: /start, /help, /status

# Добавьте информацию
/setabouttext
OpenClaw Assistant - ваш персональный AI помощник

Базовая конфигурация

Минимальная конфигурация

{
  "channels": {
    "telegram": {
      "enabled": true,
      "botToken": "ВАШ_ТОКЕН",
      "dmPolicy": "pairing",
      "allowFrom": ["tg:ВАШ_ID"]
    }
  }
}

Расширенная конфигурация с безопасностью

{
  "channels": {
    "telegram": {
      "enabled": true,
      "botToken": "ВАШ_ТОКЕН",
      "dmPolicy": "pairing",  // Безопасный режим
      "allowFrom": ["tg:336940264"],  // Ваш ID
      "groups": {
        "*": {
          "requireMention": true,  // Только при упоминании
          "allowFrom": ["@admin"]  // Только админы
        },
        "-1001234567890": {  // Конкретная группа
          "requireMention": false,  // Можно отключить для доверенных
          "systemPrompt": "Отвечай кратко и по делу."
        }
      },
      "configWrites": false,  // Запретить изменение конфига
      "historyLimit": 50,     // Ограничить историю
      "mediaMaxMb": 100,      // Максимальный размер медиа
      "actions": {
        "reactions": true,    // Разрешить реакции
        "sendMessage": true   // Разрешить отправку сообщений
      }
    }
  }
}

Получение Telegram ID

Метод 1: Через @userinfobot

  1. Откройте @userinfobot
  2. Отправьте любое сообщение
  3. Скопируйте ваш ID (число, например 336940264)

Метод 2: Через API

# Используйте токен бота
curl -s "https://api.telegram.org/botВАШ_ТОКЕН/getMe"

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

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

  1. Добавьте бота в группу как администратора (рекомендуется)
  2. Настройте права:
    - Отправка сообщений: ✅
    - Изменение сообщений: ✅
    - Удаление сообщений: ⚠️ (опционально)
    - Бан пользователей: ❌ (не нужно)

2. Конфигурация для групп

{
  "channels": {
    "telegram": {
      "groups": {
        "-1001234567890": {  // ID группы
          "requireMention": true,
          "allowFrom": ["@admin1", "@admin2"],
          "systemPrompt": "Ты помощник в технической группе.",
          "skills": ["github", "terminal"]
        }
      }
    }
  }
}

3. Получение ID группы

# Добавьте @RawDataBot в группу
# Или используйте API
curl -s "https://api.telegram.org/botВАШ_ТОКЕН/getUpdates"

Команды бота

Стандартные команды

OpenClaw автоматически добавляет:
- /start - начало работы, pairing code
- /help - справка по командам
- /status - статус системы
- /models - список доступных моделей

Пользовательские команды

{
  "channels": {
    "telegram": {
      "customCommands": [
        {
          "command": "backup",
          "description": "Создать бэкап конфигурации"
        },
        {
          "command": "restart",
          "description": "Перезапустить шлюз"
        }
      ]
    }
  }
}

Режимы работы

1. Pairing Mode (рекомендуется)

{
  "dmPolicy": "pairing"
}

Преимущества:
- Новые пользователи получают одноразовый код
- Требуется подтверждение в терминале
- Максимальная безопасность

2. Allowlist Mode

{
  "dmPolicy": "allowlist",
  "allowFrom": ["tg:123", "tg:456"]
}

Для production: используйте только этот режим

3. Open Mode (опасно!)

{
  "dmPolicy": "open",
  "allowFrom": ["*"]
}

⚠️ Не используйте в production!

Расширенные настройки

Stream Mode

{
  "streaming": "partial"  // off | partial | block | progress
}

Retry Policy

{
  "retry": {
    "attempts": 3,
    "minDelayMs": 400,
    "maxDelayMs": 30000,
    "jitter": 0.1
  }
}

Network Settings

{
  "network": {
    "autoSelectFamily": true,
    "dnsResultOrder": "ipv4first"
  }
}

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

❌ Бот не отвечает

  1. Проверьте токен: curl -s "https://api.telegram.org/botТОКЕН/getMe"
  2. Проверьте статус шлюза: openclaw gateway status
  3. Проверьте логи: tail -f ~/.openclaw/logs/gateway.log

❌ "Pairing required"

  1. Отправьте /start боту
  2. Подтвердите код в терминале
  3. Проверьте dmPolicy в конфигурации

❌ Бот не отвечает в группе

  1. Убедитесь, что упомянули бота правильно
  2. Проверьте requireMention: true
  3. Убедитесь, что бот добавлен как администратор

❌ Ошибки вебхука

{
  "webhookUrl": "https://ваш-домен/telegram-webhook",
  "webhookSecret": "секретный_ключ",
  "webhookPath": "/telegram-webhook"
}

Лучшие практики

Безопасность

  1. Никогда не публикуйте токен в открытом доступе
  2. Используйте переменные окружения: TELEGRAM_BOT_TOKEN
  3. Регулярно обновляйте токен при утечке
  4. Используйте allowFrom для ограничения доступа

Производительность

  1. Установите historyLimit: 50 для экономии памяти
  2. Используйте streaming: "partial" для лучшего UX
  3. Настройте retry политику для надежности

Мониторинг

# Проверка активности бота
curl -s "https://api.telegram.org/botТОКЕН/getWebhookInfo"

# Мониторинг ошибок
grep -i "telegram\|error" ~/.openclaw/logs/*.log

Интеграция с другими сервисами

1. С внешними API

{
  "skills": ["weather", "github", "calendar"]
}

2. С мульти-агентами

{
  "bindings": [
    {
      "match": {
        "channel": "telegram",
        "peer": { "id": "tg:336940264" }
      },
      "agentId": "personal"
    }
  ]
}

3. С веб-панелью

{
  "web": {
    "enabled": true,
    "bind": "127.0.0.1",
    "port": 18789
  }
}

Примеры использования

Пример 1: Личный помощник

{
  "channels": {
    "telegram": {
      "enabled": true,
      "botToken": "${TELEGRAM_BOT_TOKEN}",
      "dmPolicy": "pairing",
      "allowFrom": ["tg:336940264"],
      "systemPrompt": "Ты мой персональный помощник."
    }
  }
}

Пример 2: Групповой бот для команды

{
  "channels": {
    "telegram": {
      "enabled": true,
      "botToken": "${TELEGRAM_BOT_TOKEN}",
      "groups": {
        "-1001234567890": {
          "requireMention": true,
          "allowFrom": ["@team_lead", "@senior_dev"],
          "systemPrompt": "Помогай команде с техническими вопросами."
        }
      }
    }
  }
}

Пример 3: Production конфигурация

{
  "channels": {
    "telegram": {
      "enabled": true,
      "botToken": "${TELEGRAM_BOT_TOKEN}",
      "dmPolicy": "allowlist",
      "allowFrom": ["tg:336940264", "tg:987654321"],
      "groups": {
        "*": {
          "requireMention": true,
          "allowFrom": ["@admin"]
        }
      },
      "configWrites": false,
      "historyLimit": 100,
      "mediaMaxMb": 50,
      "retry": {
        "attempts": 5,
        "minDelayMs": 1000,
        "maxDelayMs": 10000
      }
    }
  }
}

Дополнительные ресурсы


Совет: Регулярно проверяйте логи и обновляйте конфигурацию по мере развития вашего использования OpenClaw.

Помогла ли вам эта статья?

Оставьте отзыв или предложите улучшения

🐛 Сообщить об ошибке

Комментарии и обсуждение

Пока нет комментариев. Будьте первым!

Добавить комментарий

Комментарии проходят модерацию