208 lines
5.4 KiB
Markdown
208 lines
5.4 KiB
Markdown
# Discord 확장형 설정 가이드
|
|
|
|
## 🚨 보안: 토큰 재발급 필수
|
|
|
|
토큰이 노출되었으므로 즉시 재발급하세요.
|
|
|
|
1. Discord Developer Portal → Your App → Bot
|
|
2. "Reset Token" 클릭
|
|
3. 새 토큰 복사 (한 번만 보여줌)
|
|
|
|
## 🎯 확장형 권한 설정
|
|
|
|
### 1단계: Bot Permissions (OAuth2 → URL Generator)
|
|
|
|
**Scopes:**
|
|
- ✅ bot
|
|
- ✅ applications.commands
|
|
|
|
**Bot Permissions (확장형):**
|
|
|
|
**Text Permissions:**
|
|
- ✅ View Channels
|
|
- ✅ Send Messages
|
|
- ✅ Send Messages in Threads
|
|
- ✅ Create Public Threads
|
|
- ✅ Create Private Threads
|
|
- ✅ Embed Links
|
|
- ✅ Attach Files
|
|
- ✅ Add Reactions
|
|
- ✅ Use External Emojis
|
|
- ✅ Use External Stickers
|
|
- ✅ Mention @everyone, @here, and All Roles
|
|
- ✅ Manage Messages (메시지 편집/삭제)
|
|
- ✅ Manage Threads (스레드 관리)
|
|
- ✅ Read Message History
|
|
- ✅ Use Slash Commands
|
|
|
|
**Voice Permissions (선택):**
|
|
- ✅ Connect (음성 채널 접속)
|
|
- ✅ Speak (음성 전송)
|
|
|
|
**Advanced Permissions (선택적 - 주의):**
|
|
- ⚠️ Manage Channels (채널 생성/수정 - 필요 시만)
|
|
- ⚠️ Manage Roles (역할 관리 - 필요 시만)
|
|
- ❌ Administrator (절대 주지 마세요 - 보안 위험)
|
|
|
|
### 2단계: Intents 활성화
|
|
|
|
Bot → Privileged Gateway Intents:
|
|
|
|
- ✅ Presence Intent (온라인/오프라인 상태)
|
|
- ✅ Server Members Intent (멤버 목록 조회)
|
|
- ✅ Message Content Intent (필수 - 메시지 읽기)
|
|
|
|
### 3단계: OpenClaw 확장 설정
|
|
|
|
`~/.openclaw/config.yml` 파일:
|
|
|
|
```yaml
|
|
channels:
|
|
discord:
|
|
enabled: true
|
|
token: "YOUR_NEW_BOT_TOKEN" # 재발급한 토큰
|
|
|
|
# DM 설정
|
|
dm:
|
|
enabled: true
|
|
policy: "pairing" # 첫 접촉 시 승인 필요
|
|
allowFrom: ["YOUR_DISCORD_USER_ID"]
|
|
|
|
# 파일 업로드 제한
|
|
mediaMaxMb: 25 # Discord 기본 25MB (Nitro는 500MB)
|
|
|
|
# 메시지 청킹
|
|
textChunkLimit: 2000
|
|
maxLinesPerMessage: 30
|
|
chunkMode: "newline" # 문단 단위로 나누기
|
|
|
|
# 확장 기능 활성화
|
|
actions:
|
|
reactions: true # 반응 추가
|
|
stickers: true # 스티커 전송
|
|
emojiUploads: true # 이모지 업로드
|
|
polls: true # 투표 생성
|
|
messages: true # 메시지 편집/삭제
|
|
threads: true # 스레드 생성/관리
|
|
pins: true # 메시지 고정
|
|
search: true # 메시지 검색
|
|
memberInfo: true # 멤버 정보 조회
|
|
roleInfo: true # 역할 정보 조회
|
|
channelInfo: true # 채널 정보 조회
|
|
channels: true # 채널 생성/관리
|
|
voiceStatus: true # 음성 상태 조회
|
|
events: true # 이벤트 생성
|
|
roles: false # 역할 부여 (위험 - 필요 시만)
|
|
moderation: false # 타임아웃/킥/밴 (위험)
|
|
|
|
# 서버(길드) 설정 (선택)
|
|
guilds:
|
|
"YOUR_GUILD_ID": # 서버 ID (우클릭 → Copy Server ID)
|
|
requireMention: false # 멘션 없이도 응답
|
|
users: ["YOUR_DISCORD_USER_ID"] # 허용된 사용자
|
|
channels:
|
|
general: # 채널 이름
|
|
allow: true
|
|
requireMention: false
|
|
|
|
# 리플라이 모드
|
|
replyToMode: "first" # off | first | all
|
|
|
|
# 재시도 정책
|
|
retry:
|
|
attempts: 3
|
|
minDelayMs: 500
|
|
maxDelayMs: 30000
|
|
jitter: 0.1
|
|
```
|
|
|
|
### 4단계: Discord ID 확인
|
|
|
|
Discord에서 Developer Mode 켜기:
|
|
|
|
1. 설정(톱니바퀴) → 고급 → Developer Mode ON
|
|
2. 우클릭으로 ID 복사:
|
|
- 프로필 우클릭 → "Copy User ID"
|
|
- 서버 이름 우클릭 → "Copy Server ID"
|
|
- 채널 우클릭 → "Copy Channel ID"
|
|
|
|
### 5단계: 환경변수 방식 (대안)
|
|
|
|
config.yml 대신 환경변수로도 가능:
|
|
|
|
```bash
|
|
export DISCORD_BOT_TOKEN="YOUR_NEW_TOKEN"
|
|
```
|
|
|
|
그 후 Gateway 재시작:
|
|
|
|
```bash
|
|
openclaw gateway restart
|
|
```
|
|
|
|
### 6단계: Pairing 승인
|
|
|
|
DM으로 봇에게 메시지 보내면 pairing code가 나옵니다:
|
|
|
|
```bash
|
|
openclaw pairing list
|
|
openclaw pairing approve discord <CODE>
|
|
```
|
|
|
|
## 🎮 확장 기능 사용법
|
|
|
|
### 반응(Reaction) 추가
|
|
Discord에서 메시지에 이모지 반응을 달 수 있습니다.
|
|
|
|
### 스레드 생성
|
|
긴 대화를 스레드로 정리할 수 있습니다.
|
|
|
|
### 메시지 편집/삭제
|
|
봇이 보낸 메시지를 수정하거나 삭제할 수 있습니다.
|
|
|
|
### 파일 업로드
|
|
25MB까지 파일을 첨부할 수 있습니다.
|
|
|
|
### 투표(Poll) 생성
|
|
Discord 네이티브 투표 기능을 사용할 수 있습니다.
|
|
|
|
## 🔍 트러블슈팅
|
|
|
|
### 봇이 응답 안 함
|
|
1. Intents가 모두 켜져 있는지 확인
|
|
2. 초대 URL이 올바른 권한으로 생성됐는지 확인
|
|
3. `openclaw doctor` 실행
|
|
4. `openclaw channels status --probe` 실행
|
|
|
|
### Permission 에러
|
|
봇에게 채널 접근 권한이 있는지 확인하세요.
|
|
|
|
### Rate Limit
|
|
Discord API는 rate limit이 있습니다. 너무 많은 메시지를 빠르게 보내면 제한됩니다.
|
|
|
|
## ⚡ 빠른 시작 요약
|
|
|
|
1. 토큰 재발급 (Reset Token)
|
|
2. Intents 3개 모두 켜기
|
|
3. 초대 URL 재생성 (확장 권한 포함)
|
|
4. 서버에 재초대
|
|
5. config.yml 업데이트
|
|
6. `openclaw gateway restart`
|
|
7. DM 테스트 → pairing 승인
|
|
|
|
## 📋 체크리스트
|
|
|
|
- [ ] 토큰 재발급 완료
|
|
- [ ] Intents 3개 활성화
|
|
- [ ] 확장 권한으로 초대 URL 생성
|
|
- [ ] 서버에 봇 재초대
|
|
- [ ] config.yml 작성
|
|
- [ ] Gateway 재시작
|
|
- [ ] DM 테스트
|
|
- [ ] Pairing 승인
|
|
- [ ] 첫 대화 성공
|
|
|
|
---
|
|
|
|
작성일: 2026-02-04
|