| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | 7 |
| 8 | 9 | 10 | 11 | 12 | 13 | 14 |
| 15 | 16 | 17 | 18 | 19 | 20 | 21 |
| 22 | 23 | 24 | 25 | 26 | 27 | 28 |
Tags
- 생능출판
- Shimon Schocken
- C
- (주)책만
- https://insightbook.co.kr/
- 밑바닥부터 만드는 컴퓨팅 시스템 2판
- unity6
- C#
- BOJ
- 주우석
- HANBIT Academy
- 게임 수학
- 전공자를 위한 C언어 프로그래밍
- C++
- 김진홍 옮김
- 이득우
- Noam Nisan
- hanbit.co.kr
- The Elements of Computing Systems 2/E
- 입출력과 사칙연산
- 박기현
- JavaScript
- 메타버스
- 백준
- booksr.co.kr
- 일기
- 이득우의 게임수학
- 잡생각 정리글
- 데이터 통신과 컴퓨터 네트워크
- 알고리즘
Archives
- Today
- Total
cyphen156
[Node.js] 디스코드 주크박스 봇 본문
프로젝트 소개
Node.js와 Discord.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 → 큐 조작
- 플레이리스트 관리
- 길드/유저/이름 단위로 암호화 저장(서버 파일시스템)
실행 방법
- 봇 초대: 아래 초대 링크로 서버에 추가 (권한 필요)
- 음성 채널 연결: /join 실행
- 기능 확인: /help로 카테고리별 명령 확인
- 재생: /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 |