Upgrade your Discord server's vouch system with slash commands, analytics, and cloud-ready features
Quick Start โข Features โข Commands โข Installation โข Deploy
|
|
|
Slash commands with interactive UI, autocomplete, and embeds |
SQLite, PostgreSQL & JSON support with filtering and fast queries |
Statistics, user analytics, and insights |
|
Role-based permissions, audit logging, and input validation |
Deployment to Railway, Heroku, and other cloud platforms |
Async operations, connection pooling, and caching |
Get up and running in under 5 minutes with automated setup.
Windows:
# 1๏ธโฃ Download setup.bat
# 2๏ธโฃ Right-click โ "Run as administrator"
# 3๏ธโฃ Follow the interactive wizard
# Bot is ready!Linux/Mac:
# 1๏ธโฃ Make executable and run
chmod +x setup.sh && ./setup.sh
# 2๏ธโฃ Follow the interactive wizard
# Bot is ready!# 1๏ธโฃ Clone and install
git clone https://github.com/06T/DCordVouches.git
cd DCordVouches
pip install -r requirements.txt
# 2๏ธโฃ Configure (choose your storage type)
cp config.ini.example config.ini
# Edit config.ini with your bot token and settings
# 3๏ธโฃ Choose storage: SQLite, PostgreSQL, or JSON
# DATABASE_TYPE = sqlite # Local database (recommended)
# DATABASE_TYPE = json # Simple files (original format)
# DATABASE_TYPE = postgresql # Cloud database (production)
# 4๏ธโฃ Run the bot
python bot.py
# ๐ Migrating from v1.0? Run this first:
python migrate.pyYour bot is now running with all the features!
| Command | Description | Example |
|---|---|---|
/vouch |
Submit a vouch with rating | /vouch product:Discord Bot review:Great bot! stars:5 |
/myvouch |
View your personal vouch history | /myvouch |
/stats |
Server-wide vouch statistics | /stats |
| Command | Description | Access |
|---|---|---|
/admin restore |
Restore all vouches to channel | Admin Role |
/admin export |
Export data to JSON | Admin Role |
/admin delete |
Remove specific vouch | Admin Role |
/admin purge |
Clean old vouches (30+ days) | Admin Role |
/analytics |
Analytics dashboard | Access Role |
Get started in minutes with our interactive setup wizards:
Windows Users:
# Download and run the setup script
setup.bat
# Follow the interactive prompts - no technical knowledge required!Linux/Mac Users:
# Make executable and run
chmod +x setup.sh && ./setup.sh
# Follow the interactive prompts - handles everything automatically!What the setup wizard does:
- โ Validates Python installation
- โ Installs all dependencies
- โ Guides you through Discord setup
- โ Creates configuration interactively
- โ Offers database choice (SQLite/PostgreSQL/JSON)
- โ Migrates old data if present
- โ Starts your bot immediately
๐ SQLite Database (Recommended)
Good for most servers:
git clone https://github.com/06T/DCordVouches.git
cd DCordVouches
pip install -r requirements.txt
cp config.ini.example config.iniConfiguration:
[Bot]
TOKEN = your_bot_token_here
DATABASE_TYPE = sqlite
DATABASE_URL = vouches.db
REVIEW_CHANNEL_ID = 123456789012345678
ACCESS_ROLE_ID = 123456789012345678๐ JSON File Storage (Original Format)
Simple file-based storage, compatible with v1.0:
# Same installation as above
pip install -r requirements.txt
cp config.ini.example config.iniConfiguration:
[Bot]
TOKEN = your_bot_token_here
DATABASE_TYPE = json
DATABASE_URL = vouches.json
REVIEW_CHANNEL_ID = 123456789012345678
ACCESS_ROLE_ID = 123456789012345678Features:
- โ Human-readable data format
- โ Easy manual editing/inspection
- โ Automatic backups (keeps last 5)
- โ Compatible with original vouch system
- โ All modern features still available
๐ PostgreSQL Database (Production)
Cloud database for large servers and production deployment:
Step 1: Database Setup
- Create PostgreSQL database (Railway, Heroku, AWS RDS, etc.)
- Copy the connection URL
Step 2: Configuration
[Bot]
TOKEN = your_bot_token_here
DATABASE_TYPE = postgresql
DATABASE_URL = postgresql://user:password@host:port/database
REVIEW_CHANNEL_ID = 123456789012345678
ACCESS_ROLE_ID = 123456789012345678Step 3: Deploy
python bot.py # Local development
# Or deploy to cloud platform๐ Migration from v1.0
Upgrade your existing vouch data:
# 1. Backup your data (recommended)
cp vouches.json vouches_backup.json
# 2. Set up the new bot (follow installation above)
# 3. Run migration
python migrate.py
# 4. Verify migration
python -c "from database import *; import asyncio; asyncio.run(DatabaseManager().get_stats())"Migration features:
- โ Preserves all existing vouches
- โ Maintains user data and timestamps
- โ Creates automatic backup
- โ Validates data integrity
- โ Zero downtime migration
|
Easy deployment
|
Traditional PaaS
|
Enterprise deployment
|
Containerized deployment
|
# Required
BOT_TOKEN=your_discord_bot_token
REVIEW_CHANNEL_ID=123456789012345678
ACCESS_ROLE_ID=123456789012345678
# Database (choose one)
DATABASE_TYPE=sqlite
DATABASE_URL=vouches.db
# OR for PostgreSQL
DATABASE_TYPE=postgresql
DATABASE_URL=postgresql://user:pass@host:port/db
# Optional
ADMIN_ROLE_ID=123456789012345678
ENABLE_RATE_LIMITING=true
MAX_VOUCHES_PER_HOUR=5
AUDIT_CHANNEL_ID=123456789012345678
|
|
๐ Complete Configuration Options
[Bot]
# === Required Settings ===
TOKEN = your_bot_token_here # Discord bot token
REVIEW_CHANNEL_ID = 0 # Channel for vouch posts
ACCESS_ROLE_ID = 0 # Role for restricted commands
# === Bot Appearance ===
PREFIX = ! # Command prefix (legacy)
STATUS = Managing vouches # Bot status message
EMBED_COLOR = 00ff00 # Hex color for embeds
FOOTER_TEXT = Vouch System v2.0 # Footer text
THUMBNAIL_URL = # Optional thumbnail URL
# === Security & Permissions ===
ADMIN_ROLE_ID = 0 # Admin role for sensitive commands
ENABLE_RATE_LIMITING = true # Enable anti-spam protection
MAX_VOUCHES_PER_HOUR = 5 # Rate limit threshold
# === Database Configuration ===
DATABASE_TYPE = sqlite # sqlite, postgresql, or json
DATABASE_URL = vouches.db # Connection string
# === Logging & Monitoring ===
ENABLE_AUDIT_LOG = true # Enable action logging
AUDIT_CHANNEL_ID = 0 # Channel for audit logs
# === Analytics ===
ENABLE_ANALYTICS = true # Enable analytics features
ANALYTICS_UPDATE_INTERVAL = 3600 # Update frequency (seconds)
|
|
|
graph TD
A[Discord User] -->|Slash Commands| B[Bot.py]
B --> C[Cogs System]
C --> D[Vouch Cog]
C --> E[Admin Cog]
C --> F[Stats Cog]
D --> G[Database Manager]
E --> G
F --> G
G --> H[SQLite]
G --> I[PostgreSQL]
G --> J[JSON Files]
B --> K[Utils & UI]
K --> L[Pagination]
K --> M[Rate Limiting]
K --> N[Validation]
# Fork the repository and clone your fork
git clone https://github.com/06T/DCordVouches.git
cd DCordVouches
# Create a virtual environment
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
# Install dependencies
pip install -r requirements.txt
# Create a feature branch
git checkout -b feature/your-new-feature
# Make your changes and test
python bot.py
# Commit and push
git commit -m "Add new feature"
git push origin feature/your-new-feature
# Create a Pull Request- ๐ Bug Reports: Use GitHub Issues with reproduction steps
- ๐ก Feature Requests: Describe the use case and expected behavior
- ๐ง Pull Requests: Include tests and documentation updates
- ๐ Code Style: Follow PEP 8 and include type hints
- โ Testing: Ensure all tests pass before submitting
|
QUICKSTART.md 5-minute setup guide |
install.md Complete installation documentation |
config.ini.example Configuration template |
- discord.py - The foundation of our bot
- aiosqlite & asyncpg - Database magic
- Community feedback - Driving continuous improvement
- Open source contributors - Making this project better every day