dev #11
3
.gitignore
vendored
3
.gitignore
vendored
@@ -37,6 +37,9 @@ env/
|
||||
.env
|
||||
.env.local
|
||||
|
||||
# Configuration (contains sensitive data)
|
||||
config.yml
|
||||
|
||||
# Data
|
||||
data/
|
||||
*.db
|
||||
|
||||
16
README.md
16
README.md
@@ -60,10 +60,15 @@ A lightweight, cost-conscious Discord moderation bot focused on essential protec
|
||||
cd guardden
|
||||
```
|
||||
|
||||
2. Create your environment file:
|
||||
2. Create your configuration files:
|
||||
```bash
|
||||
# Environment variables
|
||||
cp .env.example .env
|
||||
# Edit .env and add your Discord token
|
||||
|
||||
# Bot configuration
|
||||
cp config.example.yml config.yml
|
||||
# Edit config.yml with your settings
|
||||
```
|
||||
|
||||
3. Start with Docker Compose:
|
||||
@@ -84,10 +89,15 @@ A lightweight, cost-conscious Discord moderation bot focused on essential protec
|
||||
pip install -e ".[dev,ai]"
|
||||
```
|
||||
|
||||
3. Set up environment variables:
|
||||
3. Set up configuration:
|
||||
```bash
|
||||
# Environment variables
|
||||
cp .env.example .env
|
||||
# Edit .env with your configuration
|
||||
# Edit .env with your Discord token
|
||||
|
||||
# Bot configuration
|
||||
cp config.example.yml config.yml
|
||||
# Edit config.yml with your settings
|
||||
```
|
||||
|
||||
4. Start PostgreSQL (or use Docker):
|
||||
|
||||
67
config.example.yml
Normal file
67
config.example.yml
Normal file
@@ -0,0 +1,67 @@
|
||||
# GuardDen Configuration
|
||||
# Single YAML file for bot configuration
|
||||
|
||||
# Bot Settings
|
||||
bot:
|
||||
prefix: "!"
|
||||
owner_ids:
|
||||
# Add your Discord user ID here
|
||||
# Example: - 123456789012345678
|
||||
|
||||
# Spam Detection (No AI cost)
|
||||
automod:
|
||||
enabled: true
|
||||
anti_spam_enabled: true
|
||||
message_rate_limit: 5 # Max messages per window
|
||||
message_rate_window: 5 # Window in seconds
|
||||
duplicate_threshold: 3 # Duplicate messages trigger
|
||||
mention_limit: 5 # Max mentions per message
|
||||
mention_rate_limit: 10 # Max mentions per window
|
||||
mention_rate_window: 60 # Mention window in seconds
|
||||
|
||||
# AI Moderation (Images, GIFs only)
|
||||
ai_moderation:
|
||||
enabled: true
|
||||
sensitivity: 80 # 0-100, higher = stricter
|
||||
nsfw_only_filtering: true # Only filter sexual/nude content
|
||||
|
||||
# Cost Controls (Conservative: ~$25/month for 1-2 guilds)
|
||||
max_checks_per_hour_per_guild: 25 # Very conservative limit
|
||||
max_checks_per_user_per_hour: 5 # Prevent user abuse
|
||||
max_images_per_message: 2 # Check max 2 images per message
|
||||
max_image_size_mb: 3 # Skip images larger than 3MB
|
||||
|
||||
# Feature Toggles
|
||||
check_embed_images: true # Check GIFs from Discord picker (enabled per user request)
|
||||
check_video_thumbnails: false # Skip video thumbnails (disabled per user request)
|
||||
url_image_check_enabled: false # Skip URL image downloads (disabled per user request)
|
||||
|
||||
# User Blocklist (No AI cost)
|
||||
# Block all images, GIFs, embeds, and URLs from these users
|
||||
# Add Discord user IDs here
|
||||
blocked_user_ids:
|
||||
# Example: - 123456789012345678
|
||||
|
||||
# NSFW Video Domain Blocklist (No AI cost)
|
||||
# These domains are blocked instantly without AI analysis
|
||||
nsfw_video_domains:
|
||||
- pornhub.com
|
||||
- xvideos.com
|
||||
- xnxx.com
|
||||
- redtube.com
|
||||
- youporn.com
|
||||
- tube8.com
|
||||
- spankwire.com
|
||||
- keezmovies.com
|
||||
- extremetube.com
|
||||
- pornerbros.com
|
||||
- eporner.com
|
||||
- tnaflix.com
|
||||
- drtuber.com
|
||||
- upornia.com
|
||||
- perfectgirls.net
|
||||
- xhamster.com
|
||||
- hqporner.com
|
||||
- porn.com
|
||||
- sex.com
|
||||
- wetpussy.com
|
||||
@@ -22,6 +22,7 @@ services:
|
||||
volumes:
|
||||
- guardden_data:/app/data
|
||||
- guardden_logs:/app/logs
|
||||
- ./config.yml:/app/config.yml:ro
|
||||
networks:
|
||||
- guardden
|
||||
healthcheck:
|
||||
|
||||
Reference in New Issue
Block a user