diff --git a/.env.example b/.env.example index d0d3c392..fb65cc35 100644 --- a/.env.example +++ b/.env.example @@ -18,31 +18,12 @@ MONITOR_GUILD_ID=your_guild_id_here # Target guild for text monitoring TEXT_GUILD_ID=optional_text_guild_id # Override text capture guild (falls back to MONITOR_GUILD_ID) TEXT_CHANNEL_ID=optional_text_channel_id # Restrict text capture to a single channel -# === Voice Channels === -# VOICE_GUILD_ID= # Guild for voice connection (optional) -# VOICE_CHANNEL_ID= # Channel for voice connection (optional) - -# === Recording === -RECORDINGS_DIR=./recordings # Audio file output directory (default: ./recordings) -RECORDING_SEGMENT_MS=5000 # OGG segment duration in ms (default: 5000) - -# === Decoder === -DECODER_ROTATE_MS=5000 # Opus decoder rotation interval in ms (default: 5000) -DECODER_COOLDOWN_MS=30000 # Decoder error cooldown in ms (default: 30000) - -# === Audio === -AUDIO_STREAM_SILENCE_DURATION_MS=3000 # Silence threshold in ms before stopping stream (default: 3000) -PACKET_FILTER_MIN_SIZE=8 # Minimum Opus packet size in bytes (default: 8) -OPUS_FRAME_SIZE=960 # Opus frame size in samples (default: 960) -AUDIO_SAMPLE_RATE=48000 # Audio sample rate in Hz (default: 48000) -AUDIO_CHANNELS=2 # Number of audio channels (default: 2) AVATAR_SIZE=64 # User avatar size in pixels (default: 64) # === Webserver === WEBSERVER_PORT=4001 # Backend HTTP/WS server port (default: 4001) # === Connection === -VOICE_CONNECTION_TIMEOUT_MS=15000 # Voice connection timeout in ms (default: 15000) RECONNECT_TIMEOUT_MS=5000 # Reconnect timeout in ms (default: 5000) # === Logging === @@ -69,11 +50,6 @@ POSTGRES_POOL_MAX=10 # Maximum pool connections (default: 10) # === Redis === REDIS_URL=redis://100.121.180.82:6379 # Redis connection string (default: redis://localhost:6379) -# === Voice PCM WebSocket (direct gateway→backend, bypasses Redis) === -VOICE_PCM_WS_ENABLED=true # Use direct WS for PCM audio (default: true) -BACKEND_WS_URL=ws://backend:4001/ws # Backend WebSocket URL for gateway PCM streaming -BACKEND_WS_TOKEN= # REQUIRED if VOICE_PCM_WS_ENABLED=true. Internal shared secret - # === Attachments === TELE_UPLOAD_URL=https://upload.asepharyana.my.id/api/upload # Attachment upload endpoint (default) ATTACHMENT_UPLOAD_TIMEOUT_MS=30000 # Upload timeout in ms (default: 30000) @@ -132,7 +108,6 @@ AUTO_DELETE_LOG_CHANNEL_ID= # Channel ID to log auto-delete actions # === Retention (0 = disabled) === RETENTION_MESSAGES_DAYS=0 # Message retention in days (default: 0 = off) RETENTION_ATTACHMENTS_DAYS=0 # Attachment retention in days (default: 0 = off) -RETENTION_VOICE_DAYS=0 # Voice recording retention in days (default: 0 = off) RETENTION_CLEANUP_INTERVAL_MS=86400000 # Cleanup interval in ms (default: 24h) RETENTION_DRY_RUN=true # Dry-run: log but do not delete (default: true) diff --git a/AGENTS.md b/AGENTS.md index 5dd161de..3fee0fca 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -1,6 +1,6 @@ # GMW — Agent Guide -GMW (Guild Moderation Watcher) is a Discord bot + web dashboard for AI-powered moderation. A monorepo with three services: a selfbot gateway that captures messages/voice and runs LLM moderation, an Express/oRPC backend that serves the dashboard API, and a Next.js 16 SSR frontend. They communicate via Redis pub/sub (gateway→backend) and WebSocket (backend→browser). +GMW (Guild Moderation Watcher) is a Discord bot + web dashboard for AI-powered moderation. A monorepo with three services: a selfbot gateway that captures Discord events and runs LLM moderation, an Express/oRPC backend that serves the dashboard API, and a Next.js 16 SSR frontend. They communicate via Redis pub/sub (gateway→backend) and WebSocket (backend→browser). ## Quick reference diff --git a/docs/specs/2026-08-22_voice-audio-playback-polish.md b/docs/specs/2026-08-22_voice-audio-playback-polish.md deleted file mode 100644 index f4eab561..00000000 --- a/docs/specs/2026-08-22_voice-audio-playback-polish.md +++ /dev/null @@ -1,67 +0,0 @@ -# Spec: Perbagus fitur Voice + Audio Playback (GMW frontend) - -Tanggal: 2026-08-22 · Scope: **frontend only** (backend/gateway API sudah cukup) - -## Masalah (audit) -1. Recordings: semua kartu pakai `