봇 생성 및 배포하기

디스코드 개발자 센터에서 봇 애플리케이션 등록, 토큰 발급, 그리고 디스호스트에서 컨테이너를 가동하기까지의 전체 과정을 상세히 다룹니다.

디스호스트에서 나만의 봇을 배포하기 위해서는 먼저 디스코드 공식 개발자 포털(Developer Portal)에서 봇 애플리케이션을 생성하고, 서버 접속 인증 정보인 봇 토큰(Token) 발급받아야 합니다.


1단계: 디스코드 개발자 포털에서 봇 등록

  1. 포털 접속: 디스코드 개발자 포털(Discord Developer Portal)에 접속하여 디스코드 계정으로 로그인합니다.
  2. 애플리케이션 생성: 우측 상단의 New Application 버튼을 클릭합니다.
    • 팝업창이 뜨면 봇의 서비스명을 기입하고, 디스코드 개발자 약관 동의 체크박스에 체크한 뒤 Create를 누릅니다.
  3. Bot 설정 활성화: 왼쪽 메뉴 목록에서 Bot 탭으로 이동합니다.
  4. 토큰 발급 (Reset Token):
    • Reset Token 버튼을 누른 후 보안 문자 인증을 완료합니다.
    • 화면에 표시되는 알파벳과 기호의 긴 조합 문자열이 바로 봇 토큰입니다.
    • 복사하여 메모장 등 안전한 로컬 저장소에 기입해 둡니다.

주의

토큰은 봇의 비밀번호입니다! 토큰이 외부(GitHub 공개 리포지토리 등)에 단 1초라도 유출되면 해커가 봇 계정을 탈취하여 불법 웹훅 발송이나 스팸 메시지 유포에 악용할 수 있습니다. 노출 즉시 포털에서 Reset Token을 수행하여 재생성해야 합니다.

  1. 인텐트(Intents) 필수 설정:
    • 동일한 Bot 페이지에서 스크롤을 아래로 내리면 Privileged Gateway Intents 섹션이 있습니다.
    • 봇이 메시지를 수신하거나 멤버들의 접속 상태 변화를 감지하기 위해서는 해당하는 토글 스위치(특히 Message Content Intent)를 활성화해야 합니다.
    • 변경 사항을 적용한 뒤 하단의 Save Changes 버튼을 눌러 저장합니다.

2단계: 디스호스트 대시보드 연동

  1. 대시보드 접속: 디스호스트 공식 대시보드 콘솔(/dashboard)로 이동합니다.
  2. 봇 생성 위저드: 우측 상단에 위치한 봇 생성 버튼을 클릭합니다.
  3. 프로젝트 설정 기입:
    • 프로젝트 이름: 본인이 관리하기 편한 영문/한글 이름을 적습니다. (예: 나의-안내봇)
    • 디스코드 봇 토큰: 위 1단계에서 발급받아 복사한 토큰 문자열을 그대로 붙여넣습니다.
    • 런타임 엔진 (플랫폼):
      • NodeJS: JavaScript 또는 TypeScript로 개발할 때 선택합니다.
      • Python: Python(discord.py, nextcord)으로 개발할 때 선택합니다.
  4. 연동 완료: 생성하기를 클릭하면 컨테이너 격리 볼륨이 자동 생성되며 가상 서버가 즉시 셋업됩니다.

3단계: 소스코드 구성 및 파일 매니징

  1. 봇 관리 패널 진입: 대시보드 리스트에서 방금 만든 봇 카드를 클릭합니다.
  2. 필수 파일 업로드:
    • 파일 매니저 탭으로 이동합니다.
    • Node.js 개발 시: 프로젝트의 핵심 소스 파일(index.js)과 설치할 패키지 정보가 명시된 package.json 파일을 드래그 앤 드롭으로 업로드합니다.
    • Python 개발 시: 진입점 소스 파일(main.py 또는 bot.py)과 requirements.txt 파일을 드래그 앤 드롭으로 업로드합니다.
  3. 런타임 진입점 체크:
    • 스타트업 설정 탭에서 실행될 진입 파일 이름이 본인이 올린 파일 이름(예: index.js)과 일치하는지 확인합니다.

4단계: 무중단 구동 개시

  1. 가동 시작: 화면 최상단의 제어 도구바에서 시작 (Start) 버튼을 누릅니다.
  2. 실시간 로그 모니터링:
    • 중앙의 실시간 콘솔 창에 부팅 프로세스 로그가 흘러가는지 봅니다.
    • 시스템이 종속 패키지(node_modules 또는 python 라이브러리)를 감지하고 누락된 패키지가 있다면 자동으로 백업 서버에서 fetch해와 설치를 시작합니다.
  3. 구동 완료: 로그 콘솔에 Client is ready! 또는 본인이 코드에 작성한 로그인 준비 메시지가 출력되면 성공입니다. 서버 목록에서 봇이 온라인으로 나타나는 것을 확인할 수 있습니다.