Claude Code 활용 실시간 마진 스나이퍼 봇 만들기 (디스코드 연동)

Claude Code 활용 실시간 마진 스나이퍼 봇 만들기 (디스코드 연동)

Claude Code 활용 실시간 마진 스나이퍼 봇 만들기 (디스코드 연동)

1. 관심 상품 50개 24시간 감시망 구축하기

오늘 만들 것
1. 관심 상품 50개 24시간 감시망 구축하기

지난 101편에서는 알리익스프레스 상품의 역마진을 실시간으로 계산해 보여주는 로컬 웹 에이전트를 함께 만들어 보았습니다. 하지만 매번 상품 주소를 복사해서 웹 브라우저에 붙여넣고 확인하는 작업은 번거롭습니다. 사람이 직접 감시하지 않아도 AI가 24시간 내내 가격을 모니터링하다가 우리가 원하는 조건이 나오는 순간 메신저로 메시지를 전송해 준다면 편리할 것입니다.

이번에는 Claude Code 활용을 통해 등록해 둔 관심 상품 50개의 알리 가격을 주기적으로 추적하며 마진이 20%를 넘을 때 디스코드로 실시간 알림 카드를 보내주는 마진 스나이퍼 봇을 제작합니다. 직접 브라우저를 켜지 않고도 수익성 높은 상품을 선별하는 감시 시스템을 만드는 과정을 설명합니다.

2. 준비 단계: 터미널과 알림 채널 열기

2. 준비 단계: 터미널과 알림 채널 열기

이번 프로젝트는 Claude Code 도구가 설치된 터미널 환경만 있으면 됩니다. 알림을 수신할 외부 메신저 채널을 하나 만들고, 해당 채널 설정에서 웹훅 URL을 복사해 두면 연동을 위한 모든 준비가 완료됩니다.

3. 코드로 감시망 짜기

3. 코드로 감시망 짜기

1
감시할 관심 상품 목록 준비하기

가장 먼저 감시할 상품들의 URL과 목표 마진 정보를 보관할 데이터 구조를 설계합니다. 코드와 데이터를 분리하는 것이 관리가 편리합니다. 에이전트 세션을 켜고 첫 프롬프트를 보냅니다.

AI에게 보낸 프롬프트
관심 상품을 관리할 watchlist.json 파일을 만들어줘. 알리 상품 URL, 상품 이름, 목표 마진율(예: 20%), 그리고 마지막으로 확인된 가격을 기록할 수 있는 더미 데이터 3개를 넣어서 작성해줘.

감시할 상품 주소를 코드 안에 하드코딩해 두면 나중에 상품을 변경할 때마다 코드를 수정해야 하므로 관리하기 어렵습니다. JSON 파일로 데이터를 따로 분리해 두면 개발 지식이 없어도 메모장이나 텍스트 에디터로 상품 목록을 언제든지 자유롭게 수정할 수 있습니다.

지시를 받은 Claude Code 에이전트는 3개의 더미 데이터가 담긴 watchlist.json을 로컬 디렉터리에 생성합니다. 데이터 규격이 준비되었으니 다음 단계로 넘어갑니다.

2
마진 추적용 크롤러 스크립트 작성하기

이전 편에서 작성한 알리 가격 수집 엔진과 마진 계산 공식을 활용해, JSON에 적힌 모든 상품의 최신 가격을 조회하고 마진율을 계산하는 감시 스크립트를 작성합니다.

AI에게 보낸 프롬프트
101편에서 작성한 Playwright 기반 알리 크롤링 로직을 참고해서, watchlist.json의 상품들을 순회하며 가격을 조회하고 실시간 마진율을 계산하는 check_margins.py를 만들어줘. 환율은 무료 환율 API를 호출하거나 네이버 환율을 파싱해서 매번 실시간으로 반영되게 짜줘.

백그라운드에서 주기적으로 가볍게 실행할 수 있도록 Flask 웹 화면 대신 순수 CLI 파이썬 스크립트로 구성합니다. 지시를 받은 에이전트는 크롤링 로직을 응용해 실시간 환율 정보를 반영한 뒤, JSON 데이터를 읽고 쓰는 파이썬 파일을 생성합니다.

3
웹훅 알림 기능 추가하기

단순히 터미널에 마진율을 출력하는 데서 그치면 실시간으로 알림을 확인하기 어렵습니다. 목표 마진을 초과한 상품이 발견되었을 때 메신저로 메시지를 송신하는 알림 기능을 연결합니다. 다음 프롬프트를 작성하여 기능을 추가합니다.

AI에게 보낸 프롬프트
check_margins.py에 send_discord_alert 함수를 추가해줘. 계산된 마진율이 watchlist.json의 목표 마진율을 넘었을 때만 디스코드 Webhook URL로 알림을 보내게 해줘. 알림 메시지는 디스코드 Embed 카드를 사용해 초록색 사이드바와 함께 상품명, 계산된 마진율, 현재 알리 가격, 국내 예상 판매가, 그리고 바로 구매할 수 있는 알리 주소가 포함되게 멋진 레이아웃으로 작성해줘. Webhook URL은 .env 파일에서 읽어오게 수정해줘.

단순 텍스트 메시지는 다른 대화와 섞여 놓치기 쉽습니다. 메신저의 Embed 카드를 활용해 시각적 대비를 주면 눈에 띄는 알림판이 완성됩니다. 에이전트는 요청에 맞춰 requests 라이브러리로 웹훅에 JSON 데이터를 전송하는 코드를 추가합니다.

4
1시간 주기 자동 감시 설정하기

스크립트를 매번 수동으로 실행하는 것은 자동화라고 하기 어렵습니다. 사용자가 다른 업무를 하거나 자리를 비웠을 때도 매시간 알아서 작동하도록 스케줄러를 구성해야 합니다.

AI에게 보낸 프롬프트
check_margins.py 스크립트를 1시간마다 주기적으로 실행해 주는 Node.js 기반 runner.js를 만들어줘. 외부 라이브러리인 node-cron을 설치하고 연동해도 좋고, package.json에 start 스크립트로 등록해서 npm start로 바로 켤 수 있게 세팅해줘.

도구는 직접 package.json 파일을 분석한 뒤, npm install node-cron dotenv를 실행해 필요한 패키지들을 알아서 설치합니다. 그 후 파이썬 스크립트를 1시간 간격으로 호출하는 JavaScript 실행기와 npm 명령어를 구성합니다.

5
중복 알림 방지 및 예외 처리 검수

봇을 실제로 가동하면 상품 가격이 그대로인데 매시간 동일한 마진 초과 알림이 중복으로 전송되는 문제가 발생할 수 있습니다. 시스템의 완성도를 높이기 위해 다음과 같이 검수를 지시합니다.

AI에게 보낸 프롬프트
/review check_margins.py와 runner.js에서 실전 가동 시 문제가 될 만한 부분을 검토하고 코드를 다듬어줘. 특히 1) 크롤링이 중간에 에러로 인해 멈추는 현상 방지 2) 마진 돌파 조건이 충족됐을 때 이미 알림을 보냈다면 다음 루프부터는 중복으로 알림을 보내지 않도록 방지하는 로직을 watchlist.json에 'last_notified_at' 같은 필드를 추가해서 보강해줘.

요청 사항을 구체적으로 전달하면 예외 처리와 상태 관리가 포함된 코드가 작성됩니다. 에이전트는 크롤링 실패 시 예외 처리를 적용해 다음 상품으로 넘어가도록 설계하고, watchlist.json 파일에 마지막 알림 전송 일시를 기록해 일정 시간 동안 중복 알림이 발송되지 않도록 조정합니다. 작업 완료 후 수신 채널에 마진 돌파 정보가 깔끔한 카드로 수신되는 것을 볼 수 있습니다.

4. 마진 스나이퍼 봇 오작동 해결 가이드

  • 알림 채널에 메시지가 전송되지 않는 경우
    Webhook URL이 입력된 .env 파일의 경로가 정확한지, 그리고 변수명이 코드 내부의 설정과 일치하는지 먼저 검토해야 합니다. 또한 계산된 마진율이 설정한 목표 마진율을 실제로 초과했는지 확인하기 위해, watchlist.json의 목표 마진율을 임시로 낮춰서 테스트해 보는 방법을 권장합니다.
  • 웹 페이지 파싱 과정에서 에러가 지속되는 경우
    특정 웹사이트는 짧은 시간 동안 반복해서 접속하면 정상적인 접근을 제한할 수 있습니다. runner.js의 주기를 너무 짧게 설정하지 말고 30분에서 1시간 단위로 여유를 두는 것이 안정적입니다. 브라우저 세션의 쿠키와 캐시가 유지되도록 Playwright 옵션을 조정하면 접근 제한을 방어하는 데 도움이 됩니다.
  • 실행 환경에서 파이썬 경로를 찾지 못하는 에러
    runner.js가 파이썬을 실행할 때 시스템 환경 변수에 등록된 실행 명령어가 다를 때 주로 발생합니다. 이럴 때는 실행 엔진의 명령어를 운영체제 환경에 맞게 직접 수정하거나, 가상환경 디렉터리 내부의 절대 경로를 참조하도록 에이전트에 runner.js 파일의 경로 지정 부분을 수정하라고 명령하면 해결됩니다.

5. 추가 조치: 상시 운영 방안

이번 과정에서는 로컬 컴퓨터에서 주기적으로 작동하며 기준을 만족하는 상품 정보를 메신저로 전송해 주는 감시 시스템을 구축했습니다. 하지만 개인용 PC를 하루 종일 켜두기에는 한계가 있습니다. 다음 단계에서는 서버를 계속 가동하지 않고도 플랫폼의 무료 자동 스케줄 기능을 결합하여, 비용 부담 없이 독립적으로 동작하는 무인 클라우드 파이프라인으로 전환하는 방법을 알아보겠습니다.

관련 검색어

  • 🔍 Claude Code 사용법
  • 🔍 Claude Code 비교
  • 🔍 마진 스나이퍼 사용법
  • 🔍 마진 스나이퍼 비교
  • 🔍 자동화 사용법
  • 🔍 자동화 비교

댓글 쓰기

다음 이전