본문 바로가기
OpenClaw

[openclaw 완전 가이드] 7편 Discord 봇으로 OpenClaw 연결하기 — 서버·DM 모두 지원

by 퀀트형 Kai 2026. 3. 29.
반응형

하루 중 가장 오랫동안 켜두는 앱이 디스코드라면, 나만의 AI 비서도 그곳에 있어야 하지 않을까요? 팀원들과 함께 쓰는 서버에서 코드를 분석하게 하거나, 개인 DM으로 조용히 일정을 관리하는 것, 모두 가능합니다.

이번 7편에서는 openclaw 디스코드 봇 연결 방법을 처음부터 끝까지 다룹니다. Developer Portal에서 봇을 만들고, 설정 파일에 등록하고, 서버에 초대하는 전 과정을 단계별로 따라 할 수 있습니다. 권한 통제와 보안 설정까지 포함해 실제 운영 환경에 바로 적용 가능한 수준으로 안내합니다.

지난 편(이전: Telegram 봇 연결 — 가장 쉬운 채널 세팅 5분 완성)에서는 가장 간단한 텔레그램 채널 연결을 다뤘습니다. 이번 디스코드는 설정이 조금 더 많지만, 서버·채널·DM별 세밀한 권한 제어가 가능하다는 것이 핵심 강점입니다.

Discord Developer Portal에서 봇 생성 및 토큰 발급

디스코드 봇을 만드는 첫 번째 관문은 Discord Developer Portal입니다. 이곳에서 봇 계정을 생성하고, OpenClaw가 디스코드 서버에 접속할 때 사용할 봇 토큰을 발급받습니다. 텔레그램의 BotFather와 동일한 역할이지만, 웹 대시보드 방식으로 진행합니다.

봇 생성 순서

  1. Discord Developer Portal에 접속해 로그인합니다.
  2. 우측 상단 [New Application]을 클릭 → 봇 이름 입력(예: MyClawBot) → Create.
  3. 좌측 메뉴 [Bot] 탭 이동 → [Reset Token] 클릭 → 토큰 복사 후 안전한 곳에 보관.
  4. 같은 [Bot] 탭 하단 Privileged Gateway Intents 섹션에서 Message Content Intent반드시 ON으로 활성화합니다.
⚠️ Message Content Intent 필수 이 옵션을 켜지 않으면 봇이 사용자 메시지를 읽을 수 없어 아무 대답도 하지 않습니다. 가장 흔한 초기 설정 실수이니 반드시 확인하세요.
ℹ️ 봇 토큰 보안 발급받은 토큰은 절대 외부에 공개하지 마세요. GitHub 등 공개 저장소에 올리는 실수를 특히 조심해야 합니다. 유출 시 [Regenerate]로 즉시 재발급하세요.
💡 핵심 요약 Developer Portal → New Application → Bot 탭 → 토큰 발급 → Message Content Intent ON. 이 4단계로 봇 준비가 완료됩니다.

openclaw.json에 디스코드 채널 등록하기

토큰을 발급받았다면 ~/.openclaw/openclaw.json 파일을 열고 channels 블록에 디스코드 설정을 추가합니다. 디스코드는 텔레그램보다 설정 항목이 많지만, 그만큼 서버별·채널별·사용자별 접근 제어가 정밀합니다.

설정 파일 예시 (권장 기본 구성)

{
  "channels": {
    "discord": {
      "enabled": true,
      "token": "복사해둔_디스코드_봇_토큰",
      "groupPolicy": "allowlist",
      "dm": {
        "enabled": true,
        "policy": "allowlist",
        "allowFrom": ["본인의_디스코드_유저_ID"]
      },
      "guilds": {
        "내_서버_길드_ID": {
          "requireMention": true,
          "users": ["허용할_유저_ID"],
          "channels": {
            "*": { "allow": true }
          }
        }
      }
    }
  }
}
💡 환경변수로 토큰 분리하기 토큰을 설정 파일에 직접 입력하는 대신 "token": "${DISCORD_BOT_TOKEN}"으로 작성하고, 실제 값은 ~/.openclaw/.env 파일에 DISCORD_BOT_TOKEN=실제토큰 형태로 보관하면 보안이 훨씬 강해집니다.

게이트웨이 재시작 및 서버 초대 — 단계별 가이드

설정 파일 수정이 끝났다면 아래 순서대로 따라 하시면 5분 내에 디스코드에서 AI와 첫 대화를 나눌 수 있습니다.

  1. 게이트웨이 재시작디스코드 채널 설정은 Hot Reload가 되지 않으므로 반드시 재시작이 필요합니다.
  2. openclaw gateway restart # 정상 연결 시: ✅ Discord channel connected
  3. OAuth2 URL 생성 — 봇 초대 링크 만들기Developer Portal → 해당 앱 → 좌측 메뉴 [OAuth2] → [URL Generator]로 이동합니다.
    Scopes에서 bot 체크 → Bot Permissions에서 Read Messages/View Channels, Send Messages 체크 → 하단 생성된 URL 복사.
  4. 서버에 봇 초대복사한 URL을 브라우저에 붙여넣기 → 원하는 서버 선택 → 권한 확인 후 [승인] 클릭.
  5. 디스코드에서 첫 메시지 전송봇을 초대한 서버 채널에서 @MyClawBot 안녕처럼 봇을 멘션하며 메시지를 보냅니다. AI가 응답하면 연결 완료입니다.
✅ Pro Tip 봇에게 @MyClawBot 너 이름이 뭐야?라고 멘션해 보세요. AGENTS.md에 설정한 이름·역할로 자기소개를 한다면 채널 연결과 에이전트 설정이 모두 정상입니다.

권한·보안 설정 — allowlist와 requireMention 완전 정복

디스코드 봇을 서버에 초대하면 봇 username을 아는 누구나 멘션할 수 있는 상태가 됩니다. 상용 AI 모델(Claude, GPT)을 사용 중이라면 무단 사용으로 인한 과금이 발생할 수 있으므로 반드시 접근 제어를 설정하세요.

핵심 보안 옵션 3가지

  • groupPolicy: "allowlist": guilds 블록에 등록된 서버 ID에서만 봇이 응답합니다. 봇이 다른 서버에 초대되더라도 아무 반응도 하지 않습니다.
  • requireMention: true: 서버 채널에서 봇을 @태그했을 때만 응답합니다. 일반 잡담에 끼어드는 것을 방지하는 필수 옵션입니다.
  • dm.policy: "allowlist": DM도 allowFrom에 등록된 유저 ID만 사용 가능하게 제한합니다.

디스코드 유저·서버 ID 확인 방법

디스코드 앱 → 사용자 설정 → 고급 → 개발자 모드 ON. 이후 프로필 아이콘이나 서버 이름을 우클릭하면 메뉴 하단에 [ID 복사] 버튼이 나타납니다.

⚠️ 주의 groupPolicy를 설정하지 않으면 봇 초대 링크를 아는 누구든 자신의 서버에 봇을 추가할 수 있습니다. API 비용이 발생하는 모델 사용 시 반드시 "groupPolicy": "allowlist"를 설정하세요.
💡 여기까지 핵심 정리 봇 생성(Developer Portal) → openclaw.json 등록 → 게이트웨이 재시작 → OAuth2 URL로 서버 초대 → requireMention + allowlist로 보안 설정. 이 5단계가 디스코드 연동의 전부입니다.

실전 팁과 주의사항

  • Privacy Mode 기본값 주의: 그룹 서버에서 봇이 모든 메시지를 수신하려면 Developer Portal의 해당 봇 설정에서 Privacy Mode를 비활성화해야 합니다. 기본값은 멘션된 메시지만 수신하는 활성화 상태입니다.
  • 봇 이름·설명 나중에 수정 가능: Developer Portal에서 언제든 이름, 설명, 아이콘을 변경할 수 있습니다. 단, username(봇 고유 태그)은 변경이 제한적이므로 처음에 신중히 결정하세요.
  • 게이트웨이 상시 실행 필수: 봇이 24시간 응답하려면 OpenClaw 게이트웨이도 24시간 실행 상태여야 합니다. pm2systemd를 활용해 백그라운드 데몬으로 등록하면 편리합니다.
  • 토큰 유출 시 즉시 재발급: Developer Portal → Bot 탭 → [Regenerate Token]으로 새 토큰을 발급받고 openclaw.json도 함께 업데이트하세요. 구 토큰은 즉시 무효화됩니다.

자주 묻는 질문 (FAQ)

봇을 서버에 초대했더니 일반 잡담에도 다 끼어들어서 응답해요. 어떻게 막나요?
openclaw.json의 guilds 설정에 "requireMention": true를 추가하세요. 이 옵션을 켜면 사용자가 @봇이름으로 명시적으로 멘션했을 때만 응답합니다. 설정 후 게이트웨이를 재시작하면 즉시 적용됩니다.
봇 링크를 다른 사람이 알아내서 자기 서버에 초대하면 내 API 요금이 나가지 않나요?
안심하세요. groupPolicy: "allowlist"guilds에 허용된 서버 ID만 등록해두면, 봇이 다른 서버에 초대되더라도 권한 없는 서버에서는 아무 응답도 하지 않습니다. API 호출 자체가 일어나지 않습니다.
디스코드 유저 ID나 서버(Guild) ID는 어디서 확인하나요?
디스코드 앱 → 사용자 설정 → 고급 → 개발자 모드를 ON으로 켜세요. 이후 프로필 아이콘이나 서버 이름을 우클릭하면 메뉴 하단에 [ID 복사하기] 버튼이 나타납니다. 이 숫자가 설정 파일에 입력할 고유 ID입니다.
디스코드 봇 토큰을 설정 파일에 직접 써도 괜찮은가요?
동작은 하지만 보안상 권장하지 않습니다. "token": "${DISCORD_BOT_TOKEN}"처럼 환경 변수 형태로 작성하고, 실제 값은 ~/.openclaw/.env에 별도 보관하는 것이 안전합니다. 설정 파일을 백업하거나 공유할 때 토큰이 유출되는 사고를 방지할 수 있습니다.

🔜 다음 편 예고
다음: WhatsApp + OpenClaw QR 페어링 완전 가이드

전 세계 20억 명이 사용하는 왓츠앱(WhatsApp)에 QR 코드 스캔 한 번으로 OpenClaw를 연동하는 방법을 다룹니다. 해외 클라이언트·팀원과 왓츠앱으로 소통하는 분이라면 다음 편이 특히 유용합니다.

→ 다음 편 바로가기    전체 목록 보기

이 글이 도움이 됐다면 댓글로 여러분의 디스코드 봇 활용 사례를 알려주세요! 🙌

openclaw 디스코드 연결 과정에서 막히는 부분은 댓글에 남겨주세요 — 직접 답변드립니다.

📬 새 편 알림 받기 → AI 활용 가이드 구독

 

반응형

댓글