How to Make a Discord Bot for Free (2026 Guide)

V
Vibecord Team
May 4, 202611 min read
How to Make a Discord Bot for Free (2026 Guide)

Short answer: You can make a working Discord bot for free in three real ways — write Python or JavaScript yourself with discord.py or discord.js and host it on a free tier (your own laptop, Replit, or Railway's free starter), use a no-code dashboard builder with a free plan, or use an AI bot builder like VibeCord that gives you a $1 trial of a fully-hosted bot. This guide walks through all three paths so you can pick the one that fits your time, your wallet, and how much code you actually want to read.

TL;DR — three real ways to build a Discord bot for free

  • Code it yourself — free if you already write code, painful if you don't. Hosting is the catch: most "free" hosts sleep your bot.
  • No-code dashboard builders — free tiers exist but they cap commands, gate features, and watermark embeds.
  • AI bot builder + cheap trial — you describe the bot in plain English, the AI drafts reviewable code and guides the supported deploy path. VibeCord runs $1 for the first bot and $5.99/month after.

What you actually need before you start

Whichever path you take, every Discord bot needs the same four things. Skip one and the bot won't respond, won't deploy, or will get banned within a week.

  1. A bot token. You get this from the Discord Developer Portal. Treat it like a password — anyone with the token can impersonate your bot. We have a full walkthrough at how to get a Discord bot token.
  2. A server you own (or admin in). You need Manage Server permission to add a bot. If you just want to test, create a private server — Discord lets you make as many as you want.
  3. Somewhere dependable for the bot to run. A bot that's offline does nothing. This is where "free" gets expensive — see the hosting section below.
  4. A clear list of what the bot should do. The single biggest reason beginner bots get abandoned is scope creep. Pick three commands. Ship them. Add more later.

Path 1: Code it yourself (Python or JavaScript)

If you're comfortable in a terminal, this path is genuinely free up to a point. Here's the ten-minute Python version using discord.py 2.x.

A minimum-viable Python bot in 30 lines

# bot.py
import os
import discord
from discord import app_commands

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

class Bot(discord.Client):
    def __init__(self):
        super().__init__(intents=intents)
        self.tree = app_commands.CommandTree(self)

    async def setup_hook(self):
        await self.tree.sync()

client = Bot()

@client.tree.command(name="ping", description="Pong!")
async def ping(interaction: discord.Interaction):
    await interaction.response.send_message("Pong!")

client.run(os.environ["DISCORD_TOKEN"])

Save the token in an environment variable (never commit it), run pip install discord.py, then python bot.py. You now have a bot that responds to /ping.

The JavaScript equivalent with discord.js

If you'd rather use Node, the same bot in discord.js v14 is about 25 lines. The official discord.js guide walks through the full setup.

The free-hosting trap

Here's where free stops being free. A Discord bot needs dependable hosting or it misses events the second it goes to sleep. Your options:

  • Your own laptop. Free electricity (kind of), but if you close the lid the bot dies. Fine for testing, useless for a real server.
  • Replit. Their always-on feature now requires a paid plan; the free repls sleep after ~30 minutes of inactivity unless you use a keep-alive ping (which violates their terms). See Replit's docs for the current state.
  • Railway. Their hobby tier gives $5/month of usage credit. A small bot uses ~$3-4/month, so it's effectively free unless you exceed the cap. Connect a GitHub repo and push to deploy.
  • A Raspberry Pi. A used Pi 4 costs ~$40 once and runs forever. After year one this is by far the cheapest option if you can plug it into your home internet.

Path 2: No-code dashboard builders

If you're not going to learn Python this week, the no-code dashboard route gets you live in an hour. The popular options — MEE6, Carl-bot, Dyno, BotGhost — all have free tiers, but each one has tradeoffs:

  • MEE6 free tier. Capped at 5 reaction roles, no music, watermarked level cards, branded embeds. Plays well only if all you want is moderation + welcome messages.
  • Carl-bot free tier. Generous compared to MEE6 — reaction roles, tags, autoresponders all unlocked — but you can't build genuinely custom commands and the dashboard's learning curve is real.
  • BotGhost free tier. Lets you build custom commands but caps you to a single bot, watermarks every embed, and the "hosted" bot goes offline if their shared workers are full.

For a deeper comparison see our best Discord bots for small servers post.

Path 3: AI bot builder ($1 trial)

This is the path we built VibeCord for. You type "make me a Discord bot with a /joke command, a /poll command, and a welcome message that mentions the new member and pings the rules channel" — the AI writes the code, fixes its own TypeScript errors, and walks the bot through the supported deploy path. Simple versions can move quickly, but runtime proof comes from deploy checks rather than a fixed timer.

Strictly speaking it isn't free — the trial is $1. We chose that price because Stripe's minor-protection rules make a true free tier risky for a 14-22yo audience, and because the $1 keeps card-test bots out. After the trial it's $5.99/month for the Hobby plan, which includes the supported hosting path, updates, and iteration within plan limits.

Read more on the Discord workload landing page or jump straight to pricing.

Side-by-side: which path should you actually pick?

  • You already write code. Pick Path 1. discord.py + a Pi or Railway is a good learning exercise and stays free forever.
  • You want a basic moderation/welcome bot today. Pick Path 2. Carl-bot will probably do it for free.
  • You want a custom bot — specific commands, your branding, no watermarks — without learning to code. Pick Path 3. The $1 trial costs less than a coffee and you get to iterate by chatting.

Token security — the part beginners get wrong

Whichever path you take, the single most common "my bot got banned" cause is a leaked token. Here is the minimum-viable hygiene checklist:

  • Never paste your token into Discord, GitHub, or a screenshot. Discord actively scans GitHub commits for leaked tokens and force-resets them when found — which is helpful, but it also means your bot dies the moment you accidentally push.
  • Use a .env file for local dev and don't commit it. Add .env to .gitignore before your first commit. Use environment variables in production (Railway, Fly.io, your VPS's systemd unit).
  • Rotate after any leak. The Developer Portal has a single "Reset Token" button — click it, paste the new token wherever you store it, and redeploy.
  • Limit permissions to what you actually need. A welcome bot doesn't need ADMINISTRATOR; it needs SEND_MESSAGES. Discord's permission docs have the bitfield reference.

discord.py vs discord.js — which library should you pick?

Both libraries cover the same Discord API surface. Practical differences in 2026:

  • discord.py is back to active development after the 2021-2022 hiatus. The community is generally smaller but more concentrated, with deep expertise on the official Discord developer servers.
  • discord.js has the larger ecosystem — more StackOverflow answers, more tutorials, more third-party libraries. It is the default choice for new bots if you don't already know one of the languages.
  • Type safety: discord.js with TypeScript gives you the fullest editor support. discord.py 2.x has reasonable type hints but Python's runtime nature makes some classes of bug only show up in production.
  • Async model: Both are async-first. Python's asyncio is conceptually simpler; Node's event-loop semantics catch beginners off-guard (especially around await inside callbacks).

When "free" stops being the right answer

There are three honest moments when paying $5-10/month becomes worth it:

  1. Your bot has more than 50 active users. Free hosts start throttling at this scale; the cost of one missed event in a moderation bot is higher than the subscription.
  2. You start spending more than 1 hour a week on ops. Restarting a sleeping repl, watching for token resets, manually rolling out fixes — every hour you spend debugging hosting is an hour you're not improving the bot. At some point your time is worth the $7/month.
  3. You have paying users / sponsors / community ad revenue. If the server is generating any income, the bot needs the same uptime SLA as the rest of your stack.

VibeCord's pricing assumes you hit one of these triggers in week 2-3 of a real deployment, which is why the trial is $1 and the Hobby plan kicks in at $5.99/month.

External resources worth bookmarking

FAQ

Is making a Discord bot illegal anywhere? No. Discord's Developer ToS is the only thing you need to follow.

Do I need a verified account? Only after your bot is in 75+ servers; until then it works fine unverified.

Can I use ChatGPT to write the bot for me? You can, but it tends to produce code that targets old library versions. The trade-off VibeCord makes is using AI models specifically tuned on the current discord.js / discord.py APIs and running real TypeScript checks before shipping.

Try VibeCord for $1

If you'd rather skip the hosting + library + token-rotation rabbit hole and just have a reviewable bot candidate today, try VibeCord for $1. You describe the bot in plain English and follow the deploy checks before treating it as live. Cancel any time, 30-day refund window. See the full pricing page for the Hobby/Pro/Studio tiers.

Ready to build your own bot?

Stop reading, start building. Create your first Discord bot with no code required.

Get Started Free