티켓링크 웹사이트를 자동화하여 티켓 예매를 도와주는 Python 매크로 프로그램입니다.
- 티켓링크 웹사이트 자동 접속
- 로그인 자동화 (PAYCO 로그인 지원)
- 기존 크롬 세션 활용 (권장)
- PyAutoGUI 기반 전체 예매 자동화 (매크로 감지 우회)
- 자동 예매 봇 (취소표 모니터링 및 자동 예매) ⭐
- 아티스트 검색부터 결제까지 완전 자동화
- 예매 성공 시 슬랙 알림 기능
- 저장소를 클론합니다:
git clone https://github.com/yourusername/TicketLinkLauncher.git
cd TicketLinkLauncher- 가상환경을 생성하고 활성화합니다:
python -m venv venv
# Windows
venv\Scripts\activate
# macOS/Linux
source venv/bin/activate- 필요한 패키지를 설치합니다:
pip install -r requirements.txt취소표가 나올 때까지 자동으로 새로고침하면서 모니터링하고, 파란색 좌석이 나타나면 즉시 자동 예매를 진행합니다.
# .env 파일에 슬랙 웹훅 URL 설정
SLACK_WEBHOOK_URL=your_slack_webhook_url_here
SLACK_CHANNEL=#ticket-bookingpython auto_booking_bot.py
# 선택: 2 (좌표 보정)- 각 단계별로 마우스를 해당 위치로 이동하여 좌표 설정
- 좌석 모니터링 영역 설정
- 좌표 저장
python auto_booking_bot.py
# 선택: 1 (자동 예매 시작)자동화 과정:
- 좌석선택 페이지에서 주기적 새로고침 (2-4초 랜덤)
- 파란색 좌석 감지 시 즉시 선택
- 권종/할인/매수 선택 (일반 1석)
- 예매자 확인 사항 체크
- PAYCO 무통장입금 결제 진행
- 예매 성공/실패 시 슬랙 알림
- 티켓링크 좌석선택 페이지가 열려있어야 함
- 로그인이 완료된 상태여야 함
- 중단: Ctrl+C 또는 마우스를 화면 모서리로 이동
python coordinate_helper.py- "새로운 좌표 설정" 선택
- 각 단계별로 마우스를 해당 위치로 이동하여 좌표 설정
- 좌표 저장 후 테스트 가능
python main.py
# 선택: 5 (PyAutoGUI 전체 예매 자동화)자동화 과정:
- "PARK JIHOON" 검색
- 첫 번째 상품 클릭
- 예매 안내 팝업 확인
- 날짜/회차 선택 (7월 12일 오후 7시)
- STAGE 앞쪽 좌석 선택
- 일반 1석 선택
- 예매자 확인 사항 체크
- 무통장입금 결제 진행
- 티켓링크 홈페이지에 이미 접속되어 있어야 함
- 로그인이 완료된 상태여야 함
- 긴급 정지: 마우스를 화면 모서리로 이동하면 프로그램 중단
PAYCO 로그인의 복잡한 인증 과정을 우회하기 위해 이미 로그인된 크롬 창을 활용합니다.
-
크롬을 디버깅 모드로 시작:
# Windows start_chrome_debug.bat # 또는 수동으로: chrome.exe --remote-debugging-port=9222 --user-data-dir=C:\temp\chrome_debug
-
새로 열린 크롬 창에서 티켓링크에 로그인
-
매크로 실행:
python main.py # 선택: 4 (기존 크롬 세션 활용)
.env파일을 생성하고 필요한 설정을 입력합니다:
TICKETLINK_ID=your_id
TICKETLINK_PASSWORD=your_password
TICKETLINK_BIRTHDAY=19820124
- 프로그램을 실행합니다:
python main.py
# 선택: 1 (로그인 테스트만) 또는 2 (전체 예매 테스트)- 자동 예매 시작 - 취소표 모니터링 및 자동 예매
- 좌표 보정 - 마우스 좌표 설정
- 색상 감지 테스트 - 파란색 좌석 감지 테스트
- 종료
- 로그인 테스트만 - 로그인 기능만 테스트
- 전체 예매 테스트 - 로그인부터 예매까지 전체 과정 테스트
- 직접 PAYCO 로그인 테스트 - PAYCO 로그인만 테스트
- 기존 크롬 세션 활용 (권장) - 이미 로그인된 크롬 창 활용
- PyAutoGUI 전체 예매 자동화 - 검색부터 결제까지 완전 자동화
- 좌표 보정만 - 마우스 좌표 설정
- 전체 예매 자동화 (PARK JIHOON) - 검색부터 결제까지 완전 자동화
- 새로운 좌표 설정 - 단계별 좌표 설정
- 저장된 좌표 로드 - 기존 좌표 불러오기
- 좌표 목록 표시 - 설정된 좌표 확인
- 좌표 테스트 - 마우스 이동으로 좌표 검증
- 티켓링크에서 "시스템에서 비정상적인 활동이 감지되었습니다" Alert 발생 시
- PyAutoGUI 기반 매크로를 사용하세요 - 브라우저 레벨에서 감지되지 않습니다
- PAYCO는 불규칙적으로 생년월일 인증, 문자 인증 등을 요구합니다
- 기존 크롬 세션 활용 방법을 권장합니다
- 크롬이 디버깅 모드로 실행되지 않은 경우 발생
start_chrome_debug.bat을 실행하여 크롬을 재시작하세요
- Python 3.13에서는
undetected_chromedriver호환성 문제가 있을 수 있습니다 - Python 3.12 이하 버전 사용을 권장합니다
- 화면 해상도가 다르거나 브라우저 창 크기가 변경된 경우 좌표 재보정 필요
coordinate_helper.py를 사용하여 좌표를 다시 설정하세요- 좌표 테스트 기능으로 정확성 검증 가능
- 각 단계별로 실패 시 해당 좌표를 다시 설정하세요
- 브라우저 창 크기나 위치가 변경되지 않도록 주의하세요
- 네트워크 지연이나 페이지 로딩 시간을 고려하여 대기 시간 조정
- 이 프로그램은 교육 목적으로 제작되었습니다
- 실제 사용 시에는 해당 웹사이트의 이용약관을 준수해주세요
- 과도한 요청으로 인한 서버 부하를 방지하기 위해 적절한 딜레이를 설정해주세요
- 매크로 감지 시스템이 있을 수 있으니 주의해서 사용하세요
- PyAutoGUI 사용 시 긴급 정지: 마우스를 화면 모서리로 이동하면 프로그램이 중단됩니다
- 전체 예매 자동화 사용 시 반드시 사전에 로그인을 완료해주세요
TicketLinkLauncher/
├── auto_booking_bot.py # 자동 예매 봇 (취소표 모니터링) ⭐
├── main.py # 메인 실행 파일
├── ticketlink_bot.py # 티켓링크 봇 클래스 (Selenium 기반)
├── chrome_session_manager.py # 크롬 세션 관리 모듈
├── ticketlink_pyautogui.py # PyAutoGUI 기반 전체 예매 자동화
├── coordinate_helper.py # 좌표 설정 헬퍼
├── use_existing_chrome.py # 기존 크롬 세션 활용 스크립트
├── start_chrome_debug.bat # 크롬 디버깅 모드 시작 배치 파일
├── test_payco_login.py # PAYCO 로그인 테스트
├── booking_coordinates.json # 자동 예매 봇 좌표 (자동 생성)
├── coordinates.json # 저장된 좌표 (자동 생성)
├── requirements.txt # 필요한 패키지 목록
├── .env # 환경 변수 (사용자가 생성)
├── env.example # 환경 변수 예시
└── utils/
├── __init__.py
└── logger.py # 로깅 유틸리티
- Python 3.8+
- Chrome 브라우저
- Selenium WebDriver
- PyAutoGUI (화면 자동화)
- OpenCV (이미지 인식)
- undetected-chromedriver (선택사항)
MIT License
버그 리포트나 기능 제안은 이슈를 통해 해주세요.