Games

Discord bots

Run a Node.js, Python or other bot around the clock.


Rackvane keeps your Discord bot online around the clock, restarts it if it crashes, and gives you a console to see what it's doing.

#Runtimes

RuntimeTypical librariesStarts from
Node.jsdiscord.js, ErisThe main file you set (default index.js)
Pythondiscord.py, Nextcord, PycordThe main file you set; requirements.txt is installed on start
JavaJDA, JavacordYour .jar
Bun / DenoTypeScript or JavaScript botsYour entry file
GodiscordgoA Go package, built on install
RustSerenity, TwilightYour crate, compiled on start

There are also ready-made bots you don't have to code, like Red-DiscordBot, JMusicBot and Muse: you only enter the bot token at checkout.

#Get your code onto the server

  • Upload the project with the file manager or SFTP. Leave out node_modules, venv and similar folders; they're installed on the server.
  • Or connect a repository on the Git tab and deploy from GitHub, even on every push.

For Node.js, a package.json in the server folder means npm install runs on every start, so new dependencies are picked up automatically. Set the Main file in Settings if your bot doesn't start from index.js.

#Tokens and secrets: use .env

Never put your bot token in the code or in Git. Keep it in a .env file in the server folder instead. The Environment variables card edits .env for you: add DISCORD_TOKEN and anything else, save, and restart the bot.

DISCORD_TOKEN=your-token-here
DATABASE_URL=jdbc:mysql://...

In Node.js 22 and newer, process.loadEnvFile() reads it without extra packages; in Python use python-dotenv.

#Databases

Bots that store data can use a MySQL database from the Databases tab. Copy the JDBC URL or build a mysql:// address from the details shown.

#Before you start

In the Discord Developer Portal:

  1. Bot › Reset Token to get the token.
  2. Turn on the privileged intents your bot uses (Message Content, Server Members, Presence). Without them the bot fails to log in with "disallowed intents".
  3. OAuth2 › URL Generator with the bot and applications.commands scopes to invite it.

#Troubleshooting

  • "Cannot find module": the dependency isn't in package.json, or the main file path is wrong.
  • "Used disallowed intents": switch on the intent in the Developer Portal.
  • Bot starts, then stops: read the console from the top; the first error is usually the real one.

Still stuck? Our team reads every ticket and usually answers within a few hours.

Open a ticket