관리 메뉴

cyphen156

[Node.js] 디스코드 주크박스 봇 본문

포트폴리오

[Node.js] 디스코드 주크박스 봇

cyphen156 2025. 9. 15. 11:10

 

프로젝트 소개

Node.jsDiscord.js를 활용해 제작한 Discord 음악 스트리밍 봇입니다.

사용자는 슬래시 명령어를 통해 음악을 재생·제어하고, 큐 및 개인 플레이리스트를 관리할 수 있습니다.

YouTube 스트리밍(yt-dlp + ffmpeg)AES-256-GCM 기반 암호화를 적용했으며, 플레이리스트 데이터는 Azure VM 서버 파일시스템에 안전하게 저장됩니다.

  • 개발자 : 오융택
  • 개발 기간 : 2025.08.18 ~ 2025.08.31 (총 개발일수 7일 / 약 40시간)
  • 기획 의도 : Discord 채널에서 명령어 기반으로 유튜브 음성을 스트리밍하는 간단·경량 주크박스 봇
  • 개발 목표
    • YouTube 음악 스트리밍
    • 재생 큐 및 플레이리스트 관리 기능
    • 플레이리스트 AES-256-GCM 암호화  저장
    • Azure VM 서버를 통한 24시간 상시 서비스 운영

수행 역할

  • 봇 시스템 구성
    • 음악 로직
    • 데이터 관리
    • 사용자 인터페이스
  • 운영
  • 테스트

핵심 기능

  • 음악 재생
    • /play (검색어/URL/동영상 ID) → 재생
    • /pause, /resume, /skip, /stop → 제어
  • 큐 관리
    • /queue show → 현재 큐 확인
    • /queue add/remove/clear/shuffle → 큐 조작
  • 플레이리스트 관리
    • 길드/유저/이름 단위로 암호화 저장(서버 파일시스템)

실행 방법

  1. 봇 초대: 아래 초대 링크로 서버에 추가 (권한 필요)
  2. 음성 채널 연결: /join 실행
  3. 기능 확인: /help로 카테고리별 명령 확인
  4. 재생: /play <검색어|URL> 입력

기술 스택

  • 언어: JavaScript
  • Discord SDK: discord.js v14, @discordjs/voice
  • 스트리밍: yt-dlp, ffmpeg
  • 서비스/호스팅: Azure Cloud VM
  • 보안: AES-256-GCM
  • 버전관리: GitHub

시연 자료

저장소

 

 

 

 

'포트폴리오' 카테고리의 다른 글

[React Native] Teamony  (0) 2025.09.15
[Unity6] 배틀로얄짬뽕  (0) 2025.09.15
[Unity6] AR Foundation을 활용한 야구 시뮬레이션  (1) 2025.09.15