OpenClaw Discord 연동 완벽 가이드: AI 봇을 디스코드 서버에 연결하기

🎮 OpenClaw Discord 연동이란?

OpenClaw를 Discord에 연동하면 디스코드 서버에서 AI 에이전트와 대화할 수 있어요. DM(개인 메시지)과 서버 채널 모두 지원하며, 멘션 기반 응답, 파일 공유, 리액션 등 다양한 기능을 사용할 수 있죠!

오늘은 Discord 봇을 만들고 OpenClaw와 연동하는 방법을 처음부터 끝까지 알려드릴게요.

✨ 주요 기능

  • 💬 DM 지원: 개인 메시지로 AI와 1:1 대화
  • 🏠 서버 채널 지원: 특정 채널에서 AI 봇 사용
  • 📎 파일 업로드: 최대 8MB 파일 공유
  • 😀 리액션: 이모지 반응 추가/확인
  • 📌 핀 메시지: 중요 메시지 고정
  • 🧵 스레드: 스레드 생성 및 답변
  • 🔍 메시지 검색: 채널 내 메시지 검색
  • 👥 멤버 정보: 서버 멤버 정보 조회

📋 사전 준비

  • OpenClaw 설치: 아직 설치하지 않았다면 먼저 설치하세요
  • Discord 계정: 봇을 만들 Discord 계정
  • Discord 서버: 봇을 테스트할 서버 (없다면 새로 만드세요)

🤖 1단계: Discord 봇 생성하기

Discord Developer Portal 접속

  1. Discord Developer Portal 접속
  2. Discord 계정으로 로그인
  3. “New Application” 클릭
  4. 애플리케이션 이름 입력 (예: “My OpenClaw Bot”)
  5. “Create” 클릭

봇 사용자 추가

  1. 왼쪽 메뉴에서 “Bot” 클릭
  2. “Add Bot”“Yes, do it!” 클릭
  3. “Reset Token” 클릭하여 봇 토큰 생성
  4. 토큰을 복사하여 안전한 곳에 저장 (⚠️ 절대 공개하지 마세요!)

⚙️ 2단계: 봇 권한 설정 (중요!)

Discord는 “Privileged Gateway Intents”를 명시적으로 활성화해야 해요.

필수 Intent 활성화

Bot → Privileged Gateway Intents에서:

  • Message Content Intent: 메시지 내용 읽기 (필수!)
  • Server Members Intent: 멤버 조회 및 허용 목록 매칭 (권장)
  • Presence Intent: 보통 불필요

⚠️ Message Content Intent를 활성화하지 않으면 봇이 메시지에 반응하지 않아요!

🔗 3단계: 봇 초대 URL 생성

OAuth2 → URL Generator로 이동:

Scopes 선택

  • bot
  • applications.commands (슬래시 명령어용)

Bot Permissions 선택

  • ✅ View Channels (채널 보기)
  • ✅ Send Messages (메시지 보내기)
  • ✅ Read Message History (메시지 기록 읽기)
  • ✅ Embed Links (링크 임베드)
  • ✅ Attach Files (파일 첨부)
  • ✅ Add Reactions (리액션 추가)
  • ✅ Use External Emojis (외부 이모지 사용, 선택)

⚠️ Administrator 권한은 테스트 목적이 아니라면 피하세요!

서버에 봇 초대

  1. 생성된 URL을 복사
  2. URL을 브라우저에서 열기
  3. 봇을 추가할 서버 선택
  4. “Authorize” 클릭

🔑 4단계: ID 확인하기

OpenClaw 설정에는 ID가 필요해요.

개발자 모드 활성화

  1. Discord 앱 → 사용자 설정고급
  2. “개발자 모드” 활성화

ID 복사 방법

  • 서버 ID: 서버 이름 우클릭 → “서버 ID 복사”
  • 채널 ID: 채널 우클릭 → “채널 ID 복사”
  • 사용자 ID: 사용자 우클릭 → “사용자 ID 복사”

📝 5단계: OpenClaw 설정

환경 변수로 토큰 설정 (권장)

export DISCORD_BOT_TOKEN="your_bot_token_here"

설정 파일로 토큰 설정

~/.openclaw/openclaw.json 파일 편집:

{
  "channels": {
    "discord": {
      "enabled": true,
      "token": "YOUR_BOT_TOKEN"
    }
  }
}

기본 설정 예시 (DM + 특정 서버)

{
  "channels": {
    "discord": {
      "enabled": true,
      "token": "YOUR_BOT_TOKEN",
      "dm": {
        "enabled": true,
        "policy": "pairing"
      },
      "guilds": {
        "YOUR_GUILD_ID": {
          "requireMention": true,
          "channels": {
            "general": { "allow": true },
            "help": { "allow": true, "requireMention": true }
          }
        }
      }
    }
  }
}

🔒 6단계: 보안 설정

DM 정책 (dm.policy)

  • "pairing" (기본/권장): 최초 연락 시 페어링 코드로 승인
  • "allowlist": 허용 목록의 사용자만 DM 가능
  • "open": 누구나 DM 가능 (주의!)
  • "disabled": DM 비활성화

서버 채널 정책 (groupPolicy)

  • "allowlist" (기본): 허용된 채널만 응답
  • "open": 모든 채널에서 응답
  • "disabled": 서버 채널 비활성화

멘션 필수 설정

공용 채널에서는 requireMention: true를 권장해요. 봇이 @멘션될 때만 응답해서 스팸을 방지할 수 있어요.

"guilds": {
  "YOUR_GUILD_ID": {
    "requireMention": true,
    "channels": {
      "help": { "allow": true, "requireMention": true }
    }
  }
}

▶️ 7단계: 게이트웨이 실행

openclaw gateway

Discord 토큰이 설정되어 있으면 자동으로 Discord 채널이 시작돼요.

연결 확인

openclaw status
openclaw channels status --probe

✅ 8단계: 테스트하기

  1. Discord 서버의 허용된 채널로 이동
  2. 봇을 멘션하며 메시지 전송: @MyBot 안녕하세요!
  3. 봇이 응답하면 성공! 🎉

DM 테스트

  1. 봇에게 DM 전송
  2. dm.policy="pairing"인 경우 페어링 코드 발급
  3. 터미널에서 승인: openclaw pairing approve discord <code>

🔧 고급 설정

채널별 스킬 제한

"channels": {
  "help": {
    "allow": true,
    "skills": ["search", "docs"],
    "systemPrompt": "짧고 간결하게 답변하세요."
  }
}

사용자 허용 목록

"guilds": {
  "YOUR_GUILD_ID": {
    "users": ["USER_ID_1", "USER_ID_2"],
    "channels": {
      "admin": {
        "allow": true,
        "users": ["ADMIN_USER_ID"]
      }
    }
  }
}

리액션 알림 설정

"guilds": {
  "YOUR_GUILD_ID": {
    "reactionNotifications": "own"  // off, own, all, allowlist
  }
}

메시지 청킹 설정

"discord": {
  "textChunkLimit": 2000,
  "maxLinesPerMessage": 17,
  "chunkMode": "newline"
}

❓ 자주 발생하는 문제

“Used disallowed intents” 에러

Discord Developer Portal에서 Message Content IntentServer Members Intent를 활성화하세요.

봇이 메시지에 반응하지 않음

  • Message Content Intent가 활성화되어 있는지 확인
  • 채널 권한 확인 (View/Send/Read History)
  • requireMention: true인데 멘션하지 않은 경우
  • 채널이 허용 목록에 없는 경우

DM이 작동하지 않음

  • dm.enabled: false인지 확인
  • dm.policy: "pairing"인 경우 승인이 필요

권한 오류

봇에게 필요한 채널 권한이 있는지 확인하세요:

  • View Channels
  • Send Messages
  • Read Message History

🛠️ 유용한 CLI 명령어

# 채널 상태 확인
openclaw channels status --probe

# 문제 진단
openclaw doctor

# 페어링 승인
openclaw pairing approve discord <code>

# 게이트웨이 재시작
openclaw gateway --force

🎯 실전 활용 아이디어

  • 커뮤니티 헬프봇: #help 채널에서 자동 답변
  • 공지 봇: 중요 공지 자동 발송
  • 코딩 도우미: #dev 채널에서 코드 리뷰
  • 번역 봇: 다국어 커뮤니티 지원
  • 모더레이션: 스팸 감지 및 관리 (주의해서 사용)

🔗 유용한 리소스

🎉 마무리

OpenClaw와 Discord 연동은 생각보다 간단해요! Discord Developer Portal에서 봇을 만들고, OpenClaw 설정 파일에 토큰만 추가하면 끝이에요.

멘션 기반 응답과 채널별 권한 설정으로 안전하게 운영할 수 있고, DM과 서버 채널 모두에서 AI 에이전트를 활용할 수 있어요. 여러분의 Discord 서버에 AI 봇을 추가해 보세요! 🎮

궁금한 점이 있으시다면 댓글로 남겨주세요. 즐거운 Discord 봇 운영 되세요!