You need a Discord Developer Application to get your bot token and OAuth2 credentials. Fill in the fields below as you grab each value.
Go to discord.com/developers/applications and click New Application. Give it a name (e.g. NexusBot).
In OAuth2 → General, copy both values and paste them here:
Go to the Bot tab → click Add Bot. Enable Server Members Intent, Message Content Intent, and Presence Intent. Then copy the token:
This is your Namecheap domain where the website will be hosted:
Add this as a Redirect URI in OAuth2 → General:
https://yourdomain.com/callback.html
Leave blank to register commands globally (takes up to 1 hour) or enter a Guild ID to register instantly to one server:
NexusBot stores all server settings, economy data, levels, and warnings in MySQL. Fill in your database credentials below — they'll be added to your generated config automatically.
The database must be on the same host as the bot (your VPS/Railway/Render), NOT on Namecheap. Your Namecheap hosting is only for the static website files.
nexusbotIn your host's control panel or MySQL dashboard, create a new database. Name it nexusbot (or anything you like — just match it below).
Fill in all fields — these will be added directly into your generated .env file:
localhost if bot and DB are on the same server
You don't need to run any SQL. When the bot starts for the first time, it automatically creates all required tables:
Fill in the remaining settings below — your complete .env file is generated live at the bottom. Just copy and paste it!
Namecheap shared hosting cannot run Node.js bots. Use one of these — including your own Pterodactyl panel:
The bot runs a small REST API so the dashboard can talk to it. Enter the port and a secret key:
This is the public address the website uses to reach your bot's API. Enter your server's IP and the port you allocated in Pterodactyl:
3001) — if it's not listed, ask your panel admin to allocate ithttp://123.45.67.89:3001.env fileThis is auto-generated from everything you've entered. Once complete, copy this and save it as .env inside your bot/ folder:
# ── Discord ──────────────────────────────── DISCORD_TOKEN= CLIENT_ID= GUILD_ID= # ── Database ─────────────────────────────── DB_HOST=localhost DB_PORT=3306 DB_NAME=nexusbot DB_USER= DB_PASS= # ── API ──────────────────────────────────── API_PORT=3001 API_SECRET= # ── Dashboard ────────────────────────────── DISCORD_CLIENT_SECRET= DASHBOARD_URL=
That's fine! You just need to compile TypeScript on your computer first, then upload the compiled files. Pterodactyl will call node dist/index.js automatically.
Step A — On your computer (VS Code terminal):
Open the bot/ folder in VS Code, open the terminal (Ctrl+`) and run:
npm install
npm run build
This creates a dist/ folder with compiled JavaScript files.
Step B — Upload these files to Pterodactyl (via SFTP or panel file manager):
Step C — Also upload start.js (it's in the bot/ folder). This is a helper file that auto-installs dependencies and starts the bot for you.
Step D — In Pterodactyl, set the startup command to:
node start.js
👆 start.js will automatically run npm install if needed, check that dist/ exists, then launch the bot. Check the console for "✅ NexusBot is online".
node index.jsSome panels lock the startup command. In that case, upload start.js and rename it to index.js — it will behave the same way and auto-launch the bot from dist/.
The website is 100% static HTML/CSS/JS — no Node.js needed. Upload it through cPanel or FTP and your site is live instantly.
website/js/config.js firstThis file tells the website where your bot API is and your Discord credentials. Based on what you entered, here's your generated config — copy it into config.js:
// ⚠️ Fill in steps 1–3 first to auto-generate this
window.NEXUS_CONFIG = {
API_URL: '',
CLIENT_ID: '',
REDIRECT_URI: '',
BOT_INVITE: ''
};
public_html/.zip of the website/ folder contentspublic_html/, not in a subfolderpublic_html/website/ folderwebsite/ and drag them to the right panelDiscord OAuth2 only works over HTTPS. Enable it for free in Namecheap cPanel:
https://yourdomain.com ✅public_html/After uploading, your public_html/ should look exactly like this:
Tick off every item below before you launch. All items must be checked for NexusBot to work correctly.
Visit your website, click Login with Discord, select your server, and start managing NexusBot from the dashboard!