Files
Mace-AIO-Discord-Bot---With…/bot
2026-07-18 11:13:42 +05:30
..
2026-07-12 15:16:07 +05:30
2026-07-16 12:52:33 +05:30
2026-07-16 11:14:48 +05:30
2026-07-12 15:16:07 +05:30
2026-07-16 11:14:48 +05:30
2026-07-16 11:14:48 +05:30
2026-07-12 15:16:07 +05:30
2026-07-12 15:16:07 +05:30
2026-07-12 15:16:07 +05:30
2026-07-12 15:16:07 +05:30
2026-07-13 12:50:26 +05:30
2026-07-18 11:13:42 +05:30
2026-07-12 15:16:07 +05:30

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

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. Everything runs 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, Cloudflare 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
  • Cloudflare Tunnel via pycloudflared — zero system installs, unlimited traffic
  • Single OWNER_IDS env var controls all permission checks
  • 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
Cloudflare account (free) for HTTPS tunnel — browser setup only

✦ 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 (copy from .env.example):

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

# ── Owner IDs (comma-separated — no code changes needed) ──────────
OWNER_IDS          = 870179991462236170,767979794411028491

# ── Lavalink ──────────────────────────────────────────────────────
LAVALINK_HOST      = "your-lavalink-host"
LAVALINK_PASSWORD  = "your_password"
LAVALINK_SECURE    = "true"
LAVALINK_PORT      = ""

# ── 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       = ""

# ── Cloudflare Tunnel ─────────────────────────────────────────────
TUNNEL_ENABLED     = "true"
CF_TUNNEL_TOKEN    = "your_tunnel_token"
CF_TUNNEL_URL      = "https://api.yourdomain.com"

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

3 — Run

python CodeX.py

✦ Environment Reference

Variable Default Description
TOKEN Discord bot token
OWNER_IDS Comma-separated owner Discord user IDs
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 Cloudflare Tunnel
CF_TUNNEL_TOKEN Token from Cloudflare Zero Trust dashboard
CF_TUNNEL_URL Your permanent public URL

✦ HTTPS Tunnel (Cloudflare)

Uses pycloudflared — downloads the cloudflared binary automatically on first run. No system installs, no CLI, works on Pterodactyl and any Python host.

Why Cloudflare over ngrok:

Cloudflare Tunnel ngrok free
Bandwidth Unlimited 1 GB/month
Requests Unlimited 10k/month
URL stability Permanent Permanent (1 domain)
System install Not needed Not needed
Cost Free Free

Setup (browser only — no CLI needed):

  1. Go to one.dash.cloudflare.comNetworks → Tunnels → Create a tunnel
  2. Choose Cloudflared, name it (e.g. zyrox-api), save
  3. On Install connector, copy the token from the command shown:
    cloudflared tunnel run --token <COPY_THIS_TOKEN>
    
  4. On Public Hostname tab → add a hostname:
    • Subdomain: api · Domain: yourdomain.com · Service: http://localhost:8000
  5. Add to .env:
    CF_TUNNEL_TOKEN = "eyJhIjoiXXXX..."
    CF_TUNNEL_URL   = "https://api.yourdomain.com"
    

On every startup the console prints:

◈ Tunnel: cloudflared binary ready — starting tunnel on port 8000…
◈ Tunnel: API is live at  https://api.yourdomain.com
  ↳ NEXT_PUBLIC_API_URL = https://api.yourdomain.com/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

pycloudflared downloads the binary on first run — no extra steps 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 CF_TUNNEL_TOKEN is valid and pycloudflared is installed
Want to add an owner Add their ID to OWNER_IDS in .env — no code changes needed

✦ CodeX Devs

Built for protection. Designed for style.

CodeX Development Discord Server

© 2026 CodeX Devs — MIT License