Claude Code로 Bluesky 디스코드 알림봇 1시간 만에 만들기

Claude Code로 Bluesky 디스코드 알림봇 1시간 만에 만들기

Claude Code로 Bluesky 디스코드 알림봇 1시간 만에 만들기

Bluesky 디스코드 알림봇 오늘 바로 띄우기

오늘 만들 것
Bluesky 디스코드 알림봇 오늘 바로 띄우기

좋아하는 계정 새 글이 올라왔는데 몇 시간 뒤에 보는 날이 있죠. 오늘은 Claude Code로 Bluesky 디스코드 알림봇을 만듭니다. 완성되면 Bluesky 글이 올라올 때마다 디스코드 채널에 제목 한 줄, 링크 한 줄, 짧은 요약 한 줄이 바로 떨어집니다.

Claude 쓰는 분은 터미널에서 바로 따라오면 됩니다. Codex로 해도 비슷하지만 오늘은 Claude Code 기준으로 갈게요. Claude 공식 문서에서 확인해보니 /init로 CLAUDE.md를 만들 수 있고, CLAUDE.md는 세션 시작마다 읽고, /schedule로 반복 작업도 걸 수 있더라구요. 이 세 개만 써도 충분합니다.

준비물은 이것만

Claude Code 하나면 됩니다. 여기에 Discord 채널 웹훅 URL 하나, 보고 싶은 Bluesky 계정 handle 하나만 있으면 돼요. Discord 웹훅은 주소 하나 받아오는 느낌이라서 겁먹을 거 없구요. Bluesky도 첫 버전은 공개 author feed만 읽으면 돼서 로그인부터 붙잡고 씨름할 일이 적습니다.

손부터 움직이자

1
/init로 말투랑 범위부터 고정

Claude Code를 연 뒤 /init를 한 번 치고 아래 프롬프트를 붙입니다.

AI에게 보낸 프롬프트
이 폴더는 Bluesky 디스코드 알림봇 프로젝트야. CLAUDE.md를 짧게 다시 써줘. 규칙은 세 가지야. 첫째, 파일은 최대 3개만 유지. 둘째, 첫 결과는 watch.py 하나로 실행 가능. 셋째, Discord 알림 문구는 짧고 담백하게. 그다음 .env.example과 watch.py 뼈대까지 만들어줘.
왜 이렇게 시켰나: 이거 안 넣으면 Claude가 파일을 괜히 늘립니다.
이렇게 나오면 OK: CLAUDE.md, .env.example, watch.py 세 개가 생기고 실행 방법이 한 줄로 붙습니다.
여기서 이렇게 하면 안 돼요: Step 1부터 데이터 저장, 스케줄, 예쁜 UI까지 한 번에 달라고 하지 마세요.
2
첫 알림 한 번 찍기
AI에게 보낸 프롬프트
watch.py에 Bluesky 공개 author feed에서 최신 글 1개를 읽어 Discord incoming webhook으로 보내는 코드만 넣어줘. 환경변수는 BLUESKY_ACTOR와 DISCORD_WEBHOOK_URL 두 개만 쓰고, python watch.py --dry-run으로 내용만 확인할 수 있게 해줘.
왜 이렇게 시켰나: 첫 결과를 빨리 봐야 재미가 붙거든요.
이렇게 나오면 OK: 터미널에 최신 글 내용이 보이거나 디스코드에 테스트 메시지 1개가 뜹니다. 여기서 오 진짜 되네 하는 순간이 나와요.
여기서 이렇게 하면 안 돼요: 처음부터 여러 계정, 여러 채널, 이미지 첨부까지 붙이면 바로 꼬입니다.
3
같은 글 두 번 안 오게 막기
AI에게 보낸 프롬프트
이제 seen.json 하나를 써서 마지막으로 보낸 글의 uri를 저장해줘. 이미 보낸 글이면 Discord로 다시 보내지 말고, 새 글일 때만 알림 보내게 수정해줘. 첫 실행은 최신 글 uri만 저장하고 조용히 끝나는 bootstrap 모드도 넣어줘.
왜 이렇게 시켰나: 알림봇은 중복 한 번만 터져도 바로 꺼버리게 됩니다.
이렇게 나오면 OK: 첫 실행은 조용하고, 그다음 새 글부터 한 번씩만 옵니다.
여기서 이렇게 하면 안 돼요: 마지막 시간만 저장하게 두면 글 수정이나 고정글에서 엉키는 경우가 있어요. uri로 잡는 게 편합니다.
4
/schedule로 자동 실행 걸기
AI에게 보낸 프롬프트
지금 프로젝트 기준으로 20분마다 python watch.py를 돌리는 /schedule 사용 예시를 짧게 적어줘. 내가 바로 복붙할 명령만 보여주고, 실패했을 때 수동 실행 명령도 한 줄로 같이 적어줘.
왜 이렇게 시켰나: 자동 실행은 길게 설명 들으면 더 헷갈립니다. 복붙 한 줄이 제일 빨라요.
이렇게 나오면 OK: Claude가 스케줄 문구와 수동 실행 문구를 따로 보여줍니다.
여기서 이렇게 하면 안 돼요: 스케줄이 안 됐는데 되는 줄 알고 창만 닫지 마세요. 수동으로 한 번 돌려보고 닫는 게 안전합니다.
5
디스코드에 뜨는 문구만 다듬기
AI에게 보낸 프롬프트
지금 알림 문구를 3줄 형식으로 줄여줘. 1줄은 작성자와 시각, 1줄은 글 요약, 1줄은 링크. 과장된 표현은 빼고 모바일에서 한눈에 읽히게 다듬어줘. 그리고 코드 리뷰도 같이 해줘.
왜 이렇게 시켰나: 알림은 길면 안 읽습니다. 짧아야 채널에 남겨도 덜 지저분해요.
이렇게 나오면 OK: 디스코드 모바일에서 메시지 한 덩어리가 바로 읽힙니다.
여기서 이렇게 하면 안 돼요: 요약 문구를 길게 뽑게 두면 원문보다 더 피곤해집니다.

여기서 막히는 세 군데

첫째. 디스코드에 아무것도 안 뜨는 경우가 있어요. 원인은 대체로 웹훅 URL 복붙 실수거나 .env 값 앞뒤에 공백이 붙은 겁니다. python watch.py --dry-run으로 먼저 내용을 보고, 그다음 실제 전송에서 응답 코드 200이나 204가 찍히는지만 확인하면 금방 잡힙니다.

둘째. 예전 글이 한꺼번에 몰려오는 경우가 있습니다. seen.json이 비어 있는데 bootstrap 모드 없이 바로 전송부터 하도록 만든 경우가 많아요. 첫 실행은 최신 글 uri만 저장하고 끝내게 바꾸면 조용하게 시작할 수 있습니다.

셋째. Claude Code가 파일을 너무 많이 벌리는 때가 있죠. Step 1에서 파일 최대 3개 규칙을 약하게 줬거나 세션이 길어져서 초반 규칙을 덜 보게 된 경우가 많습니다. 그럴 땐 CLAUDE.md 맨 위에 watch.py 중심, 보조 파일은 .env.example과 seen.json만 허용이라고 한 줄 더 적고 다시 시키면 안정됩니다.

다음에 붙여볼 것

한 걸음 더

오늘 만든 Bluesky 디스코드 알림봇이 잘 돌면, 다음엔 계정 1개 대신 AI 회사 리스트 5개를 묶어서 아침 브리핑처럼 바꿔볼 수 있습니다. 그 단계부터는 진짜 매일 열어보게 되거든요.

Related Searches

  • 🔍 Claude Code 사용법
  • 🔍 Claude Code 비교
  • 🔍 Bluesky 디스코드 알림봇 사용법
  • 🔍 Bluesky 디스코드 알림봇 비교
  • 🔍 Bluesky 사용법
  • 🔍 Bluesky 비교

댓글 쓰기

다음 이전