<<<<<<< HEAD ALPD는 디스코드 음성 채널에서 사용자의 음성을 실시간으로 녹음 → Whisper로 음성 인식 → 금칙어를 감지하면 관리자 채널에 알림을 보내는 디스코드 봇입니다.
음성 채팅 중 부적절한 발언(금칙어)을 자동으로 감지하여 관리에 도움을 줍니다.
✨ 주요 기능
🎧 디스코드 음성 채널 실시간 녹음
🧠 OpenAI Whisper 기반 음성 → 텍스트 변환 (한국어)
🚨 금칙어 감지 시 알림 채널로 즉시 경고
⚙️ 서버별 금칙어 / 알림 채널 개별 설정
🛑 명령어로 음성 인식 시작 / 중지 제어
🛠️ 사용 기술
Node.js
discord.js v14
@discordjs/voice
FFmpeg
Python + Whisper
prism-media / wav
📦 설치 방법 1️⃣ 필수 요구 사항
Node.js 18 이상
Python 3.9 이상
FFmpeg 설치
Whisper 설치
pip install -U openai-whisper
FFmpeg 설치 후 경로가 /usr/bin/ffmpeg 가 아니라면 index.js의 아래 부분을 수정하세요.
const FFMPEG = "/usr/bin/ffmpeg";
2️⃣ 프로젝트 설치 git clone <레포지토리 주소> cd alpd npm install
3️⃣ config.json 설정 { "token": "디스코드 봇 토큰", "clientId": "디스코드 애플리케이션 ID" }
4️⃣ 슬래시 명령어 등록 node deploy-commands.js
5️⃣ 봇 실행 node index.js
📖 명령어 설명 /startpd
사용자가 현재 들어가 있는 음성 채널에 봇이 접속
음성 녹음을 시작하고 Whisper 음성 인식을 활성화
❗ 음성 채널에 들어가 있지 않으면 실행되지 않습니다.
/stoppd
음성 인식을 중지
봇이 음성 채널에서 나감
모든 리스너 제거
/alpd-settings
서버별 ALPD 설정을 관리합니다.
🔔 알림 채널 설정
금칙어 감지 시 알림을 받을 텍스트 채널 선택
✏️ 금칙어 설정
쉼표(,)로 구분하여 금칙어 입력
예시:
바보, 멍청이
⚙️ 동작 방식
/startpd 실행
봇이 음성 채널에 접속
사용자가 말하면 음성을 WAV 파일로 저장
Whisper로 음성을 텍스트로 변환
변환된 텍스트에서 금칙어 탐색
금칙어 발견 시 설정된 알림 채널에 경고 메시지 전송
🚨 알림 예시 🚨 @사용자 금칙어 감지됨
📁 파일 구조 . ├─ index.js # 메인 봇 로직 ├─ deploy-commands.js # 슬래시 명령어 등록 ├─ config.json # 봇 설정 (토큰 등) ├─ settings.json # 서버별 설정 저장 ├─ audio/ # 녹음 및 Whisper 결과 파일 └─ README.md
Whisper 실행을 위해 Python 환경 필수
서버 환경에서 FFmpeg 경로가 다를 수 있음
음성 데이터는 처리 후 자동 삭제됨
Bot detects banned words in discord.
2797f00e7151993df084df2c09081f04ed7e5249