업비트 알림봇 만들기 1편 - 시작하기

작년 말에 비트코인 급등하는 거 놓쳐서 진짜 속상했어요. 차트 확인하려고 하루에도 몇 번씩 폰 켜는 게 스트레스더라고요. 그래서 아예 알림봇을 만들어버렸죠.
코인 투자하시는 분들 많으시죠? 근데 24시간 차트 보고 있을 순 없잖아요. 그래서 오늘부터 5부작으로 업비트 코인 가격 알림봇을 만들어볼 거예요. 특정 조건이 되면 텔레그램으로 알림이 오는 거죠.
뭘 만들 건가요?
이번 시리즈에서 만들 건 이거예요:
- 업비트 API로 실시간 코인 가격 가져오기
- 가격이 특정 조건을 만족하면 텔레그램으로 알림 보내기
- Cloudflare Workers로 무료 서버리스 배포
- 보너스로 간단한 대시보드까지
서버 없이 무료로 24시간 돌아가는 알림봇을 만드는 거예요.
왜 이 조합인가요?
업비트 API
국내 거래소 중에서 API 문서가 제일 잘 되어있어요. 시세 조회는 API 키 없이도 가능하고요.
텔레그램
카톡은 봇 만들기가 까다로운데, 텔레그램은 BotFather로 5분이면 봇을 만들 수 있어요. 무료이고 API도 단순해요.
Cloudflare Workers
AWS Lambda나 Vercel 같은 서버리스 서비스인데, 무료 플랜이 넉넉해요. 하루 10만 건까지 무료거든요. 개인 알림봇 용도로는 충분하죠.

시리즈 구성
| 편 | 내용 |
|---|---|
| 1편 | 프로젝트 소개 및 준비 (지금 이 글) |
| 2편 | Cloudflare Workers 프로젝트 생성 |
| 3편 | 업비트 API로 코인 데이터 수집 |
| 4편 | 텔레그램 알림 전송 및 배포 |
| 5편 | 코인 지표 대시보드 만들기 |
준비물
시작하기 전에 이것들이 필요해요:
1. Node.js 설치
Cloudflare Workers CLI인 Wrangler를 쓰려면 Node.js가 필요해요. 16.17.0 버전 이상이어야 해요.
터미널에서 버전 확인:
node -v
설치 안 되어 있으면 nodejs.org에서 LTS 버전 다운로드하세요.
2. Cloudflare 계정
dash.cloudflare.com/sign-up에서 무료 계정 만들면 돼요. 이메일 인증만 하면 끝이에요.
3. 텔레그램 계정
텔레그램 앱 설치하고 계정 만들어두세요. 봇 만들 때 필요해요.
4. 업비트 계정 (선택)
시세 조회만 할 거면 계정 없어도 돼요. 나중에 잔고 조회나 주문 기능 추가하려면 필요하긴 한데, 이번 시리즈에서는 안 다뤄요.
프로젝트 구조
완성되면 이런 구조가 돼요:
upbit-telegram-bot/
├── src/
│ └── index.js # 메인 Worker 코드
├── wrangler.toml # Cloudflare Workers 설정
└── package.json
심플하죠? 파일 3개면 끝이에요.
업비트 API 맛보기
일단 업비트 API가 어떻게 생겼는지 볼게요. 브라우저에서 이 URL을 열어보세요:
https://api.upbit.com/v1/ticker?markets=KRW-BTC
이렇게 JSON으로 비트코인 현재가가 나와요. API 키 없이도 바로 되는 거 보이시죠?
주요 필드 설명:
market: 마켓 코드 (KRW-BTC = 원화로 거래하는 비트코인)trade_price: 현재가change: 전일 대비 (RISE/FALL/EVEN)change_rate: 변동률
텔레그램 봇 미리 만들기
다음 편 시작 전에 텔레그램 봇을 미리 만들어두면 좋아요.
1. BotFather 찾기
텔레그램에서 @BotFather를 검색해서 대화 시작하세요.
2. 새 봇 만들기
/newbot
이렇게 보내면 봇 이름이랑 username을 물어봐요. username은 반드시 bot으로 끝나야 해요. 예: my_coin_alert_bot
3. API 토큰 저장
봇이 만들어지면 이런 형식의 토큰을 줘요:
123456789:ABCdefGHIjklMNOpqrSTUvwxYZ
이거 잘 저장해두세요. 나중에 알림 보낼 때 필요해요. 절대 공개하면 안 돼요!
운영자 실전 노트
실제 프로젝트 진행하며 겪은 문제
- API 호출 제한(초당 10회, 분당 600회) → 5분 간격 스케줄러로 제한 내 운영
- 실시간 데이터 처리 전략 → WebSocket 대신 주기적 polling으로 충분함
이 경험을 통해 알게 된 점
- 무료 플랜만으로도 개인 프로젝트는 충분히 운영 가능하다
- 텔레그램 Bot API가 카카오톡보다 훨씬 개발자 친화적이다
다음 편 예고
다음 편에서는 Cloudflare Workers 프로젝트를 생성하고 로컬에서 개발 환경을 세팅한다. Wrangler CLI 설치하고 “Hello World” 띄우는 데까지 해본다.