Change your bot's language or version
Switch your bot from one language to another with Settings → Change Egg, and change the Node.js, Python or Java version with the Docker Image list in Startup.
- Difficulty:
- Beginner
- Time:
- 5 minutes
On this page
You can change your bot's language at any time from Settings → Change Egg in the Game Panel, and change the version of that language (for example Node.js 20 to 22, or Python 3.10 to 3.12) from the Docker Image list in Startup. No ticket is needed.
Change the version (same language)
Use this when your bot needs a newer or older Node.js, Python, Java or other runtime.
Open your bot in the Game Panel and click Stop.
Go to Startup.
Find the Docker Image list and pick the version you need. On a NodeJS bot it goes from Nodejs 12 to Nodejs 25; other languages show their own list.
Click Start and check the Console. Your files are not changed.
Check what your library needs. For example, discord.js v14 needs Node.js 18 or newer, and discord.py needs Python 3.8 or newer. When unsure, pick a recent, stable version.
Change the language (Change Egg)
Each bot language is set up by an "egg", a template that decides how the server installs and starts your code. Changing the egg switches, for example, from Python to NodeJS. The options match the Bot Language list at checkout: NodeJS, Python, DiscordJS, C#, Go, Java, Rust, Nodemon, Bun, Luvit (Lua), Deno, Dart and Elixir.
Make a backup first in Backups, and download it if your code is important. See How to create and restore backups.
Stop the bot.
Go to Settings and find Change Egg.
Choose the new language from the dropdown.
Decide whether to reinstall. Reinstalling lets the new language install what it needs. If a wipe option is shown, only use it when you want to delete all files and start fresh.
Click Apply and wait for the install to finish. It can take up to a couple of minutes.
Open Startup and set the new main file and version, then upload your new code and click Start.
A reinstall can delete or change files, and a wipe removes everything. Always back up before changing the egg.
After switching
To Node.js: upload
package.jsonand your code, withoutnode_modules, or set Git Repo Address in Startup to deploy from GitHub. Set Main file (defaultindex.js). See How to host a Node.js Discord bot.To Python: upload your
.pyfiles andrequirements.txt. See How to host a Python Discord bot.Remove files from the old language you don't need any more, such as an old
node_modulesfolder, to save disk space.
Frequently asked questions
I chose the wrong language at checkout. Do I need a new order?
No. Use Settings → Change Egg to switch. If anything goes wrong, open a ticket and our team can change it for you.
What is the difference between NodeJS and DiscordJS?
Both run Node.js code. NodeJS is the general option and works for discord.js bots too; we recommend it unless you have a reason to pick another.
The version I need isn't in the Docker Image list
Open a ticket with the language and version you need, and our team will tell you what's possible.
Was this article helpful?
Related articles
Use the host and port shown in the Game Panel with the admin username and password you chose at checkout. Connection strings for MongoDB, MariaDB, PostgreSQL and Redis.
The LavaLink V4 plan gives you your own Lavalink server that you configure yourself: set the password in Startup, adjust application.yml, then add host, port and password to your bot.
Upload your bot (without node_modules) or link a GitHub repo in Startup, set the Main file, then click Start. npm install runs automatically when package.json exists.
Most bots go offline because the code crashes, runs out of memory, uses an invalid token or missing intents, hits Discord rate limits, or the service is suspended for an unpaid invoice.
