🗒️ 게시판
🤖

16. 밖에서 디스코드로 클로드 코드에 일 시키기 : 디스코드 봇 (쓰지 않음 · 회사 계정 권한)

교시
비어 있음
선택
진행 예정
시간
비어 있음
회차
참고
🎯
오늘 만드는 것 휴대폰 디스코드에 메시지를 보내면, 내 PC의 클로드 코드가 일을 하고 결과를 디스코드로 돌려줍니다.
  • 순서 : Step 1 디스코드 준비 → Step 2 봇 만들기 → Step 3 설치 → Step 4 토큰 넣기 → Step 5 실행 → Step 6 써 보기
  • 사용하는 프로그램 : claudecord (윈도우용 실행 파일이 들어 있는 공개 프로그램)
📘
미리 준비할 것
  • 디스코드 계정, PC와 휴대폰에 디스코드 설치 (2회차 과제 「디스코드 설치 가이드」)
  • Python 3.11 이상, Git (1회차에 설치)
  • 클로드 코드 로그인 완료

1. 어떻게 동작하나요?

Plain Text
휴대폰 디스코드  →  내 서버의 봇 채널  →  내 PC에서 돌고 있는 봇 프로그램
                                                ↓
                                         클로드 코드 실행
                                                ↓
                    디스코드 채널  ←  결과 메시지 · 만든 파일 첨부
  • 봇 프로그램은 내 PC 안에서 돕니다. 별도 서버나 호스팅이 필요 없습니다.
  • 그래서 PC가 켜져 있고, 봇 프로그램이 실행 중일 때만 답이 옵니다.
  • 추가 비용은 없습니다. 지금 쓰는 클로드 구독 안에서 동작합니다.

2. 먼저 읽어 주세요 : 보안

⚠️
이 봇은 클로드 코드의 권한 확인을 모두 건너뛰고 실행합니다. 디스코드로 보낸 요청을 묻지 않고 바로 실행한다는 뜻입니다. 그래서 아래 4가지를 꼭 지킵니다.
  1. 디스코드 계정에 2단계 인증을 켭니다. (설정 → 내 계정 → 2단계 인증 활성화)
  1. .env 에 내 사용자 ID와 봇 채널 ID만 넣습니다. 이 둘에서 온 메시지만 실행됩니다.
  1. 회사 중요 자료가 있는 폴더는 작업 대상으로 지정하지 않습니다. 실습은 더미 데이터로 합니다.
  1. 봇 토큰은 비밀번호입니다. 카톡, 메일, 깃허브에 올리지 않습니다. 새어 나가면 Developer Portal에서 Reset Token 으로 바로 새로 받습니다.

3. Step 1. 내 디스코드 서버와 채널 만들기

  1. 디스코드 왼쪽 맨 아래 + (서버 추가) → 직접 만들기 → 나와 친구들을 위한 서버 → 서버 이름 입력 (예 : 홍길동 업무봇)
  1. 서버 안에서 채널 옆 + → 텍스트 채널 이름 claude 로 만들기
  1. 설정(톱니바퀴) → 고급 → 개발자 모드 켜기
  1. 아래 두 값을 복사해 메모장에 적어 둡니다
값
복사하는 곳
내 사용자 ID
왼쪽 아래 내 프로필 사진을 오른쪽 클릭 → 사용자 ID 복사
채널 ID
claude 채널을 오른쪽 클릭 → 채널 ID 복사
✅
메모장에 18~19자리 숫자 2개가 적혀 있으면 다음 Step

4. Step 2. 봇 만들기 (Discord Developer Portal)

  1. Discord Developer Portal 접속 → 오른쪽 위 New Application → 이름 입력 (예 : 홍길동봇) → 약관 체크 → Create
  1. 왼쪽 Bot 메뉴
      • Reset Token → Yes, do it! → 나온 토큰을 Copy 해서 메모장에 적어 둡니다 (다시 보여주지 않습니다)
      • 화면 아래 Privileged Gateway Intents 에서 Message Content Intent 를 켭니다 → Save Changes
  1. 왼쪽 OAuth2 → URL Generator
      • SCOPES : bot 체크
      • BOT PERMISSIONS : 아래 6개 체크
        • View Channels
        • Send Messages
        • Send Messages in Threads
        • Read Message History
        • Attach Files
        • Add Reactions
  1. 맨 아래 Generated URL 을 복사해 브라우저 주소창에 붙여 넣습니다 → Step 1에서 만든 서버 선택 → 승인
✅
내 서버 오른쪽 멤버 목록에 봇이 회색(오프라인)으로 보이면 다음 Step
💡
Message Content Intent 를 안 켜면 봇이 메시지 내용을 읽지 못해 아무 답도 하지 않습니다. 가장 많이 빠뜨리는 단계입니다.

5. Step 3. 설치 (클로드 코드에 한 줄)

🛠️
VS Code 터미널에서 클로드 코드를 열고 아래를 그대로 입력하세요
Plain Text
https://github.com/wnghdcjfe/claudecord 를 내 사용자 폴더(C:\Users\내이름\claudecord)에 받아줘.
그다음 scripts\setup.ps1 로 설치하고, .env.example 을 복사해서 .env 파일을 만들어줘.
토큰은 내가 직접 넣을 거니까 .env 안의 값은 건드리지 마.
  • 클로드 코드가 git clone → setup.ps1 실행(가상환경 만들기, 필요한 패키지 설치) → .env 만들기까지 합니다.
  • 설치 폴더는 한글이 없는 경로로 둡니다. 한글 경로에서 오류가 나는 경우가 있습니다.
✅
클로드 코드가 「설치 완료」와 .env 생성을 알려주면 다음 Step

6. Step 4. 토큰과 ID 넣기 (직접)

🔐
토큰은 클로드 코드 대화창에 붙여 넣지 않습니다. 대화 기록에 남습니다. 메모장으로 직접 넣습니다.
  1. 클로드 코드 밖, 새 PowerShell 창을 엽니다
  1. 아래를 입력합니다
Plain Text
cd ~\claudecord
notepad .env
  1. 맨 위 세 줄을 메모장에 적어 둔 값으로 바꾸고 저장(Ctrl+S)합니다
Plain Text
DISCORD_BOT_TOKEN=Step2에서_복사한_토큰
OWNER_DISCORD_ID=Step1의_내_사용자_ID
ALLOWED_CHANNEL_IDS=Step1의_채널_ID
  • = 앞뒤에 띄어쓰기를 넣지 않습니다.
  • 이미 있는 .env 를 메모장으로 고치는 것이라 .env.txt 로 바뀌지 않습니다.

7. Step 5. 봇 실행

Plain Text
powershell -ExecutionPolicy Bypass -File scripts\run_bot.ps1
  • Step 4의 PowerShell 창에서 그대로 입력합니다.
  • 이 창은 켜 둔 채로 둡니다. 창을 닫으면 봇도 꺼집니다.
  • 끌 때는 이 창에서 Ctrl + C 를 누릅니다.
✅
디스코드 멤버 목록에서 봇이 초록색(온라인) 으로 바뀌면 준비 끝

8. Step 6. 써 보기

claude 채널에 아래를 차례로 보냅니다. 휴대폰 디스코드에서 보내도 됩니다.
Plain Text
안녕?
Plain Text
오늘 날짜와 요일, 그리고 지금 PC 시각을 알려줘
Plain Text
부산, 상해, 싱가포르, 로테르담 4개 항구 이름과 국가를 표로 정리한 엑셀 파일을 만들어서 보내줘
  • 마지막 요청은 만든 엑셀 파일이 디스코드에 첨부되어 돌아옵니다.
  • 작업은 C:\Users\내이름\.claudecord\runs\job-xxxx 폴더에 따로 만들어집니다. 내 다른 폴더는 건드리지 않는 것이 기본입니다.
  • 대화를 새로 시작하고 싶으면 종료 를 보냅니다. 봇은 꺼지지 않고, 이어지던 대화만 정리됩니다.
🎉
엑셀 파일이 디스코드에 첨부되어 오면 완성입니다

9. 내 작업 폴더에서 일 시키기 (선택)

기본은 매번 새 폴더에서 일합니다. 내 실습 폴더의 파일을 쓰게 하려면 @태그 를 만듭니다.
  1. ~\claudecord 폴더에 projects.toml 파일을 만듭니다 (클로드 코드에 「projects.toml 만들어줘」라고 시키면 됩니다)
  1. 아래처럼 적습니다. dir 에는 내 실습 폴더의 전체 경로를 씁니다
Plain Text
[work]
dir = "C:/Users/내이름/Desktop/seoul_vibe"
hint = "장금상선 실습 폴더. 한국어로 답한다. 파일은 지우지 않는다."
  1. 디스코드에서 @work 를 앞에 붙여 보냅니다
Plain Text
@work 이 폴더에 있는 엑셀 파일 목록 보여줘
⚠️
태그로 지정한 폴더는 클로드가 묻지 않고 고칠 수 있습니다. 백업이 있는 실습 폴더만 지정합니다.

10. 트러블슈팅

증상
원인
해결
봇이 계속 회색(오프라인)
Step 5 창이 꺼졌거나 토큰이 틀림
Step 5 창의 오류 메시지 확인. 토큰을 Reset Token 으로 새로 받아 .env 에 다시 넣기
봇은 초록색인데 답이 없음
Message Content Intent 꺼짐, 또는 ID가 틀림
Step 2의 Intent 확인. .env 의 사용자 ID와 채널 ID를 다시 복사해 넣고 Ctrl+C 후 Step 5 다시 실행
python 을 찾을 수 없음, 3.11 미만
Python이 없거나 옛 버전
python --version 확인. 3.11 이상을 설치하고 VS Code를 껐다 켠 뒤 Step 3 다시
「claude CLI를 찾을 수 없습니다」
봇이 클로드 코드 위치를 모름
PowerShell에서 where.exe claude 로 경로 확인 → .env 맨 아래에 CLAUDE_BIN=찾은경로 한 줄 추가
「스크립트를 실행할 수 없습니다」 (실행 정책)
윈도우가 .ps1 실행을 막음
명령 앞에 powershell -ExecutionPolicy Bypass -File 을 붙여 실행 (Step 5 명령 그대로)
「작업 디렉터리가 없습니다」
projects.toml 의 dir 경로가 틀림
탐색기 주소창에서 경로를 복사해 다시 넣기. 역슬래시 대신 / 사용
회사 와이파이에서 봇이 안 붙음
회사 보안 정책으로 디스코드 차단
강사에게 알려 주세요

11. 정리

✅
  • 켜기 : PowerShell → cd ~\claudecord → Step 5 명령
  • 쓰기 : 디스코드 claude 채널에 평소 말로 요청
  • 새 대화 : 종료
  • 끄기 : 봇 창에서 Ctrl + C
  • 지킬 것 : 2단계 인증, 토큰 비공개, 중요 폴더는 지정하지 않기
PC를 켤 때 봇이 자동으로 뜨게 하려면 (선택)
PowerShell에서 cd ~\claudecord 후 아래를 실행하면 로그인할 때 봇이 자동으로 켜집니다.
Plain Text
powershell -ExecutionPolicy Bypass -File scripts\register_scheduled_task.ps1
끌 때는 scripts\unregister_scheduled_task.ps1 을 같은 방식으로 실행합니다. 자동 실행에서 「claude CLI를 찾을 수 없습니다」가 나오면 트러블슈팅 표의 CLAUDE_BIN 을 넣습니다.