Integração com Telegram — configuração e uso
Um bot por projeto. Cada AI-worker recebe seu próprio tópico em um Supergroup do Telegram — as mensagens são roteadas automaticamente para o worker certo e a resposta volta no mesmo tópico.
Como fica na prática
Supergroup "My Project"
├── 📌 General ← chat geral (sem vínculo)
├── 🔵 Developer ← mensagens → worker Developer
└── 🟢 Consultant ← mensagens → worker Consultant
Você escreve no tópico Developer → o Arc OS processa via Claude → a resposta aparece no mesmo tópico.
Telegram e CRM Dashboard são dois canais para o mesmo worker. Você pode começar o diálogo no Telegram e continuar no CRM — o contexto é preservado.
Configuração
Passo 1 — Criar o bot no BotFather
- Abra o @BotFather no Telegram
- Envie
/newbot - Digite o nome do bot (por exemplo:
My Project) - Digite o username — precisa terminar em
bot(por exemplo:my_project_arc_bot) - O BotFather retornará um token no formato
123456789:AABBccDDee...
⚠️ Guarde o token — você vai precisar dele na configuração do CRM.
Passo 2 — Criar um Supergroup com Topics
2.1 Criar o grupo
Telegram Desktop / Mobile:
- Toque no ícone do lápis → New Group
- Adicione qualquer participante (pode remover depois)
- Dê um nome ao grupo → Create
2.2 Habilitar Topics
- Abra as configurações do grupo (toque no nome no topo)
- Edit → encontre a seção Topics
- Ative o interruptor — o Telegram converte o grupo automaticamente em Supergroup
2.3 Descobrir o Supergroup ID
O Supergroup ID sempre começa com -100.
Opção A — via @userinfobot:
- Encaminhe qualquer mensagem do grupo para o bot @userinfobot
- O bot retornará o ID no formato
-1001234567890
Opção B — via Telegram Web:
- Abra o grupo em web.telegram.org
- Na barra de endereço haverá uma URL do tipo
#-1001234567890 - Copie o número junto com o sinal de menos
Passo 3 — Adicionar o bot como administrador
- Abra as configurações do grupo → Administrators
- Add Admin → na busca, digite
@username_do_seu_bot(username completo com@) - Selecione o bot na lista → OK
- As permissões padrão servem — deixe como está
⚠️ O bot não aparecerá na busca se você digitar o username incompleto ou sem
@. Digite o@usernameexato.
Passo 4 — Criar tópicos para os workers
No grupo, toque em + → New Topic:
- Nomeie os tópicos conforme os workers:
Developer,Consultant, ou nomes personalizados - Você pode escolher cores/ícones para facilitar
Passo 5 — Conectar no CRM
- Abra arc-os.co → escolha o projeto → Project Settings
- Encontre a seção Channels → clique em Connect Telegram
5.1 Inserir os dados do bot
| Campo | O que inserir |
|---|---|
| Bot Token | Token do BotFather (123456789:AABBcc...) |
| Supergroup ID | ID do grupo (-1001234567890) |
Clique em Verify & get topics.
5.2 Verificação
O CRM vai checar:
- ✅ Token válido
- ✅ O bot é administrador do grupo
- ✅ Lista de tópicos carregada
5.3 Vincular tópicos aos workers
Para cada tópico, escolha um worker no dropdown:
Developer → [developer ▾]
Consultant → [consultant ▾]
General → [(não vinculado)]
Clique em Save bindings.
Passo 6 — Teste
- Escreva qualquer mensagem no tópico Developer
- O bot responderá no mesmo tópico, como worker Developer
- Repita para o Consultant
Uso no dia a dia
Trabalho via tópicos (recomendado)
Basta escrever o texto da tarefa no tópico certo — nenhum prefixo é necessário:
[Tópico Developer]
Corrija o bug no formulário de login — o campo email não está sendo validado
[Tópico Consultant]
Analise a arquitetura do módulo de auth, o que dá para melhorar?
Se o tópico não estiver vinculado a um worker — responde o worker padrão.
Comandos no chat privado com o bot
No chat privado com o bot há troca manual de workers via prefixos:
| Prefixo | Worker | Finalidade |
|---|---|---|
/c <texto> |
Consultant | Análise, estratégia, read-only |
/d <texto> |
Developer | Código, arquivos, terminal |
/w:<worker_id> <texto> |
Customizado | Qualquer worker do registry |
| (sem prefixo) | Ativo | O último utilizado |
Exemplos:
/c Analise a arquitetura do módulo de auth
/d Corrija o bug no formulário de login
/w:sentinel Faça um security audit das últimas mudanças
Mensagem sem prefixo vai para o worker ativo atual — depois de /d Corrija o bug, as próximas mensagens sem prefixo também irão para o Developer.
Botões inline abaixo da resposta
Após cada resposta do AI-worker, aparecem botões de controle:
Controle do processo:
| Botão | Ação |
|---|---|
| 🛑 STOP | Parar o Claude (se foi pelo caminho errado ou travou) |
| ⏸️ PAUSE | Pausar — útil para aguardar algo antes de continuar |
| ▶️ RESUME | Retomar o processo pausado |
Contexto e feedback:
| Botão | Ação |
|---|---|
| 💡 BTW | Adicionar contexto — a próxima mensagem será incluída como contexto da próxima requisição |
| 🛠️ Fix It | Repetir a tarefa com correções automáticas |
| 👍 | Feedback positivo — registrado nas métricas |
| 👎 | Feedback negativo — cria automaticamente uma regra de correção, considerada nas próximas requisições |
Navegação:
| Botão | Ação |
|---|---|
| 🏷️ Skills | Mostrar as skills que foram usadas na resposta |
| 📊 View Log | Abrir o log da sessão no CRM |
Contexto e memória
- Cada worker tem memória separada (até 50 mensagens)
- Reply em uma mensagem → o texto dela é adicionado como contexto da requisição
- O Context Router seleciona automaticamente as top-5 skills relevantes para a sua mensagem
- Feedback 👎 → o sistema memoriza o erro e o leva em conta nas próximas requisições
Comandos de controle do bot
| Comando | Descrição |
|---|---|
/ping |
Verificar se o bot está vivo + uptime |
/thread |
Tamanho do contexto atual (quantidade de mensagens) |
/quality |
Métricas de qualidade: chamadas, feedback, tempo médio de resposta |
/issue list |
Lista de issues abertos do projeto |
/issue create <título> |
Criar uma nova tarefa |
/issue switch <id> |
Trocar a tarefa ativa |
/continue |
Continuar a sessão no container Cloud |
/specs |
Lista de especificações (draft / review / approved) |
/approve <id> |
Aprovar uma especificação |
/reject <id> [motivo] |
Rejeitar uma especificação |
Conexão com o CRM Dashboard
Tópico Telegram ──┐
├──► Child Bot ──► Claude ──► Resposta
CRM Dashboard ──┘ │
▼
Telegram + CRM (simultaneamente)
- Mensagens do CRM são processadas a cada 500ms
- As respostas aparecem ao mesmo tempo no Telegram e no CRM
- Anexos (imagens, PDF) são suportados via CRM Dashboard
- Você pode começar o diálogo no Telegram e continuar no CRM — o contexto é preservado
Desconectando o bot
CRM → Project Settings → Channels → Disconnect.
Isso remove o token e todos os vínculos de tópicos. O bot permanece no grupo — remova-o dos administradores manualmente, se necessário.
Solução de problemas
| Problema | Solução |
|---|---|
| O bot não responde no tópico | Verifique se o bot é administrador do grupo. Verifique o vínculo do tópico em CRM → Channels. No chat privado → /ping |
| Tempo de resposta longo | O Developer (Opus) é mais lento que o Consultant (Sonnet). Para análises e perguntas, use o Consultant |
| A resposta é cortada | Limite do Telegram de 4096 caracteres — o bot divide automaticamente em [1/3], [2/3] etc. |
| O bot não é encontrado ao adicionar ao grupo | Digite o username completo com @: @arc_os_project_bot |
| "Invalid bot token" na verificação | Confira o token — formato digits:letters, sem espaços |
| "Bot is not admin" na verificação | Adicione o bot via Administrators → Add Admin → @username_do_bot |
| "supergroup_id must start with -100" | O ID deve ser -1001234567890. Habilite Topics para converter o grupo em Supergroup |
| 👎 não cria regra de correção | Toque em 👎 exatamente sob a resposta do worker, não sob uma mensagem do sistema |