Skip to content

woojin0515/AL-PD

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

<<<<<<< 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

⚠️ 글로벌 명령어이므로 최대 1시간 정도 걸릴 수 있습니다.

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 경로가 다를 수 있음

음성 데이터는 처리 후 자동 삭제됨

개인 서버 / 테스트 환경에서 사용 권장

AL-PD

Bot detects banned words in discord.

2797f00e7151993df084df2c09081f04ed7e5249

About

Bot detects banned words in discord.

Resources

License

Stars

1 star

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors