Tips · Oct 15, 2026 · 11 min read
How to Make a Discord Bot

If you look up 'how to build a Discord bot' the most popular video is Code a Discord Bot with Python - Host for Free in the Cloud. In it, Beau Carnes from freeCodeCamp walks you through writing Python code, setting up a database, and figuring out how to host your bot. That's one way to make a bot! But in 2026, there are faster, easier, no-code ways to make a Discord bot.
In this tutorial, I'll walk you through how you can easily make, test, and publish a bot to your server in minutes using camelBot, an AI Discord bot maker. We handle the hosting, backend database, and coding so you can describe your bot, test it, and add it to your server in minutes.
This step-by-step guide uses camelBot to make a trivia bot without coding, test it privately, and publish it to Discord.
The finished bot posts questions with answer buttons, saves each member's score, and ignores repeat answers. You'll also learn how to change a live bot and roll back its code without losing the existing scores. The screenshots and results below come from our own build!
Two ways to make a Discord bot
| Method | What you do | Best fit |
|---|---|---|
| Write the code yourself | Create a Discord application, write commands in a library such as discord.js or discord.py, and arrange hosting and storage | You want to learn programming or control the implementation and infrastructure |
| Use camelBot without coding | Describe the bot, let camel-builder write and check its code, test it privately, then publish | You want a custom bot without writing code or managing hosting |
I'm going to outline the second method. For the coding route, start with Discord's official getting-started guide.
With camelBot, you don't need to rent a server or set up a database. You can start with Camel's app; creating your own Discord application and supplying a bot token is optional. Both paths are explained below.
Make your first bot: the steps at a glance
- Describe your bot. Sign in at bots.camelai.com with Discord, then paste the example prompt from Step 1.
- Choose its app. Use Camel's app for the simplest setup, or connect your own Discord app.
- Name and customize your bot. Pick a profile picture, add a bio and banner, and preview the look as you go.
- Let the builder work. camel-builder writes the code and checks the bot's commands.
- Try it privately. Play a few rounds in the test channel before anyone in your server sees it.
- Publish and add to Discord. Add the bot to your server and try it with a friend.
- Make a change. Try updating the bot, then learn how to go back to an earlier version.
What a good Discord trivia bot does
A trivia bot is a good first bot: it uses a slash command, buttons, saved data, and a rule about who can do what.
- Fixed questions. Ten questions in the bot, posted in order, with no AI.
- Answer buttons. One per choice, for anyone in the channel.
- Private feedback. Only the person who pressed sees whether they were right.
- One answer per question. Only a member's first press counts.
- Saved scores. Each member's score stays between trivia nights.
- A leaderboard without pings. The top 10 by name.
- A staff-only reset. Only members with Manage Server can zero the scores.
What you need
- A Discord account. You sign in at bots.camelai.com with Discord.
- The Manage Server permission in the server where the bot will live.
- Optional: your own Discord app (about 5 minutes on Discord's developer site).
- No credit card and no code. camelBot is free to start.
Step 1: Describe the trivia bot
Once you're signed in, you'll see a question: What should your bot do? This is where you tell camelBot what you'd like to make. You don't need to write any code. Just describe what you want your bot to do.

For this tutorial, we're making a trivia bot. Copy the prompt below, paste it into the box, and select Continue.
Make a trivia bot for our server with a fixed list of 10 general-knowledge questions, four choices each, and no AI.
The first is: "Which planet is the largest?" Jupiter, Saturn, Neptune, Mars. The answer is Jupiter. Write the other 9.
/trivia posts the next question in list order for everyone to see, with one button per choice. After question 10, start over.
Anyone can answer. Only your first press on each posted question counts: a right answer adds 1 point to your score, a wrong one adds nothing. Tell only the person who pressed whether they were right, and if not, what the answer was. Any later press on that question adds nothing and says you already answered.
Save each member's score. /score shows your own score privately.
/leaderboard shows the top 10 by name, without pinging anyone.
/reset-scores sets every score to zero. Only members with the Manage Server permission can use it.
When we tried this prompt, the builder had enough information to get started without asking us any questions. We've told it which commands we want and who should be allowed to reset scores. We've also asked it to count only the first answer someone gives. Otherwise, someone could keep pressing buttons until they got the right one!
Step 2: Choose Camel's app or your own app
Now you'll choose how your bot appears in Discord. There are two options here, and either one lets you make the same bot. You can change your mind later, too.

For your first bot, I'd go with Camel's app. It's marked Recommended, and you won't need to set up a separate app on Discord's developer site.
Want your bot to have its own separate name and picture? Choose Your own app instead. You'll need to create an application in Discord's Developer Portal, then copy its bot token into camelBot's token field. Keep that token out of the chat. Our own app guide walks you through the setup.
The option you choose also changes how you'll type commands. With Camel's app, you'll type the bot's name first, like /quizzy trivia. With your own app, you can use /trivia on its own. We'll use Camel's app for the rest of this walkthrough.
Adding multiple bots to the same server with Camel's app
Planning to add more than one bot using Camel's app? You can absolutely do that! For example, you could have a trivia bot for game night and a birthday bot for celebrations in the same server.
Each bot's commands sit under its name. You'd type /quizzy trivia to start a trivia question, or /birthday show to check a birthday. That name at the beginning helps you choose which bot you want to use.
There's one thing to know about how they look in Discord: bots using Camel's app share a name and picture within the same server. When we added quizzy, for example, older replies from another bot showed quizzy's name and picture too. The bots still have their own commands; they just share that appearance.
If you're only adding one bot, you can move straight on to the fun part below.
Step 3: Name and customize your bot
Now for the fun part: give your bot a little personality! You can choose its name, pick a profile picture, add a banner, and write a short bio about what it does.

We called ours quizzy and chose the brain emoji with an orange background. You can pick an emoji and a background color, or upload a picture of your own.
Want to dress it up a bit more? Add a banner and fill in About me with a line or two about your bot. For ours, you could write something like, "Your friendly trivia-night host. Ready for a question?" These are optional, so you can come back to them later if you'd rather get playing.
As you try things out, you'll see the preview update right there in camelBot. You can see how the bot will look in Discord and in camelBot before you create it. Have a little fun with it!
One quick note about the name: on Camel's app, it becomes part of the commands you'll type. Keep it lowercase and within 32 characters. We'll use quizzy throughout this guide, so if you choose another name, use yours wherever you see quizzy.
When you're happy with the look, select Create quizzy. You can change these details later in Settings, too.
Step 4: Let camel-builder make it
You'll land in a chat with camel-builder. Beside it, you'll see a test channel called #try-quizzy. We'll use that in a moment.
For now, let the builder work. You'll see camel-builder is working… under the message box while it writes the code and tries the commands for you.
When ours finished, we saw Built quizzy · checks passed. The builder also told us that quizzy was saved and had passed its previews. At this point, the bot wasn't live in Discord yet.
Take a look at the builder's reply before moving on. Ours explained which commands it had made and listed the nine questions it added after the first question we'd supplied.
It also told us what it hadn't checked yet. In our build, that meant making sure the questions started over after question 10 and that only someone with Manage Server could reset scores. We'll check both ourselves in Step 5.
If you want to change something, you can just ask in the chat. For example: "Add 10 more questions about our favorite game." The builder will save the change for you. You'll still get to test it and decide when to publish it.
Step 5: Try it in the test channel
Let's try playing a round! You can do all of this in #try-quizzy, without sending anything to your Discord server. This test channel is just for you.
The test channel runs the code you've saved. That lets you try the bot as it would work if you published it now.
First, open the ⋯ menu and choose Reset test data. The builder may have left some scores behind while it was checking your bot, so this gives you a fresh start.
You'll also be able to try the bot as Alex and Sam. They're pretend members you can select under Talk as, which is handy for checking what happens when different people play.
- Post the first question. Run
/quizzy trivia. You should see "Which planet is the largest?" with four answer buttons, from A. Jupiter to D. Mars. - Answer as Alex. Select the first button in the message box, then choose Alex under Talk as. Press A. Jupiter. You should get "Correct! +1 point." The reply is marked Only you can see this, so answers won't fill up the channel for everyone else.
- Try answering again. Still as Alex, press A. Jupiter once more. Then try D. Mars. Both times, the bot should say "You already answered this question." Alex shouldn't get any extra points.
- Give Sam a turn. Switch to Sam and press B. Saturn on that same question. The bot should say "Not quite. The answer was A. Jupiter." Try another button as Sam, too. Even though Sam got it wrong, the bot should still allow only one answer.
- Ask another question. Use the same menu to switch to
#general, then run/quizzy trivia. You should get question 2. Answer it correctly as Sam. In our build, the answer was C. Canberra, but yours may be different. - Check their scores. Run
/quizzy scoreas Alex, then as Sam. Each should have 1 point. You can also open Look at test data in the ⋯ menu to see what the bot saved. There should be a score for each person and three saved answers. - Look at the leaderboard. Run
/quizzy leaderboard. You should see the players' names written out, without tagging or pinging anyone. - Try resetting scores as Alex. Run
/quizzy reset-scores. Alex shouldn't be allowed to do this, because Alex doesn't have the Manage Server permission. - Keep going through the questions. Run
/quizzy trivianine more times. You'll go through questions 3 to 10, then come back to question 1. Answer that new copy of question 1 as Alex. A. Jupiter should earn a point again, because this is a new round. - Reset the scores as yourself. Switch back to yourself and run
/quizzy reset-scores. This time it should work. Ours replied, "All scores are now zero (2 players reset)."

A quick note about that reset test: when Alex tries it, you may see a message that starts with Your bot hit an error on /quizzy reset-scores. It goes on to explain that Alex needs Manage Server.
That's the response we wanted here. Alex and Sam don't have any permissions in the test server, while you act as its owner. So the bot is keeping them from clearing everyone's scores.
If you see Your bot hit an error on while trying something else, go back to the builder chat and say "fix that." The builder can see what you just tried, so you don't have to explain everything from scratch.

Before you publish: a checklist
Ready to move on? Here's what you should have seen:
- Each person gets one answer per question. Pressing another button doesn't add points.
- The questions appear in order. After question 10, the bot goes back to question 1.
- Alex and Sam each have their own score in Look at test data.
- Alex can't reset everyone's scores, but you can.
Step 6: Publish it and add it to your server
Once you're happy with the test, it's time to put your bot in Discord.
Look for the card in the builder chat that says Publish @quizzy as version 1? Ours also said "It isn't live yet. Changed: bot.ts added." That's just telling us the bot's code is ready to publish. It didn't ask for any extra Discord permissions.
Select Publish v1. Then select Add to Discord above the test channel.
Discord will open a screen where you can choose your server and a channel, such as #trivia. Check the permissions it asks for, then select Authorize. Back on the bot's page, you should see Live in followed by your channel.
Now open Discord and try /quizzy trivia for real!
In our server, the bot started with question 1. We pressed A. Jupiter and got a point. When we pressed it again, the bot told us we'd already answered. Both replies were marked Only you can see this.
We also ran /quizzy leaderboard. It showed only our own account. Alex and Sam's practice scores stayed in the test channel, so they didn't show up in the real game.
It's worth asking a friend to try the bot, too. We tested with one real account, and having a second person play helps you check a few more things:
- Their answers should be private. A reply marked Only you can see this should be visible to the person who pressed the button. You shouldn't see your friend's answer reply.
- They should get their own score. Have them answer a question, then check that their points are separate from yours.
- They shouldn't be able to clear the scores without permission. Ask a friend who doesn't have Manage Server to try
/quizzy reset-scores. With Camel's app, they'll still see that command in the menu, but the bot should refuse to run it for them. With your own app, Discord normally hides it from members who don't have permission.
Step 7: Change it, then roll back
You can keep making changes after your bot is live. Each time you publish, camelBot saves a version. That gives you a way to go back if you decide you liked an earlier version better.
Let's try it. Imagine you're having a special trivia night and want correct answers to be worth 2 points. Send this in the builder chat:
For trivia night, make right answers worth 2 points.
Leave the scores people already have as they are.
The builder saved our change and told us it hadn't touched anyone's existing scores. It also reminded us that the change wasn't live yet.
Here's how we checked it:
- Try the change in the test channel. Post a question and answer it correctly as Alex. You should get "Correct! +2 points."
- Check the live bot before publishing. Go to Discord and answer a question there. You should still get 1 point, because you haven't published the change yet. Our score went from 1 to 2.
- Publish version 2. Now go back to Discord and get another answer right. This time, you should earn 2 points. Our score went from 2 to 4.
- Go back to the first version. On the bot's page, open Versions. Find version 1, select Roll back, and confirm. You'll see Version 3 go live with a note saying it came from version 1's code.

Now try another question in Discord. Correct answers should be worth 1 point again.
What about the points people earned while answers were worth 2? They keep those! Rolling back changes how the bot works, but it doesn't erase anyone's scores. Our score was still 4 after the rollback, and the next correct answer took it to 5.
The test channel goes back to the earlier code too. Alex kept the 2 points from our test and earned 1 more on the next correct answer, bringing the score to 3.
You'll see the Versions tab once your bot has a second version. Remember that going back to an earlier version won't clear the data your bot has saved. If you actually want to start the scores over, first save a copy using Download its data in Settings. That downloads a .sqlite file as a backup. Then run /quizzy reset-scores to clear the scores.

Permissions a trivia bot needs
Discord's screen listed seven permissions: Change Nickname, View Channels, Send Messages, Send Messages in Threads, Embed Links, Read Message History, and Add Reactions. Change Nickname lets Camel's app show the bot's name. A trivia bot doesn't moderate, give roles, or make channels, so there's nothing else to grant and no role to move. camelBot never asks for Administrator; don't add it.
On Camel's app a bot sees every message in the channels you add it to, so add it only where you play.
Troubleshooting
| Symptom | Why | Fix |
|---|---|---|
/trivia isn't in the menu | On Camel's app, commands start with the bot's name | Type /quizzy and pick trivia |
| Alex's reset shows Your bot hit an error on | Alex and Sam have no permissions | Expected; run it as yourself |
A change works in #try-quizzy, not in Discord | It isn't published yet | Publish it |
Members see /quizzy reset-scores | On Camel's app, public commands keep it listed | The bot still refuses them |
Limits to know
| Limit | Value |
|---|---|
| Slash commands | 25 per bot, up to 25 options each |
| Saved data | 100 MB per bot |
| AI allowances | Daily, reset at midnight UTC |
The full list is in Permissions and limits.
FAQ
Can I make a Discord bot without coding? Yes. You describe the bot, and camel-builder writes, checks, and tests the code. You try it privately and decide when it goes live.
Is making a Discord bot free? camelBot is free to start, with no credit card required. Making and testing use your camel-builder allowance; AI features inside a bot have a separate daily allowance. This example uses fixed questions, so answering trivia doesn't require an AI call. Check current limits before planning a larger bot.
Do I need hosting or a computer that stays on? With camelBot, no. It runs the bot and its database. If you write and run a bot yourself, you'll need somewhere to host it if you want it available while your own computer is off.
Does my bot need its own Discord application or token? Not when you use Camel's app. Choose your own app if you want a separate Discord identity; then create it in Discord's Developer Portal and put its token only in camelBot's token field. Never paste a token into chat or share it publicly.
Can I change my bot after adding it to Discord? Yes. Describe the change to camel-builder, try the saved code in the private test channel, and publish when you're ready. Saving a change doesn't publish it automatically.
Does rolling back a Discord bot undo its saved data? No. A rollback changes code only. When we rolled quizzy back, the points earned under version 2 stayed, and the next right answer added 1.
Next steps
Ready to make your own Discord bot? Make this example, then describe what you'd like to change.
Want to start with a different idea?
For more on camelBot's features, visit our Discord bot maker page.
DISCORD BOT TUTORIALS
- How to make a Discord bot (this post)
- Discord moderation bot with staff review
- Discord ticket bot with private channels
- Discord welcome bot that helps new members
- Discord verification bot with a rules button
- Opt-in Discord birthday bot
- Discord economy bot with daily rewards
- Discord AI chatbot: an FAQ bot for your help channel
- Discord giveaway bot with clear entry rules
- Discord reaction roles bot for optional interests
- Discord reminder bot with list and cancel
- Discord event bot with RSVPs and reminders
- ER:LC Discord bot for SSU votes and sessions
- D&D dice roller Discord bot with initiative