Getting started

StartUpdated

Use this guide to host your own Discord bot code, from creating an application to verifying its first response. Free and paid plans use the same deployment workflow after account and plan setup.

If you are installing a creator's managed bot, use marketplace buyer setup. To prepare a bot for other server owners, read creator setup and submission.

1. Create the bot in Discord

  1. Open the Discord developer portal and create an application.
  2. On the Bot tab, reset the token and copy it. Discord shows it only once.
  3. Turn on any privileged intents your code uses: Message Content, Server Members, or Presence.
  4. Under OAuth2, build an invite link with the bot and applications.commands scopes and only the permissions the bot needs, then add the bot to a test server.
Treat the token like a password

Anyone with the token can run your bot. Never paste it into chat, a screenshot, or a file you commit.

2. Log in and claim a free server

Sign in with Discord, Google, GitHub, or email and password. Free hosting works with any sign-in method. For a paid bot, open Billing. To claim, you also need:

  • a verified email address
  • no other free server on the same account or email

Open the claim page and pick discord.js, discord.py, or JDA.

3. Add the token and start

  1. Open the new server in your bot dashboard.
  2. Paste the token into the Bot token variable (BOT_TOKEN).
  3. Press Start and watch the console.

The server starts with a small test bot for your library. When it prints this line, the token and the runtime both work:

Console
BOT_READY
Note

Your own bot should print BOT_READY on its own line once it has connected. The dashboard waits for that line to mark the bot as started.

4. Upload your code

  1. Upload your files in the file manager or over SFTP. Leave out node_modules and virtualenv folders.
  2. Include package.json or requirements.txt so dependencies install on start.
  3. Make sure the entry file matches the Main file variable: index.js on Node and main.py on Python by default.
  4. Restart from your bot dashboard.

You can deploy a public GitHub repository on Free instead of uploading. Private repository tokens require a paid plan.

5. Keep it running

A free server has to be renewed every 7 days, and you get email reminders before it expires. Free tier renewal has the full timeline. If the bot won't start or doesn't answer, go to troubleshooting.

Still stuck? Contact support