1. Périmètre : canal non initialisé, pas silence du modèle
Ce guide cible la non-inscription silencieuse : pas d’erreur Telegram criarde, mais la passerelle n’attache pas le fournisseur attendu. Si vous voyez déjà des lignes HTTP modèle, des 429, ou une probe verte avec chat mort, commencez par canal probe verte, pas de réponses, car l’objet canal existe et les événements sont perdus plus bas.
Si l’init échoue tôt, les messages utilisateur n’atteignent jamais la file d’appel modèle : « corriger le prompt » ne sert pas. Les tickets doivent inclure openclaw health (ou équivalent) juste après redémarrage, les ~200 premières lignes de logs contenant telegram / provider / webhook / plugin, et la preuve d’un config validate lancé sous la même UID que le service. Sans ce trio, on chasse des fantômes TLS jamais pertinents.
2. Vérification en couches : probe, journaux, validate—dans cet ordre
Étape A — channels status --probe : confirme que le plan de contrôle joint l’API Bot avec le jeton que le processus croit détenir. Si la probe échoue, privilégier réseau, proxy et lisibilité des secrets avant de réécrire massivement le YAML.
Étape B — journaux passerelle : après redémarrage, chercher le langage d’enregistrement. Absence totale pendant que d’autres sous-systèmes parlent : la config n’a peut-être jamais atteint la fabrique de canaux, ou un plugin a avorté en premier.
Étape C — config validate : erreurs de schéma et chemins SecretRef cassés. Certaines builds avalent les fichiers secrets manquants en « canal non listé » plutôt qu’une pile bruyante ; valider coûte moins cher que tcpdump.
openclaw channels status --probe
openclaw config validate
journalctl --user -u openclaw-gateway -n 200 # exemple systemd
# launchd : StandardOutPath / log stream pour l’étiquette de service3. Minimisation de plugins.load comme levier A/B
Les plugins qui lancent au boot peuvent empêcher l’enregistrement des adaptateurs en aval tant que le niveau de log par défaut reste discret. Snapshot de openclaw.json (ou chemin du pack), puis plugins.load vide ou noyau minimal connu, redémarrage de la passerelle, et contrôle si Telegram réapparaît dans health. Si oui, réintroduire les plugins un par un jusqu’au coupable. Documenter l’ordre gagnant pour la flotte afin que la prochaine mise à jour ne le mélange pas aveuglément.
Ce n’est pas le silence post-inscription : ici aucun message utilisateur n’atteint outils ou modèles car le routeur n’a jamais instancié d’objet fournisseur Telegram.
4. botToken : clair, variables d’environnement, SecretRef sous superviseur
Trois motifs courants : jeton inline (rapide, risqué), variables exportées type TELEGRAM_BOT_TOKEN, SecretRef fichier lu au runtime. Sous systemd --user, domine une strophe EnvironmentFile= non appliquée avant ExecStart, un daemon-reload manquant après édition d’unité, ou un utilisateur différent du shell interactif—d’où un openclaw gateway manuel qui marche et un redémarrage supervisé qui voit un jeton vide et saute Telegram silencieusement.
Utiliser systemctl --user show <unit> -p Environment (ou équivalent launchd launchctl print) pour prouver le jeton avant d’incriminer l’amont. Aligner HOME avec l’arbre d’identifiants audité dans le matériel installation et doctor afin que les chemins relatifs SecretRef se résolvent de façon cohérente après reboot.
5. Rotation de jeton et webhooks obsolètes
Quand BotFather tourne le jeton, l’ancien peut encore détenir une URL webhook vers un endpoint mort. Séquence recommandée : arrêter la passerelle → appeler Telegram deleteWebhook avec le nouveau jeton (ou CLI équivalent) → vérifier getWebhookInfo propre ou conforme à l’ingress actuel → démarrer la passerelle et répéter l’appairage documenté pour votre release. Sauter deleteWebhook donne un « tout semble configuré » local pendant que Telegram livre encore vers une URL muette—souvent avec peu de bruit côté client.
Si vous alternez long polling et webhook, suivez les notes de version ; mélanger les modes sans arrêt complet provoque des courses qui ressemblent à une init silencieuse.
6. Lecture associée
Installation de base et flux doctor : OpenClaw installation et dépannage 2026. Appairage et alignement de version après upgrades : passerelle déconnectée et runbook d’appairage. Une fois Telegram enregistré, revenir à probe verte / pas de réponse pour throttling modèle et erreurs de double interrupteur, et à installation du démon sous launchd et systemd pour linger et hygiène d’unité.
7. FAQ
Pourquoi les journaux semblent « vides »
Tant qu’aucun fournisseur n’est enregistré, moins de hooks émettent des lignes structurées. Monter temporairement la verbosité ou un redémarrage debug unique pour que la fenêtre d’échec reste visible dans la rétention.
Slack fonctionne ; seul Telegram manque au health
Concentrez-vous sur secrets Telegram, fichiers SecretRef et état webhook. Une mauvaise config globale de passerelle casse en général tous les messagers.
Est-ce la même chose que des fuites MCP stdio après redémarrage
Non. Les fuites de transport peuvent affamer les complétions après trafic ; cet article traite des adaptateurs qui ne s’attachent jamais. Si les livraisons Telegram apparaissent dans les journaux mais les outils bloquent, basculez vers le runbook MCP / redémarrage passerelle de votre index interne.
