스터디 인증 확인에 쓰던 시간을 AI한테 넘겼다(이미지 AI 인증 자동화: 비개발자도 가능한 디스코드 봇 활용법)

Claude Code 활용 후기: AI로 인증 자동화

현재 RTC(:Real Talk Club)이라는 영어 스피킹 스터디 운영하고있습니다.

Claude Code와 몇시간 만에 인증샷 자동 판별 봇을 만들었습니다. 매일 멤버 인증샷을 직접 확인하던 시간이 사라지고, 애매한 것만 골라서 보면 되는 구조로 바뀌었습니다.

핵심 요약

  • Claude Code로 디스코드 봇에 AI 이미지 심사 기능 추가 — 개발 경험 없어도 가능

  • 공개 API가 없는 앱도 스크린샷 분석으로 우회 가능하다는 걸 배웠음

  • Anthropic API 결제 막히자 Claude Code가 바로 OpenAI 대안 제시 → 막힘 없이 진행

  • 날짜 표기 버그("Today" → "June 1")를 스크린샷 하나로 원인 파악하고 즉시 해결

  • 운영자 직접 확인 → 자동 통과 / 애매한 것만 검토 / 반려 3단계로 분리

  • 막히면 말로 설명하지 말고 스크린샷 찍어서 보여주기

AI 인증 자동화의 필요성

스터디나 커뮤니티를 운영하면서 인증 확인에 시간을 쓰고 있는 비개발자 운영자, 디스코드 봇이나 자동화 시스템을 만들고 싶은데 개발 경험이 없는 분, AI 툴로 실제 업무나 운영 자동화를 해보고 싶은 분들에게 도움이 됩니다.

문제 상황과 해결 과정

문제 상황 (Before)

"RTC(Real Talk Club)"라는 한국인 대상 영어 스피킹 스터디를 디스코드로 운영하고 있습니다. 멤버들은 매일 !인증 명령어와 함께 인증 내용을 올리고, 봇이 자동으로 Google Sheets에 점수를 기록하는 구조였습니다. 그러나 6월부터 새 규칙이 생겼습니다. 데일리 인증 시 에피소든(Episoden) 앱으로 외국인과 화상영어를 했다는 스크린샷을 함께 올리는 게 필수가 되었습니다. 문제는 에피소든이 공개 API를 제공하지 않는다는 것입니다. 서버에서 "이 멤버가 오늘 통화했는지"를 직접 확인할 방법이 없었습니다. 결국 운영자인 제가 올라오는 인증샷을 하나하나 눈으로 확인해야 했는데, 멤버 수가 늘수록 이게 점점 부담이 될 게 뻔했습니다.

"6월부터 에피소든이 필수인데, 인증샷 매일 직접 다 보고 판단하는 건 너무 힘들어."

이걸 자동화할 수 없을까 고민하다가 Claude Code를 켰습니다.

*여기는 클로드코드를 켜기전에 클로드채팅으로 기획서부터 작성했습니다.
기존에 RTC영어스터디 프로젝트에 있는 채팅기록을 기반으로 현재상황과 앞으로 개발해야되는 부분을 기획서로 정리하여 클로드코드에게 시작할 프롬프트를 미리 준비했어요.

사용한 도구

  • Claude Code (AI 코딩 파트너)

  • OpenAI gpt-4o-mini (이미지 분석 — 스크린샷 판별용)

  • discord.js (디스코드 봇 프레임워크)

  • Railway (봇 서버 배포)

  • GitHub (코드 저장소)

작업 과정

현재 봇 구조 파악

사실 기존 봇 코드가 어디 있는지도 제대로 몰랐습니다. Railway에 올라가 있다는 건 알았는데, GitHub 저장소가 어디 연결되어 있는지, 코드가 어떻게 생겼는지 헷갈렸습니다.

RTC 영어 스피킹 스터디 자동화 시스템을 GitHub로 정리하고 새 기능을 추가하려고 해.
코드를 짜기 전에 항상 내 현재 구조를 먼저 파악해줘.
나는 회계 배경의 비개발자에 가까우니 터미널 명령어나 배포 과정은 한 줄씩 설명해줘.

Claude Code가 Railway 설정 화면을 보는 방법부터 단계별로 안내해줬습니다. 스크린샷을 찍어 보내니까 "이 화면은 프로젝트 설정이고, 서비스 설정은 다른 곳에 있어요"라고 바로 짚어줬습니다. 결국 기존 코드를 찾아서 붙여넣었고, Claude Code가 구조를 파악해줬습니다.

  • 언어: JavaScript (Node.js)

  • 기능: !인증, !보충, !라이브, !후기 키워드 감지 → Google Sheets에 기록

  • 이미지 검증 로직: 없음

에피소든 스크린샷 자동 판별

핵심 아이디어는 간단했습니다. 에피소든 앱의 Match History 화면에 오늘 날짜로 통화 상대방 카드가 있으면 "오늘 통화했다"는 증거로 보는 것이었습니다.

에피소든 인증샷을 이미지 분석으로 검증하는 기능을 기존 봇에 추가해줘.
판별 기준:
- Match History + 오늘 매칭 기록 있음 → 자동 통과 ✅
- 에피소든 화면이지만 증거 약함 → 운영자 검토 🕵️
- 에피소든 아님 → 반려 ❌

Claude Code가 OpenAI의 이미지 분석 기능을 연결하는 모듈을 새로 만들고, 기존 !인증 처리 로직에 끼워넣어줬습니다. 이미지가 첨부됐는지 확인하고, 있으면 AI 분석을 거쳐서 세 가지로 나누는 구조였습니다.

API 결제 막힘 → 즉시 대안 제시

처음엔 Anthropic API를 쓰려 했는데 결제 이슈가 있었습니다.

오늘도 다시 api 시도해봤는데 결제문제가 있음. 대신 gpt api 사용가능

Claude Code가 망설임 없이 OpenAI gpt-4o-mini로 전환해줬습니다. 비용도 계산해줬는데, 멤버 7명 기준 한 달에 약 28원 수준이라고요. 사실상 공짜나 다름없었습니다.

한국어로 다른 숫자가 있는 테이블

이 정도 예상 운영비용이면 현재 운영하는데 크게 재무적인 지장이 없을거 같아 빠르게 개발진행했습니다.

Railway 재연결

새 GitHub 저장소로 Railway를 다시 연결하는 과정에서 "GitHub Repo not found" 에러가 났습니다. 뭐가 문제인지 말로 설명하기 어려워서 그냥 화면을 캡처해서 보냈습니다.

Claude Code가 바로 원인을 찾아줬습니다. Railway에 GitHub 접근 권한이 없었던 거였고, GitHub 설정에서 권한을 추가하는 방법을 단계별로 알려줬습니다. 설정 완료 후 배포 성공.

날짜 버그 발견

배포 후 실제 에피소든 스크린샷으로 테스트했더니 ✅가 아니라 🕵️(운영자 검토)가 떴습니다. 분명히 오늘 통화한 기록이 있는 화면인데 왜 안 되지?

스크린샷을 보내서 같이 확인했습니다.

한국어 문자 메시지 스크린샷
테스트3은 아래와같이 나옴 (실제 Match History 스크린샷인데 🕵️로 분류됨)

Claude Code가 원인을 바로 찾았습니다. 봇은 "Today"라는 단어를 찾고 있었는데, 에피소든 앱이 "Today" 대신 "June 1" 같은 실제 날짜로 표시하고 있었습니다. Discord 메시지 날짜와 화면의 날짜 표기를 비교하도록 수정하자마자 ✅가 정상 작동했습니다.

이게 가장 인상적인 순간이었습니다. 제가 "왜 안 되지?"라고 느끼는 순간 스크린샷 하나 보냈더니, 원인 파악부터 수정까지 5분도 안 걸렸습니다.

멤버 가이드 PDF까지 한 번에

에피소드 인증 가이드북을 간단히 만들면 좋을 거 같아. 형식은 ppt나 pdf 형식으로
RT 글로벌 토크 도심

이것도 그냥 말했더니 5페이지짜리 한글 PDF를 만들어줬습니다. 표지, 앱 소개, 인증 4단계, 올바른 인증샷 기준, 봇 응답 안내까지 담긴 가이드입니다. 멤버들한테 바로 배포할 수 있는 수준이었습니다.

AI 인증 자동화의 결과

한국어 채팅 앱 스크린샷

Before vs After

항목

Before

After

인증 확인 방식

운영자가 모든 인증샷 직접 육안 확인

AI가 자동 판별, 애매한 것만 운영자 검토

피드백 속도

운영자가 확인한 뒤에야 처리

메시지 올리면 즉시 봇이 응답

운영 부담

멤버 수 늘수록 비례해서 증가

자동화로 규모에 관계없이 일정

인증샷 가이드

없음

5페이지 한글 PDF 완성

결과물

  • 디스코드에서 !인증 + 에피소든 스크린샷 → 즉시 ✅/🕵️/❌ 응답

  • docs/episoden-guide.pdf — 멤버 배포용 인증 가이드

    + 추가로 멤버의 질문이 있어서 테스트를 추가로 해봤는데, 이미지가 여러개일경우 첫이미지만 인증되게 되어있더라구요.
    질문) 에피소든 인증이랑 원래 인증하던거 같이 올려도 되나요? 따로 올려야 하나요?

    휴대전화로 본 한국 TV 프로그램의 스크린샷

AI 활용 팁과 다른 업무 적용 가능성

이 과정에서 배운 AI 활용 팁

효과적이었던 것

  1. 막히면 스크린샷 찍어서 보내기 — 말로 설명하는 것보다 훨씬 빠르게 원인을 찾아줬습니다. 날짜 버그도, Railway 에러도 스크린샷 하나로 해결됐습니다.

  2. "비개발자에 가까우니 한 줄씩 설명해줘" 명시하기 — 처음부터 이걸 알려줬더니 터미널 명령어 하나하나를 설명해줬습니다.

  3. 막힌 이유 설명하고 대안 요청하기 — API 결제 막혔을 때 "대신 gpt api 사용가능"이라고 하니까 바로 전환해줬습니다. 기술적 장벽에 막히면 대안이 있는지 물어보면 됩니다.

이렇게 하면 안 돼요

  1. 처음부터 완벽한 기획을 만들려고 하기 — 어떤 기능을 만들지 대략만 말해도 Claude Code가 세부 구조를 제안해줍니다. 기획에 너무 많은 시간 쓰지 않아도 됩니다.

  2. 에러 메시지를 말로만 설명하기 — "에러가 나요"보다 스크린샷이 훨씬 정확합니다.

다른 업무에 적용한다면?

비슷한 방식으로 이런 것들도 가능할 것 같습니다:

  • 출석 인증 자동화: 모임, 강의, 행사 참석 인증샷 자동 확인

  • 과제 제출 검증: 특정 형식의 결과물 사진이 맞는지 1차 필터링

  • SNS 인증 확인: 챌린지 참가자들의 인스타그램/유튜브 인증 스크린샷 검토

공개 API가 없는 서비스도 스크린샷 분석으로 우회할 수 있다는 게 핵심입니다.

앞으로의 계획과 재사용 가능한 프롬프트

앞으로의 계획

다음 단계는 멤버 관리 대시보드 제작입니다. 윤스케어님 대스보드 제작 사례글을 보고, 저도 운영하고 있는건 대시보드로 한눈에 확인이 가능하면 좋을거 같아서 시도해보려합니다. 지금은 점수 데이터가 Google Sheets에만 있는데, 이걸 웹으로 시각화해서:

  • 리더보드 (포인트 순위)

  • 인증 히트맵 (멤버 × 날짜 잔디밭)

  • 80점 환급 대상자 현황

  • 운영자 승인 큐 (🕵️로 분류된 인증을 카드로 보고 버튼으로 처리)

를 한눈에 볼 수 있게 만들 계획입니다. 이것도 Claude Code와 함께 진행할 예정입니다.

재사용 가능한 프롬프트

프롬프트 1: 비개발자 모드로 시작하기

나는 [직업/배경]에 가까운 비개발자야.
[현재 운영 중인 시스템]이 있고, [추가하고 싶은 기능]을 만들고 싶어.
코드를 짜기 전에 내 현재 구조를 먼저 파악해줘.
변경은 작은 단위로, 터미널 명령어는 한 줄씩 설명해줘.

프롬프트 2: API 없는 서비스 자동화

[서비스명]은 공개 API가 없어서 서버에서 직접 데이터를 가져올 수 없어.
사용자가 올린 스크린샷을 이미지 분석으로 검증하는 방식으로 구현해줘.
판별 기준: [조건1] → [결과1], [조건2] → [결과2]
위변조 방지를 위해 [날짜/시간] 대조도 포함해줘.

프롬프트 3: 에러 해결 요청

[현재 상황]인데 [에러 증상]이 나와.
(스크린샷 첨부)
원인이 뭔지, 어떻게 고치면 되는지 단계별로 알려줘.
2개의 답글
밀어주고 끌어주는

온·오프라인 AI 스터디

AI로 어디까지 할 수 있는지
직접 확인하실 분만 신청하세요.