Deployment guide

Get your Discord bot online in five steps

Follow this sequence to deploy safely: create an account, provision a bot, enable maintenance mode, upload via SFTP, then go live.

What you will need

  • Discord bot token from the Developer Portal
  • Bot source code (Node.js or Python)
  • SFTP client (FileZilla, WinSCP, or Cyberduck)
  • Start command (npm start, node index.js, or python main.py)
Pre-flight check

Before you start

  • Confirm your Discord bot token works and required intents are enabled.
  • Ensure your entry file name matches your start command.
  • Keep secrets out of code. Plan to use environment variables or a .env file.
  • Install an SFTP client. We recommend FileZilla or WinSCP.
Maintenance mode is mandatory

Always enable maintenance mode before uploading files, editing code, or installing packages. Do not turn it off until every task is finished.

Five-step flow

Deploy your bot safely

1

Create your free account

Register at dash.monkey-network.xyz, verify email, and sign in.

2

Create a bot instance

Select Node.js, Nodemon, or Python. Each bot gets 1GB RAM, 1GB storage, and 100% CPU.

3

Enable maintenance mode

Turn it on before touching files. This pauses the bot and prevents conflicts.

4

Upload and install via SFTP

Upload code with SFTP, set environment variables, then install dependencies in the console.

5

End maintenance and start

When files and installs are done, end maintenance, start the bot, and watch the logs.

Quick checklist before going live

  • All files uploaded to /home/container/ via SFTP
  • Dependencies installed (npm install or pip install -r requirements.txt)
  • Environment variables set (tokens, prefixes, API keys)
  • Start command matches your entry file
  • Logs are clean after a test start
SFTP setup

Connect with SFTP

SFTP (Secure File Transfer Protocol) is the reliable way to upload your bot files.

  1. Find credentialsOpen your bot in the panel and copy Host, Port (usually 2022), Username, and Password.
  2. Open your SFTP clientEnter the credentials and connect. Accept the host key if prompted.
  3. Upload filesPlace files inside /home/container/. Keep structure tidy. Do not upload node_modules.
  4. Verify uploadConfirm entry files exist (for example, index.js or main.py) before leaving maintenance mode.
Recommended clients

FileZilla (Win/Mac/Linux), WinSCP (Windows), Cyberduck (Win/Mac).

Environment variables

Set tokens and secrets in the panel or upload a .env file via SFTP.

  • Example keys: DISCORD_TOKEN, PREFIX, DATABASE_URL
  • Keep .env out of git if you use version control
  • Never hard-code secrets inside your code
Start commands

Entry points for your bot

Node.js

  • Place your entry file (for example, index.js) in /home/container/
  • Set start command to npm start or node index.js
  • Add scripts to package.json for clarity

Python

  • Place main file (for example, main.py) in /home/container/
  • Set start command to python main.py
  • Include requirements.txt and install in console

Keep maintenance mode on while you:

  • Upload or replace files via SFTP
  • Edit configs or .env values
  • Run npm or pip installs
Do not end maintenance early.

Only disable it after uploads and installs finish and you are ready to start the bot.

Code examples

Starter bots

Discord.js (Node.js)

// index.js
const { Client, GatewayIntentBits } = require('discord.js');

const client = new Client({
    intents: [
        GatewayIntentBits.Guilds,
        GatewayIntentBits.GuildMessages,
        GatewayIntentBits.MessageContent
    ]
});

client.once('ready', () => {
    console.log(`Logged in as ${client.user.tag}`);
});

client.on('messageCreate', (message) => {
    if (message.content === '!ping') {
        message.reply('Pong!');
    }
});

client.login(process.env.DISCORD_TOKEN);

package.json

{
  "name": "my-discord-bot",
  "version": "1.0.0",
  "main": "index.js",
  "scripts": {
    "start": "node index.js"
  },
  "dependencies": {
    "discord.js": "^14.14.1"
  }
}

Discord.py (Python)

# main.py
import os
import discord
from discord.ext import commands

intents = discord.Intents.default()
intents.message_content = True

bot = commands.Bot(command_prefix='!', intents=intents)

@bot.event
async def on_ready():
    print(f'{bot.user} is online')

@bot.command()
async def ping(ctx):
    await ctx.send('Pong!')

bot.run(os.getenv('DISCORD_TOKEN'))

requirements.txt

discord.py==2.3.2
Troubleshooting

Common issues

Bot crashes on start
  • Check logs for stack traces
  • Confirm DISCORD_TOKEN is set and valid
  • Install dependencies (npm install or pip install -r requirements.txt)
  • Verify the entry file name matches your start command
SFTP connection refused
  • Use the provided port (often 2022, not 22)
  • Check host and username from the panel
  • Try another client if needed
Dependencies not found
  • Run installs in the console after uploading files
  • Ensure package.json or requirements.txt lists the packages
  • Run inside maintenance mode to avoid conflicts
Bot offline but panel says running
  • Check intents in the Discord Developer Portal
  • Confirm the bot is invited to your server
  • Watch logs for authentication or connection errors
Need help?

Email monkeybyteshosting@gmail.com or check back soon for our Discord community.

Launch now

Go from zero to online in minutes

Follow the five steps, keep maintenance mode on during changes, and your bot will be online quickly.

Fast recap

  • Create account and bot slot
  • Enable maintenance mode
  • Upload via SFTP
  • Install packages
  • End maintenance and start