Claude Code와 Playwright로 CGV IMAX 예매 오픈 알림 봇 1시간 만에 만들기

Claude Code와 Playwright로 CGV IMAX 예매 오픈 알림 봇 1시간 만에 만들기

Claude Code와 Playwright로 CGV IMAX 예매 오픈 알림 봇 1시간 만에 만들기

아이맥스 명당 티켓팅 성공률을 높이는 방법

오늘 만들 것
아이맥스 명당 티켓팅 성공률을 높이는 방법

인기 영화가 극장에 걸릴 때마다 관객들은 이른바 명당이라 불리는 좌석을 차지하려 치열한 경쟁을 벌입니다. 대형 스크린이 선사하는 몰입감을 온전히 누리기 위해서 상영관 선택과 좌석 확보가 매우 결정적이기 때문입니다. 하지만 예매가 시작되는 정확한 시각을 매번 확인하기란 현실적으로 쉽지 않고, 새로고침을 반복하다가 귀중한 좌석을 선점당하기 일쑤입니다.

이러한 비효율성을 극복하기 위해 터미널 기반 인공지능 개발 도구인 Claude Code 모델을 도입하여 CGV IMAX 관람권 예매 현황을 추적하는 예매 오픈 알림 장치를 직접 구축하는 방법이 존재합니다. 터미널에서 작동하는 간단한 명령어만으로 코딩 환경 설정부터 알림 봇 연동까지 빠르게 진행할 수 있어 개발 경험이 적은 초보자도 바로 시도하기 좋습니다.

필요한 준비 사항

필요한 준비 사항

모니터링 장치를 제작하기 위해 갖추어야 할 기본 요건은 매우 간결합니다. 코드 설계를 지원할 대화형 개발 도구와 자바스크립트 실행 환경인 Node.js를 컴퓨터에 설치해 둡니다. 이 두 가지 기본 구성이 완료되면 자동화 스크립트를 작성하고 실행할 하부 토대가 견고하게 마련됩니다.

여기에 실시간 메시지를 받아볼 메신저 채널의 토큰 정보와 사용자 계정의 고유 식별자가 함께 있어야 합니다. 텔레그램 플랫폼의 공식 관리 계정을 통해 대화창 안에서 이름과 아이디를 입력하고 승인 과정을 거치면 인증 키를 편리하게 획득할 수 있습니다.

실전 구현 단계

실전 구현 단계

1
Claude Code 초기화와 규칙 정의

가장 먼저 소스코드를 관리할 작업 폴더를 생성하고 터미널 창을 열어 Claude Code를 구동합니다. 작업을 효율적으로 진행하려면 인공지능이 코딩 과정에서 준수해야 할 표준 개발 규칙을 사전에 명시해 두는 작업이 바람직합니다. 이를 위해 프로젝트의 기준점 역할을 담당할 환경 문서인 CLAUDE.md 파일을 마련합니다.

AI에게 보낸 프롬프트
claude -p '이 프로젝트는 CGV IMAX 예매 오픈 여부를 감시해 텔레그램으로 보내는 알림 봇이야. 프로젝트 루트에 CLAUDE.md 파일을 만들고 빌드, 테스트, 실행 명령어와 코딩 규칙을 명확히 정리해줘. 코드는 Node.js와 JavaScript를 쓰고, Playwright 라이브러리를 쓸 거야.'

지시문이 처리되면 도구는 프로젝트에 걸맞은 개발 명령어와 포맷팅 스타일 가이드를 설계합니다. 빌드 체계와 협업 명세가 사전에 조율되어 있으면 이후 구체적인 코드를 전개하는 과정에서 구문 오류나 규칙 위반을 줄이고 안전하게 설계를 진행할 수 있습니다.

2
Playwright 기반 예매 페이지 데이터 수집

다음 단계는 타깃 극장의 상영 데이터에 접근하는 크롤링 프로그램 작성입니다. 현대적인 예약 웹사이트들은 비동기식 자바스크립트 렌더링 방식으로 작동하므로 단순 텍스트 기반 요청만으로는 화면에 표시되는 예약 마감 현황을 판별하기 어렵습니다. 브라우저 동작 제어 도구인 Playwright를 이용하여 실시간 렌더링 결과를 획득합니다.

AI에게 보낸 프롬프트
'Playwright로 CGV 상영 시간표 페이지를 열어서 특정 날짜의 IMAX 관 예매가 열렸는지 감시하는 index.js 코드를 짜줘. 예매 가능 상태는 예매하기 버튼이 활성화되었는지나 좌석 선택 버튼의 클래스 변화로 확인하고, 그 결과를 콘솔에 출력하게 만들어줘.'

Playwright 기반 프로그램 구현 단계에서는 복잡한 구조 속에서 고유한 태그와 속성을 판별하는 선택자 정의법이 중요하게 작용합니다. 백그라운드 환경에서 브라우저를 띄우지 않는 설정을 병행하면 시스템 메모리와 처리 효율을 비약적으로 아낄 수 있습니다. 스크립트 초안이 준비되면 터미널에서 작동 검증을 거치게 됩니다.

3
알림 연동 및 로컬 캐싱을 통한 중복 방지

주기적인 페이지 검사 결과가 정상적으로 확인되었을 때 이를 수신처로 전송할 텔레그램 API 통신 모듈을 병합합니다. 감시 주기마다 동일한 예약 가능 여부를 확인하게 되므로 불필요한 중복 메시지가 연달아 발송되는 피로 현상을 미연에 방지할 장치가 필요합니다.

AI에게 보낸 프롬프트
'앞서 만든 index.js에 Telegram 웹훅 전송 기능을 추가해줘. 그리고 알림이 계속 중복으로 발송되지 않도록, 예매 오픈 상태를 local_status.json 파일에 기록하게 만들어줘. 이미 알림을 보낸 상태라면 추가로 발송하지 않고 대기하도록 흐름을 짜줘.'

상태 기록 전용 JSON 문서를 로컬 디렉터리에 보존하는 설계는 크롤러가 의도치 않게 작동을 멈추었다가 복구되는 시점에도 마지막 알림 이력을 정확히 유지하도록 돕습니다. 추가 패키지 도입 없이 플랫폼 표준 전송 라이브러리만을 활용함으로써 실행부의 경량화를 달성합니다.

4
스크립트 유효성 검증 및 실행 자동화

설계와 편집 단계를 마친 소프트웨어가 목적에 부합하게 작동하는지 기능 확인을 진행합니다. 터미널 환경에서 실행 명령을 전달하여 네트워크 예외 상황이나 논리적 오류를 식별하고 조율하는 과정을 밟습니다.

AI에게 보낸 프롬프트
'/run node index.js 명령어로 스크립트를 실제로 실행하고 에러가 없는지 봐줘. 만약 동작 중에 로딩 타임아웃이나 예외 처리가 덜 된 곳이 보인다면 자동으로 예외 안전장치를 보강해줘. 그리고 맥이나 윈도우 스케줄러로 5분마다 자동 구동하는 방법도 알려줘.'

스크립트 가동 시 내부적으로 백그라운드 브라우저 인스턴스가 동작하며 대상 요소를 탐색합니다. 로딩 대기 시간 지연이나 비정상 응답값 등 복잡한 네트워크 통신 변수에 대응하기 위해 전 과정에 예외 감지 메커니즘을 꼼꼼히 구성해야 예상치 못한 비정상 종료를 예방할 수 있습니다.

예상치 못한 문제와 해결 방법

  • 페이지 요소 로딩 지연 문제: 동적으로 화면 객체를 렌더링하는 과정에서 탐색 대상 노드를 식별하지 못해 시간 초과 예외가 유발되기도 합니다. 이러한 케이스에서는 명시적 대기 설정을 적용하여 화면 자원이 완전히 불러와질 때까지 수집 동작의 지연을 보장하는 로직이 효과적입니다.
  • 메시지 발송 실패 오류: 봇 식별 고유 토큰의 공백 오류나 목적지 채팅 채널의 넘버링 정보 누락 시 전송 파트가 실패 응답을 출력합니다. 수신지가 공개 채널이나 특정 단체방이라면 고유 접두 기호와 자릿수가 올바른 형태인지 면밀히 대조해 보아야 정상 동작합니다.
  • 트래픽 유입 제어 감지: 지나치게 짧고 일관된 주기적 요청은 대상 플랫폼의 방화벽이나 제어 필터링 정책에 의해 유해 트래픽으로 오인될 여지가 다분합니다. 이를 방지하려면 요청 시퀀스 중간마다 수 초 내외의 무작위 딜레이를 할당하고 보편적인 브라우저 유저에이전트 설정을 삽입하는 대비책이 권장됩니다.

추가적인 발전 방향

핵심 감시 로직이 안착한 뒤에는 사용자가 원하는 특정 상영 열이나 좌석 블록을 미리 등록받아, 지정된 영역 내에 빈자리가 생성되는 즉시 이를 통보해 주는 개인화 알고리즘으로의 확장도 가능합니다. 다양한 조건과 변수를 수용하는 견고한 모니터링 환경을 완성함으로써 일상의 소소한 번거로움을 해결하는 수준 높은 자동화 도구를 완성할 수 있습니다. 다음 편에서는 금융 데이터 통신을 활용하여 다양한 응용 어플리케이션을 제작하는 가이드를 공유할 예정입니다.

관련 검색어

  • 🔍 Claude Code 사용법
  • 🔍 Claude Code 비교
  • 🔍 CGV IMAX 사용법
  • 🔍 CGV IMAX 비교
  • 🔍 예매 오픈 알림 사용법
  • 🔍 예매 오픈 알림 비교

댓글 쓰기

다음 이전