Telegram-интеграция — настройка и использование

Один бот на проект. Каждый AI-воркер получает собственный топик в Telegram Supergroup — сообщения автоматически маршрутизируются к нужному воркеру, и ответ возвращается в тот же топик.


Как это выглядит в работе

Supergroup "My Project"
├── 📌 General          ← общий чат (без привязки)
├── 🔵 Developer        ← сообщения → Developer воркер
└── 🟢 Consultant       ← сообщения → Consultant воркер

Ты пишешь в топик Developer → Arc OS обрабатывает через Claude → ответ появляется в том же топике.

Telegram и CRM Dashboard — это два канала к одному воркеру. Можно начать диалог в Telegram, продолжить в CRM — контекст сохраняется.


Настройка

Шаг 1 — Создать бота в BotFather

  1. Открой @BotFather в Telegram
  2. Отправь /newbot
  3. Введи имя бота (например: My Project)
  4. Введи username — должен заканчиваться на bot (например: my_project_arc_bot)
  5. BotFather вернёт токен в формате 123456789:AABBccDDee...

⚠️ Сохрани токен — он понадобится при настройке в CRM.


Шаг 2 — Создать Supergroup с Topics

2.1 Создать группу

Telegram Desktop / Mobile:

  1. Нажми иконку карандаша → New Group
  2. Добавь любого участника (потом можно удалить)
  3. Дай название группе → Create

2.2 Включить Topics

  1. Открой настройки группы (нажми на название вверху)
  2. Edit → найди раздел Topics
  3. Включи переключатель — Telegram автоматически конвертирует группу в Supergroup

2.3 Узнать Supergroup ID

Supergroup ID всегда начинается с -100.

Вариант А — через @userinfobot:

  1. Перешли любое сообщение из группы боту @userinfobot
  2. Бот вернёт ID в формате -1001234567890

Вариант Б — через Telegram Web:

  1. Открой группу на web.telegram.org
  2. В адресной строке будет URL вида #-1001234567890
  3. Скопируй число вместе с минусом

Шаг 3 — Добавить бота администратором

  1. Открой настройки группы → Administrators
  2. Add Admin → в поиске введи @username_твоего_бота (полный username с @)
  3. Выбери бота из списка → OK
  4. Права по умолчанию подходят — оставь как есть

⚠️ Бот не появится в поиске, если вводить неполный username или без @. Вводи точный @username.


Шаг 4 — Создать топики для воркеров

В группе нажми +New Topic:


Шаг 5 — Подключить в CRM

  1. Открой arc-os.co → выбери проект → Project Settings
  2. Найди раздел Channels → нажми Connect Telegram

5.1 Ввести данные бота

Поле Что вводить
Bot Token Токен от BotFather (123456789:AABBcc...)
Supergroup ID ID группы (-1001234567890)

Нажми Verify & get topics.

5.2 Верификация

CRM проверит:

5.3 Привязать топики к воркерам

Для каждого топика выбери воркера из дропдауна:

Developer  →  [developer     ▾]
Consultant →  [consultant    ▾]
General    →  [(не привязано)]

Нажми Save bindings.


Шаг 6 — Тест

  1. Напиши любое сообщение в топик Developer
  2. Бот ответит в том же топике от Developer воркера
  3. Повтори для Consultant

Ежедневное использование

Работа через топики (рекомендуется)

Просто пиши текст задачи в нужный топик — никаких префиксов не нужно:

[Developer топик]
Исправь баг в форме логина — поле email не валидируется

[Consultant топик]
Проанализируй архитектуру auth-модуля, что можно улучшить?

Если топик не привязан к воркеру — отвечает воркер по умолчанию.


Команды в личном чате с ботом

В личном чате с ботом доступно ручное переключение воркеров через префиксы:

Префикс Воркер Назначение
/c <текст> Consultant Анализ, стратегия, read-only
/d <текст> Developer Код, файлы, терминал
/w:<worker_id> <текст> Кастомный Любой воркер из реестра
(без префикса) Активный Последний использованный

Примеры:

/c Проанализируй архитектуру auth модуля
/d Исправь баг в login форме
/w:sentinel Проведи security audit последних изменений

Сообщение без префикса идёт к текущему активному воркеру — после /d Исправь баг следующие сообщения без префикса тоже пойдут к Developer.


Inline кнопки под ответом

После каждого ответа AI-воркера появляются кнопки управления:

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

Кнопка Действие
🛑 STOP Остановить Claude (если пошёл не туда или завис)
⏸️ PAUSE Приостановить — полезно, чтобы дождаться чего-то перед продолжением
▶️ RESUME Возобновить приостановленный процесс

Контекст и фидбек:

Кнопка Действие
💡 BTW Добавить контекст — следующее сообщение будет добавлено как контекст к следующему запросу
🛠️ Fix It Повторить задачу с автоматическими исправлениями
👍 Позитивный фидбек — фиксируется в метриках
👎 Негативный фидбек — автоматически создаёт правило коррекции, которое будет учтено в следующих запросах

Навигация:

Кнопка Действие
🏷️ Skills Показать скилы, которые были использованы для ответа
📊 View Log Открыть лог сессии в CRM

Контекст и память


Управляющие команды бота

Команда Описание
/ping Проверить, жив ли бот + uptime
/thread Размер текущего контекста (количество сообщений)
/quality Метрики качества: вызовы, фидбек, среднее время ответа
/issue list Список открытых задач проекта
/issue create <название> Создать новую задачу
/issue switch <id> Переключить активную задачу
/continue Продолжить сессию в Cloud-контейнере
/specs Список спецификаций (draft / review / approved)
/approve <id> Одобрить спецификацию
/reject <id> [причина] Отклонить спецификацию

Связь с CRM Dashboard

Telegram топик  ──┐
                  ├──► Child Bot ──► Claude ──► Ответ
CRM Dashboard   ──┘                              │
                                                 ▼
                                        Telegram + CRM (одновременно)

Отключение бота

CRM → Project Settings → Channels → Disconnect.

Это удалит токен и все привязки топиков. Бот останется в группе — удали его из администраторов вручную, если нужно.


Устранение проблем

Проблема Решение
Бот не отвечает в топике Проверь, что бот — администратор группы. Проверь привязку топика в CRM → Channels. В личном чате → /ping
Долгое время ответа Developer (Opus) медленнее Consultant (Sonnet). Для анализа и вопросов используй Consultant
Ответ обрезается Лимит Telegram 4096 символов — бот автоматически делит на [1/3], [2/3] и т.д.
Бот не находится при добавлении в группу Вводи полный username с @: @arc_os_project_bot
"Invalid bot token" при верификации Проверь токен — формат digits:letters, без пробелов
"Bot is not admin" при верификации Добавь бота через Administrators → Add Admin → @username_бота
"supergroup_id must start with -100" ID должен быть -1001234567890. Включи Topics, чтобы конвертировать группу в Supergroup
👎 не создаёт правило коррекции Нажимай 👎 именно под ответом воркера, а не под системным сообщением