솔직히 말하면, 나는 “텔레그램 봇 붙여놓으면 그냥 잘 되겠지”라고 생각했다. OpenClaw도 채널 상태가 ON/OK로 뜨고, 토큰도 제대로 넣었고, 봇도 @BotFather로 만들었으니 끝난 줄 알았다.
그런데 현실은 달랐다. /start를 눌러도 봇이 대답을 안 하고, 내가 보낸 메시지도 씹히고, 가끔은 아예 연결이 끊긴 것처럼 보였다. 결론부터 말하면 문제는 한 가지가 아니었다.
- 1차: 내가
/start를 내 봇이 아니라 BotFather에 보내고 있었다 - 2차: 내 봇에 webhook이 남아있어서 OpenClaw가 업데이트를 못 받았다
- 3차: DM이 pairing(페어링 승인) 정책에 걸려서 아무 반응이 없었다
- 4차: 잘 되다가도 가끔 텔레그램 폴링이 멈춰
gateway restart로 살아났다
오늘 글은 그 삽질을 한 번에 정리해서, 다음번엔 나(그리고 당신)가 10분 만에 끝낼 수 있게 만든 “실전 복구 노트”다.

1) 증상 0: “I can help you create and manage Telegram bots…”만 보인다
이 문구가 보이면 거의 확실하게 내 봇이 아니라 @BotFather 대화창을 보고 있는 거다.
체크
- 대화 상대가 @BotFather인지, 내가 만든 봇(예:
@hwirin_bot)인지 먼저 확인 - BotFather는 봇 만들기/관리용이고, 실제 대화는 내 봇 DM에서 해야 한다
이건 웃기지만 진짜 많이 헷갈린다. 나도 그랬다.
2) 증상 1: 토큰 넣었는데도 봇이 ‘아예’ 말을 안 한다 → webhook 확인
OpenClaw는 텔레그램을 기본적으로 long-polling(getUpdates)으로 받는다. 그런데 텔레그램 봇은 webhook이 설정되어 있으면 업데이트를 webhook으로 보내버릴 수 있다.
해결(핵심)
1) webhook 상태 확인
https://api.telegram.org/bot<YOUR_TOKEN>/getWebhookInfo
- 여기서
url값이 비어있지 않으면, webhook이 잡혀 있는 것
2) webhook 제거
https://api.telegram.org/bot<YOUR_TOKEN>/deleteWebhook?drop_pending_updates=true
이 단계가 진짜 중요하다. “토큰은 맞는데 왜 안 오지?”의 상당수가 여기서 끝난다.
3) 증상 2: OpenClaw 로그에 ‘pairing request’가 뜬다 → DM 페어링 승인
OpenClaw 텔레그램 DM은 기본값이 dmPolicy: pairing인 경우가 많다. 이때는 봇이 DM을 받긴 받는데, 승인 전까지는 의도적으로 응답을 안 한다.
내 케이스는 로그에 이런 뉘앙스가 찍혔다:
telegram pairing request
해결
터미널에서:
openclaw pairing list telegram
openclaw pairing approve telegram <CODE>
특이점: 어떤 상황에선 pairing 요청이 “순간” 지나가거나 이미 승인 상태여서 No pending으로 뜰 수도 있다. 그럴 땐 봇에게 DM을 한 번 더 보내고 다시 확인한다.
4) 증상 3: 잘 되다가 어느 순간부터 ‘조용’해진다 → restart로 밀린 메시지가 한꺼번에 온다
가장 헷갈렸던 지점이 이거다.
- 맥북은 깨어있고
- 채널 상태도 겉으론 OK인데
- 텔레그램에서 보낸 메시지가 한동안 반응이 없다
- 그런데
openclaw gateway restart를 하면 갑자기 밀린 메시지가 한 번에 쏟아진다
이건 체감상 “화면이 꺼져서 죽었다”가 아니라, 텔레그램 폴링 루프가 멈칫한 상태에 더 가깝다.
내가 정한 운영 룰(실전)
1) 10~20초는 네트워크 지연으로 보고 기다리기
2) 그래도 반응이 없으면 상태 확인:
openclaw status --deep
3) 이상하면 응급처치:
openclaw gateway restart
이게 지금까지 제일 빠르고 확실했다.
5) 내가 얻은 결론: “연동은 한 번에 안 끝난다. 하지만 체크리스트면 끝난다”
처음엔 AI 에이전트 자동화보다 “봇 연결”이 더 쉬울 줄 알았다. 실제로는 반대로, 연동 초기 설정이 제일 귀찮다.
그런데 체크리스트로 굳히면 끝이다.
- BotFather가 아니라 내 봇 DM에 메시지 보내고 있나?
- webhook이 제거되어 있나?
- DM pairing이 승인됐나?
- 조용해지면
status --deep→gateway restart순서로 복구했나?
이 정도만 고정하면, OpenClaw를 “채널 붙은 나만의 작업 자동화 엔진”으로 굴릴 준비가 된다.
'AI' 카테고리의 다른 글
| (AI/개발) OpenAI ‘Codex 앱’이 바꾸는 개발의 기본형: 코딩 보조에서 ‘작업 오케스트레이션’으로 (1) | 2026.02.04 |
|---|---|
| 챗GPT로 나만의 커스텀 GPT 만들기 (2) | 2025.08.18 |
| 실전 프롬프트 예제 20개 – 상황별 심화 가이드 (4) | 2025.08.15 |
| GPT를 잘 쓰는 법 – 프롬프트 엔지니어링 핵심 가이드 (2) | 2025.08.15 |
| 퍼플렉시티(Perplexity AI): AI 검색의 새로운 기준 (2) | 2025.08.14 |