How to make a Discord bot in 2026, with no code
All you need going in is a Discord account. By the end there's a bot in your server with its own name and avatar. It runs a ticket panel, posts a welcome card when someone joins, and answers /hello, a command you build yourself.
A Discord bot is an extra member of your server that does jobs for you, like greeting people or handing out roles. Normally you'd write code and rent a server for that. With a no-code Discord bot maker like BotGhost, you click it together in a dashboard and we run it for you.
When you're done, your bot will:
- show up in your member list with its own name and avatar,
- open private support tickets from a panel,
- answer a
/hellocommand you made, and - welcome new members with a message and an image card.
What you need
- A Discord account. Your normal one is fine.
- A server where you have the Manage Server permission. If you don't have one, hit the + at the bottom of your server list and make a test server in ten seconds.
- A free BotGhost account. Sign in on the dashboard with Google, Apple, X, or a link we email you.
You don't download anything, and nothing has to stay open on your PC.
1Create the bot on Discord
Every bot starts life as an "application" on Discord's developer site. Making one takes about two minutes.
Open the Developer Portal
Head to the Discord Developer Portal at discord.com/developers. You'll probably be logged in already; if not, it's your normal Discord login.
- 1Click New Application
Create an application
- Press New Application.
- Give it a name. This is what members will see, but don't stress, you can rename it later.
- Tick the box to agree to Discord's terms.
- Press Create.
- 1Type the name
- 2Tick this box
- 3Click Create
Get the token
The token works like your bot's password. BotGhost needs it to log in as your bot, and Discord only shows it to you once, so have the BotGhost tab ready.
- Open Bot in the menu on the left.
- Press Reset Token, then Yes, do it!
- Discord might ask for your password or a 2FA code. That's normal.
- Press Copy.
- 1Open Bot
- 2Click Reset Token
Never share your token. Whoever has it controls your bot. Only paste it into your own BotGhost dashboard (the setup or Settings), and never send it in a DM or a support ticket.
Paste it into BotGhost
- BotGhost's setup shows these exact steps again, with a picture of each, so you can follow along there instead.
- If you get stuck, press the step's I'm stuck button.
- On the last step, paste the token. We check it with Discord and flip on the settings your bot needs.
- 1Six short steps
- 2Opens the Developer Portal for you
Leave the intents alone. You'll see some Privileged Gateway Intents switches further down the Bot page. Skip them: BotGhost turns on the ones it needs when you connect.
2Invite it to your server
Add it to a server
- Press Invite, in the top bar or on the Settings page.
- Pick your server.
- Press Authorize.
- 1Click Invite
Open Discord and check the member list. Your bot is there, online, with the name you picked.
Change how it looks
All of this is free, under Settings:
- name, avatar, and banner,
- presence: Online, Idle, Do Not Disturb, or Invisible.
- 1Rename it
The custom Discord bot page has more on this.
3Switch on a module
A module is a whole system, like tickets or levels, that you switch on and set up from a single page, so you don't have to build it yourself.
The free modules
- Tickets
- Welcomer
- Moderation
- Leveling
- Economy
- Counting
The rest, like Music and AI chat, need Premium.
- 1Click Tickets
Set up Tickets
- Open Tickets.
- Work through the steps in the strip along the top, like picking where the panel goes and which role answers tickets. Each step gets a tick once you've done it.
- The preview on the right changes as you do, and it shows exactly what your members will get.
- 1Follow these steps
- 2Shows Enabled when it is on
- 3What members will see
See everything it does on the Discord ticket bot page.
Commands and events: the difference
When there's no module for what you want, you build it yourself, as either a command or an event. They're easy to mix up at first.
Both use the same blocks in the same builder. They start differently: a command sits there until someone types it, and an event fires on its own when something happens in your server.
4Make your first command
/hello is about as small as a command gets: it says hi back to the person who typed it.
Start a new command
On the dashboard, press New command under Command Builder.
- 1Click New command
Name it
- Keep Slash selected.
- Type
helloas the trigger. - Write a short description. It shows up in the command list when people type /.
- Press Start building.
- 1Keep Slash
- 2Type hello
- 3Add a description
- 4Click Start building
Add what it does
- The block at the top is your command.
- Below it, you stack whatever it should do, one block under another. If you've ever drawn a flow chart, it's that.
- Every new command gets a Send or Edit a Message block already hooked up. For /hello, that's the only one you need.
- 1Your command
- 2The reply block: click it
- 3Click Edit message
- 4Save when you are done
Write the reply
- Click the block, then Edit message.
- Type what the bot should say.
- Put
{user}wherever the bot should @mention the person who ran it.
{user} is a variable, and so is anything else in curly brackets. Each time the command runs, BotGhost swaps it for the real value, which here is that person's @mention. The preview shows the swap as you type.
- 1Type the reply here
- 2Live preview
Save it and try it
- Hit Save Command. There's no publish step; it's live as soon as it saves.
- Type
/helloin your server.
Other blocks to try. Have a look through the Blocks panel. There are blocks for buttons, forms, roles, timeouts, waits, and image cards, and conditions for things like "only if they have this role".
5Welcome new members with an event
Nobody types an event. You pick something that happens in your server, and the event runs every time it does. This one welcomes new members.
Pick what starts it
- On the dashboard, press New event under Event Builder.
- Pick Member Joined.
- 1Click New event
- 1Click Member Joined
- 2Every event
Set up the paths
Member Joined comes with paths, so different people get different welcomes:
- Bot joined: bots skip the welcome.
- Returning member: people who were here before get a welcome back message.
- Everyone else: the normal welcome.
Then:
- Pick a channel for the messages. (A command replies to whoever used it. An event has nobody to reply to, so you choose where it posts.)
- Tick Welcome card.
- Press Create.
- 1Paths
- 2Pick a channel
- 3Tick Welcome card
- 4Click Create
Check the blocks
- Everything you ticked is now normal blocks on the canvas.
- None of it's locked. You can rewrite the message or pick another card style, and stick more blocks on the end.
- 1What starts it
- 2The Everyone else path
- 3Sends the welcome
Save it and test it
- Press Save Event.
- Ask a friend to join your server. An alt account works too.
Goodbyes and booster thanks. For those, switch on the Welcomer module. It's made of the same blocks you just used, so you can still open it up and tweak bits.
6Test it and fix problems
Before you call it done, try everything as a regular member:
- run
/hello, - open a ticket,
- have someone join.
Read the Error Logs
- Broken blocks land on the Error Logs page, along with what went wrong and how to fix it.
- Show in builder takes you right to the broken block.
- 1The latest failure
Check permissions
Most problems come down to permissions, and these two come up the most:
- Your bot can't give out a role that's higher than its own. Open Server Settings, then Roles, and drag the bot's role above every role it hands out.
- If the bot can't see a channel, it can't post in it either. Check that channel's permissions.
7Keep it online
We host the bot for you, so it keeps running when your computer's off.
On the free plan
- One bot in up to 5 servers.
- 3 custom commands and 3 custom events.
- Leave it unused for 2 days and it gets switched off. Pressing Start on the dashboard brings it straight back.
With Premium
- No limits on commands, events, or servers.
- Your bot stays on, even when it's quiet.
- $12.50 a month for one bot, or $25 a month for every bot you own.
- Priority Hosting is a separate add-on at $15 a month for faster, separate servers.
Compare them on the pricing section and the Discord bot hosting page.
Questions people ask
Can I make a Discord bot for free?
Yes. BotGhost's free plan gives you one bot in up to 5 servers, 3 custom commands, 3 custom events, and these modules: Tickets, Welcomer, Moderation, Leveling, Economy, and Counting. You don't need a card to sign up.
Do I need to know how to code?
Nope. You connect blocks for commands and events, and modules have a settings page with switches and boxes. You won't write any code.
Will my bot have its own name and avatar?
Yes. Discord treats it as an application you own, so you set the name, avatar, and banner yourself. A custom status line under the name needs Premium, though.
Why is my slash command not showing in Discord?
Make sure the command is saved and switched on, and that the bot is online and in that server. If all of that checks out, Discord is probably showing you an old command list. Press Ctrl+R (Cmd+R on a Mac) to reload it.
Why did my bot go offline?
On the free plan, a bot with no activity for 2 days gets switched off. Press Start in the dashboard's top bar to turn it back on. Premium bots don't get switched off for being quiet.
Is my bot token safe?
Treat it like a password: don't paste it anywhere people can see it, and don't show it in screenshots. Once BotGhost has it, the dashboard won't show it again, to you or to any collaborator. If you think it leaked, press Reset Token on Discord and paste the new one into Settings.
Can I add my bot to more than one server?
Yes. On free it's up to 5 servers, and Premium has no cap. For each extra server, do the invite from step 2 again and pick that server from the list.