Claude Code로 깃허브 오픈소스 텔레그램 알림봇 만들기

Claude Code로 깃허브 오픈소스 텔레그램 알림봇 만들기

Claude Code로 깃허브 오픈소스 텔레그램 알림봇 만들기

매일 GitHub 뒤지는 거 여기서 끊자

오늘 만들 것
매일 GitHub 뒤지는 거 여기서 끊자

새 AI 툴 놓치기 싫어서 GitHub를 계속 열어보는 날이 있죠. 근데 이거 은근 귀찮습니다. 오늘 만들 건 깃허브 오픈소스 알림봇이에요. 새로 뜨는 레포 3개를 골라서 텔레그램으로 보내주고, 마음에 들면 그 링크만 눌러보면 끝. 요즘 Claude Code 문서 보니까 CLAUDE.md를 먼저 읽고, /schedule로 반복 작업도 바로 걸 수 있더라구요. 이 조합이 이런 작업이랑 잘 맞습니다.

지난편에서 코인 알림을 붙여봤다면 이번엔 숫자 대신 새 도구를 받는 쪽입니다. 아침에 텔레그램 한 번 열었는데 오늘 볼 만한 오픈소스가 딱 3개 와 있으면, 그때부터는 진짜 편해져요.

준비물은 하나만 고르면 됨

Claude Code만 있으면 됩니다. Codex 쓰는 분도 같은 프롬프트를 거의 그대로 넣으면 되고, 오늘 흐름은 Claude Code 기준으로 갈게요. GitHub 토큰 없이도 첫 실행은 되지만 자주 돌릴 거면 GITHUB_TOKEN 하나 넣는 쪽이 덜 막히구요. 텔레그램은 봇 토큰이랑 내 채팅방 ID만 있으면 충분합니다.

1
바닥부터 너무 크게 벌리지 않기

새 폴더 하나 만들고 Claude Code에 아래 프롬프트를 넣어요.

AI에게 보낸 프롬프트
이 폴더에 GitHub 오픈소스 알림봇 첫 버전을 만들어줘.
조건:
- 파일은 CLAUDE.md, bot.py, requirements.txt, .env.example 4개만 만들어
- Python으로 만들고 requests만 써
- GitHub Search API로 지난 30일 안에 올라온 AI 관련 레포를 찾되, stars 50 이상만 보자
- 지금은 텔레그램 전송 말고 터미널에 상위 3개만 깔끔하게 출력해
- 각 레포는 이름, stars, 한 줄 설명, 왜 볼 만한지 한 줄까지 보여줘
- CLAUDE.md에는 과장 금지, 한글 짧게, 초보도 수정 가능하게 작성 같은 규칙을 적어줘
- 내가 바로 python bot.py로 실행할 수 있게 끝까지 맞춰
왜 이렇게 시켰나: 첫 판에서 욕심내면 꼭 꼬입니다. 지금은 깃허브 오픈소스 알림봇이 터미널에서 3개만 찍히면 됨.
이렇게 나오면 OK: repo 이름 3개와 stars 숫자, 짧은 설명이 한 번에 보입니다. 첫 결과 보면 좀 허무할 수도 있음. 생각보다 금방 떠요.
여기서 이렇게 하면 안 돼요: Step 1부터 텔레그램, 중복 방지, 스케줄, 예외 처리까지 한 번에 넣지 마세요. 파일만 늘고 손이 꼬입니다.
2
텔레그램으로 보내기

이제 같은 세션에서 이어서 붙입니다. 몰라도 괜찮아 그냥 붙여넣어.

AI에게 보낸 프롬프트
좋아. 지금 결과는 유지하고 텔레그램 전송만 붙여줘.
조건:
- TELEGRAM_BOT_TOKENTELEGRAM_CHAT_ID를 .env에서 읽어
- 값이 없으면 기존처럼 터미널 미리보기만 보여줘
- 값이 있으면 같은 내용을 텔레그램 메시지로 보내줘
- 메시지는 너무 길지 않게 3개만 보내고, 링크도 같이 넣어줘
- 실행 방법은 README 없이 bot.py 첫머리 주석 5줄 안쪽으로 적어줘
왜 이렇게 시켰나: env 값이 없을 때도 미리보기가 살아 있어야 덜 답답합니다. 토큰 준비 안 된 상태에서도 깃허브 오픈소스 알림봇 흐름을 먼저 볼 수 있어야 하니까요.
이렇게 나오면 OK: 토큰 없을 때는 터미널 출력, 토큰 넣으면 텔레그램으로 같은 카드 3개가 옵니다.
여기서 이렇게 하면 안 돼요: 텔레그램 메시지에 본문을 너무 길게 넣으라고 하면 잘려 보이거나 읽기 싫어집니다. 한 줄 설명까지만 가볍게 보내는 쪽이 낫습니다.
3
같은 레포 또 오는 거 막기

알림봇은 두 번째 날부터가 중요하죠. 어제 본 걸 오늘 또 받으면 바로 꺼버립니다.

AI에게 보낸 프롬프트
이제 중복 방지를 붙여줘.
조건:
- 이미 보낸 repo full_name은 sent_repos.json에 저장해
- 같은 레포는 다음 실행에서 건너뛰어
- topic 필터는 env에서 받게 해줘. 기본값은 ai, agent, coding 3개로 해
- 오늘 새로 보낼 게 없으면 조용히 종료하지 말고 터미널에 한 줄 알려줘
왜 이렇게 시켰나: 이 한 줄이 진짜 중요합니다. 필터를 env로 빼두면 나중에 MCP, llama, browser-use 같은 키워드로 바로 바꿀 수 있거든요.
이렇게 나오면 OK: 첫 실행 뒤에는 sent_repos.json이 생기고, 두 번째 실행에서는 새 레포만 뜹니다.
여기서 이렇게 하면 안 돼요: 저장 파일 경로를 절대경로로 박아두면 폴더 옮겼을 때 바로 깨집니다. 지금 폴더 기준으로 저장하게 두는 게 안전합니다.
4
매일 아침 자동으로 깨우기

여기까지 왔으면 반은 끝났습니다. 이제 Claude Code에 스케줄만 맡기면 돼요.

AI에게 보낸 프롬프트
/schedule 평일 오전 8시 30분에 이 폴더의 깃허브 오픈소스 알림봇을 실행해줘. 새 레포가 1개 이상 있으면 텔레그램으로 보내고, 없으면 조용히 끝내자. 실행 전에 필요한 환경변수도 같이 점검해줘.
왜 이렇게 시켰나: Claude Code 최신 문서 기준으로 /schedule이 반복 작업을 바로 만들 수 있구요. 컴퓨터 앞에 없을 때도 계속 돌릴 거면 이 단계가 체감이 큽니다.
이렇게 나오면 OK: 평일 오전 8시 30분에 같은 스레드나 예약 작업 목록에서 실행 계획이 잡힙니다.
여기서 이렇게 하면 안 돼요: 스케줄부터 먼저 걸면 토큰 오타나 중복 방지 버그를 하루 종일 모른 채 보낼 수 있습니다. 한 번 수동 실행해서 메시지 모양을 보고 나서 거는 쪽이 훨씬 낫습니다.

여기서 막히면

텔레그램이 안 오는 경우가 제일 많습니다. 현상은 터미널에서는 잘 도는데 채팅방에 아무것도 안 뜨는 식으로 보입니다. 원인은 거의 둘 중 하나예요. 봇을 채팅방에 아직 안 넣었거나, TELEGRAM_CHAT_ID를 개인 대화 기준으로 잘못 넣은 경우입니다. 해결은 간단합니다. Claude Code에 현재 env 값이 실제로 읽히는지 먼저 출력하게 하고, 그다음 봇을 채팅방에 초대했는지 확인하면 됩니다.

GitHub 검색이 갑자기 막히는 날도 있습니다. 현상은 403이 뜨거나 결과가 비정상적으로 비는 식으로 나와요. 원인은 거의 rate limit입니다. 토큰 없이도 첫 테스트는 되지만 자주 돌리면 금방 막힙니다. 해결은 GITHUB_TOKEN을 .env에 넣고, Claude Code에게 현재 응답 헤더의 남은 호출 수까지 같이 찍어달라고 하면 바로 감이 옵니다.

같은 레포가 자꾸 다시 오는 경우도 있습니다. 현상은 어제 받은 이름이 오늘 또 오는 거예요. 원인은 sent_repos.json을 쓰긴 쓰는데, 실행 폴더가 바뀌어서 다른 파일을 읽는 경우가 많습니다. 해결은 저장 파일 위치를 bot.py 옆으로 고정하고, 실행할 때 현재 작업 폴더를 함께 출력하게 바꾸면 바로 잡힙니다.

다음에 붙여볼 것

한 걸음 더

여기서 한 줄 요약만 AI로 더 붙이면 아침 브리핑 느낌이 확 납니다. 다음 편에서는 이 알림봇에 별점 말고 이슈 증가 속도까지 붙여서, 진짜 뜨기 직전 레포만 고르게 해볼 만합니다. 이 정도만 돼도 GitHub 첫 탭 여는 횟수는 꽤 줄어듭니다.

Related Searches

  • 🔍 Claude Code 사용법
  • 🔍 Claude Code 비교
  • 🔍 깃허브 오픈소스 알림봇 사용법
  • 🔍 깃허브 오픈소스 알림봇 비교
  • 🔍 텔레그램 봇 사용법
  • 🔍 텔레그램 봇 비교

댓글 쓰기

다음 이전