별책부록 2편
별책부록 2편
사전 prep 토큰 발급
Contabo VPS 프로비저닝 대기 시간에 완료하세요
📑 이 챕터에서 다룰 내용
들어가며 사전 prep 개요 🔗

1편에서 Contabo VPS를 결제하면 서버가 준비될 때까지 30분~몇 시간 기다려야 해요. 이 대기 시간을 낭비하지 마세요. 지금 바로 봇 운영에 필요한 토큰 4개 + 환경 변수를 미리 발급해 두면, Contabo 서버 발급 직후 즉시 봇 운영을 시작할 수 있습니다.

항목내용
예상 시간30~60분 (모든 prep)
목표Contabo 서버 발급 직후 즉시 봇 운영 시작 가능 ✅
준비할 것Anthropic API 키 + Discord Bot Token + Telegram Bot Token + 환경 변수
📘 사전 prep 5단계 개요
  1. Anthropic Console 가입 + API 키 발급
  2. Discord Developer Portal + 봇 토큰
  3. Telegram BotFather + 봇 토큰
  4. GitHub repo prep (선택)
  5. 환경 변수 + 보안 종합
prep-1 Anthropic Console 가입 + API 키 🔗

단계 1: Console 가입

📘 가입 흐름

URL: console.anthropic.com

  1. "Sign Up" 클릭
  2. 이메일 입력 (또는 Google·GitHub OAuth)
  3. 이메일 검증
  4. 본인 정보 (이름·전화 등) 입력
⚠️ 가입 시 주의사항
  • VPN OFF — 의심 IP로 탐지되면 차단될 수 있어요
  • 한국 카드는 대부분 가능합니다
  • 첫 가입 시 $5 무료 크레딧을 제공하는 경우가 있어요 (시기에 따라 변동)

단계 2: 결제 등록 ($5+ 크레딧)

📘 Anthropic 결제 모델
  • Pay-as-you-go — 사용량만큼 청구됩니다
  • 최소 $5 크레딧 충전 (첫 결제)
  • 자동 충전: OFF 권장 — 직접 충전하면 지출을 파악하기 쉬워요

Sonnet 4.6 가격 (2026년 5월)

  • Input: ~$3 / 1M tokens
  • Output: ~$15 / 1M tokens
  • 봇 1개 운영 시 월 $5~30 추정
⚠️ API 키 노출 시 비용 폭증 위험

API 키가 노출되면 다른 사람이 본인 계정으로 API를 사용할 수 있어요. 다음 단계에서 Budget Alert를 꼭 설정하세요.

단계 3: API 키 발급

2
"Create Key" 클릭

키 이름 입력 — 예: tsv-bot

3
Workspace 선택 (봇 별 별도 Workspace 권장)

각 봇의 비용을 분리해 추적할 수 있고, 한도 초과 시 봇 별로 차단할 수 있어요.

4
"Create" → 키 즉시 안전 보관

API 키는 생성 직후 1회만 표시됩니다. 1Password·Bitwarden에 즉시 저장하세요.

⚠️ API 키 보안 수칙
  • API 키 형식: sk-ant-... 로 시작합니다
  • git push 절대 금지.env 파일에 넣고 .gitignore로 제외하세요
  • 키 노출 시: 즉시 revoke + 재발급
  • 평문 메모장·Discord 메시지·이메일에 키를 넣으면 안 됩니다

단계 4: Budget Alert 설정 ★

2
"Spend Alerts" 또는 "Budget" 설정

Soft alert: $10 (이메일 알림) / Hard limit: $50 (자동 차단)

3
첫 달 권장 한도 설정

Hard limit $20으로 시작 → 사용량 확인 후 조정. 한도를 설정하지 않으면 사고 시 비용이 폭증할 수 있어요.

💡 API 키 다층 보호 4단계
  1. API 키 분리 (Workspace 별 발급)
  2. .gitignore로 코드 노출 차단
  3. Budget Alert (이메일 알림)
  4. Hard limit (자동 차단)

이 4단계를 모두 적용하면 실수로 키가 노출되더라도 피해를 최소화할 수 있어요.

prep-2 Discord Developer Portal + 봇 토큰 🔗

단계 1: Application 생성

📘 Application 생성 흐름

URL: discord.com/developers/applications

  1. Discord 계정 로그인 (없으면 가입)
  2. 우상단 "New Application" 클릭
  3. 이름 입력 — 예: TSV Assistant
  4. "Create" 클릭

Application 정보

  • Application ID: 봇 코드에 사용 — 안전 보관
  • Public Key: webhook 검증 시 사용

단계 2: Bot 설정 + 토큰 발급 ★

⚠️ Bot Token 보안
  • 좌측 메뉴 "Bot" → "Reset Token" 또는 "Add Bot"
  • Token 형식: MTk5OTk...mfYZP3
  • Token은 생성 직후 1회만 표시 — 즉시 1Password·Bitwarden에 저장하세요
  • Token 노출 시 즉시 무효화 — git push 절대 금지
  • 봇 Token을 아는 사람은 본인 봇으로 행세하고 사용자 메시지를 도용할 수 있어요

단계 3: Privileged Gateway Intents 설정 ★★

좌측 "Bot" 메뉴 안에서 다음 설정을 모두 ON으로 변경하세요.

Intent설명필수 여부
PRESENCE INTENT사용자 온라인 상태 감지ON
SERVER MEMBERS INTENT서버 멤버 목록 접근ON
MESSAGE CONTENT INTENT ★사용자 메시지 내용 읽기ON — 가장 중요
⚠️ MESSAGE CONTENT INTENT를 OFF로 두면

봇이 사용자 메시지 내용을 읽지 못합니다. 증상: msg.content가 빈 문자열로 표시돼요.

해결: MESSAGE CONTENT INTENT ON → 봇 재시작. 3편 봇 코드 작업 중에도 다시 안내드려요.

단계 4: 봇 초대 링크 생성

📘 OAuth2 URL 생성 흐름

좌측 "OAuth2" → "URL Generator"

SCOPES 체크

  • ☑ bot
  • ☐ applications.commands (slash command 사용 시)

BOT PERMISSIONS 체크

  • ☑ Read Messages / View Channels
  • ☑ Send Messages
  • ☑ Read Message History
  • ☑ Embed Links (선택, 응답 풍부)
  • ☑ Attach Files (선택)

하단 URL 복사 → 브라우저에서 열기 → "Add to Server" → 본인 서버 선택 → "Authorize"

💡 최소 권한 원칙을 지키세요

Administrator 권한은 절대 선택하지 마세요. 필요한 권한만 최소한으로 선택하면 봇이 해킹되더라도 피해 범위가 제한됩니다.

prep-3 Telegram BotFather + 봇 토큰 🔗

단계 1: BotFather 접근

📘 BotFather 시작
  1. Telegram 앱에서 @BotFather 검색 (공식 봇 — 파란 체크 확인)
  2. 채팅 시작
  3. /start 입력

단계 2: 봇 생성 + 토큰 발급 ★

1
/newbot 입력
2
봇 이름 입력

사용자에게 보이는 이름이에요. 예: TSV Assistant (한국어 가능)

3
봇 username 입력

예: tsv_assistant_bot"_bot"으로 끝나야 합니다. 영문 + 숫자 + 언더스코어만 가능하고 전 세계에서 고유해야 해요. username은 한 번 정하면 변경할 수 없으니 신중하게 정하세요.

4
HTTP API 토큰 받기 → 즉시 안전 보관

형식: 1234567890:ABCdef... — 1Password·Bitwarden에 즉시 저장하세요.

단계 3: 봇 명령어 등록

💻 BotFather 명령어 등록
/setcommands
# 본인 봇 선택 후 아래 내용 paste

ask - Claude 에게 질문
help - 도움말
about - 봇 소개
terms - 이용 약관
privacy - 개인정보 처리

Telegram 채팅에서 "/"를 입력하면 명령어 자동 완성이 표시되어 사용자 편의성이 높아집니다.

단계 4: 봇 보안 설정

📘 BotFather 보안 설정

1. 그룹 추가 제한 (필요 시)

/setjoingroupsDisable — 봇이 원치 않는 그룹에 추가되는 것을 방지합니다.

2. Privacy Mode ON ★

/setprivacyEnable — Privacy Mode를 ON으로 설정하면 봇이 본인에게 직접 보낸 메시지만 받아요. 그룹 안의 다른 사람들 사이 대화는 읽지 않습니다.

단계 5: 봇 첫 테스트

📘 생성된 봇 확인
  1. Telegram 앱에서 본인 봇 검색 (예: @tsv_assistant_bot)
  2. /start 입력
  3. 아직 서버에 코드가 없으므로 봇 응답은 없어요 — 4편에서 코드를 올리면 응답합니다
prep-4 GitHub repo prep (선택) 🔗

Private repo 권장

1
2
Repository name 입력

예: tsv-bot

3
Private 선택 (Public 절대 금지)

Public repo에 .env 파일이 올라가면 즉시 전 세계에 노출됩니다.

4
README + .gitignore (Node 또는 Python) 자동 생성 후 "Create"
💡 Deploy 키는 8편에서 설정합니다

Contabo VPS 발급 후 deploy 키를 생성하게 되는데, 이 작업은 8편 (GitHub Actions 배포 자동화)에서 다뤄요. 지금은 GitHub repo만 만들어두면 됩니다.

prep-5 환경 변수 + 보안 종합 🔗

4개 토큰 종합 정리

⚠️ 4개 토큰 안전 보관 — 반드시 지키세요

발급한 토큰 목록

  • ANTHROPIC_API_KEY: sk-ant-...
  • DISCORD_TOKEN: MTk5OTk...mfYZP3
  • TELEGRAM_TOKEN: 1234567890:ABCdef...
  • GitHub Personal Access Token: ghp_... (선택)

안전 보관 방법

  • ✅ 1Password / Bitwarden / iCloud Keychain
  • .env 파일 (Contabo VPS 안 + chmod 600)
  • ❌ git commit 절대 금지
  • ❌ 평문 메모장·Discord 메시지·이메일 절대 금지

.env.example prep (지금 미리 만들어 두세요)

💻 .env.example 내용
# Contabo VPS 발급 후 .env 작성용 template
# 로컬에 미리 준비 가능

# === Discord Bot ===
DISCORD_TOKEN=your_discord_bot_token_here
DISCORD_APP_ID=your_application_id_here

# === Telegram Bot ===
TELEGRAM_TOKEN=your_telegram_bot_token_here

# === Anthropic ===
ANTHROPIC_API_KEY=sk-ant-your_key_here
ANTHROPIC_MODEL=claude-sonnet-4-6

# === Logging ===
LOG_DIR=./logs

# === Sentry (선택) ===
SENTRY_DSN=

# === Discord Alert Webhook (선택, 7편) ===
DISCORD_ALERT_WEBHOOK=

.gitignore prep (지금 미리 만들어 두세요)

💻 .gitignore 내용
# Node.js
node_modules/
dist/
*.log

# Python
__pycache__/
*.pyc
.venv/
venv/

# 환경 변수
.env
.env.local
.env.*.local

# 로그
logs/

# 시스템
.DS_Store
Thumbs.db
prep-6 Discord Alert Webhook (선택, 7편) 🔗

운영자 알림 채널 prep

📘 Discord Webhook 생성 흐름
  1. Discord 본인 서버에서 채널 생성 (예: tsv-bot-alerts)
  2. 채널 설정 → Integrations → Webhooks
  3. "New Webhook" 클릭
  4. 이름 입력 (예: Alert Bot)
  5. URL 복사 → 1Password에 안전 보관

이 Webhook으로 받을 수 있는 알림

  • API 비용 한도 알림 (7편)
  • 배포 완료 알림 (8편)
  • 에러 발생 알림
  • 운영자가 자리를 비운 동안에도 시스템이 스스로 알림을 보냅니다

Webhook 테스트

💻 로컬에서 Webhook 테스트
# 로컬 터미널에서 실행
curl -H "Content-Type: application/json" \
  -d '{"content":"✅ Webhook 작동 확인!"}' \
  https://discord.com/api/webhooks/...

# Discord 채널에 메시지가 도착하면 성공입니다
prep-7 종합 체크리스트 🔗
🎉 Contabo Provisioning 대기 동안 완료할 목록
  • ☑ Anthropic Console 가입 + API 키 발급 (sk-ant-...)
  • ☑ Anthropic Budget Alert + Hard limit ($20)
  • ☑ Discord Developer Portal + Application 생성
  • ☑ Discord Bot Token 발급 + MESSAGE CONTENT INTENT ON
  • ☑ Discord 봇 본인 서버 초대
  • ☑ Telegram BotFather + 봇 생성 + Token 발급
  • ☑ Telegram 봇 명령어 등록 (/setcommands)
  • ☑ Telegram Privacy Mode ON (/setprivacy)
  • ☑ GitHub Private repo 생성 (선택)
  • ☑ Discord Alert Webhook (선택)
  • ☑ 4개 토큰 안전 보관 (1Password 등)
  • .env.example + .gitignore 준비
📘 모든 prep 완료 후 Contabo 서버 발급 흐름
  1. SSH 접속 (1편 마지막)
  2. Ubuntu 보안 셋업 (3편, 45분)
  3. Discord 봇 boilerplate (4편, 90분)
  4. Telegram 봇 boilerplate (5편, 90분)
  5. systemd + pm2 (6편, 60분)
  6. Position C 강화 (7편, 60분)
  7. Sentry + Budget Alert (8편, 60분)
  8. GitHub Actions 배포 (9편, 60분)

약 7~8시간 = 하루 작업 = 두 봇 24/7 운영 시작 ✅

📌 2편 정리
  • 1️⃣ Anthropic API 키: Console 가입 → API 키 발급 → Budget Alert $20 설정
  • 2️⃣ Discord Bot Token: Developer Portal → Bot 생성 → Token 발급 → MESSAGE CONTENT INTENT ON → 서버 초대
  • 3️⃣ Telegram Bot Token: BotFather → /newbot → Token 발급 → 명령어 등록 → Privacy Mode ON
  • 4️⃣ GitHub repo: Private repo 생성 (선택)
  • 5️⃣ Discord Alert Webhook: 운영자 알림 채널 생성 (선택)
  • 6️⃣ 4개 토큰 안전 보관: 1Password·Bitwarden — git commit 절대 금지
  • 7️⃣ prep 완료 시: Contabo 서버 발급 직후 즉시 봇 운영 시작 가능 ✅
🎉 핵심 한 줄

Contabo VPS 대기 동안 → Anthropic API 키 + Discord Bot Token + Telegram Bot Token + 환경 변수 prep = 발급 직후 즉시 봇 운영 시작 ✅

다음은 3편 — Ubuntu 24.04 보안 셋업 (Contabo VPS Provisioning 완료 직후 진행하세요)

📘
별책부록 도우미
질문하기 OK
안녕하세요! 사전 prep 토큰 발급에 대해 무엇이든 물어보세요. 본문에서 찾아 답변해드릴게요. 👇