Files
Mace-AIO-Discord-Bot---With…/bot/README.md
2026-07-16 11:14:48 +05:30

11 KiB

███████╗██╗   ██╗██████╗  ██████╗ ██╗  ██╗
╚══███╔╝╚██╗ ██╔╝██╔══██╗██╔═══██╗╚██╗██╔╝
  ███╔╝  ╚████╔╝ ██████╔╝██║   ██║ ╚███╔╝ 
 ███╔╝    ╚██╔╝  ██╔══██╗██║   ██║ ██╔██╗ 
███████╗   ██║   ██║  ██║╚██████╔╝██╔╝ ██╗
╚══════╝   ╚═╝   ╚═╝  ╚═╝ ╚═════╝ ╚═╝  ╚═╝

ZyroX Bot — Python Discord Bot + FastAPI Backend


✦ Overview

This folder contains the ZyroX Discord bot built on discord.py v2 alongside a FastAPI backend that powers the web dashboard. It handles all server moderation, music, leveling, mini-games, and utility features — all from a single python CodeX.py command.

bot/
├── api/                   FastAPI backend (routes, schemas, db manager)
│   └── routes/            /bot  /guilds  /admin
├── cogs/
│   ├── antinuke/          Antinuke protection event listeners
│   ├── automod/           Automod enforcement event listeners
│   ├── commands/          All slash & prefix command modules
│   ├── events/            General Discord event listeners
│   ├── moderation/        Moderation action modules
│   └── zyrox/             Core ZyroX feature cogs
├── core/                  Bot client, context, cog base classes
├── games/                 Standalone game logic + button views
├── utils/                 Emoji, tools, sync, ngrok tunnel
├── assets/                Fonts, backgrounds, GIFs
└── CodeX.py               Entry point

✦ Features

🛡️ Antinuke

  • Mass ban, kick, channel & role flood detection
  • Webhook abuse, bot add, prune protection
  • Anti-member update
  • Whitelist / unwhitelist system
  • Emergency lockdown mode

🤖 Automod

  • Anti-spam, anti-caps, anti-links
  • Anti-invites, mass mention, emoji spam
  • Fully configurable per server
  • Works alongside Discord's native automod

🎵 Music

  • Lavalink v4 powered playback
  • YouTube, SoundCloud, JioSaavn support
  • Queue, loop, shuffle, autoplay
  • Seek, rewind, forward controls

⚙️ Moderation

  • Ban, kick, mute, warn, lock, jail
  • Snipe, message management
  • Full logging system
  • Reaction roles, vanity roles, invite tracker

🎉 Engagement

  • Leveling & XP with leaderboard
  • Birthday tracker
  • Counting, AFK, autorole, autoresponder
  • Sticky messages, booster perks, giveaways

🎮 Games

  • Chess, Battleship, Connect Four
  • Wordle, Typeracer, 2048, Memory
  • Reaction test, RPS, Tic-tac-toe
  • Country guess, Number slider, Lights out

🌐 API Backend

  • FastAPI with API key auth
  • SlowAPI rate limiting
  • Structured JSON request logging
  • CORS configured for your dashboard domain
  • CORS_ORIGINS env var for extra domains

🔧 Developer

  • Jishaku eval support
  • Application emoji auto-sync
  • Slash + prefix commands
  • ngrok HTTPS tunnel (pyngrok — no system install)
  • CodeX Devs watermark on every source file

✦ Prerequisites

Requirement Notes
Python 3.10+
Lavalink v4 node for music features
Discord bot token from Developer Portal
ngrok free account for HTTPS tunnel

✦ Setup

1 — Install dependencies

python -m venv .venv

# Windows
.venv\Scripts\activate

# Linux / macOS
source .venv/bin/activate

pip install -r requirements.txt

2 — Configure environment

Create a .env file in this folder:

# ── Core ──────────────────────────────────────────────────────────
TOKEN              = your_discord_bot_token
brand_name         = 'ZyroX'

# ── Lavalink ──────────────────────────────────────────────────────
LAVALINK_HOST      = "lava-v4.ajieblogs.eu.org"
LAVALINK_PASSWORD  = "your_password"
LAVALINK_SECURE    = "true"     # true = HTTPS (no port needed)
LAVALINK_PORT      = ""         # only needed when LAVALINK_SECURE=false

# ── Emoji Sync ────────────────────────────────────────────────────
EMOJI_SYNC         = "true"

# ── API / Dashboard Backend ───────────────────────────────────────
API_ENABLED        = "true"
API_PORT           = "8000"
DASHBOARD_API_KEY  = "change_this_to_a_strong_secret"
CORS_ORIGINS       = ""         # extra allowed origins, comma-separated

# ── HTTPS Tunnel (ngrok) ──────────────────────────────────────────
TUNNEL_ENABLED     = "true"
NGROK_AUTHTOKEN    = "your_ngrok_authtoken"
NGROK_DOMAIN       = "xxxx-xxxx-xxxx.ngrok-free.app"

# ── Webhooks ──────────────────────────────────────────────────────
WEBHOOK_URL        = "https://discord.com/api/webhooks/..."

3 — Run

python CodeX.py

✦ Environment Reference

Variable Default Description
TOKEN Discord bot token
LAVALINK_HOST Lavalink server hostname (no protocol)
LAVALINK_PASSWORD Lavalink password
LAVALINK_SECURE true true = HTTPS, false = HTTP
LAVALINK_PORT (empty) Port — only when LAVALINK_SECURE=false
EMOJI_SYNC true Auto-sync application emojis on startup
API_ENABLED true Start the FastAPI dashboard backend
API_PORT 8000 Port the backend listens on
DASHBOARD_API_KEY Shared secret between bot API and dashboard
CORS_ORIGINS (empty) Extra CORS-allowed origins, comma-separated
WEBHOOK_URL Discord webhook for command logs
TUNNEL_ENABLED true Expose API over HTTPS via ngrok
NGROK_AUTHTOKEN ngrok auth token
NGROK_DOMAIN Reserved static domain (e.g. xxxx.ngrok-free.app)

✦ HTTPS Tunnel (ngrok)

Uses pyngrok — downloads the ngrok binary automatically on first run. No system installs, works on Pterodactyl and any Python host.

One-time setup

  1. Sign up free at ngrok.com
  2. Copy your authtoken from dashboard.ngrok.com/get-started/your-authtoken
  3. Reserve a free static domain at dashboard.ngrok.com/domains — looks like xxxx.ngrok-free.app
  4. Add NGROK_AUTHTOKEN and NGROK_DOMAIN to .env

On every startup the console prints:

◈ Tunnel: API is live at  https://xxxx.ngrok-free.app
  ↳ set NEXT_PUBLIC_API_URL=https://xxxx.ngrok-free.app/api/v1

Set TUNNEL_ENABLED=false to disable.


✦ Emoji Sync

When EMOJI_SYNC=true, the bot syncs application emojis on every startup:

Event Action
New emoji found Uploaded to application, ID written to emoji.py
Stale ID detected emoji.py patched automatically
No changes Sync completes instantly, no restart
After any patch Bot restarts so fresh IDs are live

✦ Deployment

Upload the entire bot/ folder to your host and set the start command to:

python CodeX.py

pyngrok downloads the ngrok binary on first run — no extra steps needed on any host.

Recommended free hosts: Render · Railway · Fly.io · Pterodactyl

NexioHost — Premium bot hosting, built for Discord bots. Fast, reliable, and affordable.


✦ Troubleshooting

Problem Fix
Bot fails to start Check TOKEN and gateway intents in Developer Portal
Music not working Verify LAVALINK_HOST, LAVALINK_SECURE, LAVALINK_PORT
Dashboard can't reach API Check API_ENABLED=true and NEXT_PUBLIC_API_URL in dashboard
CORS errors Add your Vercel URL to CORS_ORIGINS in .env
Emojis showing as plain text Run once with EMOJI_SYNC=true to upload and patch IDs
Tunnel not starting Check NGROK_AUTHTOKEN is valid
Tunnel URL changes each restart Set NGROK_DOMAIN to your reserved static domain

✦ CodeX Devs

Built for protection. Designed for style.

© 2026 CodeX Devs — MIT License