Files

5.4 KiB

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 파일:

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 대신 환경변수로도 가능:

export DISCORD_BOT_TOKEN="YOUR_NEW_TOKEN"

그 후 Gateway 재시작:

openclaw gateway restart

6단계: Pairing 승인

DM으로 봇에게 메시지 보내면 pairing code가 나옵니다:

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