A production-ready, feature-complete Discord bot system with 96 slash commands, 24/7 HD music streaming, Fort Knox AutoMod, support tickets, virtual economy, leveling, and a Discord-style web dashboard.
Invite Bot • Web Dashboard • Commands List • Free Hosting Guide • Paid VPS Hosting Guide
- 🌐 Public Landing Page & Web Dashboard: Full web interface modeled after modern Discord / SaaS control panels with live telemetry, module switches, and server selection more.
- 🔨 Web & Discord Moderation: Ban, kick, timeout, unban, and message purge directly from web or Discord with automatic audit logging.
- 🛡️ Fort Knox AutoMod: Anti-Raid shield, invite/link suppression, spam detection, mass mention protection, and toxicity word filters.
- 📻 24/7 HD Music Radio (8 Stations): Crystal-clear streams (Lofi Girl, ChillHop, Synthwave, Cyberpunk, Anime Lofi, Gaming Beats, Jazz Club, Classical) in voice channels.
- 🎫 Support Ticket Desk: Private channel ticket creation with staff claiming, role permissions, and transcript logging.
- 🏆 Leveling & XP Rewards: Real-time chat XP rewards, rank cards, level-up announcements, and customizable role unlocks.
- 🪙 Virtual Economy & Bank: Wallet balance, bank vaults, daily rewards, coin flips, blackjack, work jobs, and server shops.
- 🔊 Join-to-Create Temporary Voice: Dynamic private voice channels that automatically spawn on join and delete when empty.
- 🎨 Discord Embed Broadcaster: Live WYSIWYG embed creator with markdown support, color picker, and 1-click broadcast to any channel.
- ⚡ 96 Slash Commands: 100% modular command architecture categorized into Moderation, Economy, Music, Tickets, Utilities, Fun, and AI.
- 💾 Dual Storage Architecture: Automatic fallback to high-speed in-memory caching if PostgreSQL is not configured, ensuring zero bot crashes.
├── bot/prometheus/ # Discord.js Bot & Express REST API Backend
│ ├── src/
│ │ ├── api/routes.js # REST API bridge for Dashboard
│ │ ├── commands/ # 96 Modular Slash Commands
│ │ │ ├── core/ # Bot status, help, ping, uptime
│ │ │ ├── economy/ # Balance, bank, daily, gamble, shop
│ │ │ ├── fun/ # 8ball, coinflip, dice, fight, meme
│ │ │ ├── giveaway/ # Giveaway create, reroll, end
│ │ │ ├── leveling/ # Rank, leaderboard, setlevel
│ │ │ ├── moderation/ # Ban, kick, timeout, purge, warn
│ │ │ ├── radio/ # 24/7 HD Radio controller
│ │ │ ├── tickets/ # Ticket create, claim, close
│ │ │ └── utility/ # Embed, poll, avatar, weather, tldr
│ │ ├── database/ # PostgreSQL & Memory Fallback Engine
│ │ ├── events/ # InteractionCreate, GuildMemberAdd, etc.
│ │ ├── services/ # Gemini AI, Radio Streamer, AutoMod
│ │ └── app.js # Main Discord Client & API Entry
│ ├── .env.example # Bot environment template
│ └── package.json
├── dashboard/ # Next.js 16 Web Dashboard & Landing Page
│ ├── app/
│ │ ├── page.tsx # Landing Page, Server Selector & Dashboard
│ │ ├── layout.tsx # Clean native layout
│ │ └── globals.css # Discord dark theme design tokens
│ ├── .env.example # Dashboard environment template
│ └── package.json
├── docker-compose.yml # Multi-container Docker deployment
├── ecosystem.config.js # PM2 process manager configuration
├── .gitignore # Production GitHub gitignore
└── README.md # Complete documentation
- Node.js: v20.0.0 or higher (Download Node.js)
- Git: Installed on your system
- Discord Bot Token: From Discord Developer Portal
# Clone the repository
git clone https://github.com/your-username/prometheus-discord-bot.git
cd prometheus-discord-bot
# Install bot dependencies
cd bot/prometheus
npm install
# Install dashboard dependencies
cd ../../dashboard
npm install
``
### 3. Configure Environment Variables
Create `.env` in `bot/prometheus/`:
```env
DISCORD_TOKEN=your_discord_bot_token_here
GEMINI_API_KEY=your_gemini_api_key_here
CLIENT_ID=1532437892318892144
GUILD_ID=your_primary_discord_guild_id
PORT=3000
NODE_ENV=developmentTerminal 1 (Start Discord Bot & API):
cd bot/prometheus
npm startTerminal 2 (Start Next.js Web Dashboard):
cd dashboard
npm run dev -- -p 3001Open http://localhost:3001 in your browser!
Follow these steps to upload this project directly to your GitHub account:
# 1. Initialize git repository in root directory
git init
# 2. Add all project files (.gitignore will automatically protect your .env secrets)
git add .
# 3. Commit the code
git commit -m "feat: Initial commit of Prometheus Discord Bot and Dashboard suite"
# 4. Set default branch to main
git branch -M main
# 5. Connect your GitHub repository (replace with your repo URL)
git remote add origin https://github.com/YOUR_USERNAME/prometheus-discord-bot.git
# 6. Push to GitHub
git push -u origin mainHere are the best ways to host both the Discord Bot and Web Dashboard 100% for free:
Oracle Cloud offers an Always Free ARM VPS that never shuts down and has enterprise specs:
- Specs: 4 OCPU (Ampere ARM), 24 GB RAM, 200 GB Storage, 100% Free Forever.
- Create a free account at Oracle Cloud.
- Create an Ampere A1 Compute Instance (Ubuntu 22.04 / 24.04).
- Connect to your instance via SSH:
ssh ubuntu@YOUR_INSTANCE_IP
- Install Node.js 20, Git, and PM2:
sudo apt update && sudo apt install -y curl git ffmpeg curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash - sudo apt install -y nodejs sudo npm install -g pm2
- Clone your GitHub repository and set up
.env:git clone https://github.com/YOUR_USERNAME/prometheus-discord-bot.git cd prometheus-discord-bot cd bot/prometheus && cp .env.example .env && nano .env npm install cd ../../dashboard && cp .env.example .env && npm install && npm run build cd ..
- Start both Bot and Dashboard with PM2:
pm2 start ecosystem.config.js pm2 startup pm2 save
Your bot and dashboard will now run 24/7 continuously with automatic reboot recovery!
- Sign up at Render.com.
- Click New + -> Web Service -> Connect your GitHub repo.
- Configure the Bot service:
- Root Directory:
bot/prometheus - Build Command:
npm install - Start Command:
node src/app.js - Environment Variables: Add
DISCORD_TOKEN,GEMINI_API_KEY,CLIENT_ID,PORT=3000.
- Root Directory:
- Create a second Web Service for the Dashboard:
- Root Directory:
dashboard - Build Command:
npm install && npm run build - Start Command:
npm start -- -p 3001 - Environment Variables: Set
NEXT_PUBLIC_API_URLto your bot's render.com URL.
- Root Directory:
- Sign up at Railway.app.
- Click New Project -> Deploy from GitHub repo.
- Railway automatically detects
docker-compose.ymlor Node.js services. - Add your
.envvariables under the Variables tab.
- Install Flyctl:
curl -L https://fly.io/install.sh | sh - Run
fly launchinbot/prometheus/and deploy withfly deploy. - Set secrets:
fly secrets set DISCORD_TOKEN=your_token GEMINI_API_KEY=your_key.
For large communities, high music quality, zero latency, and dedicated uptime:
| Provider | Plan / Specs | Price | Best For |
|---|---|---|---|
| Hetzner Cloud | CX22 (2 vCPU, 4GB RAM, 40GB NVMe) | €3.79 / mo | 🏆 Best Value & Performance in Europe/US |
| DigitalOcean | Basic Droplet (1 vCPU, 1GB RAM) | $4.00 / mo | Easy 1-click deployments & backups |
| Linode / Akamai | Nanode (1 vCPU, 1GB RAM) | $5.00 / mo | High network reliability worldwide |
| Discloud | Platinum Bot Plan | ~$3.00 / mo | Managed Discord Bot hosting |
- SSH into your VPS:
ssh root@YOUR_SERVER_IP
- Install Docker & Docker Compose:
curl -fsSL https://get.docker.com | sh - Clone repository and configure
.env:git clone https://github.com/YOUR_USERNAME/prometheus-discord-bot.git cd prometheus-discord-bot nano bot/prometheus/.env - Start the entire stack (PostgreSQL + Bot + Dashboard):
docker compose up -d --build
- View real-time logs:
docker compose logs -f
# 1. Install Node.js 20 & PM2
curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash -
sudo apt install -y nodejs ffmpeg
sudo npm install -g pm2
# 2. Build Dashboard
cd dashboard
npm install && npm run build
cd ..
# 3. Start everything with PM2
pm2 start ecosystem.config.js
# 4. Enable auto-start on server boot
pm2 startup
pm2 saveTo access your web dashboard with a custom domain (e.g. https://dashboard.yourdomain.com):
- Install Nginx and Certbot:
sudo apt install -y nginx certbot python3-certbot-nginx
- Create
/etc/nginx/sites-available/bot-dashboard:server { server_name dashboard.yourdomain.com; location / { proxy_pass http://127.0.0.1:3001; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection 'upgrade'; proxy_set_header Host $host; proxy_cache_bypass $http_upgrade; } }
- Enable the site and request SSL certificate:
sudo ln -s /etc/nginx/sites-available/bot-dashboard /etc/nginx/sites-enabled/ sudo nginx -t && sudo systemctl restart nginx sudo certbot --nginx -d dashboard.yourdomain.com
| Category | Commands Count | Key Commands Included |
|---|---|---|
| 🔨 Moderation | 16 | /ban, /kick, /timeout, /unban, /purge, /lock, /unlock, /massban, /masskick, /warn, /warnings, /cases, /usernotes, /dm, /antiraid |
| 📻 HD Radio & Voice | 3 | /radio (8 Live Stations), /activity, /jointocreate |
| 🎫 Support Tickets | 4 | /ticket, /claim, /close, /priority |
| 🏆 Leveling & XP | 3 | /rank, /leaderboard, /setlevel |
| 🪙 Virtual Economy | 12 | /balance, /bank, /daily, /deposit, /withdraw, /gamble, /coinflip, /dice, /rob, /work, /shop, /inventory |
| 🎉 Giveaways | 4 | /giveaway, /gstart, /gend, /greroll |
| 🛠️ Utilities & Tools | 22 | /embedbuilder, /poll, /calculate, /tldr, /imagine, /backup, /serverinfo, /userinfo, /avatar, /weather, /time, /unixtime, /baseconvert, /generatepassword, /hexcolor, /shorten, /report, /todo, /wipedata |
| 🎭 Community & Roles | 6 | /welcome, /goodbye, /greet, /autorole, /reactroles, /serverstats |
| 🎮 Fun & Games | 14 | /8ball, /fight, /rps, /trivia, /quote, /fact, /meme, /joke, /ascii, /clap, /fliptext, /mock, /rate, /reverse |
| 🔍 Search | 4 | /google, /urban, /define, /movie |
| ⚙️ Core | 8 | /help, /ping, /stats, /uptime, /support, /about, /invite, /rules |
This project is open-source under the MIT License. Feel free to fork, customize, and deploy for your community!