Telegram-интеграция — настройка и использование
Один бот на проект. Каждый AI-воркер получает собственный топик в Telegram Supergroup — сообщения автоматически маршрутизируются к нужному воркеру, и ответ возвращается в тот же топик.
Как это выглядит в работе
Supergroup "My Project"
├── 📌 General ← общий чат (без привязки)
├── 🔵 Developer ← сообщения → Developer воркер
└── 🟢 Consultant ← сообщения → Consultant воркер
Ты пишешь в топик Developer → Arc OS обрабатывает через Claude → ответ появляется в том же топике.
Telegram и CRM Dashboard — это два канала к одному воркеру. Можно начать диалог в Telegram, продолжить в CRM — контекст сохраняется.
Настройка
Шаг 1 — Создать бота в BotFather
- Открой @BotFather в Telegram
- Отправь
/newbot - Введи имя бота (например:
My Project) - Введи username — должен заканчиваться на
bot(например:my_project_arc_bot) - BotFather вернёт токен в формате
123456789:AABBccDDee...
⚠️ Сохрани токен — он понадобится при настройке в CRM.
Шаг 2 — Создать Supergroup с Topics
2.1 Создать группу
Telegram Desktop / Mobile:
- Нажми иконку карандаша → New Group
- Добавь любого участника (потом можно удалить)
- Дай название группе → Create
2.2 Включить Topics
- Открой настройки группы (нажми на название вверху)
- Edit → найди раздел Topics
- Включи переключатель — Telegram автоматически конвертирует группу в Supergroup
2.3 Узнать Supergroup ID
Supergroup ID всегда начинается с -100.
Вариант А — через @userinfobot:
- Перешли любое сообщение из группы боту @userinfobot
- Бот вернёт ID в формате
-1001234567890
Вариант Б — через Telegram Web:
- Открой группу на web.telegram.org
- В адресной строке будет URL вида
#-1001234567890 - Скопируй число вместе с минусом
Шаг 3 — Добавить бота администратором
- Открой настройки группы → Administrators
- Add Admin → в поиске введи
@username_твоего_бота(полный username с@) - Выбери бота из списка → OK
- Права по умолчанию подходят — оставь как есть
⚠️ Бот не появится в поиске, если вводить неполный username или без
@. Вводи точный@username.
Шаг 4 — Создать топики для воркеров
В группе нажми + → New Topic:
- Назови топики по воркерам:
Developer,Consultant— или кастомные имена - Можешь выбрать цвета/иконки для удобства
Шаг 5 — Подключить в CRM
- Открой arc-os.co → выбери проект → Project Settings
- Найди раздел 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 — Тест
- Напиши любое сообщение в топик Developer
- Бот ответит в том же топике от Developer воркера
- Повтори для 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 |
Контекст и память
- У каждого воркера отдельная память (до 50 сообщений)
- Reply на сообщение → его текст добавляется как контекст к запросу
- Context Router автоматически подбирает топ-5 скилов, релевантных твоему сообщению
- 👎 фидбек → система запоминает ошибку и учитывает её в следующих запросах
Управляющие команды бота
| Команда | Описание |
|---|---|
/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 обрабатываются каждые 500ms
- Ответы появляются и в Telegram, и в CRM одновременно
- Attachments (изображения, PDF) поддерживаются через 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 |
| 👎 не создаёт правило коррекции | Нажимай 👎 именно под ответом воркера, а не под системным сообщением |