1. 문제 경계: 미초기화 채널이지 모델 응답 침묵이 아님
이 가이드의 대상은 무음 비등록입니다. Telegram이 큰 오류를 내지 않은 채 게이트웨이가 기대하는 프로바이더에 붙지 않는 상태를 말합니다. 이미 모델 HTTP 줄, 429, 녹색 프로브에 채팅만 죽어 있다면 채널 객체가 존재하고 이벤트가 뒤 단에서 떨어지는 전제의 채널 프로브 녹색·무응답부터 시작하십시오.
초기화가 이른 단계에서 실패하면 사용자 메시지는 모델 호출 큐에 올라가지 않으므로 “프롬프트를 고친다”로는 해결되지 않습니다. 티켓에는 재시작 직후 openclaw health(또는 동등), telegram / provider / webhook / plugin을 포함한 앞부분 약 200줄 로그, 서비스와 동일 UID로 실행한 config validate 증적을 붙여야 합니다. 이 삼종 세트가 없으면 TLS 가이드처럼 본질과 무관한 방향으로 엔지니어링 시간이 새나갑니다.
2. 계층적 검증: 프로브, 로그, validate 순서
단계 A — channels status --probe: 제어 평면이 프로세스가 가진 토큰으로 Bot API에 닿는지 보여 줍니다. 프로브가 실패하면 먼저 네트워크·프록시·비밀 가독성을 의심하고 YAML 대규모 재작성은 뒤로 미룹니다.
단계 B — 게이트웨이 로그: 재시작 직후 “등록”에 해당하는 문구를 검색합니다. 다른 하위 시스템은 말하는데 해당 줄이 완전히 없으면 설정이 채널 팩토리에 닿지 않았거나 플러그인이 먼저 중단했을 가능성이 큽니다.
단계 C — config validate: 스키마 오류와 깨진 SecretRef 경로는 여기서 잡힙니다. 빌드에 따라 비밀 누락이 “채널 목록에 없음” 정도로 삼켜져 tcpdump보다 검증이 저렴합니다.
openclaw channels status --probe
openclaw config validate
journalctl --user -u openclaw-gateway -n 200 # systemd 예
# launchd: StandardOutPath 확인 / 서비스 라벨에 대한 log stream3. plugins.load 최소화를 A/B 레버로
부팅 중 예외를 던지는 플러그인은 기본 로그 레벨에서 조용히 하류 어댑터 등록을 막을 수 있습니다. openclaw.json(또는 팩 경로)을 스냅샷한 뒤 plugins.load를 빈 목록이나 알려진 최소 집합으로 두고 게이트웨이를 재시작해 health에 Telegram이 돌아오는지 봅니다. 돌아오면 플러그인을 하나씩 되돌려 범인 조합을 찾습니다. 플릿용 “승리 순서”를 문서화하면 다음 업그레이드에서 순서가 맹목적으로 뒤섞이는 것을 막습니다.
등록 이후 침묵과는 다릅니다. 여기서는 라우터가 애초에 Telegram 프로바이더 객체를 세우지 않아 사용자 메시지가 도구·모델 층에 닿지 않습니다.
4. botToken: 평문, 환경 변수, 감독 하 SecretRef
현장에서는 세 패턴이 많습니다. 인라인 토큰(빠르지만 위험), TELEGRAM_BOT_TOKEN류보낸 변수, 런타임에 읽는 파일 기반 SecretRef. systemd --user에서는 EnvironmentFile=이 ExecStart보다 앞에 적용되지 않았거나, 유닛 편집 후 daemon-reload를 빠뜨렸거나, 대화 셸 사용자와 서비스 사용자가 달라 수동 openclaw gateway는 성공하지만 감독 재시작에서는 토큰이 비어 Telegram이 조용히 건너뛰는 지배적 실패가 납니다.
systemctl --user show <unit> -p Environment(또는 launchd의 launchctl print 등가)로 상류 장애를 의심하기 전에 토큰이 존재함을 증명하십시오. 설치와 doctor 자료에서 감사한 자격 트리와 HOME을 맞춰 재부팅 뒤에도 SecretRef 상대 경로가 일관되게 풀리게 합니다.
5. 토큰 회전과 오래된 Webhook
BotFather가 토큰을 돌리면 이전 토큰이 죽은 엔드포인트를 가리키는 Webhook URL을 쥐고 있을 수 있습니다. 권장 순서: 게이트웨이 중지 → 새 토큰으로 Telegram deleteWebhook(또는 팀이 감싼 CLI) 호출 → getWebhookInfo가 깨끗하거나 현재 인그레스와 일치 확인 → 게이트웨이 시작 후 릴리스 문서의 재페어링. deleteWebhook을 건너뛰면 로컬에선 “설정됨”처럼 보여도 Telegram은 응답 없는 URL로 계속 배달하며 클라이언트 쪽 노이즈는 의외로 적습니다.
롱 폴링과 Webhook을 오갈 때는 빌드 릴리스 노트를 따르고, 완전 중지 없이 모드를 섞으면 무음 초기화와 비슷한 경합이 납니다.
6. 관련 읽기
기준 설치와 doctor 흐름: OpenClaw 설치 및 문제 해결 2026. 업그레이드 뒤 페어링·버전 정렬: 연결 끊긴 게이트웨이·페어링 런북. Telegram이 등록된 뒤에는 녹색 프로브·무응답으로 돌아가 모델 측 스로틀과 이중 토글 실수를 다룹니다. launchd·systemd 상주와 유닛 위생: 게이트웨이 설치·재설치·linger 런북.
7. FAQ
로그가 “비어” 보이는 이유는
프로바이더가 등록되기 전에는 구조화 로그 훅이 적습니다. 일시적으로 장황도를 올리거나, 보존 기간에 실패 창이 닿도록 한 번만 디버그 재시작을 하십시오.
Slack은 되는데 Telegram만 헬스에 없다
Telegram 전용 비밀, SecretRef 파일, Webhook 상태에 집중하십시오. 게이트웨이 전역 오설정이면 보통 모든 메신저가 깨집니다.
재시작 뒤 MCP stdio 누수와 같나
아닙니다. 전송 누수는 트래픽이 흐른 뒤 완료를 굶길 수 있지만, 본문은 애초에 붙지 않는 어댑터를 다룹니다. 로그에 Telegram 전달은 있는데 도구가 멈추면 내부 색인의 MCP·게이트웨이 재시작 런북으로 전환하십시오.
