Claude Code 와 Upbit 활용한 김프 알림 봇 1시간 만에 만들기

Claude Code 와 Upbit 활용한 김프 알림 봇 1시간 만에 만들기

Claude Code 와 Upbit 활용한 김프 알림 봇 1시간 만에 만들기

해외와 국내 거래소 시세 차이 정보 활용하기

오늘 만들 것
해외와 국내 거래소 시세 차이 정보 활용하기

가상자산 시장에서 국내 거래소 가격이 해외 거래소보다 상대적으로 높거나 낮게 형성되는 가격 차이 현상을 보통 김치 프리미엄이라고 부릅니다. 이러한 가격 불균형 현상을 실시간으로 모니터링하기 위해 매번 브라우저 창을 새로고침하며 감시하는 일은 매우 번거롭고 피로감을 동반합니다. 이러한 과정을 자동화하기 위해 터미널 환경에서 강력한 개발 생산성을 발휘하는 Claude Code를 활용하여 국내 업비트와 해외 바이낸스의 실시간 비트코인 가격 격차를 계산하고, 변동 폭이 임계치를 벗어날 경우 텔레그램 메신저로 알림을 전송하는 모니터링 프로그램을 구축해 보겠습니다.

구현을 위한 개발 환경 및 필수 요소

구현을 위한 개발 환경 및 필수 요소

프로그램 구축을 위해 터미널 제어 도구인 Claude Code가 설치되어 있어야 합니다. 이 도구는 파일 생성부터 스크립트 실행 테스트까지 일관되게 지원하여 개발 절차를 단축해 줍니다. 텔레그램을 통해 모바일 기기나 데스크톱으로 실시간 경보 메시지를 받아보기 위해서는 텔레그램 봇 토큰과 메시지를 전송받을 대화방 ID(Chat ID) 정보가 사전에 준비되어 있어야 원활한 연동이 가능합니다.

단계별 모니터링 프로그램 작성

단계별 모니터링 프로그램 작성

1
거래소별 실시간 시세 및 환율 조회 기능 구현

가장 먼저 선행되어야 할 작업은 국내 및 해외 거래소의 비트코인 시세를 수집하는 기본 스크립트를 작성하는 것입니다. 터미널 환경에서 Claude Code를 구동한 뒤 다음과 같은 프롬프트를 입력하여 초기 뼈대 코드를 작성하도록 지시합니다.

AI에게 보낸 프롬프트
Upbit API와 Binance API에서 비트코(BTC)의 현재 가격을 조회하는 Node.js 스크립트를 작성해줘. 바이낸스는 달러 기준이니까 환율 API를 써서 원화로 변환해줘. 파일명은 kimp_bot.js로 만들고, 간단히 실행 결과가 출력되면 좋겠어.

다양한 기능을 한 번에 무리하게 병합하여 요청하기보다는, 각 통신과 환율 변환 로직이 올바르게 설계되었는지 독립적으로 검증하는 단계가 필요합니다. 무료로 제공되는 공공 환율 API를 연동하여 달러화 기준의 바이낸스 가격을 원화 가치로 정확히 변환한 뒤 업비트 가격과 동시 비교하는 기초 코드 파일인 kimp_bot.js가 정상적으로 생성됩니다. 터미널창에 node kimp_bot.js 명령어를 입력하면 원화 기준의 실시간 두 거래소 가격이 비교되어 정상 출력되는지 확인해 봅니다.

2
시세 차이 수치 연산 및 텔레그램 알림 시스템 연동

기본적인 가격 데이터 수집이 안정화되었다면, 두 시장의 시세 편차 비율을 구하는 수식을 추가하고 사전에 정의한 수치에 도달할 때 사용자에게 알림을 전달하는 모듈을 결합할 차례입니다. 기존 스크립트 파일을 점진적으로 개조하기 위해 아래와 같이 정밀한 프롬프트를 전송합니다.

AI에게 보낸 프롬프트
kimp_bot.js 파일을 수정해줘. 업비트 가격과 바이낸스 가격의 차이를 백분율로 계산해줘. 그리고 김치 프리미엄이 3% 이상이거나 1% 이하로 떨어질 때 내 텔레그램 봇으로 알림 메시지를 보내는 기능을 추가해줘. 토큰과 채널 ID는 일단 변수로 비워두고, 주석으로 사용법을 써줘.

이 프롬프트는 기존 코드를 유지하면서 텔레그램 알림 기능만 자연스럽게 이어 붙이도록 설계되었습니다. 생성된 코드 파일 상단에 미리 발급해 둔 텔레그램 API 토큰 정보와 대상 대화방 식별자를 기입합니다. 이후 모니터링 테스트를 위해 임계치 기준 값을 현재 시세 차이와 가깝게 임시 설정한 후 프로그램을 구동하면 모바일 텔레그램 앱으로 알림 메시지가 실시간 전송되는 결과를 볼 수 있습니다.

3
주기적인 감시 스케줄러 설정 및 불필요한 중복 메시지 방지

필요할 때마다 수동으로 스크립트를 구동할 수는 없으므로, 일정한 주기마다 시스템이 작동하도록 자동화 설정을 가미해야 합니다. 가벼운 백그라운드 환경 구동을 위해 추가 외부 라이브러리를 배치하는 대신 내장 타이머 인터벌 함수를 내포하도록 변경합니다.

AI에게 보낸 프롬프트
kimp_bot.js가 5분 주기로 계속 실행되면서 김치 프리미엄을 감시하도록 코드를 감싸줘. 중복 알림을 방지하기 위해 직전에 보낸 김치 프리미엄 수치와 비교해서 격차가 크게 변하지 않았다면 알림을 건너뛰는 예외 처리도 필요해.

매 5분 주기마다 거의 동등한 수치의 메시지가 무차별적으로 전송된다면 수신 환경이 심각하게 오염되므로, 이전 발송 시점의 수치와 비교하여 격차 비율이 최소 0.2% 이상 유의미하게 변동되었을 경우에만 알림이 전송되도록 필터링 로직을 심어 불필요한 트래픽 유발을 방지합니다.

주요 오류 유형과 대처 방안

  • 텔레그램 알림 미수신 및 400 Bad Request 에러: 봇 토큰은 올바르지만 수신할 대화방 ID(Chat ID)가 부정확하거나, 봇을 해당 대화방에 초대하여 첫 메시지를 받지 못한 상태일 때 주로 발생합니다. 이 경우 텔레그램 방에 봇을 추가한 뒤 임의의 메시지를 전송하고, getUpdates API를 사용하여 올바른 대화방 ID를 조회해 파일 설정을 변경하면 정상적으로 작동합니다.
  • 환율 API 호출 실패 및 스크립트 중단: 무료 공개 환율 API는 주말에 갱신되지 않거나 하루 호출 횟수 제한에 걸려 간헐적인 오류를 일으킬 수 있습니다. 이를 예방하기 위해 환율을 호출하는 코드 부분에 예외 처리 구문(try-catch)을 적용하고, 실패할 경우 사전에 기록된 직전 환율 정보를 불러와 임시로 대입하는 로직을 추가하는 편이 안전합니다.
  • 터미널 종료 시 프로세스 정지: 스크립트를 일반 실행 상태로 두면 실행 중인 터미널 세션이 닫힐 때 백그라운드 작업도 함께 소멸합니다. 지속적인 가동을 보장하려면 PM2와 같은 노드 전용 프로세스 관리 도구를 설치하여 관리하거나, 터미널 환경에서 nohup 백그라운드 명령어를 활용해 운영체제가 동작하는 동안 무인으로 구동되도록 구성합니다.

가상자산 알림 자동화 확장 방안

한 걸음 더

기본적인 뼈대가 마련되면 단일 가상자산뿐만 아니라 이더리움이나 리플처럼 거래량이 많은 다양한 자산도 배열 구조로 묶어 동시에 감시하는 방식으로 확장할 수 있습니다. 거래소 사이의 전송 지연 시간이나 가용 네트워크 제한 정보까지 종합적으로 연동해 나간다면, 더욱 정교하게 시세 차이를 분석하는 의사결정 도구로 고도화하는 것도 가능합니다.

관련 검색어

  • 🔍 Claude Code 사용법
  • 🔍 Claude Code 비교
  • 🔍 Upbit 사용법
  • 🔍 Upbit 비교
  • 🔍 Binance 사용법
  • 🔍 Binance 비교

댓글 쓰기

다음 이전