Intégration Telegram — configuration et utilisation
Un bot par projet. Chaque worker AI obtient son propre topic dans un Supergroup Telegram — les messages sont automatiquement routés vers le bon worker et la réponse revient dans le même topic.
À quoi ça ressemble en pratique
Supergroup "My Project"
├── 📌 General ← chat général (sans liaison)
├── 🔵 Developer ← messages → worker Developer
└── 🟢 Consultant ← messages → worker Consultant
Tu écris dans le topic Developer → Arc OS traite via Claude → la réponse apparaît dans le même topic.
Telegram et le CRM Dashboard sont deux canaux vers le même worker. Tu peux commencer une conversation dans Telegram et la poursuivre dans le CRM — le contexte est conservé.
Configuration
Étape 1 — Créer un bot dans BotFather
- Ouvre @BotFather dans Telegram
- Envoie
/newbot - Saisis le nom du bot (par exemple :
My Project) - Saisis le username — il doit se terminer par
bot(par exemple :my_project_arc_bot) - BotFather renvoie un token au format
123456789:AABBccDDee...
⚠️ Garde le token — il sera nécessaire lors de la configuration dans le CRM.
Étape 2 — Créer un Supergroup avec Topics
2.1 Créer le groupe
Telegram Desktop / Mobile :
- Clique sur l'icône crayon → New Group
- Ajoute n'importe quel participant (tu pourras le retirer ensuite)
- Donne un nom au groupe → Create
2.2 Activer les Topics
- Ouvre les paramètres du groupe (clique sur le nom en haut)
- Edit → trouve la section Topics
- Active l'interrupteur — Telegram convertit automatiquement le groupe en Supergroup
2.3 Récupérer le Supergroup ID
Le Supergroup ID commence toujours par -100.
Option A — via @userinfobot :
- Transfère n'importe quel message du groupe au bot @userinfobot
- Le bot renvoie l'ID au format
-1001234567890
Option B — via Telegram Web :
- Ouvre le groupe sur web.telegram.org
- La barre d'adresse affiche une URL du type
#-1001234567890 - Copie le nombre avec le signe moins
Étape 3 — Ajouter le bot comme administrateur
- Ouvre les paramètres du groupe → Administrators
- Add Admin → dans la recherche, saisis
@username_de_ton_bot(username complet avec@) - Sélectionne le bot dans la liste → OK
- Les droits par défaut conviennent — laisse tel quel
⚠️ Le bot n'apparaîtra pas dans la recherche si tu saisis un username incomplet ou sans
@. Saisis le@usernameexact.
Étape 4 — Créer les topics pour les workers
Dans le groupe, clique sur + → New Topic :
- Nomme les topics d'après les workers :
Developer,Consultant, ou des noms personnalisés - Tu peux choisir des couleurs/icônes pour plus de lisibilité
Étape 5 — Connecter dans le CRM
- Ouvre arc-os.co → choisis le projet → Project Settings
- Trouve la section Channels → clique sur Connect Telegram
5.1 Saisir les données du bot
| Champ | Quoi saisir |
|---|---|
| Bot Token | Le token de BotFather (123456789:AABBcc...) |
| Supergroup ID | L'ID du groupe (-1001234567890) |
Clique sur Verify & get topics.
5.2 Vérification
Le CRM vérifie :
- ✅ Le token est valide
- ✅ Le bot est administrateur du groupe
- ✅ La liste des topics est chargée
5.3 Lier les topics aux workers
Pour chaque topic, choisis un worker dans le menu déroulant :
Developer → [developer ▾]
Consultant → [consultant ▾]
General → [(non lié)]
Clique sur Save bindings.
Étape 6 — Test
- Écris n'importe quel message dans le topic Developer
- Le bot répond dans le même topic au nom du worker Developer
- Répète pour Consultant
Utilisation quotidienne
Travailler via les topics (recommandé)
Écris simplement le texte de la tâche dans le bon topic — aucun préfixe nécessaire :
[Topic Developer]
Corrige le bug du formulaire de connexion — le champ email n'est pas validé
[Topic Consultant]
Analyse l'architecture du module auth, qu'est-ce qu'on peut améliorer ?
Si un topic n'est lié à aucun worker — c'est le worker par défaut qui répond.
Commandes en chat privé avec le bot
En chat privé avec le bot, le basculement manuel entre workers est disponible via des préfixes :
| Préfixe | Worker | Rôle |
|---|---|---|
/c <texte> |
Consultant | Analyse, stratégie, read-only |
/d <texte> |
Developer | Code, fichiers, terminal |
/w:<worker_id> <texte> |
Personnalisé | N'importe quel worker du registre |
| (sans préfixe) | Actif | Le dernier utilisé |
Exemples :
/c Analyse l'architecture du module auth
/d Corrige le bug du formulaire de login
/w:sentinel Fais un audit de sécurité des derniers changements
Un message sans préfixe va au worker actif courant — après /d Corrige le bug, les messages suivants sans préfixe iront aussi au Developer.
Boutons inline sous la réponse
Après chaque réponse d'un worker AI, des boutons de contrôle apparaissent :
Contrôle du processus :
| Bouton | Action |
|---|---|
| 🛑 STOP | Arrêter Claude (s'il part dans la mauvaise direction ou se fige) |
| ⏸️ PAUSE | Mettre en pause — utile pour attendre quelque chose avant de continuer |
| ▶️ RESUME | Reprendre le processus en pause |
Contexte et feedback :
| Bouton | Action |
|---|---|
| 💡 BTW | Ajouter du contexte — le message suivant sera ajouté comme contexte à la prochaine requête |
| 🛠️ Fix It | Relancer la tâche avec des corrections automatiques |
| 👍 | Feedback positif — enregistré dans les métriques |
| 👎 | Feedback négatif — crée automatiquement une règle de correction prise en compte dans les requêtes suivantes |
Navigation :
| Bouton | Action |
|---|---|
| 🏷️ Skills | Afficher les skills utilisés pour la réponse |
| 📊 View Log | Ouvrir le log de la session dans le CRM |
Contexte et mémoire
- Chaque worker a une mémoire séparée (jusqu'à 50 messages)
- Reply sur un message → son texte est ajouté comme contexte à la requête
- Le Context Router sélectionne automatiquement le top-5 des skills pertinents pour ton message
- Feedback 👎 → le système mémorise l'erreur et en tient compte dans les requêtes suivantes
Commandes de gestion du bot
| Commande | Description |
|---|---|
/ping |
Vérifier que le bot est vivant + uptime |
/thread |
Taille du contexte courant (nombre de messages) |
/quality |
Métriques de qualité : appels, feedback, temps de réponse moyen |
/issue list |
Liste des issues ouvertes du projet |
/issue create <titre> |
Créer une nouvelle tâche |
/issue switch <id> |
Changer la tâche active |
/continue |
Poursuivre la session dans le conteneur Cloud |
/specs |
Liste des spécifications (draft / review / approved) |
/approve <id> |
Approuver une spécification |
/reject <id> [raison] |
Rejeter une spécification |
Lien avec le CRM Dashboard
Topic Telegram ──┐
├──► Child Bot ──► Claude ──► Réponse
CRM Dashboard ──┘ │
▼
Telegram + CRM (simultanément)
- Les messages du CRM sont traités toutes les 500 ms
- Les réponses apparaissent à la fois dans Telegram et dans le CRM
- Les pièces jointes (images, PDF) sont prises en charge via le CRM Dashboard
- Tu peux commencer une conversation dans Telegram et la poursuivre dans le CRM — le contexte est conservé
Déconnecter le bot
CRM → Project Settings → Channels → Disconnect.
Cela supprime le token et toutes les liaisons de topics. Le bot reste dans le groupe — retire-le manuellement des administrateurs si nécessaire.
Dépannage
| Problème | Solution |
|---|---|
| Le bot ne répond pas dans le topic | Vérifie que le bot est administrateur du groupe. Vérifie la liaison du topic dans CRM → Channels. En chat privé → /ping |
| Temps de réponse long | Developer (Opus) est plus lent que Consultant (Sonnet). Pour l'analyse et les questions, utilise Consultant |
| La réponse est tronquée | Limite Telegram de 4096 caractères — le bot découpe automatiquement en [1/3], [2/3], etc. |
| Le bot est introuvable lors de l'ajout au groupe | Saisis le username complet avec @ : @arc_os_project_bot |
| "Invalid bot token" à la vérification | Vérifie le token — format digits:letters, sans espaces |
| "Bot is not admin" à la vérification | Ajoute le bot via Administrators → Add Admin → @username_du_bot |
| "supergroup_id must start with -100" | L'ID doit être -1001234567890. Active les Topics pour convertir le groupe en Supergroup |
| 👎 ne crée pas de règle de correction | Clique 👎 sous la réponse du worker, pas sous un message système |