Codex Telegram 웹페이지 변동 알림봇 만들기

Codex Telegram 웹페이지 변동 알림봇 만들기

Codex Telegram 웹페이지 변동 알림봇 만들기

품절 풀리면 바로 오게

오늘 만들 것
품절 풀리면 바로 오게

재입고 기다리는 페이지 하나만 있어도 웹페이지 변동 알림봇은 바로 쓸 만합니다. 콘서트 예매, 운동화 드롭, 게임기 재입고 같은 거요. 지난 편이 이미지를 읽어서 보드로 바꾸는 쪽이었다면, 이번엔 우리가 안 보고 있어도 페이지를 대신 보게 만드는 쪽으로 갑니다.

완성되면 모습은 단순해요. URL 넣고 찾을 문구 넣고 실행하면, 페이지에 변화가 생겼을 때 텔레그램으로 한 줄이 옵니다. 이거 한 번 만들어두면 새로고침 누르는 시간부터 줄어듭니다.

준비물은 하나만

Codex 하나면 됩니다. 처음이면 `npm i -g @openai/codex` 하고 `codex` 실행하면 로그인부터 뜹니다. 최신 문서까지 같이 읽히고 싶으면 시작할 때 `codex --search`로 들어가면 돼요.

Codex는 `AGENTS.md`를 먼저 읽고, `/plan`으로 순서부터 잡고, 마지막에 `/review`로 빠진 걸 다시 봐줄 수 있거든요. Claude Code 쓰는 분도 같은 프롬프트로 가면 되고, 저는 Codex 기준으로 적을게요.

웹페이지 변동 알림봇 바로 만들기

1
먼저 어디까지 만들지 선 긋기
AI에게 보낸 프롬프트
/plan 웹페이지 변동 알림봇을 만들 거야. 코딩 모르는 사람이 5분 안에 첫 결과를 봐야 해. Python으로 시작하고 파일은 최대 4개. 먼저 만들 순서만 짧게 적어줘.
왜 이렇게 시켰나: 첫 프롬프트에서 범위를 안 잡으면 AI가 초반부터 기능을 너무 벌립니다.
이렇게 나오면 OK: 3개에서 5개 정도의 짧은 순서표가 나오면 됩니다.
여기서 이렇게 하면 안 돼요: 첫 단계에서 Docker, 배포, 스케줄러까지 같이 넣지 마세요.
2
규칙 메모 한 장 깔기
AI에게 보낸 프롬프트
/init으로 AGENTS.md 초안을 만든 뒤 아래 규칙만 남겨줘. 1) 첫 버전은 `app.py` 중심 2) `.env.example` 꼭 만들기 3) 설명은 짧게 4) URL 1개와 문구 1개만 먼저 검사 5) Telegram은 다음 단계에 붙이기.
왜 이렇게 시켰나: 이거 안 적어두면 Codex가 괜히 폴더를 많이 만들거나 설명을 길게 씁니다.
이렇게 나오면 OK: `AGENTS.md`에 우리가 원하는 말투랑 작업 범위만 또렷하게 남아 있으면 끝입니다.
여기서 이렇게 하면 안 돼요: 규칙 메모에 기능 아이디어를 10개씩 적지 마세요. 짧을수록 덜 흔들립니다.
3
감지만 되는 첫 버전 뽑기
AI에게 보낸 프롬프트
Python으로 `app.py` 하나만 만들어줘. `.env`의 `TARGET_URL`과 `TARGET_TEXT`를 읽고 페이지 HTML에 그 문구가 있는지만 검사해서 터미널에 보여줘. 파일은 `app.py`, `.env.example`, `requirements.txt`, `README.md`만 만들어줘.
왜 이렇게 시켰나: 웹페이지 변동 알림봇의 첫 결과는 메시지 전송보다 감지가 먼저예요. 여기까지 되면 반은 끝난 겁니다.
이렇게 나오면 OK: 실행했을 때 found 또는 missing 비슷한 한 줄이 바로 뜨면 됩니다. 좀 허무할 정도로 빨리 나와요.
여기서 이렇게 하면 안 돼요: 사진처럼 보이는 페이지를 바로 OCR로 읽게 시키지 마세요. 일단 HTML에서 잡히는 문구부터 확인해야 덜 막힙니다.
4
텔레그램 테스트 메시지 붙이기
AI에게 보낸 프롬프트
이제 `TELEGRAM_BOT_TOKEN`과 `TELEGRAM_CHAT_ID`를 `.env`에서 읽어서 검사 결과를 텔레그램으로 보내게 해줘. 아직 반복 실행은 넣지 말고 `--test-message` 옵션으로 테스트 메시지부터 보내게 해줘.
왜 이렇게 시켰나: 알림봇은 감지 로직보다 전송 경로가 먼저 열려야 안심이 됩니다.
이렇게 나오면 OK: 내 텔레그램 창에 테스트 메시지 한 줄이 오면 됩니다. 여기서 오면 진짜 되네 싶은 순간이 와요.
여기서 이렇게 하면 안 돼요: 감지와 반복 실행을 같이 붙이지 마세요. 뭐가 실패했는지 헷갈립니다.
5
중복 알림 막고 진짜 감시로 바꾸기
AI에게 보낸 프롬프트
좋아. 이제 실제 감시를 붙여줘. 문구가 처음 보였을 때만 알림 1번 보내고, 같은 상태에서는 다시 보내지 않게 `state.json`을 써줘. `TARGET_MODE=contains|missing` 둘 다 지원해줘.
왜 이렇게 시켰나: 재입고는 문구가 생길 때보다 품절 문구가 사라질 때 잡는 경우가 많거든요. 그리고 같은 메시지가 계속 오면 바로 꺼버리게 됩니다.
이렇게 나오면 OK: `contains`는 문구가 보일 때, `missing`은 문구가 사라질 때 한 번만 알림이 오면 됩니다.
여기서 이렇게 하면 안 돼요: 찾을 문구를 너무 길게 잡지 마세요. 짧고 안정적인 단어가 낫습니다. 예를 들면 상품 전체 제목보다 `품절`, `예약 마감`, `sold out` 같은 쪽이 덜 흔들려요.
6
마지막 검수 한 번
AI에게 보낸 프롬프트
/review로 지금 작업트리를 봐줘. 초보가 막힐 만한 README 빠진 부분, `state.json` 중복 알림 위험, `.env.example` 누락만 체크해줘. 고칠 게 있으면 그 부분만 수정해줘.
왜 이렇게 시켰나: 웹페이지 변동 알림봇은 작아 보여도 실행 순서 설명이 빠지면 바로 막힙니다.
이렇게 나오면 OK: README에 설치, `.env` 예시, 실행 명령, 테스트 명령이 다 보이면 충분합니다.
여기서 이렇게 하면 안 돼요: 마지막에 디자인 손보기나 구조 갈아엎기로 새로 시작하지 마세요. 오늘 목표는 알림이 오는 것까지입니다.

여기서 막히면

첫 번째. 터미널에는 계속 missing만 뜨는데 브라우저에선 문구가 보일 수 있습니다. 이런 경우는 페이지가 브라우저 안에서 나중에 내용을 채우는 경우가 많아요. 해결은 두 갈래예요. 먼저 브라우저에서 페이지 소스 보기로 문구가 실제 HTML에 있는지 확인하고, 없으면 그때만 Codex에게 Playwright로 읽는 버전으로 바꿔달라고 하세요.

두 번째. 테스트 메시지는 안 오고 401이나 403 비슷한 응답이 뜰 수 있습니다. 보통은 봇 토큰 오타거나, 내가 그 봇과 대화를 한 번도 안 연 경우예요. 텔레그램에서 방금 만든 봇을 열고 아무 말이나 한 번 보낸 다음, `.env`의 토큰과 채팅 ID를 다시 넣고 `--test-message`만 먼저 돌리면 됩니다.

세 번째. 알림이 한 번 와야 하는데 실행할 때마다 계속 올 수 있습니다. 이건 `state.json`이 저장되지 않거나, 찾는 문구가 너무 자주 바뀌는 문장일 때 잘 생겨요. 프로젝트 폴더에 `state.json`이 생겼는지 먼저 보고, 문구를 긴 문장에서 짧은 키워드로 줄인 뒤 다시 확인하면 대부분 정리됩니다.

다음에 붙여볼 것

한 걸음 더

여기서 한 단계만 더 가면 URL 여러 개를 JSON으로 받아서 운동화, 콘서트, 게임기 재입고를 한 번에 보는 공용 봇으로 키울 수 있습니다. 오늘 만든 웹페이지 변동 알림봇만 손에 익혀도 새로고침 누르던 습관은 꽤 빨리 사라질 겁니다.

Related Searches

  • 🔍 Codex 사용법
  • 🔍 Codex 비교
  • 🔍 Telegram 사용법
  • 🔍 Telegram 비교
  • 🔍 웹페이지 변동 알림봇 사용법
  • 🔍 웹페이지 변동 알림봇 비교

댓글 쓰기

다음 이전