- soloist/: soloist-bridge 중계 서버(docker). 곡마다 soloist --single-track을 띄우고 PulseAudio 빈 싱크를 캡처해 MP3 스트림으로 Lavalink(http 소스)에 넘긴다. 첫 소리가 나와야 성공으로 응답, 15초 안에 소리가 없거나 오류면 실패. 한 계정 한 곡 제한 → 다른 길드가 쓰는 중이면 busy. 빌드 만료(90일) 자동 갱신, 페어링 대기 자동 진입. - bot: SOLOIST_URL 설정 시 스포티파이 곡은 재생 직전에 Soloist를 먼저 시도, 실패하면 기존 유튜브 경로. 곡 도중 끊김·위치 이동·음성 재접속은 같은 곡의 유튜브 음원으로 그 위치부터 이어 재생. 오래 걸려 실패하면 5분 동안 유튜브로만 재생. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
45 lines
1.8 KiB
Plaintext
45 lines
1.8 KiB
Plaintext
# ===== music_bot_v2 봇 환경변수 예시 =====
|
|
# 실제 값은 bot/.env 에 넣는다. (bot/.gitignore 의 *.env 로 커밋되지 않음)
|
|
|
|
# --- 디스코드 봇 ---
|
|
TOKEN=디스코드_봇_토큰
|
|
APPID=디스코드_애플리케이션_ID
|
|
PREFIX=m1; # 명령어 접두사 (예: m1; m2; m3;)
|
|
DEBUG=false # true 면 상세 로그
|
|
EMBEDCOLOR=Blue # discord.js Colors 이름 (Blue/Orange/Purple 등)
|
|
|
|
# --- 데이터베이스 (컨테이너 기준 경로, /db 는 호스트 /root/bot/db 마운트) ---
|
|
DBPATH=/db/music1.db
|
|
|
|
# --- 개발/길드 ---
|
|
DEV=false
|
|
GUILDID=길드_ID
|
|
|
|
# --- Lavalink (오디오 재생 노드, .6 호스트) ---
|
|
LAVALINK_HOST=192.168.10.6
|
|
LAVALINK_PORT=2333
|
|
LAVALINK_PW=Lavalink_비밀번호
|
|
|
|
# --- Spotify (검색/미러) ---
|
|
SPOTIFY_CLIENTID=스포티파이_클라이언트ID
|
|
SPOTIFY_SECRET=스포티파이_시크릿
|
|
|
|
# --- 유튜브 쿠키 (성인인증/연령제한 재생 + 유튜브뮤직 검색용) ---
|
|
# 방식 A(권장): Netscape 쿠키 파일 경로. 리졸버(yt-dlp)와 봇이 공유하는 단일 소스.
|
|
# 호스트 /root/bot/db/ytcookie.txt == 컨테이너 /db/ytcookie.txt
|
|
YOUTUBE_COOKIE_PATH=/db/ytcookie.txt
|
|
# 방식 B(하위호환): 쿠키 헤더 문자열을 인라인으로. 설정되면 이 값이 우선한다.
|
|
# YOUTUBE_COOKIE="VISITOR_INFO1_LIVE=...; SID=...; ..."
|
|
|
|
# --- yt-dlp 오디오 리졸버 (성인인증 SABR 우회, .5 호스트에서 실행) ---
|
|
YTRESOLVER_URL=http://192.168.10.5:8779
|
|
|
|
# --- 스포티파이 Soloist 중계 서버 (선택, 리포 루트 soloist/) ---
|
|
# 스포티파이 곡을 Soloist로 먼저 재생하고, 안 되면 유튜브로 재생한다. 비우면 유튜브로만 재생.
|
|
SOLOIST_URL=http://192.168.10.5:8780
|
|
|
|
# --- Redis (대시보드 상태 연동, 선택) ---
|
|
REDIS=true
|
|
REDIS_HOST=192.168.10.7
|
|
REDIS_PORT=6379
|